Skip to content

Commit 77fcc92

Browse files
committed
Merge pull request #71 from danielru/fix/plots_readibility
Fix/plots readibility
2 parents 15e3a7d + b735a53 commit 77fcc92

File tree

3 files changed

+36
-19
lines changed

3 files changed

+36
-19
lines changed

examples/acoustic_1d_imex/plot_dispersion.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def findomega(stab_fh):
4343
swparams = {}
4444
swparams['collocation_class'] = collclass.CollGaussLegendre
4545
swparams['num_nodes'] = 3
46-
K = 5
46+
K = 4
4747
dirk_order = K
4848

4949
c_speed = 1.0
@@ -128,14 +128,14 @@ def findomega(stab_fh):
128128
fig = plt.figure()
129129
plt.plot(k_vec, (U_speed+c_speed)+np.zeros(np.size(k_vec)), '--', color='k', linewidth=1.5, label='Exact')
130130
plt.plot(k_vec, phase[1,:], '-', color='g', linewidth=1.5, label='DIRK('+str(dirkts.order)+')')
131-
plt.plot(k_vec, phase[2,:], '-', color='r', linewidth=1.5, label='RK-IMEX('+str(rkimex.order)+')')
132-
plt.plot(k_vec, phase[0,:], '-', color='b', linewidth=1.5, label='SDC('+str(K)+')')
131+
plt.plot(k_vec, phase[2,:], '-+', color='r', linewidth=1.5, label='RK-IMEX('+str(rkimex.order)+')', markevery=5, mew=1.0)
132+
plt.plot(k_vec, phase[0,:], '-o', color='b', linewidth=1.5, label='SDC('+str(K)+')', markevery=5, markersize=fs/2)
133133
plt.xlabel('Wave number', fontsize=fs, labelpad=0.25)
134134
plt.ylabel('Phase speed', fontsize=fs, labelpad=0.5)
135135
plt.xlim([k_vec[0], k_vec[-1:]])
136136
plt.ylim([0.0, 1.1*(U_speed+c_speed)])
137137
fig.gca().tick_params(axis='both', labelsize=fs)
138-
plt.legend(loc='lower left', fontsize=fs, prop={'size':fs})
138+
plt.legend(loc='lower left', fontsize=fs, prop={'size':fs-2})
139139
plt.xticks([0, 1, 2, 3], fontsize=fs)
140140
#plt.show()
141141
filename = 'sdc-fwsw-disprel-phase-K'+str(K)+'-M'+str(swparams['num_nodes'])+'.pdf'
@@ -145,14 +145,14 @@ def findomega(stab_fh):
145145
fig = plt.figure()
146146
plt.plot(k_vec, 1.0+np.zeros(np.size(k_vec)), '--', color='k', linewidth=1.5, label='Exact')
147147
plt.plot(k_vec, amp_factor[1,:], '-', color='g', linewidth=1.5, label='DIRK('+str(dirkts.order)+')')
148-
plt.plot(k_vec, amp_factor[2,:], '-', color='r', linewidth=1.5, label='RK-IMEX('+str(rkimex.order)+')')
149-
plt.plot(k_vec, amp_factor[0,:], '-', color='b', linewidth=1.5, label='SDC('+str(K)+')')
148+
plt.plot(k_vec, amp_factor[2,:], '-+', color='r', linewidth=1.5, label='RK-IMEX('+str(rkimex.order)+')', markevery=5, mew=1.0)
149+
plt.plot(k_vec, amp_factor[0,:], '-o', color='b', linewidth=1.5, label='SDC('+str(K)+')', markevery=5, markersize=fs/2)
150150
plt.xlabel('Wave number', fontsize=fs, labelpad=0.25)
151151
plt.ylabel('Amplification factor', fontsize=fs, labelpad=0.5)
152152
fig.gca().tick_params(axis='both', labelsize=fs)
153153
plt.xlim([k_vec[0], k_vec[-1:]])
154154
plt.ylim([k_vec[0], k_vec[-1:]])
155-
plt.legend(loc='lower left', fontsize=fs, prop={'size':fs})
155+
plt.legend(loc='lower left', fontsize=fs, prop={'size':fs-2})
156156
plt.gca().set_ylim([0.0, 1.1])
157157
plt.xticks([0, 1, 2, 3], fontsize=fs)
158158
#plt.show()

