tadded relatively light-weight shear experiment as an alternative - 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 0f3a2baafbb052d268a67b86531d6ae1d25d447d
(DIR) parent d6d65f3589dcf06b7f076c54b69f06c52209779b
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Tue, 16 Sep 2014 09:31:59 +0200
added relatively light-weight shear experiment as an alternative
Diffstat:
A python/shear2-cons.py | 11 +++++++++++
A python/shear2-init.py | 13 +++++++++++++
A python/shear2.py | 24 ++++++++++++++++++++++++
3 files changed, 48 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/python/shear2-cons.py b/python/shear2-cons.py
t@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+import sphere
+
+sim = sphere.sim('init2', np=10000)
+sim.readlast()
+sim.consolidate(20.0e3)
+sim.id('cons2-20kPa')
+sim.defaultParams()
+sim.initTemporal(5.0, epsilon=0.07)
+sim.run()
+sim.writeVTKall()
(DIR) diff --git a/python/shear2-init.py b/python/shear2-init.py
t@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+import sphere
+
+sim = sphere.sim('init2', np=10000)
+sim.generateRadii(psd='uni', radius_mean=0.02, radius_variance=0.01)
+sim.initRandomGridPos([12, 12, 1000])
+sim.initTemporal(10.0, file_dt=0.05, epsilon=0.07)
+sim.gamma_n[0] = 1000.0
+sim.gamma_wn[0] = 1000.0
+sim.periodicBoundariesXY()
+sim.g[2] = -9.81
+sim.run()
+sim.writeVTKall()
(DIR) diff --git a/python/shear2.py b/python/shear2.py
t@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+import sphere
+
+fluid = True
+
+sim = sphere.sim('cons2-20kPa')
+sim.readlast()
+sim.id('shear2-20kPa-c=1.0')
+sim.shear(1.0/20.0)
+
+if fluid:
+ sim.num[2] *= 2
+ sim.L[2] *= 2.0
+ sim.initFluid(mu=1.797e-6, p=600.0e3, hydrostatic=True)
+ sim.setFluidBottomNoFlow()
+ sim.setFluidTopFixedPressure()
+ sim.setDEMstepsPerCFDstep(100)
+ sim.setMaxIterations(2e5)
+ sim.c_grad_p[0] = 1.0
+
+sim.checkerboardColors()
+sim.initTemporal(20.0, epsilon=0.07)
+sim.run()
+sim.writeVTKall()