tadded ghost nodes to vidx - 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 9110244001e9a56f0e98907b59b5c870a8ae8951
(DIR) parent a9f8a2dd9e09d2d28668068702d302ed7f6fbe46
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Tue, 3 Jun 2014 16:52:27 +0200
added ghost nodes to vidx
Diffstat:
M CMakeLists.txt | 10 +++++-----
M src/navierstokes.cuh | 10 ++++++++--
M tests/io_tests_fluid.py | 4 ++--
3 files changed, 15 insertions(+), 9 deletions(-)
---
(DIR) diff --git a/CMakeLists.txt b/CMakeLists.txt
t@@ -29,13 +29,13 @@ find_package(OpenMP)
enable_testing()
# Set build type = Debug
-#set(CMAKE_BUILD_TYPE Debug)
-#if (CUDA_FOUND)
-# set(CUDA_NVCC_FLAGS -g;-G)
-#endif()
+set(CMAKE_BUILD_TYPE Debug)
+if (CUDA_FOUND)
+ set(CUDA_NVCC_FLAGS -g;-G)
+endif()
# Set build type = Release
-set(CMAKE_BUILD_TYPE Release)
+#set(CMAKE_BUILD_TYPE Release)
# Add source directory to project.
add_subdirectory(src)
(DIR) diff --git a/src/navierstokes.cuh b/src/navierstokes.cuh
t@@ -222,8 +222,14 @@ __inline__ __device__ unsigned int idx(
__inline__ __device__ unsigned int vidx(
const int x, const int y, const int z)
{
- return x + (devC_grid.num[0]+1)*y
- + (devC_grid.num[0]+1)*(devC_grid.num[1]+1)*z;
+ // without ghost nodes
+ //return x + (devC_grid.num[0]+1)*y
+ //+ (devC_grid.num[0]+1)*(devC_grid.num[1]+1)*z;
+
+ // with ghost nodes
+ // the ghost nodes are placed at x,y,z = -1 and WIDTH+1
+ return (x+1) + (devC_grid.num[0]+3)*(y+1)
+ + (devC_grid.num[0]+3)*(devC_grid.num[1]+3)*(z+1);
}
// Find averaged cell velocities from cell-face velocities. This function works
(DIR) diff --git a/tests/io_tests_fluid.py b/tests/io_tests_fluid.py
t@@ -22,8 +22,8 @@ py.readbin("../input/" + orig.sid + ".bin", verbose=False)
compare(orig, py, "Python IO:")
# Test C++ IO routines
-orig.run(verbose=True, hideinputfile=True)
-#orig.run(verbose=True, hideinputfile=False)
+#orig.run(verbose=True, hideinputfile=True)
+orig.run(verbose=True, hideinputfile=False, cudamemcheck=True)
cpp = sphere.sim(fluid=True)
cpp.readbin("../output/" + orig.sid + ".output00000.bin", verbose=False)
compare(orig, cpp, "C++ IO: ")