examples/acoustic_1d_imex/runmultiscale.py

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
lparams['restol'] = 1E-10
3333

3434
sparams = {}
35-
sparams['maxiter'] = 2
35+
sparams['maxiter'] = 4
3636

3737
# setup parameters "in time"
3838
t0 = 0.0
@@ -59,7 +59,7 @@
5959
description['dtype_f'] = rhs_imex_mesh
6060
description['collocation_class'] = collclass.CollGaussLegendre
6161
# Number of nodes
62-
description['num_nodes'] = 2
62+
description['num_nodes'] = 3
6363
description['sweeper_class'] = imex_1st_order
6464
description['level_params'] = lparams
6565
description['hook_class'] = plot_solution
@@ -118,7 +118,7 @@
118118
unew_dirk, pnew_dirk = np.split(ynew_dirk, 2)
119119
unew_imex, pnew_imex = np.split(ynew_imex, 2)
120120

121-
rcParams['figure.figsize'] = 5, 2.5
121+
rcParams['figure.figsize'] = 2.5, 2.5
122122
fig = plt.figure()
123123

124124
sigma_0 = 0.1
@@ -131,24 +131,41 @@
131131
print ('Maximum pressure in RK-IMEX: %5.3e' % np.linalg.norm(pnew_imex, np.inf))
132132

133133
#plt.plot(P.mesh, pnew_tp, '-', color='c', label='Trapezoidal')
134-
plt.plot(P.mesh, pnew_imex, '-', color='c', label='IMEX('+str(rkimex.order)+')')
135-
plt.plot(P.mesh, uend.values[1,:], '--', color='b', label='SDC('+str(sparams['maxiter'])+')')
136-
plt.plot(P.mesh, pnew_bdf, '-', color='r', label='BDF-2')
137-
plt.plot(P.mesh, pnew_dirk, color='g', label='DIRK('+str(dirk.order)+')')
134+
if dirk.order==2:
135+
plt.plot(P.mesh, pnew_bdf, 'd-', color='c', label='BDF-2',markevery=(50,75))
136+
p_slow = np.exp(-np.square( np.mod( P.mesh-pparams['cadv']*Tend, 1.0 ) -x_0 )/(sigma_0*sigma_0))
137+
plt.plot(P.mesh, p_slow, '--', color='k', markersize=fs-2, label='Slow mode', dashes=(10,2))
138+
if np.linalg.norm(pnew_imex, np.inf)<=2:
139+
plt.plot(P.mesh, pnew_imex, '+-', color='r', label='IMEX('+str(rkimex.order)+')',markevery=(1,75),mew=1.0)
140+
plt.plot(P.mesh, uend.values[1,:], 'o-', color='b', label='SDC('+str(sparams['maxiter'])+')',markevery=(25,75))
141+
plt.plot(P.mesh, pnew_dirk, '-', color='g', label='DIRK('+str(dirk.order)+')')
138142
#plt.plot(P.mesh, uex.values[1,:], '+', color='r', label='p (exact)')
139143
#plt.plot(P.mesh, uend.values[1,:], '-', color='b', linewidth=2.0, label='p (SDC)')
140144

