tadd bouyancy to particles in darcy solver - 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
       ---
 (DIR) commit b8d99b1d8db8b152c9a9810e101ba31aa7791e52
 (DIR) parent f3b00c4f767ff60b4b380d56ee75fbc64b3f17e8
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Wed, 19 Nov 2014 12:17:25 +0100
       
       add bouyancy to particles in darcy solver
       
       Diffstat:
         M python/halfshear-darcy-starter.py   |       4 ++--
         M src/darcy.cuh                       |      11 ++++++-----
         M tests/cfd_tests_darcy_particles.py  |       2 +-
       
       3 files changed, 9 insertions(+), 8 deletions(-)
       ---
 (DIR) diff --git a/python/halfshear-darcy-starter.py b/python/halfshear-darcy-starter.py
       t@@ -36,8 +36,8 @@ sim.cleanup()
        sim.adjustUpperWall()
        sim.zeroKinematics()
        
       -#sim.shear(0.0/20.0)
       -sim.shear(1.0/20.0 * velfac)
       +sim.shear(0.0/20.0)
       +#sim.shear(1.0/20.0 * velfac)
        K_q_real = 36.4e9
        K_w_real =  2.2e9
        K_q_sim  = 1.16e9
 (DIR) diff --git a/src/darcy.cuh b/src/darcy.cuh
       t@@ -558,13 +558,14 @@ __global__ void findDarcyPressureForce(
                // buoyancy force = weight of displaced fluid
                // f_b = -rho_f*V*g
                Float3 f_p = -1.0*grad_p*V/(1.0 - phi);
       -            //- devC_params.rho_f*V*MAKE_FLOAT3(
       -                    //devC_params.g[0],
       -                    //devC_params.g[1],
       -                    //devC_params.g[2]);
       +            - devC_params.rho_f*V*MAKE_FLOAT3(
       +                    devC_params.g[0],
       +                    devC_params.g[1],
       +                    devC_params.g[2]);
        
                // Add Neumann BC at top wall
       -        if (i_z >= wall0_iz - 1)
       +        //if (i_z >= wall0_iz - 1)
       +        if (i_z >= wall0_iz)
                    f_p.z = 0.0;
        
                /*printf("%d,%d,%d findPF:\n"
 (DIR) diff --git a/tests/cfd_tests_darcy_particles.py b/tests/cfd_tests_darcy_particles.py
       t@@ -205,7 +205,7 @@ for i in numpy.arange(fluid_pressure_gradient.size):
                    + str(numpy.mean(py.vel[:,1])) + ', '
                    + str(numpy.mean(py.vel[:,2])) + ' m/s')"""
        
       -    z_vel_threshold = 0.001
       +    z_vel_threshold = 0.002
            if fluid_pressure_gradient[i] < 1.0:
                test(numpy.mean(py.vel[:,2]) < z_vel_threshold, 
                        'Fluidization (' + str(fluid_pressure_gradient[i]) + '):\t')