tadd dirichlet BC for xy boundaries 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 a6ec8abc7f5fd45fec31f2f7a2f10d19e3143241
(DIR) parent e53e2d38e92b46fc474ba331ad568026b3ee1cd2
(HTM) Author: Anders Damsgaard Christensen <adc@geo.au.dk>
Date: Thu, 11 Aug 2016 11:36:30 -0700
add dirichlet BC for xy boundaries in Darcy solver
Diffstat:
M src/darcy.cuh | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
---
(DIR) diff --git a/src/darcy.cuh b/src/darcy.cuh
t@@ -1652,11 +1652,13 @@ __global__ void firstDarcySolution(
- ndem*devC_dt/(beta_f*phi*(1.0 - phi))
*(dphi/(ndem*devC_dt) + dot(vp_avg, grad_phi));
- // Dirichlet BC at dynamic top wall. wall0_iz will be larger than the
- // grid if the wall isn't dynamic
+ // Dirichlet BC at fixed-pressure boundaries and at the dynamic top
+ // wall. wall0_iz will be larger than the grid if the wall isn't
+ // dynamic
if ((bc_bot == 0 && z == 0) || (bc_top == 0 && z == nz-1)
- //|| (z >= wall0_iz-1 && bc_top == 0))
- || (z >= wall0_iz && bc_top == 0))
+ || (z >= wall0_iz && bc_top == 0)
+ || (bc_xn == 0 && x == 0) || (bc_xp == 0 && x = nx-1)
+ || (bc_yn == 0 && y == 0) || (bc_yp == 0 && y = nx-1))
dp_expl = 0.0;
#ifdef REPORT_FORCING_TERMS
t@@ -1822,11 +1824,13 @@ __global__ void updateDarcySolution(
- ndem*devC_dt/(beta_f*phi*(1.0 - phi))
*(dphi/(ndem*devC_dt) + dot(vp_avg, grad_phi));
- // Dirichlet BC at dynamic top wall. wall0_iz will be larger than the
- // grid if the wall isn't dynamic
+ // Dirichlet BC at fixed-pressure boundaries and at the dynamic top
+ // wall. wall0_iz will be larger than the grid if the wall isn't
+ // dynamic
if ((bc_bot == 0 && z == 0) || (bc_top == 0 && z == nz-1)
- //|| (z >= wall0_iz-1 && bc_top == 0))
- || (z >= wall0_iz && bc_top == 0))
+ || (z >= wall0_iz && bc_top == 0)
+ || (bc_xn == 0 && x == 0) || (bc_xp == 0 && x = nx-1)
+ || (bc_yn == 0 && y == 0) || (bc_yp == 0 && y = nx-1))
dp_impl = 0.0;
//p_new = p;