tadd plot of rate vs. dilation - 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 462c0d954b49385e7ece46b58757cad52d7109ab
(DIR) parent 58ff5bd68ccb54e91018d6a92cf0bbcb791d9923
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Mon, 2 Mar 2015 14:22:28 +0100
add plot of rate vs. dilation
Diffstat:
M python/halfshear-darcy-rate-depend… | 57 +++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/python/halfshear-darcy-rate-dependence.py b/python/halfshear-darcy-rate-dependence.py
t@@ -42,6 +42,7 @@ for sid in sids:
#v = numpy.empty(sim.status())
shearstrainrate = numpy.empty(sim.status())
shearstrain = numpy.empty(sim.status())
+ dilation = numpy.empty(sim.status())
for i in numpy.arange(sim.status()):
sim.readstep(i+1, verbose=False)
#tau = sim.shearStress()
t@@ -53,6 +54,11 @@ for sid in sids:
shearstrain[i] = sim.shearStrain()
t[i] = sim.currentTime()
+ if i == 0:
+ initial_height = sim.w_x[0]
+
+ dilation[i] = sim.w_x[0] - initial_height
+
# remove nonzero sliding velocities and their associated values
#idx = numpy.nonzero(v)
idx = numpy.nonzero(shearstrainrate)
t@@ -171,3 +177,54 @@ for sid in sids:
plt.close()
shutil.copyfile(filename, '/home/adc/articles/own/3/graphics/' + filename)
print(filename)
+
+ ## dilation vs. rate
+ fig = plt.figure(figsize=(3.5,2.5))
+ ax1 = plt.subplot(111)
+ CS = ax1.scatter(friction, dilation,
+ c=shearstrain_nonzero, linewidth=0.05,
+ cmap=matplotlib.cm.get_cmap('afmhot'))
+
+ ## plastic limit
+ x = [0.3, 0.3]
+ y = ax1.get_ylim()
+ limitcolor = '#333333'
+ ax1.plot(x, y, '--', linewidth=2, color=limitcolor)
+ ax1.text(x[0]+0.03, 2.0e-4,
+ 'Yield strength', rotation=90, color=limitcolor,
+ bbox={'fc':'#ffffff', 'pad':3, 'alpha':0.7})
+
+
+ ## Fit
+ '''
+ ax1.plot(friction_fit, strainrate_fit)
+ #ax1.plot(friction_fit2, strainrate_fit2)
+ ax1.annotate('$\\dot{\\gamma} = (\\tau/N)^{6.40}$',
+ xy = (friction_fit[40], strainrate_fit[40]),
+ xytext = (0.32+0.05, 2.0e-9),
+ arrowprops=dict(facecolor='blue', edgecolor='blue', shrink=0.1,
+ width=1, headwidth=4, frac=0.2),)
+ #xytext = (friction_fit[50]+0.15, strainrate_fit[50]-1.0e-5))#,
+ #arrowprops=dict(facecolor='black', shrink=0.05),)
+ '''
+
+ ax1.set_yscale('log')
+ ax1.set_xlim([x_min, x_max])
+ y_min = numpy.min(shearstrainrate_nonzero)*0.5
+ y_max = numpy.max(shearstrainrate_nonzero)*2.0
+ ax1.set_ylim([y_min, y_max])
+
+ cb = plt.colorbar(CS)
+ cb.set_label('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('Dilation $\\Delta h$ [m]')
+
+ plt.tight_layout()
+ filename = sid + '-rate-dependence-dilation.' + outformat
+ plt.savefig(filename)
+ plt.close()
+ shutil.copyfile(filename, '/home/adc/articles/own/3/graphics/' + filename)
+ print(filename)