Introduction
Introduction Statistics Contact Development Disclaimer Help
timprove shearStrainRate function, use shear strain and -rate in plot - sphere …
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit 592a2e058eb3eeb3962b12a6604e164f6d9c9fcd
parent 9f8b77e89f90aa53dc6c0c2cfe65c417e62ef1a6
Author: Anders Damsgaard <[email protected]>
Date: Tue, 17 Feb 2015 14:29:30 +0100
improve shearStrainRate function, use shear strain and -rate in plot
Diffstat:
M python/sphere.py | 42 +++++++++++++++++++++++------…
1 file changed, 31 insertions(+), 11 deletions(-)
---
diff --git a/python/sphere.py b/python/sphere.py
t@@ -4221,12 +4221,23 @@ class sim:
'''
Calculates the shear strain rate (dot(gamma)) value of the experiment.
- :returns: The value of $I$
+ :returns: The value of dot(gamma)
:return type: float
See also: :func:`shearStrain()` and :func:`shearVel()`
'''
- return self.shearStrain()/self.time_current[1]
+ #return self.shearStrain()/self.time_current[1]
+
+ # Current height
+ w_x0 = self.w_x[0]
+
+ # Displacement of the upper, fixed particles in the shear direction
+ #xdisp = self.time_current[0] * self.shearVel()
+ fixvel = numpy.nonzero(self.fixvel > 0.0)
+ xvel = numpy.max(self.vel[fixvel,0])
+
+ # Return shear strain rate
+ return xvel/w_x0
def inertiaParameterPlanarShear(self):
'''
t@@ -6089,7 +6100,8 @@ class sim:
tau = numpy.empty(sb.status())
N = numpy.empty(sb.status())
- v = numpy.empty(sb.status())
+ #v = numpy.empty(sb.status())
+ shearstrainrate = numpy.empty(sb.status())
shearstrain = numpy.empty(sb.status())
for i in numpy.arange(sb.status()):
sb.readstep(i+1, verbose=False)
t@@ -6097,12 +6109,14 @@ class sim:
tau[i] = sb.w_tau_x # defined shear stress
#tau[i] = sb.shearStress()[0] # measured shear stress along x
N[i] = sb.currentNormalStress() # defined normal stress
- v[i] = sb.shearVel()
+ #v[i] = sb.shearVel()
+ shearstrainrate[i] = sb.shearStrainRate()
shearstrain[i] = sb.shearStrain()
# remove nonzero sliding velocities and their associated values
idx = numpy.nonzero(v)
- v_nonzero = v[idx]
+ #v_nonzero = v[idx]
+ shearstrainrate_nonzero = shearstrainrate[idx]
tau_nonzero = tau[idx]
N_nonzero = N[idx]
shearstrain_nonzero = shearstrain[idx]
t@@ -6112,21 +6126,27 @@ class sim:
#ax1.semilogy(tau_nonzero/N_nonzero, v_nonzero, '+k')
#ax1.plot(tau/N, v, '.')
friction = tau_nonzero/N_nonzero
- CS = ax1.scatter(friction, v_nonzero, c=shearstrain_nonzero,
- linewidth=0)
+ #CS = ax1.scatter(friction, v_nonzero, c=shearstrain_nonzero,
+ #linewidth=0)
+ CS = ax1.scatter(friction, shearstrainrate_nonzero,
+ c=shearstrain_nonzero, linewidth=0)
ax1.set_yscale('log')
x_min = numpy.floor(numpy.min(friction))
x_max = numpy.ceil(numpy.max(friction))
ax1.set_xlim([x_min, x_max])
- y_min = numpy.min(v_nonzero)*0.5
- y_max = numpy.max(v_nonzero)*2.0
+ #y_min = numpy.min(v_nonzero)*0.5
+ #y_max = numpy.max(v_nonzero)*2.0
+ y_min = numpy.min(shearstrainrate_nonzero)*0.5
+ y_max = numpy.max(shearstrainrate_nonzero)*2.0
ax1.set_ylim([y_min, y_max])
- plt.colorbar(CS)
+ cb = plt.colorbar(CS)
+ cb.set_ylabel('Shear strain $\\gamma$ [-]')
#ax1.set_xlabel('Effective normal stress [kPa]')
ax1.set_xlabel('Friction $\\tau/N$ [-]')
- ax1.set_ylabel('Shear velocity [m/s]')
+ #ax1.set_ylabel('Shear velocity [m/s]')
+ ax1.set_ylabel('Shear strain rate [s$^{-1}$]')
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.