Introduction
Introduction Statistics Contact Development Disclaimer Help
tcalculate consolidation coefficient and show it in plot - sphere - GPU-based 3…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit aba33eb02abf7b0213f694c21402793291b459a8
parent 2430f893ee91d85550ecd4e2d9897d37143aa980
Author: Anders Damsgaard <[email protected]>
Date: Thu, 14 Aug 2014 14:53:49 +0200
calculate consolidation coefficient and show it in plot
Diffstat:
M python/sphere.py | 39 +++++++++++++++++++++++++----…
1 file changed, 32 insertions(+), 7 deletions(-)
---
diff --git a/python/sphere.py b/python/sphere.py
t@@ -4153,25 +4153,50 @@ class sim:
Plot the load curve (log time vs. upper wall movement). The plot is
saved in the current folder with the file name
'<simulation id>-loadcurve.<graphics_format>'.
+ The consolidation coefficient calculations are done on the base of
+ Bowles 1992, p. 129--139. It is assumed that the consolidation has
+ stopped at the end of the simulation (i.e. flat curve).
'''
t = numpy.empty(self.status())
- dh = numpy.empty_like(t)
+ dH = numpy.empty_like(t)
+ H = numpy.empty_like(t)
sim = sphere.sim(self.sid, fluid=self.fluid)
sim.readfirst(i)
h = sim.w_x[0]
for i in numpy.arange(1, self.status()):
sim.readstep(i)
t[i-1] = sim.time_current[0]
- dh[i-1] = h - sim.w_x[0]
-
- # save consolidation variables
- self.D0 = h
- self.D100 = h - dh[-1]
- self.D50 = (self.D0 + self.D100)/2.0
+ H[i-1] = sim.w_x[0]
+ dH[i-1] = h - sim.w_x[0]
+
+ # find consolidation parameters
+ self.H0 = H[0]
+ #self.H100 = h - dh[-1]
+ self.H100 = H[-1]
+ self.H50 = (self.H0 + self.H100)/2.0
+ T50 = 0.197 # case I
+ # find the time where 50% of the consolidation (H50) has happened by
+ # linear interpolation. The values in dh are expected to be
+ # monotonically decreasing! See Numerical Recipies p. 115
+ i_lower = 0
+ i_upper = self.status()-1
+ while (i_upper - i_lower > 1):
+ i_midpoint = int((i_upper + i_lower)/2)
+ if (self.H50 > H[i_midpoint]):
+ i_lower = i_midpoint
+ else:
+ i_upper = i_midpoint
+ self.t50 = t[i_lower] + (t[i_upper] - t[i_lower]) * \
+ (self.H50 - H[i_lower])/(H[i_upper] - H[i_lower])
+
+ self.c_v = T50*self.H50**2.0/(self.t50)
+
fig = plt.figure()
plt.xlabel('Time [s]')
plt.ylabel('Consolidation [m]')
+ plt.title('Consolidation coefficient $c_v$ = %.4e m^2/s at %f kPa' \
+ % (self.c_v, self.w_devs[0]/1000.0))
plt.semilogx(t, dh, '+-')
plt.axhline(y = self.D0)
plt.axhline(y = self.D50)
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.