Introduction
Introduction Statistics Contact Development Disclaimer Help
tadded sheardisp visualization - sphere - GPU-based 3D discrete element method …
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit d17e9bc8044caf0b3e77cbf286934808fcc4bc29
parent 119cac8a4e5b392f9b41fb700d0fff088b3ad6b3
Author: Anders Damsgaard Christensen <[email protected]>
Date: Sun, 7 Apr 2013 04:27:39 +0200
added sheardisp visualization
Diffstat:
M python/sphere.py | 40 +++++++++++++++++++++++++++++…
1 file changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/python/sphere.py b/python/sphere.py
t@@ -1295,6 +1295,7 @@ class Spherebin:
subprocess.call("cd .. && ./forcechains " + nd + "-f " + outformat + "…
subprocess.call("gnuplot tmp.gp && rm tmp.bin && rm tmp.gp", shell=Tru…
+
def forcechainsRose(self, lower_limit=0.25):
''' Visualize strike- and dip angles of the strongest force chains in a
rose plot.
t@@ -1408,6 +1409,44 @@ class Spherebin:
plt.savefig("bonds-" + self.sid + "-rose.pdf", transparent=True)
+ def sheardisp(self, outformat='pdf', zslices=32):
+ ''' Show particle x-displacement vs. the z-pos '''
+
+ # Bin data and error bars for alternative visualization
+ h_total = numpy.max(self.x[:,2]) - numpy.min(self.x[:,2])
+ h_slice = h_total / zslices
+
+ zpos = numpy.zeros(zslices)
+ xdisp = numpy.zeros(zslices)
+ err = numpy.zeros(zslices)
+
+ for iz in range(zslices):
+
+ # Find upper and lower boundaries of bin
+ zlower = iz * h_slice
+ zupper = zlower + h_slice
+
+ # Save depth
+ zpos[iz] = zlower + 0.5*h_slice
+
+ # Find particle indexes within that slice
+ I = numpy.nonzero((self.x[:,2] > zlower) & (self.x[:,2] < zupper))
+
+ # Save mean x displacement
+ xdisp[iz] = numpy.mean(self.xysum[I,0])
+
+ # Save x displacement standard deviation
+ err[iz] = numpy.std(self.xysum[I,0])
+
+
+ plt.figure(figsize=[4, 4])
+ ax = subplot(111)
+ ax.scatter(self.xysum[:,0], self.x[:,2], c='k', marker='+')
+ ax.errorbar(xdisp, zpos, xerr=err, linestyle='-')
+ plt.savefit(self.sid + '-sheardisp.' + outformat, transparent=True)
+
+
+
def thinsection_x1x3(self,
x2 = 'center',
graphicsformat = 'png',
t@@ -2035,6 +2074,7 @@ def visualize(project, method = 'energy', savefig = True…
if fh is not None:
fh.close()
+
else :
print("Visualization type '" + method + "' not understood")
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.