From 5e0f42c887301be99283fc2bbe67ff56864c4325 Mon Sep 17 00:00:00 2001 From: Sebastian Eibl <sebastian.eibl@fau.de> Date: Fri, 6 Sep 2019 13:22:43 +0200 Subject: [PATCH] added shift to make collision points unique --- apps/benchmarks/GranularGas/MESA_PD_GranularGas.cpp | 2 +- apps/benchmarks/GranularGas/MESA_PD_KernelBenchmark.cpp | 2 +- apps/benchmarks/GranularGas/MESA_PD_KernelLoadBalancing.cpp | 2 +- apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp | 2 +- apps/benchmarks/GranularGas/PE_GranularGas.cpp | 2 +- apps/benchmarks/GranularGas/PE_LoadBalancing.cpp | 2 +- apps/benchmarks/GranularGas/Parameters.cpp | 4 ++++ apps/benchmarks/GranularGas/Parameters.h | 1 + apps/benchmarks/GranularGas/generateConfig.py | 1 + 9 files changed, 12 insertions(+), 6 deletions(-) diff --git a/apps/benchmarks/GranularGas/MESA_PD_GranularGas.cpp b/apps/benchmarks/GranularGas/MESA_PD_GranularGas.cpp index 01c253995..01dab71ea 100644 --- a/apps/benchmarks/GranularGas/MESA_PD_GranularGas.cpp +++ b/apps/benchmarks/GranularGas/MESA_PD_GranularGas.cpp @@ -125,7 +125,7 @@ int main( int argc, char ** argv ) for (auto& iBlk : *forest) { for (auto pt : grid_generator::SCGrid(iBlk.getAABB(), - Vector3<real_t>(params.spacing) * real_c(0.5), + Vector3<real_t>(params.spacing) * real_c(0.5) + params.shift, params.spacing)) { WALBERLA_CHECK(iBlk.getAABB().contains(pt)); diff --git a/apps/benchmarks/GranularGas/MESA_PD_KernelBenchmark.cpp b/apps/benchmarks/GranularGas/MESA_PD_KernelBenchmark.cpp index a6cbb6747..669da955b 100644 --- a/apps/benchmarks/GranularGas/MESA_PD_KernelBenchmark.cpp +++ b/apps/benchmarks/GranularGas/MESA_PD_KernelBenchmark.cpp @@ -128,7 +128,7 @@ int main( int argc, char ** argv ) for (auto& iBlk : *forest) { for (auto pt : grid_generator::SCGrid(iBlk.getAABB(), - Vector3<real_t>(params.spacing) * real_c(0.5), + Vector3<real_t>(params.spacing) * real_c(0.5) + params.shift, params.spacing)) { WALBERLA_CHECK(iBlk.getAABB().contains(pt)); diff --git a/apps/benchmarks/GranularGas/MESA_PD_KernelLoadBalancing.cpp b/apps/benchmarks/GranularGas/MESA_PD_KernelLoadBalancing.cpp index 76d90bbe9..f4bedea10 100644 --- a/apps/benchmarks/GranularGas/MESA_PD_KernelLoadBalancing.cpp +++ b/apps/benchmarks/GranularGas/MESA_PD_KernelLoadBalancing.cpp @@ -207,7 +207,7 @@ int main( int argc, char ** argv ) for (auto& iBlk : *forest) { for (auto pt : grid_generator::SCGrid(iBlk.getAABB(), - Vector3<real_t>(params.spacing) * real_c(0.5), + Vector3<real_t>(params.spacing) * real_c(0.5) + params.shift, params.spacing)) { WALBERLA_CHECK(iBlk.getAABB().contains(pt)); diff --git a/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp b/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp index feec74e0b..7e8ea524c 100644 --- a/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp +++ b/apps/benchmarks/GranularGas/MESA_PD_LoadBalancing.cpp @@ -203,7 +203,7 @@ int main( int argc, char ** argv ) for (auto& iBlk : *forest) { for (auto pt : grid_generator::SCGrid(iBlk.getAABB(), - Vector3<real_t>(params.spacing) * real_c(0.5), + Vector3<real_t>(params.spacing) * real_c(0.5) + params.shift, params.spacing)) { WALBERLA_CHECK(iBlk.getAABB().contains(pt)); diff --git a/apps/benchmarks/GranularGas/PE_GranularGas.cpp b/apps/benchmarks/GranularGas/PE_GranularGas.cpp index ece49a745..be3fd973c 100644 --- a/apps/benchmarks/GranularGas/PE_GranularGas.cpp +++ b/apps/benchmarks/GranularGas/PE_GranularGas.cpp @@ -190,7 +190,7 @@ int main( int argc, char ** argv ) for (auto& currentBlock : *forest) { for (auto it = grid_generator::SCIterator(currentBlock.getAABB().getIntersection(generationDomain), - Vector3<real_t>(params.spacing) * real_c(0.5), + Vector3<real_t>(params.spacing) * real_c(0.5) + params.shift, params.spacing); it != grid_generator::SCIterator(); ++it) diff --git a/apps/benchmarks/GranularGas/PE_LoadBalancing.cpp b/apps/benchmarks/GranularGas/PE_LoadBalancing.cpp index 42bcac4ec..84e2e8f41 100644 --- a/apps/benchmarks/GranularGas/PE_LoadBalancing.cpp +++ b/apps/benchmarks/GranularGas/PE_LoadBalancing.cpp @@ -268,7 +268,7 @@ int main( int argc, char ** argv ) for (auto& currentBlock : *forest) { for (auto it = grid_generator::SCIterator(currentBlock.getAABB().getIntersection(generationDomain), - Vector3<real_t>(params.spacing) * real_c(0.5), + Vector3<real_t>(params.spacing) * real_c(0.5) + params.shift, params.spacing); it != grid_generator::SCIterator(); ++it) diff --git a/apps/benchmarks/GranularGas/Parameters.cpp b/apps/benchmarks/GranularGas/Parameters.cpp index 83a517db8..9b9e904ca 100644 --- a/apps/benchmarks/GranularGas/Parameters.cpp +++ b/apps/benchmarks/GranularGas/Parameters.cpp @@ -42,6 +42,9 @@ void loadFromConfig(Parameters& params, const Config::BlockHandle& cfg) params.spacing = cfg.getParameter<real_t>("spacing", real_t(1.0) ); WALBERLA_LOG_INFO_ON_ROOT("spacing: " << params.spacing); + params.shift = cfg.getParameter<Vec3>("shift", Vec3(real_t(0.1), real_t(0.1), real_t(0.1)) ); + WALBERLA_LOG_INFO_ON_ROOT("shift: " << params.shift); + params.radius = cfg.getParameter<real_t>("radius", real_t(0.5) ); WALBERLA_LOG_INFO_ON_ROOT("radius: " << params.radius); @@ -135,6 +138,7 @@ void saveToSQL(const Parameters& params, realProperties["spacing"] = double_c(params.spacing); + realProperties["radius"] = double_c(params.radius); diff --git a/apps/benchmarks/GranularGas/Parameters.h b/apps/benchmarks/GranularGas/Parameters.h index de6152baa..263b1ff5a 100644 --- a/apps/benchmarks/GranularGas/Parameters.h +++ b/apps/benchmarks/GranularGas/Parameters.h @@ -39,6 +39,7 @@ struct Parameters std::string sorting = "none"; Vec3 normal = Vec3(real_t(1.0), real_t(1.0), real_t(1.0)); real_t spacing = real_t(1.0); + Vec3 shift = Vec3(real_t(0.1), real_t(0.1), real_t(0.1)); real_t radius = real_t(0.5); bool bBarrier = false; bool storeNodeTimings = false; diff --git a/apps/benchmarks/GranularGas/generateConfig.py b/apps/benchmarks/GranularGas/generateConfig.py index 5a1bd8f75..195534574 100755 --- a/apps/benchmarks/GranularGas/generateConfig.py +++ b/apps/benchmarks/GranularGas/generateConfig.py @@ -7,6 +7,7 @@ cfg = Config() cfg.addParameter("sorting", "std::string", '"none"') cfg.addParameter("normal", "Vec3", "Vec3(real_t(1.0), real_t(1.0), real_t(1.0))") cfg.addParameter("spacing", "real_t", "real_t(1.0)") +cfg.addParameter("shift", "Vec3", "Vec3(real_t(0.1), real_t(0.1), real_t(0.1))") cfg.addParameter("radius", "real_t", "real_t(0.5)") cfg.addParameter("bBarrier", "bool", "false") cfg.addParameter("storeNodeTimings", "bool", "false") -- GitLab