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()