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