diff --git a/Python/poiseuille/simulation.py b/Python/poiseuille/simulation.py index f3c48f0ae8aa235f7542db19dd2b1598e155e251..2c72c493f2fee5186511a363ef503bdc25e38867 100644 --- a/Python/poiseuille/simulation.py +++ b/Python/poiseuille/simulation.py @@ -17,8 +17,8 @@ physical_params.lattice_viscosity = 0.005 runtime_params = RuntimeParameters() runtime_params.number_of_threads = 4 -runtime_params.number_of_timesteps = 10000 -runtime_params.timestep_log_interval = 1000 +runtime_params.number_of_timesteps = 1000 +runtime_params.timestep_log_interval = 100 def run_simulation(physical_params=physical_params, grid_params=grid_params, runtime_params=runtime_params): diff --git a/src/cpu/simulationconfig/CMakeLists.txt b/src/cpu/simulationconfig/CMakeLists.txt index 4c231302312752cbef3d18fc92bea92be5d25d94..0d6be59ca140e2ba2a1d15b7b62a1e32736bf22b 100644 --- a/src/cpu/simulationconfig/CMakeLists.txt +++ b/src/cpu/simulationconfig/CMakeLists.txt @@ -11,7 +11,7 @@ file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) add_library(simulationconfig STATIC ${SRC} ${HEADERS}) -set_target_properties(simulationconfig PROPERTIES CXX_STANDARD 11 POSITION_INDEPENDENT_CODE ON) +set_target_properties(simulationconfig PROPERTIES CXX_STANDARD 14 POSITION_INDEPENDENT_CODE ON) target_include_directories(simulationconfig PUBLIC ${VFBUILDER_INCLUDE_DIR}) target_link_libraries(simulationconfig PRIVATE VirtualFluidsCore basics muparser) diff --git a/src/cpu/simulationconfig/src/Simulation.cpp b/src/cpu/simulationconfig/src/Simulation.cpp index a3574fedc9b3d3a8fdb7e3bf0d2b6b1a51709e13..ceeb816630aa48e482d78c420558c063021f1d0d 100644 --- a/src/cpu/simulationconfig/src/Simulation.cpp +++ b/src/cpu/simulationconfig/src/Simulation.cpp @@ -4,6 +4,7 @@ #include <utility> #include <cmath> #include <omp.h> +#include <mpi.h> #include <basics/utilities/UbScheduler.h> #include <geometry3d/GbCuboid3D.h> @@ -92,7 +93,7 @@ WriterConfiguration &Simulation::getWriterConfig() void Simulation::run() { - UBLOG(logINFO, "Beginning simulation setup") + UBLOG(logINFO, "Beginning simulation setup for " << communicator->getProcessID()) grid->setDeltaX(gridParameters->nodeDistance); grid->setPeriodicX1(gridParameters->periodicBoundaryInX1); grid->setPeriodicX2(gridParameters->periodicBoundaryInX2); @@ -258,18 +259,15 @@ std::shared_ptr<GbObject3D> Simulation::makeSimulationBoundingBox(const int &nodesInX1, const int &nodesInX2, const int &nodesInX3) const { - - double halfDx = -gridParameters->nodeDistance / 2.0; - double minX1 = halfDx, minX2 = halfDx, minX3 = halfDx; - const double maxX1 = minX1 + gridParameters->nodeDistance * (nodesInX1 - 1) + halfDx; - const double maxX2 = minX2 + gridParameters->nodeDistance * (nodesInX2 - 1) + halfDx; - const double maxX3 = minX3 + gridParameters->nodeDistance * (nodesInX3 - 1) + halfDx; + double minX1 = 0, minX2 = 0, minX3 = 0; + const double maxX1 = minX1 + gridParameters->nodeDistance * nodesInX1; + const double maxX2 = minX2 + gridParameters->nodeDistance * nodesInX2; + const double maxX3 = minX3 + gridParameters->nodeDistance * nodesInX3; UBLOG(logINFO, "Bounding box dimensions = [(" << minX1 << ", " << minX2 << ", " << minX3 << "); (" << maxX1 << ", " << maxX2 << ", " << maxX3 << ")]") - - std::shared_ptr<GbObject3D> gridCube(new GbCuboid3D(minX1, minX2, minX3, maxX1, maxX2, maxX3)); + auto gridCube = std::make_shared<GbCuboid3D>(minX1, minX2, minX3, maxX1, maxX2, maxX3); GbSystem3D::writeGeoObject(gridCube.get(), writerConfig.outputPath + "/geo/gridCube", writerConfig.getWriter()); return gridCube; }