tset missing ghost nodes for F_pf and div_phi_vi_v - sphere - GPU-based 3D disc… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 2e8ed2ac27a09fd1d8cd08617169d289e1808081 | |
parent 03a1e5cfa91cabac2788716303dc592da5d261f1 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Mon, 9 Jun 2014 12:57:58 +0200 | |
set missing ghost nodes for F_pf and div_phi_vi_v | |
Diffstat: | |
M src/debug.h | 4 ++-- | |
M src/device.cu | 12 ++++++++++++ | |
M src/navierstokes.cuh | 6 +++--- | |
3 files changed, 17 insertions(+), 5 deletions(-) | |
--- | |
diff --git a/src/debug.h b/src/debug.h | |
t@@ -40,10 +40,10 @@ const int conv_log_interval = 4; | |
#define CHECK_NS_FINITE | |
// Enable reporting of velocity prediction components to stdout | |
-//#define REPORT_V_P_COMPONENTS | |
+#define REPORT_V_P_COMPONENTS | |
// Enable reporting of forcing function terms to stdout | |
-//#define REPORT_FORCING_TERMS | |
+#define REPORT_FORCING_TERMS | |
// Choose solver model (see Zhou et al. 2010 "Discrete particle simulation of | |
// particle-fluid flow: model formulations and their applicability", table. 1. | |
diff --git a/src/device.cu b/src/device.cu | |
t@@ -970,6 +970,11 @@ __host__ void DEM::startTime() | |
cudaThreadSynchronize(); | |
checkForCudaErrorsIter("Post applyInteractionForceToFluid", | |
iter); | |
+ | |
+ setNSghostNodes<Float3><<<dimGridFluid, dimBlockFluid>>>( | |
+ dev_ns_F_pf, ns.bc_bot, ns.bc_top); | |
+ cudaThreadSynchronize(); | |
+ checkForCudaErrorsIter("Post setNSghostNodes(F_pf)", iter); | |
} | |
#endif | |
t@@ -1075,6 +1080,13 @@ __host__ void DEM::startTime() | |
&t_findNSdivphiviv); | |
checkForCudaErrorsIter("Post findNSdivphiviv", iter); | |
+ // Set cell-center ghost nodes | |
+ setNSghostNodes<Float3><<<dimGridFluid, dimBlockFluid>>>( | |
+ dev_ns_div_phi_vi_v, ns.bc_bot, ns.bc_top); | |
+ cudaThreadSynchronize(); | |
+ checkForCudaErrorsIter("Post setNSghostNodes(div_phi_vi_v)", | |
+ iter); | |
+ | |
// Predict the fluid velocities on the base of the old pressure | |
// field and ignoring the incompressibility constraint | |
if (PROFILING == 1) | |
diff --git a/src/navierstokes.cuh b/src/navierstokes.cuh | |
t@@ -2139,8 +2139,8 @@ __global__ void findPredNSvelocities( | |
const unsigned int cellidx = idx(x,y,z); | |
// Check that we are not outside the fluid grid | |
- if (x <= nx && y <= ny && z <= nz) { | |
- //if (x < nx && y < ny && z < nz) { | |
+ //if (x <= nx && y <= ny && z <= nz) { | |
+ if (x < nx && y < ny && z < nz) { | |
// Values that are needed for calculating the predicted velocity | |
__syncthreads(); | |
t@@ -3005,7 +3005,7 @@ __global__ void findInteractionForce( | |
#ifdef CHECK_NS_FINITE | |
//* | |
- printf("\n%d [%d,%d,%d]\n" | |
+ printf("\nfindInteractionForce %d [%d,%d,%d]\n" | |
"\tV_p = %f Re=%f Cd=%f chi=%f\n" | |
"\tf_d = %+e %+e %+e\n" | |
"\tf_p = %+e %+e %+e\n" |