tadded function to modulate fluid pressure at top 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 cb441dfa99283279679f7f740e753522de2ad0d8
(DIR) parent 9d86f9e4d22489fe4f96d4ad9c70a9237e5422b9
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Mon, 19 Jan 2015 10:10:01 +0100
added function to modulate fluid pressure at top wall
Diffstat:
M src/device.cu | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
---
(DIR) diff --git a/src/device.cu b/src/device.cu
t@@ -1824,14 +1824,25 @@ __host__ void DEM::startTime()
if (walls.nw > 0 &&
(walls.wmode[0] == 1 || walls.wmode[0] == 3)) {
wall0_iz = walls.nx->w/(grid.L[2]/grid.num[2]);
- /*setDarcyTopWallPressure
+
+ // Modulate the pressures at the upper boundary cells
+ if ((darcy.p_mod_A > 1.0e-5 || darcy.p_mod_A < -1.0e-5) &&
+ darcy.p_mod_f > 1.0e-7) {
+ // original pressure
+ Float new_pressure =
+ darcy.p[d_idx(0,0,darcy.nz-1)] //orig p
+ + darcy.p_mod_A
+ *sin(2.0*M_PI*darcy.p_mod_f*time.current
+ + darcy.p_mod_phi);
+
+ setDarcyTopWallPressure
<<<dimGridFluid, dimBlockFluid>>>(
new_pressure,
wall0_iz,
dev_darcy_p);
cudaThreadSynchronize();
checkForCudaErrorsIter("Post setDarcyTopWallPressure",
- iter);*/
+ iter);
}
if (np > 0) {