141-
p_slow = np.exp(-np.square( np.mod( P.mesh-pparams['cadv']*Tend, 1.0 ) -x_0 )/(sigma_0*sigma_0))
142-
plt.plot(P.mesh, p_slow, '+', color='k', markersize=fs-2, label='Slow mode', markevery=10)
143145
plt.xlabel('x', fontsize=fs, labelpad=0)
144146
plt.ylabel('Pressure', fontsize=fs, labelpad=0)
145147
fig.gca().set_xlim([0, 1.0])
146148
fig.gca().set_ylim([-0.5, 1.1])
147149
fig.gca().tick_params(axis='both', labelsize=fs)
148-
plt.legend(loc='upper left', fontsize=fs, prop={'size':fs})
150+
plt.legend(loc='upper left', fontsize=fs, prop={'size':fs}, handlelength=3)
149151
fig.gca().grid()
150152
#plt.show()
151153
filename = 'sdc-fwsw-multiscale-K'+str(sparams['maxiter'])+'-M'+str(description['num_nodes'])+'.pdf'
152154
plt.gcf().savefig(filename, bbox_inches='tight')
153155
call(["pdfcrop", filename, filename])
154156

157+
#plt.plot(P.mesh, uend.values[1,:], '-', color='b', linewidth=2.0, label='p (SDC)')
158+
159+
fig = plt.figure()
160+
p_slow = np.exp(-np.square( np.mod( P.mesh-pparams['cadv']*Tend, 1.0 ) -x_0 )/(sigma_0*sigma_0))
161+
plt.plot(P.mesh, uinit.values[1,:], '-', color='b')
162+
plt.xlabel('x', fontsize=fs, labelpad=0)
163+
plt.ylabel('Pressure', fontsize=fs, labelpad=0)
164+
fig.gca().set_xlim([0, 1.0])
165+
fig.gca().set_ylim([-0.5, 1.1])
166+
fig.gca().tick_params(axis='both', labelsize=fs)
167+
fig.gca().grid()
168+
#plt.show()
169+
filename = 'sdc-fwsw-multiscale-initial.pdf'
170+
plt.gcf().savefig(filename, bbox_inches='tight')
171+
call(["pdfcrop", filename, filename])

examples/fwsw/plot_stifflimit_specrad.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
rcParams['figure.figsize'] = 2.5, 2.5
6868
fig = plt.figure()
6969
plt.plot(nodes_v, specrad[0,:], 'rd-', markersize=fs-2, label=r'$\lambda_{\rm fast} = \infty$')
70-
plt.plot(nodes_v, specrad[1,:], 'bo-', markersize=fs-2, label=r'$\lambda_{\rm fast} = %2.0f i$' % problem.lambda_f[0].imag)
70+
plt.plot(nodes_v, specrad[1,:], 'bo-', markersize=fs-2, label=r'$\lambda_{\rm fast} = %2.0f $' % problem.lambda_f[0].imag)
7171
plt.xlabel(r'Number of nodes $M$', fontsize=fs)
7272
plt.ylabel(r'Spectral radius $\sigma\left( \mathbf{E} \right)$', fontsize=fs, labelpad=2)
7373
#plt.title(r'$\Delta t \left| \lambda_{\rm slow} \right|$ = %2.1f' % step.status.dt*abs(problem.lambda_s[0]), fontsize=fs)
@@ -83,7 +83,7 @@
8383

8484
fig = plt.figure()
8585
plt.plot(nodes_v, norm[0,:], 'rd-', markersize=fs-2, label=r'$\lambda_{\rm fast} = \infty$')
86-
plt.plot(nodes_v, norm[1,:], 'bo-', markersize=fs-2, label=r'$\lambda_{\rm fast} = %2.0f i$' % problem.lambda_f[0].imag)
86+
plt.plot(nodes_v, norm[1,:], 'bo-', markersize=fs-2, label=r'$\lambda_{\rm fast} = %2.0f $' % problem.lambda_f[0].imag)
8787
plt.xlabel(r'Number of nodes $M$', fontsize=fs)
8888
plt.ylabel(r'Norm $\left|| \mathbf{E} \right||_{\infty}$', fontsize=fs, labelpad=2)
8989
#plt.title(r'$\Delta t \left| \lambda_{\rm slow} \right|$ = %2.1f' % step.status.dt*abs(problem.lambda_s[0]), fontsize=fs)

0 commit comments

Comments
 (0)