diff --git a/examples/SWFW/playground.py b/examples/SWFW/playground.py index e9f0afa5c8..a6a03c11ff 100644 --- a/examples/SWFW/playground.py +++ b/examples/SWFW/playground.py @@ -19,18 +19,21 @@ logger = Log.setup_custom_logger('root') num_procs = 1 + + N_s = 100 + N_f = 125 # This comes as read-in for the level class lparams = {} lparams['restol'] = 1E-12 sparams = {} - sparams['maxiter'] = 2 + sparams['maxiter'] = 4 # This comes as read-in for the problem class pparams = {} - pparams['lambda_s'] = 1j*np.linspace(0,3,100) - pparams['lambda_f'] = 1j*np.linspace(0,8,100) + pparams['lambda_s'] = 1j*np.linspace(0.0, 4.0, N_s) + pparams['lambda_f'] = 1j*np.linspace(0.0, 8.0, N_f) pparams['u0'] = 1 # Fill description dictionary for easy hierarchy creation @@ -40,7 +43,8 @@ description['dtype_u'] = mesh description['dtype_f'] = rhs_imex_mesh description['collocation_class'] = collclass.CollGaussLobatto - description['num_nodes'] = [2] + description['num_nodes'] = [3] + description['do_LU'] = False description['sweeper_class'] = imex_1st_order description['level_params'] = lparams @@ -62,15 +66,19 @@ uex = P.u_exact(Tend) - fig = plt.figure(figsize=(8,8)) - plt.pcolor(pparams['lambda_s'].imag, pparams['lambda_f'].imag, np.absolute(uend.values).T,vmin=1,vmax=1.01) + fig = plt.figure(figsize=(4,4)) + #pcol = plt.pcolor(pparams['lambda_s'].imag, pparams['lambda_f'].imag, np.absolute(uend.values).T, vmin=0.99, vmax=1.01) + pcol = plt.pcolor(pparams['lambda_s'].imag, pparams['lambda_f'].imag, np.absolute(uend.values).T, vmin=1.0, vmax=2.0) # plt.pcolor(np.imag(uend.values)) - plt.colorbar() - plt.xlabel('$\Delta t \lambda_{slow}$', fontsize=18, labelpad=20) + pcol.set_edgecolor('face') + plt.plot([0, 4], [0, 4], color='w', linewidth=2.5) + #plt.colorbar() + plt.gca().set_xticks([0.0, 1.0, 2.0, 3.0]) + plt.xlabel('$\Delta t \lambda_{slow}$', fontsize=18, labelpad=0.0) plt.ylabel('$\Delta t \lambda_{fast}$', fontsize=18) - plt.show() - + #plt.show() + fig.savefig('sdc-fwsw-stability-K'+str(sparams['maxiter'])+'-M'+str(description['num_nodes'][0])+'.pdf', bbox_inches='tight') print('error at time %s: %s' %(Tend,np.linalg.norm(uex.values-uend.values,np.inf)/np.linalg.norm(uex.values, np.inf)))