tshear1.py - 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
---
tshear1.py (1371B)
---
1 #!/usr/bin/env python
2 import sphere
3 import numpy
4
5 for sigma0 in [10.0e3, 20.0e3]:
6
7 sim = sphere.sim()
8 sim.sid = 'diffusivity-sigma0=' + str(sigma0)
9 sim.readlast()
10 sim.sid = 'shear-sigma0=' + str(sigma0)
11
12 # Checkerboard colors
13 x_min = numpy.min(sim.x[:,0])
14 x_max = numpy.max(sim.x[:,0])
15 y_min = numpy.min(sim.x[:,1])
16 y_max = numpy.max(sim.x[:,1])
17 z_min = numpy.min(sim.x[:,2])
18 z_max = numpy.max(sim.x[:,2])
19 color_nx = 6
20 color_ny = 6
21 color_nz = 6
22 for i in range(sim.np):
23 ix = numpy.floor((sim.x[i,0] - x_min)/(x_max/color_nx))
24 iy = numpy.floor((sim.x[i,1] - y_min)/(y_max/color_ny))
25 iz = numpy.floor((sim.x[i,2] - z_min)/(z_max/color_nz))
26 sim.color[i] = (-1)**ix + (-1)**iy + (-1)**iz
27
28 sim.cleanup()
29 sim.adjustUpperWall()
30 sim.zeroKinematics()
31 shear_strain = 1.0
32 total_time = 20.0
33 sim.shear(shear_strain_rate = shear_strain/total_time)
34 sim.shear(normal_stress = 10.0e3)
35 sim.initFluid(mu = 17.87e-4, p = 1.0e5, hydrostatic = True)
36 sim.setFluidBottomNoFlow()
37 sim.setFluidTopFixedPressure()
38 sim.setDEMstepsPerCFDstep(10)
39 sim.initTemporal(total = total_time, file_dt = 0.01, epsilon=0.07)
40 sim.run(dry=True)
41 sim.run()
42 #sim.writeVTKall()
43 sim.visualize('walls')
44 sim.visualize('shear')
45 sim.visualize('fluid-pressure')