tinit-1e4.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
---
tinit-1e4.py (920B)
---
1 #!/usr/bin/env python
2
3 # Import sphere functionality
4 import sphere
5
6 initialization = True
7 plots = True
8
9 # CUDA device to use
10 device = 0
11
12 # Number of particles
13 np = 1e4
14
15 # Common simulation id
16 sim_id = 'init-1e4'
17
18 init = sphere.sim(np=np, nd=3, nw=0, sid=sim_id)
19
20 # Save radii
21 init.generateRadii(mean=0.01)
22
23 # Use default params
24 init.defaultParams(gamma_n=100.0, mu_s=0.6, mu_d=0.6)
25 init.setStiffnessNormal(1.16e7)
26 init.setStiffnessTangential(1.16e7)
27
28 # Add gravity
29 init.g[2] = -9.81
30
31 # Periodic x and y boundaries
32 init.periodicBoundariesXY()
33
34 # Initialize positions in random grid (also sets world size)
35 hcells = np**(1.0/3.0)
36 init.initRandomGridPos(gridnum=[hcells, hcells, 1e9])
37
38 # Set duration of simulation
39 init.initTemporal(total=10.0, epsilon=0.07)
40
41 if (initialization):
42
43 # Run sphere
44 init.run(dry=True)
45 init.run(device=device)
46
47 if (plots):
48 init.visualize('energy')
49
50 init.writeVTKall()