tadd annotations to pressures, improve plots - sphere - GPU-based 3D discrete e… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit fd79cc4d343e7c453c80d070111e68dacbb3f1d2 | |
parent 7e4cc7fe4992f77525b64943c83114d632496410 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Fri, 3 Oct 2014 15:45:08 +0200 | |
add annotations to pressures, improve plots | |
Diffstat: | |
M python/permeability-results.py | 3 ++- | |
M python/shear-results-forces.py | 29 ++++++++++++++++++++++------- | |
M python/shear-results-pressures.py | 25 +++++++++++++++++-------- | |
3 files changed, 41 insertions(+), 16 deletions(-) | |
--- | |
diff --git a/python/permeability-results.py b/python/permeability-results.py | |
t@@ -12,7 +12,8 @@ import sphere | |
from permeabilitycalculator import * | |
import matplotlib.pyplot as plt | |
-dp_list = numpy.array([1.0e3, 2.0e3, 4.0e3, 10.0e3, 20.0e3, 40.0e3]) | |
+#dp_list = numpy.array([1.0e3, 2.0e3, 4.0e3, 10.0e3, 20.0e3, 40.0e3]) | |
+dp_list = numpy.array([1.0e3, 2.0e3, 4.0e3, 10.0e3]) | |
cvals = [1.0, 0.1, 0.01] | |
c_phi = 1.0 | |
diff --git a/python/shear-results-forces.py b/python/shear-results-forces.py | |
t@@ -23,8 +23,9 @@ sigma0 = float(sys.argv[1]) | |
c_grad_p = float(sys.argv[2]) | |
c_phi = 1.0 | |
-sid = 'shear-sigma0=' + str(sigma0) + '-c_phi=' + \ | |
- str(c_phi) + '-c_grad_p=' + str(c_grad_p) + '-hi_mu-lo_visc' | |
+#sid = 'shear-sigma0=' + str(sigma0) + '-c_phi=' + \ | |
+# str(c_phi) + '-c_grad_p=' + str(c_grad_p) + '-hi_mu-lo_visc' | |
+sid = 'halfshear-sigma0=' + str(sigma0) + '-c=' + str(c_grad_p) + '-shear' | |
sim = sphere.sim(sid, fluid=True) | |
sim.readfirst(verbose=False) | |
t@@ -112,12 +113,14 @@ for step_str in steps: | |
print(sid + ' not found') | |
s += 1 | |
+ | |
#fig = plt.figure(figsize=(8,4*(len(steps))+1)) | |
fig = plt.figure(figsize=(8,5*(len(steps))+1)) | |
ax = [] | |
for s in numpy.arange(len(steps)): | |
+ | |
ax.append(plt.subplot(len(steps)*100 + 31 + s*3)) | |
ax.append(plt.subplot(len(steps)*100 + 32 + s*3, sharey=ax[s*4+0])) | |
ax.append(plt.subplot(len(steps)*100 + 33 + s*3, sharey=ax[s*4+0])) | |
t@@ -126,9 +129,19 @@ for s in numpy.arange(len(steps)): | |
ax[s*4+0].plot(xdisp[s], zpos_p[s], ',', color = '#888888') | |
ax[s*4+0].plot(xdisp_mean[s], zpos_c[s], color = 'k') | |
- ax[s*4+1].plot(f_pf[s], zpos_p[s], ',', color = '#888888') | |
- ax[s*4+1].plot(f_pf_mean[s], zpos_c[s], color = 'k') | |
- ax[s*4+1].plot([0.0, 0.0], [0.0, sim.L[2]], '--', color='k') | |
+ # remove particles with 0.0 pressure force | |
+ I = numpy.nonzero(numpy.abs(f_pf[s]) > .01) | |
+ f_pf_nonzero = f_pf[s][I] | |
+ zpos_p_nonzero = zpos_p[s][I] | |
+ I = numpy.nonzero(numpy.abs(f_pf_mean[s]) > .01) | |
+ f_pf_mean_nonzero = f_pf_mean[s][I] | |
+ zpos_c_nonzero = zpos_c[s][I] | |
+ | |
+ #ax[s*4+1].plot(f_pf[s], zpos_p[s], ',', color = '#888888') | |
+ ax[s*4+1].plot(f_pf_nonzero, zpos_p_nonzero, ',', color = '#888888') | |
+ #ax[s*4+1].plot(f_pf_mean[s][1:-2], zpos_c[s][1:-2], color = 'k') | |
+ ax[s*4+1].plot(f_pf_mean_nonzero, zpos_c_nonzero, color = 'k') | |
+ #ax[s*4+1].plot([0.0, 0.0], [0.0, sim.L[2]], '--', color='k') | |
#ax[s*4+2].plot(dev_p[s]/1000.0, zpos_c[s], 'k') | |
ax[s*4+2].plot(phi_bar[s,1:], zpos_c[s,1:], '-k', linewidth=3) | |
t@@ -142,6 +155,7 @@ for s in numpy.arange(len(steps)): | |
max_z = numpy.max(zpos_p) | |
ax[s*4+0].set_ylim([0, max_z]) | |
+ ax[s*4+1].set_xlim([0.15, 0.46]) | |
ax[s*4+1].set_ylim([0, max_z]) | |
ax[s*4+2].set_ylim([0, max_z]) | |
#plt.plot(dpdz[c], K[c], 'o-', label='$c$ = %.2f' % (cvals[c])) | |
t@@ -181,8 +195,9 @@ for s in numpy.arange(len(steps)): | |
transform=ax[s*4+0].transAxes) | |
#ax[s*4+0].set_title(strain_str) | |
- #ax1.grid() | |
- #ax2.grid() | |
+ ax[s*4+0].grid() | |
+ ax[s*4+1].grid() | |
+ ax[s*4+2].grid() | |
#ax1.legend(loc='lower right', prop={'size':18}) | |
#ax2.legend(loc='lower right', prop={'size':18}) | |
diff --git a/python/shear-results-pressures.py b/python/shear-results-pressures… | |
t@@ -63,23 +63,32 @@ min_p = numpy.min(dev_pres)/1000.0 | |
#max_p = numpy.min(dev_pres) | |
max_p = numpy.abs(min_p) | |
-cmap = matplotlib.colors.ListedColormap(['b', 'w', 'r']) | |
-bounds = [min_p, 0, max_p] | |
-norm = matplotlib.colors.BoundaryNorm(bounds, cmap.N) | |
+#cmap = matplotlib.colors.ListedColormap(['b', 'w', 'r']) | |
+#bounds = [min_p, 0, max_p] | |
+#norm = matplotlib.colors.BoundaryNorm(bounds, cmap.N) | |
#ax1 = plt.subplot(311) | |
ax1 = plt.subplot(111) | |
-im1 = ax1.pcolormesh(shear_strain, zpos_c, dev_pres/1000.0, rasterized=True, | |
- cmap=cmap, norm=norm) | |
+#im1 = ax1.pcolormesh(shear_strain, zpos_c, dev_pres/1000.0, rasterized=True, | |
+# cmap=cmap, norm=norm) | |
+im1 = ax1.pcolormesh(shear_strain, zpos_c, dev_pres/1000.0, vmin=min_p, | |
+ vmax=max_p, rasterized=True) | |
ax1.set_xlim([0, shear_strain[-1]]) | |
ax1.set_ylim([zpos_c[0], sim.w_x[0]]) | |
ax1.set_xlabel('Shear strain $\\gamma$ [-]') | |
ax1.set_ylabel('Vertical position $z$ [m]') | |
-#cb1 = plt.colorbar() | |
-cb1 = plt.colorbar(im1, cmap=cmap, norm=norm) | |
-cb1.set_label('Deviatoric pressure $p_\\text{f}$ [kPa]') | |
+cb1 = plt.colorbar(im1) | |
+#cb1 = plt.colorbar(im1, cmap=cmap, norm=norm) | |
+cb1.set_label('$p_\\text{f} - p^\\text{hyd}_\\text{f}$ [kPa]') | |
cb1.solids.set_rasterized(True) | |
+# annotate plot | |
+ax1.text(0.02, 0.15, 'compressive', | |
+ bbox={'facecolor':'white', 'alpha':0.5, 'pad':10}) | |
+ | |
+ax1.text(0.12, 0.25, 'dilative', | |
+ bbox={'facecolor':'white', 'alpha':0.5, 'pad':10}) | |
+ | |
''' | |
ax2 = plt.subplot(312) | |
im2 = ax2.pcolormesh(shear_strain, zpos_c, pres/1000.0, rasterized=True) |