| tadd script showing shear stress and dilation results - sphere - GPU-based 3D d… | |
| git clone git://src.adamsgaard.dk/sphere | |
| Log | |
| Files | |
| Refs | |
| LICENSE | |
| --- | |
| commit 02e113098e1ea02d432755c7faab9e0a7523ef78 | |
| parent cd8486401752a5d3e555cb27304465302f77dee1 | |
| Author: Anders Damsgaard <[email protected]> | |
| Date: Tue, 9 Sep 2014 09:06:59 +0200 | |
| add script showing shear stress and dilation results | |
| Diffstat: | |
| A python/shear-results.py | 93 +++++++++++++++++++++++++++++… | |
| 1 file changed, 93 insertions(+), 0 deletions(-) | |
| --- | |
| diff --git a/python/shear-results.py b/python/shear-results.py | |
| t@@ -0,0 +1,93 @@ | |
| +#!/usr/bin/env python | |
| +import matplotlib | |
| +matplotlib.use('Agg') | |
| +matplotlib.rcParams.update({'font.size': 18, 'font.family': 'serif'}) | |
| +import shutil | |
| + | |
| +import os | |
| +import numpy | |
| +import sphere | |
| +from permeabilitycalculator import * | |
| +import matplotlib.pyplot as plt | |
| + | |
| +#sigma0_list = numpy.array([1.0e3, 2.0e3, 4.0e3, 10.0e3, 20.0e3, 40.0e3]) | |
| +sigma0 = 10.0e3 | |
| +cvals = [1.0, 0.1] | |
| +c_phi = 1.0 | |
| + | |
| +shear_strain = [[], [], []] | |
| +friction = [[], [], []] | |
| +dilation = [[], [], []] | |
| + | |
| +fluid=True | |
| + | |
| +# dry shear | |
| +sid = 'shear-sigma0=' + str(10.0e3) | |
| +sim = sphere.sim(sid) | |
| +sim.readlast() | |
| +sim.visualize('shear') | |
| +shear_strain[0] = sim.shear_strain | |
| +friction[0] = sim.tau/sim.sigma_eff | |
| +dilation[0] = sim.dilation | |
| + | |
| +# wet shear | |
| +c = 1 | |
| +for c in numpy.arange(1,len(cvals)+1): | |
| + c_grad_p = cvals[c-1] | |
| + | |
| + sid = 'shear-sigma0=' + str(sigma0) + '-c_phi=' + \ | |
| + str(c_phi) + '-c_grad_p=' + str(c_grad_p) + \ | |
| + '-hi_mu-lo_visc' | |
| + if os.path.isfile('../output/' + sid + '.status.dat'): | |
| + | |
| + sim = sphere.sim(sid, fluid=fluid) | |
| + shear_strain[c] = numpy.zeros(sim.status()) | |
| + friction[c] = numpy.zeros_like(shear_strain[c]) | |
| + dilation[c] = numpy.zeros_like(shear_strain[c]) | |
| + | |
| + sim.readlast() | |
| + sim.visualize('shear') | |
| + shear_strain[c] = sim.shear_strain | |
| + friction[c] = sim.tau/sim.sigma_eff | |
| + dilation[c] = sim.dilation | |
| + else: | |
| + print(sid + ' not found') | |
| + | |
| + # produce VTK files | |
| + #for sid in sids: | |
| + #sim = sphere.sim(sid, fluid=True) | |
| + #sim.writeVTKall() | |
| + c += 1 | |
| + | |
| +fig = plt.figure(figsize=(8,8)) | |
| + | |
| +#plt.subplot(3,1,1) | |
| +#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) | |
| + | |
| +ax1 = plt.subplot(211) | |
| +ax2 = plt.subplot(212, sharex=ax1) | |
| +ax1.plot(shear_strain[0], friction[0], label='dry') | |
| +ax2.plot(shear_strain[0], dilation[0], label='dry') | |
| + | |
| +for c in numpy.arange(1,len(cvals)+1): | |
| + ax1.plot(shear_strain[c], friction[c], label='$c$ = %.2f' % (cvals[c-1])) | |
| + ax2.plot(shear_strain[c], dilation[c], label='$c$ = %.2f' % (cvals[c-1])) | |
| + #plt.plot(dpdz[c], K[c], 'o-', label='$c$ = %.2f' % (cvals[c])) | |
| + #plt.semilogx(dpdz[c], K[c], 'o-', label='$c$ = %.2f' % (cvals[c])) | |
| + #plt.semilogy(dpdz[c], K[c], 'o-', label='$c$ = %.2f' % (cvals[c])) | |
| + #plt.loglog(dpdz[c], K[c], 'o-', label='$c$ = %.2f' % (cvals[c])) | |
| +ax2.set_xlabel('Shear strain [-]') | |
| +ax1.set_ylabel('Shear friction $\\tau/\\sigma\'$ [-]') | |
| +ax2.set_ylabel('Dilation $\\Delta h$ [m]') | |
| +plt.setp(ax1.get_xticklabels(), visible=False) | |
| +ax1.grid() | |
| +ax2.grid() | |
| +ax1.legend(loc='lower right', prop={'size':18}) | |
| +ax2.legend(loc='lower right', prop={'size':18}) | |
| + | |
| +plt.tight_layout() | |
| +filename = 'shear-10kPa-stress-dilation.pdf' | |
| +#print(os.getcwd() + '/' + filename) | |
| +plt.savefig(filename) | |
| +shutil.copyfile(filename, '/home/adc/articles/own/2-org/' + filename) | |
| +print(filename) |