timprove pressure time series plots - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
(HTM) git clone git://src.adamsgaard.dk/sphere
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 692076d936059904de8c5e1365d11db9197f762e
(DIR) parent f0b61ebf969f44f406fc957a85a252cd3cd7cc0a
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Mon, 13 Oct 2014 11:25:20 +0200
improve pressure time series plots
Diffstat:
M python/shear-results-pressures.py | 35 +++++++++++++++++++-------------
1 file changed, 21 insertions(+), 14 deletions(-)
---
(DIR) diff --git a/python/shear-results-pressures.py b/python/shear-results-pressures.py
t@@ -35,31 +35,36 @@ for c in numpy.arange(len(c_grad_p)):
for i in numpy.arange(sim.num[2]):
zpos_c[c,i] = i*dz + 0.5*dz
-shear_strain = numpy.zeros((len(c_grad_p), sim.status()))
-dev_pres = numpy.zeros((len(c_grad_p), sim.num[2], sim.status()))
-pres_static = numpy.ones_like(dev_pres)*sim.p_f[0,0,-1]
-pres = numpy.zeros_like(dev_pres)
+shear_strain = [[], [], []]
+dev_pres = [[], [], []]
+pres_static = [[], [], []]
+pres = [[], [], []]
for c in numpy.arange(len(c_grad_p)):
sim.sid = 'halfshear-sigma0=' + str(sigma0) + '-c=' + str(c_grad_p[c]) \
+ '-shear'
+ shear_strain[c] = numpy.zeros(sim.status())
+ dev_pres[c] = numpy.zeros((sim.num[2], sim.status()))
+ pres_static[c] = numpy.ones_like(dev_pres[c])*sim.p_f[0,0,-1]
+ pres[c] = numpy.zeros_like(dev_pres[c])
+
for i in numpy.arange(sim.status()):
sim.readstep(i, verbose=False)
- pres[c,:,i] = numpy.average(numpy.average(sim.p_f, axis=0), axis=0)
+ pres[c][:,i] = numpy.average(numpy.average(sim.p_f, axis=0), axis=0)
dz = sim.L[2]/sim.num[2]
wall0_iz = int(sim.w_x[0]/dz)
for z in numpy.arange(0, wall0_iz+1):
- pres_static[c,z,i] = \
+ pres_static[c][z,i] = \
(wall0_iz*dz - zpos_c[c,z] + 0.5*dz)\
*sim.rho_f*numpy.abs(sim.g[2])\
+ sim.p_f[0,0,-1]
- shear_strain[c,i] = sim.shearStrain()
+ shear_strain[c][i] = sim.shearStrain()
dev_pres[c] = pres[c] - pres_static[c]
t@@ -82,16 +87,18 @@ for c in numpy.arange(len(c_grad_p)):
#max_p = numpy.min(dev_pres)
min_p = -max_p_dev/1000.0
max_p = max_p_dev/1000.0
+ #min_p = -5.0
+ #max_p = 5.0
+ im1 = ax[c].pcolormesh(shear_strain[c], zpos_c[c], dev_pres[c]/1000.0,
+ vmin=min_p, vmax=max_p, rasterized=True)
#im1 = ax[c].pcolormesh(shear_strain[c], zpos_c[c], dev_pres[c]/1000.0,
- #vmin=min_p, vmax=max_p, rasterized=True)
- #im1 = ax[c].pcolormesh(shear_strain[c], zpos_c[c], dev_pres[c]/1000.0,
#rasterized=True)
- im1 = ax[c].pcolormesh(shear_strain[c], zpos_c[c], pres[c]/1000.0,
- rasterized=True)
- if c == 0:
- ax[c].set_xlim([0, numpy.max(shear_strain[c])])
- ax[c].set_ylim([zpos_c[0,0], sim.w_x[0]])
+ #im1 = ax[c].pcolormesh(shear_strain[c], zpos_c[c], pres[c]/1000.0,
+ #rasterized=True)
+ #if c == 0:
+ ax[c].set_xlim([0, numpy.max(shear_strain[c])])
+ ax[c].set_ylim([zpos_c[0,0], sim.w_x[0]])
ax[c].set_xlabel('Shear strain $\\gamma$ [-]')
ax[c].set_ylabel('Vertical position $z$ [m]')