KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Helper class to manage the MPI lifecycle. More...
#include <mpi_manager.h>
Public Types | |
Type Definitions | |
typedef std::unique_ptr< MPIManager > | Pointer |
Public Types inherited from Kratos::EnvironmentManager | |
typedef std::unique_ptr< EnvironmentManager > | Pointer |
Public Member Functions | |
Life Cycle | |
MPIManager (MPIManager &rOther)=delete | |
~MPIManager () override | |
Destruct the manager, finalizing MPI in the process. More... | |
Inquiry | |
bool | IsInitialized () const override |
Query MPI initialization status. More... | |
bool | IsFinalized () const override |
Query MPI finalization status. More... | |
Public Member Functions inherited from Kratos::EnvironmentManager | |
EnvironmentManager (EnvironmentManager &rOther)=delete | |
virtual | ~EnvironmentManager ()=default |
Friends | |
Friends | |
class | MPIDataCommunicator |
Additional Inherited Members | |
Protected Member Functions inherited from Kratos::EnvironmentManager | |
EnvironmentManager ()=default | |
Helper class to manage the MPI lifecycle.
This class initializes MPI on construction and finalizes it on destruction (with appropriate checks for multiple initialization or finalization). This object is instantiated the first time it is needed (as of now, on the first MPIDataCommunicator construction) and held by ParallelEnvironment until the end of the program run.
typedef std::unique_ptr<MPIManager> Kratos::MPIManager::Pointer |
|
delete |
|
override |
Destruct the manager, finalizing MPI in the process.
|
overridevirtual |
Query MPI finalization status.
returns false if MPI_Finalized would return 0, true otherwise.
Implements Kratos::EnvironmentManager.
|
overridevirtual |
Query MPI initialization status.
returns false if MPI_Initialized would return 0, true otherwise.
Implements Kratos::EnvironmentManager.
|
friend |