PlasCom2  1.0
XPACC Multi-physics simluation application
pcpp::comm Namespace Reference

Classes

struct  paralleltopologyinfo
 

Functions

void ReduceTimers (double *processTimes, unsigned int nTimes, std::vector< std::vector< double > > &parallelTimes, pcpp::CommunicatorType &inCommunicator)
 
void ReduceCounters (long long *processTimes, unsigned int nTimes, std::vector< std::vector< long long > > &parallelTimes, pcpp::CommunicatorType &inCommunicator)
 
int SetupCartesianTopology (pcpp::CommunicatorType &parallelCommunicator, pcpp::ParallelTopologyInfoType &topologyInfo, pcpp::CommunicatorType &topoCommunicator, std::ostream &messageStream)
 Sets up a communicator with Cartesian topology. More...
 
bool CheckResult (bool &localResult, pcpp::CommunicatorType &testComm)
 

Function Documentation

◆ CheckResult()

bool CheckResult ( bool &  localResult,
pcpp::CommunicatorType testComm 
)

Definition at line 176 of file PCPPCommUtil.C.

References CommunicatorObject::Check(), and CommunicatorObject::SetExit().

Referenced by TestDirichletBC(), TestEulerRHS(), TestEulerRHS2(), TestGrid_CartesianMetric(), TestGrid_CurvilinearMetric(), TestGrid_CurvilinearVGWavy(), TestGrid_PBS_IntegratedHalo(), TestGrid_RectilinearMetric(), TestHaloPeriodic(), TestHDF5GridIO(), TestHDF5LegacyFileInfo(), TestHDF5PBSGridIO(), TestIntegrated_PFCurvilinear2DX(), TestIntegrated_PFCurvilinear2DY(), TestIntegrated_PFCurvilinear3DZ(), TestIntegrated_PFRectilinear2DX(), TestIntegrated_PFRectilinear2DY(), TestIntegrated_PFRectilinear3DZ(), TestIntegrated_Poiseuille2DX(), TestIntegrated_Poiseuille2DY(), TestIntegrated_Poiseuille3DZ(), TestIntegrated_Scalar_Advection3DZ(), TestIntegrated_ViscousShock2DX(), TestIntegrated_ViscousShock2DY(), TestIntegrated_ViscousShock3DZ(), TestIntegrated_VSCurvilinear2DX(), TestIntegrated_VSCurvilinear2DY(), TestIntegrated_VSCurvilinear3DZ(), TestIntegrated_VSRectilinear2DX(), TestIntegrated_VSRectilinear2DY(), TestIntegrated_VSRectilinear3DZ(), TestMaxwellRHSTimeIntegrate(), TestPlasCom2_PFCurvilinear2DX_Regression(), TestPlasCom2_PFCurvilinear2DY_Regression(), TestPlasCom2_PFCurvilinear3DZ_Regression(), TestPlasCom2_PFRectilinear2DX_Regression(), TestPlasCom2_PFRectilinear2DY_Regression(), TestPlasCom2_PFRectilinear3DZ_Regression(), TestPlasCom2_Poiseuille2DX_Regression(), TestPlasCom2_Poiseuille2DY_Regression(), TestPlasCom2_Poiseuille3DZ_Regression(), TestPlasCom2_Scalar_Advection2DX(), TestPlasCom2_Scalar_Advection2DY(), TestPlasCom2_Scalar_AdvectionDiffusion2DX(), TestPlasCom2_Scalar_AdvectionDiffusion2DY(), TestPlasCom2_ViscousShock2DX_Regression(), TestPlasCom2_ViscousShock2DY_Regression(), TestPlasCom2_ViscousShock3DZ_Regression(), TestPlasCom2_VSCurvilinear2DX_Regression(), TestPlasCom2_VSCurvilinear2DY_Regression(), TestPlasCom2_VSCurvilinear3DZ_Regression(), TestPlasCom2_VSRectilinear2DX_Regression(), TestPlasCom2_VSRectilinear2DY_Regression(), TestPlasCom2_VSRectilinear3DZ_Regression(), TestPlasCom2Input(), TestPlasCom2Output(), TestVelocityGradient(), TestVelocityGradientPeriodic(), and TestViscidRHS().

Here is the call graph for this function:

◆ ReduceCounters()

void pcpp::comm::ReduceCounters ( long long *  processTimes,
unsigned int  nTimes,
std::vector< std::vector< long long > > &  parallelTimes,
pcpp::CommunicatorType inCommunicator 
)

◆ ReduceTimers()

void ReduceTimers ( double *  processTimes,
unsigned int  nTimes,
std::vector< std::vector< double > > &  parallelTimes,
pcpp::CommunicatorType inCommunicator 
)

Definition at line 9 of file PCPPCommUtil.C.

References CommunicatorObject::GetCommunicator().

Referenced by application::RunMaxwellSolver(), and application::RunPlasCom2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetupCartesianTopology()

int SetupCartesianTopology ( pcpp::CommunicatorType parallelCommunicator,
pcpp::ParallelTopologyInfoType topologyInfo,
pcpp::CommunicatorType topoCommunicator,
std::ostream &  messageStream 
)

Sets up a communicator with Cartesian topology.

This function takes an input communicator, and produces a communicator with Cartesian topology. A pcpp::ParallelTopologyInfoType object specifies the specific mapping, configuration, or dimension restrictions to use in the creation of the topology.

Parameters
parallelCommunicatorref to input pcpp::CommunicatorType to partition
topologyInforef to pcpp::ParallelTopologyInfoType that specifies mapping, configuration, or dimension restrictions
topoCommunicatorref to the returned communicator with Cartesian topo
messageStreamref to std::ostream for any status messages
Returns
0 on success, 1 otherwise

Definition at line 48 of file PCPPCommUtil.C.

References CommunicatorObject::CartCoordinates(), paralleltopologyinfo::cartDecompDirections, paralleltopologyinfo::cartDecomposition, CommunicatorObject::CartNeighbors(), paralleltopologyinfo::dimDir, CommunicatorObject::InitializeCartesianTopology(), paralleltopologyinfo::isPeriodic, paralleltopologyinfo::neighborRanks, paralleltopologyinfo::numDimensions, pcpp::util::PrimeFactors(), paralleltopologyinfo::rank, CommunicatorObject::Rank(), ix::util::RenewStream(), CommunicatorObject::Size(), and paralleltopologyinfo::topoCoords.

Referenced by application::ConfigureSimulation(), testfixtures::CreateSimulationFixtures(), euler::util::CreateSimulationFixtures(), euler::util::InitializeSimulationFixtures(), parallel_blockstructured::ParallelSetup(), TestGrid_PBS_IntegratedHalo(), TestHaloParallel(), TestHaloPeriodic(), TestHDF5HyperSlab(), and TestHDF5Read2DBlockStructuredGrid().

Here is the call graph for this function:
Here is the caller graph for this function: