Introduction
Introduction Statistics Contact Development Disclaimer Help
tupdated examples - sphere - GPU-based 3D discrete element method algorithm wit…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit 3ccb9bda7a8b9d2c878695e70a743dde2d5651c3
parent 7d8e9335c718e6e47e25c41b5cdd5d48e92b9e27
Author: Anders Damsgaard <[email protected]>
Date: Sat, 28 Sep 2013 10:17:05 +0200
updated examples
Diffstat:
M python/shear-test.py | 118 ++++++++++++++++-------------…
1 file changed, 60 insertions(+), 58 deletions(-)
---
diff --git a/python/shear-test.py b/python/shear-test.py
t@@ -5,19 +5,19 @@ from sphere import *
### EXPERIMENT SETUP ###
initialization = True
-consolidation = False
-shearing = False
-rendering = False
-plots = False
+consolidation = True
+shearing = True
+rendering = True
+plots = True
# Number of particles
np = 1e4
# Common simulation id
-sim_id = "shear-test"
+sim_id = "shear-test-devs3"
# Deviatoric stress [Pa]
-devs = 10e3
+devslist = [80e3, 10e3, 20e3, 40e3, 60e3, 120e3]
#devs = 0
### INITIALIZATION ###
t@@ -26,16 +26,17 @@ devs = 10e3
init = Spherebin(np = np, nd = 3, nw = 0, sid = sim_id + "-init")
# Save radii
-init.generateRadii(radius_mean = 0.05)
+init.generateRadii(radius_mean = 0.02)
# Use default params
-init.defaultParams(gamma_n = 0.0, mu_s = 0.4, mu_d = 0.4)
+init.defaultParams(gamma_n = 0.0, mu_s = 0.3, mu_d = 0.3)
# Initialize positions in random grid (also sets world size)
-init.initRandomGridPos(gridnum = numpy.array([12, 12, 1000]), periodic = 1, co…
+hcells = np**(1.0/3.0)
+init.initRandomGridPos(gridnum = numpy.array([hcells, hcells, 1e9]), periodic …
# Set duration of simulation
-init.initTemporal(total = 0.2)
+init.initTemporal(total = 5.0)
if (initialization == True):
# Write input file for sphere
t@@ -55,74 +56,75 @@ if (initialization == True):
### CONSOLIDATION ###
-# New class
-cons = Spherebin(np = init.np, nw = 1, sid = sim_id + "-cons")
+for devs in devslist:
+ # New class
+ cons = Spherebin(np = init.np, nw = 1, sid = sim_id + "-cons-devs{}".format(…
-# Read last output file of initialization step
-lastf = status(sim_id + "-init")
-cons.readbin("../output/" + sim_id + "-init.output{:0=5}.bin".format(lastf), v…
+ # Read last output file of initialization step
+ lastf = status(sim_id + "-init")
+ cons.readbin("../output/" + sim_id + "-init.output{:0=5}.bin".format(lastf),…
-# Setup consolidation experiment
-cons.consolidate(deviatoric_stress = devs, periodic = init.periodic)
+ # Setup consolidation experiment
+ cons.consolidate(deviatoric_stress = devs, periodic = init.periodic)
-# Set duration of simulation
-cons.initTemporal(total = 1.5)
-#cons.initTemporal(total = 0.0019, file_dt = 0.00009)
-#cons.initTemporal(total = 0.0019, file_dt = 1e-6)
-#cons.initTemporal(total = 0.19, file_dt = 0.019)
+ # Set duration of simulation
+ cons.initTemporal(total = 1.5)
+ #cons.initTemporal(total = 0.0019, file_dt = 0.00009)
+ #cons.initTemporal(total = 0.0019, file_dt = 1e-6)
+ #cons.initTemporal(total = 0.19, file_dt = 0.019)
-cons.w_m[0] *= 0.001
+ cons.w_m[0] *= 0.001
-if (consolidation == True):
- # Write input file for sphere
- cons.writebin()
+ if (consolidation == True):
+ # Write input file for sphere
+ cons.writebin()
- # Run sphere
- cons.run(dry=True) # show values, don't run
- cons.run() # run
+ # Run sphere
+ cons.run(dry=True) # show values, don't run
+ cons.run() # run
- if (plots == True):
- # Make a graph of energies
- visualize(cons.sid, "energy", savefig=True, outformat='png')
- visualize(cons.sid, "walls", savefig=True, outformat='png')
+ if (plots == True):
+ # Make a graph of energies
+ visualize(cons.sid, "energy", savefig=True, outformat='png')
+ visualize(cons.sid, "walls", savefig=True, outformat='png')
- if (rendering == True):
- # Render images with raytracer
- cons.render(method = "pres", max_val = 2.0*devs, verbose = False)
+ if (rendering == True):
+ # Render images with raytracer
+ cons.render(method = "pres", max_val = 2.0*devs, verbose = False)
### SHEARING ###
-# New class
-shear = Spherebin(np = cons.np, nw = cons.nw, sid = sim_id + "-shear")
+ # New class
+ shear = Spherebin(np = cons.np, nw = cons.nw, sid = sim_id + "-shear-devs{}"…
-# Read last output file of initialization step
-lastf = status(sim_id + "-cons")
-shear.readbin("../output/" + sim_id + "-cons.output{:0=5}.bin".format(lastf), …
+ # Read last output file of initialization step
+ lastf = status(sim_id + "-cons-devs{}".format(devs))
+ shear.readbin("../output/" + sim_id + "-cons-devs{}.output{:0=5}.bin".format…
-# Setup shear experiment
-shear.shear(shear_strain_rate = 0.10, periodic = init.periodic)
+ # Setup shear experiment
+ shear.shear(shear_strain_rate = 0.05, periodic = init.periodic)
-# Set duration of simulation
-shear.initTemporal(total = 5.0)
+ # Set duration of simulation
+ shear.initTemporal(total = 20.0)
-if (shearing == True):
- # Write input file for sphere
- shear.writebin()
+ if (shearing == True):
+ # Write input file for sphere
+ shear.writebin()
- # Run sphere
- shear.run(dry=True)
- shear.run()
+ # Run sphere
+ shear.run(dry=True)
+ shear.run()
- if (plots == True):
- # Make a graph of energies
- visualize(shear.sid, "energy", savefig=True, outformat='png')
- visualize(shear.sid, "shear", savefig=True, outformat='png')
+ if (plots == True):
+ # Make a graph of energies
+ visualize(shear.sid, "energy", savefig=True, outformat='png')
+ visualize(shear.sid, "shear", savefig=True, outformat='png')
- if (rendering == True):
- # Render images with raytracer
- shear.render(method = "pres", max_val = 2.0*devs, verbose = False)
+ if (rendering == True):
+ # Render images with raytracer
+ shear.render(method = "pres", max_val = 2.0*devs, verbose = False)
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.