diff --git a/apps/gpu/ChannelFlow/ChannelFlow.cpp b/apps/gpu/ChannelFlow/ChannelFlow.cpp index bac6f4b5a7d4b52ed5a36c67a6f62ff921b882b5..ef40b5a4b3c6dfeba7174901294e061ca0194373 100644 --- a/apps/gpu/ChannelFlow/ChannelFlow.cpp +++ b/apps/gpu/ChannelFlow/ChannelFlow.cpp @@ -43,11 +43,10 @@ ////////////////////////////////////////////////////////////////////////// -#include "DataTypes.h" - -#include "PointerDefinitions.h" -#include "config/ConfigurationFile.h" -#include <logger/Logger.h> +#include <basics/DataTypes.h> +#include <basics/PointerDefinitions.h> +#include <basics/StringUtilities/StringUtil.h> +#include <basics/config/ConfigurationFile.h> ////////////////////////////////////////////////////////////////////////// @@ -95,7 +94,8 @@ int main(int argc, char *argv[]) vf::parallel::Communicator &communicator = *vf::parallel::MPICommunicator::getInstance(); const int numberOfProcesses = communicator.getNumberOfProcesses(); - SPtr<Parameter> para = std::make_shared<Parameter>(numberOfProcesses, communicator.getProcessID()); + const auto processId = communicator.getProcessID(); + SPtr<Parameter> para = std::make_shared<Parameter>(numberOfProcesses, processId); std::vector<uint> devices(10); std::iota(devices.begin(), devices.end(), 0); para->setDevices(devices); @@ -105,9 +105,8 @@ int main(int argc, char *argv[]) ////////////////////////////////////////////////////////////////////////// // setup logger ////////////////////////////////////////////////////////////////////////// - const auto pid = communicator.getProcessID(); vf::logging::Logger::changeLogPath("output/vflog_process" + - std::to_string(pid) + ".txt"); + std::to_string(processId) + ".txt"); vf::logging::Logger::initializeLogger(); ////////////////////////////////////////////////////////////////////////// @@ -149,7 +148,6 @@ int main(int argc, char *argv[]) para->setOutputPrefix("ChannelFlow"); para->setMainKernel(vf::CollisionKernel::Compressible::CumulantK17); - const uint generatePart = pid; real overlap = (real)8.0 * dx; if (numberOfProcesses > 1) { @@ -158,15 +156,15 @@ int main(int argc, char *argv[]) // add coarse grids ////////////////////////////////////////////////////////////////////////// - real subdomainMinX = channelWidth * generatePart; + real subdomainMinX = channelWidth * processId; real subdomainMinXoverlap = subdomainMinX; real subdomainMaxX = subdomainMinX + channelWidth; real subdomainMaxXoverlap = subdomainMaxX; - if (generatePart != 0) + if (processId != 0) subdomainMinXoverlap -= overlap; - if (generatePart != numberOfProcesses - 1) + if (processId != numberOfProcesses - 1) subdomainMaxXoverlap += overlap; auto gridBuilder = std::make_shared<MultipleGridBuilder>(); @@ -191,14 +189,14 @@ int main(int argc, char *argv[]) // configure communication neighbors ////////////////////////////////////////////////////////////////////////// - if (generatePart != 0) { + if (processId != 0) { gridBuilder->findCommunicationIndices(CommunicationDirections::MX, LBM); - gridBuilder->setCommunicationProcess(CommunicationDirections::MX, generatePart - 1); + gridBuilder->setCommunicationProcess(CommunicationDirections::MX, processId - 1); } - if (generatePart != numberOfProcesses - 1) { + if (processId != numberOfProcesses - 1) { gridBuilder->findCommunicationIndices(CommunicationDirections::PX, LBM); - gridBuilder->setCommunicationProcess(CommunicationDirections::PX, generatePart + 1); + gridBuilder->setCommunicationProcess(CommunicationDirections::PX, processId + 1); } ////////////////////////////////////////////////////////////////////////// @@ -207,10 +205,10 @@ int main(int argc, char *argv[]) gridBuilder->setPeriodicBoundaryCondition(false, false, false); - if (generatePart == 0) { + if (processId == 0) { gridBuilder->setVelocityBoundaryCondition(SideType::MX, velocityLB, 0.0, 0.0); } - if (generatePart == numberOfProcesses - 1) { + if (processId == numberOfProcesses - 1) { gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0); // set pressure boundary condition last bcFactory.setPressureBoundaryCondition(BoundaryConditionFactory::PressureBC::OutflowNonReflective);