Introduction
Introduction Statistics Contact Development Disclaimer Help
tadd option to return either defined or effective normal stress - sphere - GPU-…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit ff9b1797587c11d741b216e15ea3ac180366b9b2
parent dfce171595e257cf25c6fc52744f673663865807
Author: Anders Damsgaard <[email protected]>
Date: Tue, 24 Feb 2015 10:48:27 +0100
add option to return either defined or effective normal stress
Diffstat:
M python/halfshear-darcy-forcechainm… | 2 +-
M python/sphere.py | 39 ++++++++++++++++++++++++-----…
2 files changed, 32 insertions(+), 9 deletions(-)
---
diff --git a/python/halfshear-darcy-forcechainmapper.py b/python/halfshear-darc…
t@@ -82,7 +82,7 @@ for sid in sids:
ax2.semilogy(t, n - nkept, 'k')
ax2.set_xlabel('Time $t$ [s]')
ax2.set_ylabel(\
- 'New heavily loaded contacts $\sigma_c \\geq \\sigma_0\\times 4$ P…
+ 'New heavily loaded contacts')
#'Heavily loaded contacts $||\\boldsymbol{{\sigma}}_c|| \\geq \\si…
ax3 = plt.subplot(3,1,3)
diff --git a/python/sphere.py b/python/sphere.py
t@@ -3736,16 +3736,24 @@ class sim:
# Increment the number of bonds with one
self.nb0 += 1
- def currentNormalStress(self):
+ def currentNormalStress(self, type='defined'):
'''
- Calculates the current magnitude of the top wall normal stress.
+ Calculates the current magnitude of the defined or effective top wall
+ normal stress.
+
+ :param type: Find the 'defined' (default) or 'effective' normal stress
+ :type type: str
:returns: The current top wall normal stress in Pascal
:return type: float
'''
- return self.w_sigma0[0] \
- + self.w_sigma0_A[0] \
- *numpy.sin(2.0*numpy.pi*self.w_sigma0_f[0]*self.time_current[0…
+ if type == 'defined':
+ return self.w_sigma0[0] \
+ + self.w_sigma0_A[0] \
+ *numpy.sin(2.0*numpy.pi*self.w_sigma0_f[0]\
+ *self.time_current[0])
+ elif type == 'effective':
+ return self.w_force[0]/(self.L[0]*self.L[1])
def volume(self, idx):
'''
t@@ -4378,6 +4386,23 @@ class sim:
# The shear velocity is the x-axis velocity value of the upper particl…
return self.vel[fixvel,0].max()
+ def shearDisplacement(self):
+ '''
+ Calculates and returns the current shear displacement. The displacement
+ is found by determining the total x-axis displacement of the upper,
+ fixed particles.
+
+ :returns: The total shear displacement [m]
+ :return type: float
+
+ See also: :func:`shearStrain()`
+ '''
+
+ # Displacement of the upper, fixed particles in the shear direction
+ #xdisp = self.time_current[0] * self.shearVel()
+ fixvel = numpy.nonzero(self.fixvel > 0.0)
+ return numpy.max(self.xyzsum[fixvel,0])
+
def shearStrain(self):
'''
Calculates and returns the current shear strain (gamma) value of the
t@@ -4394,9 +4419,7 @@ class sim:
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)
- xdisp = numpy.max(self.xyzsum[fixvel,0])
+ xdisp = self.shearDisplacement()
# Return shear strain
return xdisp/w_x0
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.