@@ -27,9 +27,9 @@ def get_stab_function(LHS, RHS, Kmax, lambd, do_coll_update):
2727 return stab_fh
2828
2929if __name__ == "__main__" :
30- mvals = [2 , 4 ]
31- kvals = np .arange (1 , 15 )
32- lambdaratio = [2 , 10 , 50 ]
30+ mvals = [4 ]
31+ kvals = np .arange (2 , 9 )
32+ lambdaratio = [1 , 5 , 50 ]
3333 stabval = np .zeros ((np .size (mvals ), np .size (lambdaratio ), np .size (kvals )))
3434
3535 for i in range (0 ,np .size (mvals )):
@@ -49,7 +49,7 @@ def get_stab_function(LHS, RHS, Kmax, lambd, do_coll_update):
4949 step = stepclass .step (params = {})
5050 L = lvl .level (problem_class = swfw_scalar , problem_params = pparams , dtype_u = mesh , dtype_f = rhs_imex_mesh , sweeper_class = imex , sweeper_params = swparams , level_params = {}, hook_class = hookclass .hooks , id = "stability" )
5151 step .register_level (L )
52- step .status .dt = 1.0
52+ step .status .dt = 1.0 # Needs to be 1.0, change dt through lambdas
5353 step .status .time = 0.0
5454 u0 = step .levels [0 ].prob .u_exact (step .status .time )
5555 step .init_step (u0 )
@@ -62,7 +62,7 @@ def get_stab_function(LHS, RHS, Kmax, lambd, do_coll_update):
6262 Q = level .sweep .coll .Qmat [1 :,1 :]
6363
6464 for j in range (0 ,np .size (lambdaratio )):
65- lambda_slow = 1j
65+ lambda_slow = 0.1 * 1j
6666 lambda_fast = lambdaratio [j ]* lambda_slow
6767
6868 LHS = np .eye (nnodes ) - step .status .dt * ( lambda_fast * QI + lambda_slow * QE )
@@ -74,9 +74,13 @@ def get_stab_function(LHS, RHS, Kmax, lambd, do_coll_update):
7474 stabval [i ,j ,k ] = np .absolute (stab_fh )
7575
7676 fig = plt .figure ()
77- plt .plot (kvals , stabval [0 ,0 ,:], '-' , color = 'b' )
78- plt .plot (kvals , stabval [0 ,1 ,:], '-' , color = 'r' )
79- plt .plot (kvals , stabval [0 ,2 ,:], '-' , color = 'g' )
77+ fs = 8
78+ plt .plot (kvals , stabval [0 ,0 ,:], 'o-' , color = 'b' , label = ("Ratio: %3.0f" % lambdaratio [0 ]))
79+ plt .plot (kvals , stabval [0 ,1 ,:], 's-' , color = 'r' , label = ("Ratio: %3.0f" % lambdaratio [1 ]))
80+ plt .plot (kvals , stabval [0 ,2 ,:], 'd-' , color = 'g' , label = ("Ratio: %3.0f" % lambdaratio [2 ]))
81+ plt .plot (kvals , 1.0 + 0.0 * kvals , '--' , color = 'k' )
82+ plt .legend (loc = 'lower right' , fontsize = fs , prop = {'size' :fs })
83+
8084 #plt.plot(kvals, stabval[1,0,:], '-', color='r')
8185 #plt.plot(kvals, stabval[1,1,:], '--', color='r')
8286 #plt.plot(kvals, stabval[1,2,:], '-.', color='r')
0 commit comments