| tplot results for all c values - sphere - GPU-based 3D discrete element method … | |
| git clone git://src.adamsgaard.dk/sphere | |
| Log | |
| Files | |
| Refs | |
| LICENSE | |
| --- | |
| commit ae993c5f50daa01d742ab7681b7215da75581145 | |
| parent 75f00d3a5b69b8cb76c535aa57bcf66fbcbba7f9 | |
| Author: Anders Damsgaard <[email protected]> | |
| Date: Wed, 27 Aug 2014 10:16:39 +0200 | |
| plot results for all c values | |
| Diffstat: | |
| M python/consolidation-curve.py | 82 ++++++++++++++++-------------… | |
| 1 file changed, 42 insertions(+), 40 deletions(-) | |
| --- | |
| diff --git a/python/consolidation-curve.py b/python/consolidation-curve.py | |
| t@@ -9,8 +9,8 @@ import numpy | |
| import matplotlib.pyplot as plt | |
| c_phi = 1.0 | |
| -#c_grad_p_list = [1.0, 0.1, 0.01] | |
| -c_grad_p_list = [1.0] | |
| +c_grad_p_list = [1.0, 0.1, 0.01] | |
| +#c_grad_p_list = [1.0] | |
| sigma0 = 10.0e3 | |
| #sigma0 = 5.0e3 | |
| t@@ -20,50 +20,52 @@ H = [[], [], []] | |
| c = 0 | |
| for c_grad_p in c_grad_p_list: | |
| - sim = sphere.sim('cons-sigma0=' + str(sigma0) + '-c_phi=' + \ | |
| - str(c_phi) + '-c_grad_p=' + str(c_grad_p), fluid=True) | |
| - t[c] = numpy.empty(sim.status()) | |
| - H[c] = numpy.empty(sim.status()) | |
| + sid = 'cons-sigma0=' + str(sigma0) + '-c_phi=' + \ | |
| + str(c_phi) + '-c_grad_p=' + str(c_grad_p) | |
| + if os.path.isfile('../output/' + sid + '.status.dat'): | |
| + sim = sphere.sim(sid, fluid=True) | |
| + t[c] = numpy.empty(sim.status()) | |
| + H[c] = numpy.empty(sim.status()) | |
| - #sim.visualize('walls') | |
| - #sim.writeVTKall() | |
| + #sim.visualize('walls') | |
| + #sim.writeVTKall() | |
| - #sim.plotLoadCurve() | |
| - #sim.readfirst(verbose=True) | |
| - for i in numpy.arange(1, sim.status()+1): | |
| - sim.readstep(i, verbose=False) | |
| - t[c][i-1] = sim.time_current[0] | |
| - H[c][i-1] = sim.w_x[0] | |
| + #sim.plotLoadCurve() | |
| + #sim.readfirst(verbose=True) | |
| + for i in numpy.arange(1, sim.status()+1): | |
| + sim.readstep(i, verbose=False) | |
| + t[c][i-1] = sim.time_current[0] | |
| + H[c][i-1] = sim.w_x[0] | |
| - ''' | |
| - # find consolidation parameters | |
| - self.H0 = H[0] | |
| - self.H100 = H[-1] | |
| - self.H50 = (self.H0 + self.H100)/2.0 | |
| - T50 = 0.197 # case I | |
| + ''' | |
| + # find consolidation parameters | |
| + self.H0 = H[0] | |
| + 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 H 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]) | |
| + # find the time where 50% of the consolidation (H50) has happened by | |
| + # linear interpolation. The values in H 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) | |
| - if self.fluid == True: | |
| - e = numpy.mean(sb.phi[:,:,3:-8]) # ignore boundaries | |
| - else: | |
| - e = sb.voidRatio() | |
| - ''' | |
| + self.c_v = T50*self.H50**2.0/(self.t50) | |
| + if self.fluid == True: | |
| + e = numpy.mean(sb.phi[:,:,3:-8]) # ignore boundaries | |
| + else: | |
| + e = sb.voidRatio() | |
| + ''' | |
| - H[c] -= H[c][0] | |
| + H[c] -= H[c][0] | |
| c += 1 | |