timprove functionality for determining shear stresses - 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 af3ff5f94fe8c7134db7b7e7614fa7759368cacb
(DIR) parent 69c1afc4ac0f4239d9f3b875c96a2962fae2076a
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Tue, 24 Feb 2015 10:51:51 +0100
improve functionality for determining shear stresses
Diffstat:
M python/sphere.py | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
---
(DIR) diff --git a/python/sphere.py b/python/sphere.py
t@@ -5793,24 +5793,35 @@ class sim:
'''
self.ndem = numpy.asarray(ndem)
- def shearStress(self):
+ def shearStress(self, type='effective'):
'''
Calculates the sum of shear stress values measured on any moving
particles with a finite and fixed velocity.
+ :param type: Find the 'defined' or 'effective' (default) shear stress
+ :type type: str
+
:returns: The shear stress in Pa
:return type: numpy.array
'''
- fixvel = numpy.nonzero(self.fixvel > 0.0)
- force = numpy.zeros(3)
+ if type == 'defined':
+ return self.w_tau_x[0]
- # Summation of shear stress contributions
- for i in fixvel[0]:
- if self.vel[i,0] > 0.0:
- force += -self.force[i,:]
+ elif type == 'effective':
- return force/(self.L[0]*self.L[1])
+ fixvel = numpy.nonzero(self.fixvel > 0.0)
+ force = numpy.zeros(3)
+
+ # Summation of shear stress contributions
+ for i in fixvel[0]:
+ if self.vel[i,0] > 0.0:
+ force += -self.force[i,:]
+
+ return force/(self.L[0]*self.L[1])
+
+ else:
+ raise Exception('Shear stress type ' + type + ' not understood')
def visualize(self, method='energy', savefig=True, outformat='png',