tset velocity to zero above dynamic wall - 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 fb42b7f7543b15269762f52992d036dd086c4ae4
 (DIR) parent 63009d48011ba447f2ac372b36afe63dbb0d978e
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Mon, 22 Sep 2014 15:10:29 +0200
       
       set velocity to zero above dynamic wall
       
       Diffstat:
         M src/device.cu                       |       1 +
         M src/navierstokes.cuh                |       5 +++++
       
       2 files changed, 6 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/src/device.cu b/src/device.cu
       t@@ -1638,6 +1638,7 @@ __host__ void DEM::startTime()
                                ns.bc_top,
                                ns.ndem,
                                ns.c_grad_p,
       +                        wall0_iz,
                                dev_ns_v_x,
                                dev_ns_v_y,
                                dev_ns_v_z);
 (DIR) diff --git a/src/navierstokes.cuh b/src/navierstokes.cuh
       t@@ -2910,6 +2910,7 @@ __global__ void updateNSvelocity(
            const int    bc_top,          // in
            const unsigned int ndem,      // in
            const Float  c_grad_p,        // in
       +    const unsigned int wall0_iz,  // in
            Float* __restrict__ dev_ns_v_x,      // out
            Float* __restrict__ dev_ns_v_y,      // out
            Float* __restrict__ dev_ns_v_z)      // out
       t@@ -3006,6 +3007,10 @@ __global__ void updateNSvelocity(
                    v.y = 0.0;
                }
        
       +        // Set velocities to zero above the dynamic wall
       +        if (z > wall0_iz)
       +            v = MAKE_FLOAT3(0.0, 0.0, 0.0);
       +
                // Check the advection term using the Courant-Friedrichs-Lewy condition
                __syncthreads();
                if (v.x*ndem*devC_dt/dx