URI:
       tadd Neumann BC at top wall - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
  HTML git clone git://src.adamsgaard.dk/sphere
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
   DIR commit efe206ad92dbf1f4a43ee99a74922be879dcd659
   DIR parent fc33acfc43b82a356148d379098f0e1e5756878d
  HTML Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Thu, 13 Nov 2014 09:03:10 +0100
       
       add Neumann BC at top wall
       
       Diffstat:
         M src/darcy.cuh                       |       6 +++---
       
       1 file changed, 3 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/src/darcy.cuh b/src/darcy.cuh
       t@@ -847,7 +847,7 @@ __global__ void firstDarcySolution(
                // Neumann BCs
                if (z == 0 && bc_bot == 1)
                    p_zn = p;
       -        if (z == nz-1 && bc_top == 1)
       +        if ((z == nz-1 && bc_top == 1) || z >= wall0_iz)
                    p_zp = p;
        
                // upwind coefficients for grad(p) determined from values of k
       t@@ -1000,7 +1000,7 @@ __global__ void updateDarcySolution(
                // Neumann BCs
                if (z == 0 && bc_bot == 1)
                    p_zn = p;
       -        if (z == nz-1 && bc_top == 1)
       +        if ((z == nz-1 && bc_top == 1) || z >= wall0_iz)
                    p_zp = p;
        
                // upwind coefficients for grad(p) determined from values of k
       t@@ -1050,7 +1050,7 @@ __global__ void updateDarcySolution(
                Float p_new = p_old + (1.0 - epsilon)*dp_expl + epsilon*dp_impl;
        
                // add underrelaxation
       -        const Float theta = 0.1;
       +        const Float theta = 0.05;
                p_new = p*(1.0 - theta) + p_new*theta;
        
                // normalized residual, avoid division by zero