tdiffusivity2.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
       ---
       tdiffusivity2.py (1253B)
       ---
            1 #!/usr/bin/env python
            2 import sphere
            3 import numpy
            4 
            5 for sigma0 in [40.0e3, 60.0e3]:
            6 
            7     sim = sphere.sim('diffusivity-relax')
            8     sim.readlast()
            9 
           10     sim.sid = 'diffusivity-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     sim.consolidate(normal_stress = sigma0)
           32     sim.initFluid(mu = 17.87e-4, p = 1.0e5, hydrostatic = True)
           33     sim.setFluidBottomNoFlow()
           34     sim.setFluidTopFixedPressure()
           35     sim.setDEMstepsPerCFDstep(10)
           36     sim.setMaxIterations(2e5)
           37     sim.initTemporal(total = 5.0, file_dt = 0.01, epsilon=0.07)
           38     sim.run(dry=True)
           39     sim.run(device=1)
           40     #sim.writeVTKall()
           41     sim.visualize('walls')
           42     sim.visualize('fluid-pressure')