@@ -284,38 +284,54 @@ def differences_around_switch(
284284 t_switch_SE_adapt = [v [1 ] for v in switches_SE_adapt ]
285285 t_switch_SE_adapt = t_switch_SE_adapt [- 1 ]
286286
287- vC_SE = [me [1 ][1 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False , sortby = 'time' )]
288- vC_adapt = [me [1 ][1 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
289- vC_SE_adapt = [me [1 ][1 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
290- vC = [me [1 ][1 ] for me in get_sorted (stats , type = 'u' , recomputed = False , sortby = 'time' )]
287+ vC_SE = [me [1 ][1 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False )]
288+ vC_adapt = [me [1 ][1 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False )]
289+ vC_SE_adapt = [me [1 ][1 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False )]
290+ vC = [me [1 ][1 ] for me in get_sorted (stats , type = 'u' , recomputed = False )]
291291
292292 diff_SE , diff = vC_SE - V_ref [0 ], vC - V_ref [0 ]
293- times_SE = [me [0 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False , sortby = 'time' )]
294- times = [me [0 ] for me in get_sorted (stats , type = 'u' , recomputed = False , sortby = 'time' )]
293+ times_SE = [me [0 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False )]
294+ times = [me [0 ] for me in get_sorted (stats , type = 'u' , recomputed = False )]
295295
296296 diff_adapt , diff_SE_adapt = vC_adapt - V_ref [0 ], vC_SE_adapt - V_ref [0 ]
297- times_adapt = [me [0 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
298- times_SE_adapt = [me [0 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
297+ times_adapt = [me [0 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False )]
298+ times_SE_adapt = [me [0 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False )]
299299
300- for m in range ( len ( times_SE )):
301- if np .round (times_SE [m ], 15 ) == np . round ( t_switch , 15 ):
302- diffs_true_at . append ( diff_SE [ m ] )
300+ diffs_true_at . append (
301+ [ diff_SE [ m ] for m in range ( len ( times_SE )) if np .isclose (times_SE [m ], t_switch , atol = 1e- 15 )]
302+ )
303303
304- for m in range (1 , len (times )):
305- if times [m - 1 ] <= t_switch <= times [m ]:
306- diffs_false_before .append (diff [m - 1 ])
307- diffs_false_after .append (diff [m ])
304+ diffs_false_before .append ([diff [m - 1 ] for m in range (1 , len (times )) if times [m - 1 ] <= t_switch <= times [m ]])
305+ diffs_false_after .append ([diff [m ] for m in range (1 , len (times )) if times [m - 1 ] <= t_switch <= times [m ]])
308306
309- for m in range (len (times_SE_adapt )):
310- if np .round (times_SE_adapt [m ], 13 ) == np .round (t_switch_SE_adapt , 13 ):
311- diffs_true_at_adapt .append (diff_SE_adapt [m ])
312- diffs_true_before_adapt .append (diff_SE_adapt [m - 1 ])
313- diffs_true_after_adapt .append (diff_SE_adapt [m + 1 ])
307+ diffs_true_at_adapt .append (
308+ [
309+ diff_SE_adapt [m ]
310+ for m in range (len (times_SE_adapt ))
311+ if np .isclose (times_SE_adapt [m ], t_switch_SE_adapt , atol = 1e-13 )
312+ ]
313+ )
314+ diffs_true_before_adapt .append (
315+ [
316+ diff_SE_adapt [m - 1 ]
317+ for m in range (len (times_SE_adapt ))
318+ if np .isclose (times_SE_adapt [m ], t_switch_SE_adapt , atol = 1e-13 )
319+ ]
320+ )
321+ diffs_true_after_adapt .append (
322+ [
323+ diff_SE_adapt [m + 1 ]
324+ for m in range (len (times_SE_adapt ))
325+ if np .isclose (times_SE_adapt [m ], t_switch_SE_adapt , atol = 1e-13 )
326+ ]
327+ )
314328
315- for m in range (len (times_adapt )):
316- if times_adapt [m - 1 ] <= t_switch <= times_adapt [m ]:
317- diffs_false_before_adapt .append (diff_adapt [m - 1 ])
318- diffs_false_after_adapt .append (diff_adapt [m ])
329+ diffs_false_before_adapt .append (
330+ [diff_adapt [m - 1 ] for m in range (len (times_adapt )) if times_adapt [m - 1 ] <= t_switch <= times_adapt [m ]]
331+ )
332+ diffs_false_after_adapt .append (
333+ [diff_adapt [m ] for m in range (len (times_adapt )) if times_adapt [m - 1 ] <= t_switch <= times_adapt [m ]]
334+ )
319335
320336 setup_mpl ()
321337 fig_around , ax_around = plt_helper .plt .subplots (1 , 3 , figsize = (9 , 3 ), sharex = 'col' , sharey = 'row' )
@@ -431,24 +447,24 @@ def differences_over_time(dt_list, problem, sweeper, V_ref, cwd='./'):
431447 t_switch_SE_adapt = [v [1 ] for v in switches_SE_adapt ]
432448 t_switch_SE_adapt = t_switch_SE_adapt [- 1 ]
433449
434- dt_adapt = np .array (get_sorted (stats_adapt , type = 'dt' , recomputed = False , sortby = 'time' ))
435- dt_SE_adapt = np .array (get_sorted (stats_SE_adapt , type = 'dt' , recomputed = False , sortby = 'time' ))
450+ dt_adapt = np .array (get_sorted (stats_adapt , type = 'dt' , recomputed = False ))
451+ dt_SE_adapt = np .array (get_sorted (stats_SE_adapt , type = 'dt' , recomputed = False ))
436452
437- restart_adapt = np .array (get_sorted (stats_adapt , type = 'restart' , recomputed = None , sortby = 'time' ))
438- restart_SE_adapt = np .array (get_sorted (stats_SE_adapt , type = 'restart' , recomputed = None , sortby = 'time' ))
453+ restart_adapt = np .array (get_sorted (stats_adapt , type = 'restart' , recomputed = None ))
454+ restart_SE_adapt = np .array (get_sorted (stats_SE_adapt , type = 'restart' , recomputed = None ))
439455
440- vC_SE = [me [1 ][1 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False , sortby = 'time' )]
441- vC_adapt = [me [1 ][1 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
442- vC_SE_adapt = [me [1 ][1 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
443- vC = [me [1 ][1 ] for me in get_sorted (stats , type = 'u' , recomputed = False , sortby = 'time' )]
456+ vC_SE = [me [1 ][1 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False )]
457+ vC_adapt = [me [1 ][1 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False )]
458+ vC_SE_adapt = [me [1 ][1 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False )]
459+ vC = [me [1 ][1 ] for me in get_sorted (stats , type = 'u' , recomputed = False )]
444460
445461 diff_SE , diff = vC_SE - V_ref [0 ], vC - V_ref [0 ]
446- times_SE = [me [0 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False , sortby = 'time' )]
447- times = [me [0 ] for me in get_sorted (stats , type = 'u' , recomputed = False , sortby = 'time' )]
462+ times_SE = [me [0 ] for me in get_sorted (stats_SE , type = 'u' , recomputed = False )]
463+ times = [me [0 ] for me in get_sorted (stats , type = 'u' , recomputed = False )]
448464
449465 diff_adapt , diff_SE_adapt = vC_adapt - V_ref [0 ], vC_SE_adapt - V_ref [0 ]
450- times_adapt = [me [0 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
451- times_SE_adapt = [me [0 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False , sortby = 'time' )]
466+ times_adapt = [me [0 ] for me in get_sorted (stats_adapt , type = 'u' , recomputed = False )]
467+ times_SE_adapt = [me [0 ] for me in get_sorted (stats_SE_adapt , type = 'u' , recomputed = False )]
452468
453469 if len (dt_list ) > 1 :
454470 ax_diffs [0 , count_ax ].set_title (r'$\Delta t$=%s' % dt_item )
@@ -572,10 +588,10 @@ def iterations_over_time(dt_list, maxiter, problem, sweeper, cwd='./'):
572588 f4 .close ()
573589
574590 # consider iterations before restarts to see what happens
575- iter_counts_SE_val = get_sorted (stats_SE , type = 'niter' , sortby = 'time' )
576- iter_counts_SE_adapt_val = get_sorted (stats_SE_adapt , type = 'niter' , sortby = 'time' )
577- iter_counts_adapt_val = get_sorted (stats_adapt , type = 'niter' , sortby = 'time' )
578- iter_counts_val = get_sorted (stats , type = 'niter' , sortby = 'time' )
591+ iter_counts_SE_val = get_sorted (stats_SE , type = 'niter' )
592+ iter_counts_SE_adapt_val = get_sorted (stats_SE_adapt , type = 'niter' )
593+ iter_counts_adapt_val = get_sorted (stats_adapt , type = 'niter' )
594+ iter_counts_val = get_sorted (stats , type = 'niter' )
579595
580596 iters_time_SE .append ([v [1 ] for v in iter_counts_SE_val ])
581597 iters_time_SE_adapt .append ([v [1 ] for v in iter_counts_SE_adapt_val ])
0 commit comments