tscripts to interpret permeability and diffusivity experiments - sphere - GPU-b… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 96eeffa6fcc7b60bcc548030d18412780338bfe5 | |
parent 98dd28151787ad19ca169cf0c8f76bc378d3108e | |
Author: Anders Damsgaard <[email protected]> | |
Date: Wed, 27 Aug 2014 09:50:25 +0200 | |
scripts to interpret permeability and diffusivity experiments | |
Diffstat: | |
M python/consolidation-curve.py | 2 +- | |
A python/diffusivity-results.py | 44 +++++++++++++++++++++++++++++… | |
M python/permeability-results.py | 38 +++++++++++++++++------------… | |
3 files changed, 66 insertions(+), 18 deletions(-) | |
--- | |
diff --git a/python/consolidation-curve.py b/python/consolidation-curve.py | |
t@@ -74,8 +74,8 @@ plt.ylabel('Thickness change [m]') | |
for c in range(len(c_grad_p_list)): | |
plt.semilogx(t[c], H[c], 'o-', label='$c$ = %.2f' % (c_grad_p_list[c])) | |
plt.grid() | |
-plt.legend(loc=0) | |
+plt.legend(loc=0) | |
plt.tight_layout() | |
filename = 'cons-curves.pdf' | |
plt.savefig(filename) | |
diff --git a/python/diffusivity-results.py b/python/diffusivity-results.py | |
t@@ -0,0 +1,44 @@ | |
+#!/usr/bin/env python | |
+import matplotlib | |
+matplotlib.use('Agg') | |
+matplotlib.rcParams.update({'font.size': 18, 'font.family': 'serif'}) | |
+import os | |
+ | |
+import sphere | |
+import numpy | |
+import matplotlib.pyplot as plt | |
+import diffusivitycalc | |
+ | |
+ | |
+c_phi = 1.0 | |
+c_grad_p = 1.0 | |
+sigma0_list = numpy.array([5.0e3, 10.0e3, 20.0e3, 40.0e3, 80.0e3, 160.0e3]) | |
+alpha = numpy.empty(len(sigma0_list)) | |
+ | |
+dc = diffusivitycalc.DiffusivityCalc() | |
+ | |
+i = 0 | |
+for sigma0 in sigma0_list: | |
+ | |
+ sim = sphere.sim('cons-sigma0=' + str(sigma0) + '-c_phi=' + \ | |
+ str(c_phi) + '-c_grad_p=' + str(c_grad_p), fluid=True) | |
+ | |
+ sim.visualize('walls') | |
+ sim.plotLoadCurve() | |
+ #sim.writeVTKall() | |
+ | |
+ i += 1 | |
+ | |
+ | |
+plt.xlabel('Normal stress $\\sigma_0$ [kPa]') | |
+plt.ylabel('Hydraulic diffusivity $\\alpha$ [m$^2$s$^{-1}$]') | |
+#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) | |
+sigma0 /= 1000.0 | |
+plt.plot(sigma0, alpha, 'o-k') | |
+plt.grid() | |
+ | |
+plt.tight_layout() | |
+filename = 'diffusivity-sigma0-vs-alpha.pdf' | |
+plt.savefig(filename) | |
+print(os.getcwd() + '/' + filename) | |
+plt.savefig(filename) | |
diff --git a/python/permeability-results.py b/python/permeability-results.py | |
t@@ -27,22 +27,23 @@ for c_grad_p in cvals: | |
sids.append('permeability-dp=' + str(dp) + '-c_phi=' + \ | |
str(c_phi) + '-c_grad_p=' + str(c_grad_p)) | |
- K[c] = numpy.empty(len(sids)) | |
- dpdz[c] = numpy.empty_like(K) | |
- Q[c] = numpy.empty_like(K) | |
- phi_bar[c] = numpy.empty_like(K) | |
+ K[c] = numpy.zeros(len(sids)) | |
+ dpdz[c] = numpy.zeros_like(K[c]) | |
+ Q[c] = numpy.zeros_like(K[c]) | |
+ phi_bar[c] = numpy.zeros_like(K[c]) | |
i = 0 | |
for sid in sids: | |
- pc = PermeabilityCalc(sid, plot_evolution=False, print_results=False, | |
- verbose=False) | |
- K[c][i] = pc.conductivity() | |
- pc.findPressureGradient() | |
- pc.findCrossSectionalFlux() | |
- dpdz[c][i] = pc.dPdL[2] | |
- Q[c][i] = pc.Q[2] | |
- pc.findMeanPorosity() | |
- phi_bar[c][i] = pc.phi_bar | |
+ if os.path.isfile('../output/' + sid + '.status.dat'): | |
+ pc = PermeabilityCalc(sid, plot_evolution=False, print_results=Fal… | |
+ verbose=False) | |
+ K[c][i] = pc.conductivity() | |
+ pc.findPressureGradient() | |
+ pc.findCrossSectionalFlux() | |
+ dpdz[c][i] = pc.dPdL[2] | |
+ Q[c][i] = pc.Q[2] | |
+ pc.findMeanPorosity() | |
+ phi_bar[c][i] = pc.phi_bar | |
i += 1 | |
t@@ -58,9 +59,12 @@ fig = plt.figure() | |
plt.xlabel('Pressure gradient $\\Delta p/\\Delta z$ [kPa m$^{-1}$]') | |
plt.ylabel('Hydraulic conductivity $K$ [ms$^{-1}$]') | |
plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) | |
-for c in range(len(c_vals)): | |
- dpdz /= 1000.0 | |
- plt.plot(dpdz[c], K[c], 'o-', label='$c$ = %.2f' % (c_vals[c])) | |
+for c in range(len(cvals)): | |
+ dpdz[c] /= 1000.0 | |
+ #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])) | |
plt.grid() | |
#plt.subplot(3,1,2) | |
t@@ -75,8 +79,8 @@ plt.grid() | |
#plt.plot(dpdz, phi_bar, '+') | |
#plt.grid() | |
+plt.legend() | |
plt.tight_layout() | |
filename = 'permeability-dpdz-vs-K-vs-c.pdf' | |
-plt.savefig(filename) | |
print(os.getcwd() + '/' + filename) | |
plt.savefig(filename) |