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.
List of all members
Kratos::MPIManager Class Reference

Helper class to manage the MPI lifecycle. More...

#include <mpi_manager.h>

Inheritance diagram for Kratos::MPIManager:
Collaboration diagram for Kratos::MPIManager:

Public Types

Type Definitions
typedef std::unique_ptr< MPIManagerPointer
 
- Public Types inherited from Kratos::EnvironmentManager
typedef std::unique_ptr< EnvironmentManagerPointer
 

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
 

Detailed Description

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.

Member Typedef Documentation

◆ Pointer

typedef std::unique_ptr<MPIManager> Kratos::MPIManager::Pointer

Constructor & Destructor Documentation

◆ MPIManager()

Kratos::MPIManager::MPIManager ( MPIManager rOther)
delete

◆ ~MPIManager()

Kratos::MPIManager::~MPIManager ( )
override

Destruct the manager, finalizing MPI in the process.

Member Function Documentation

◆ IsFinalized()

bool Kratos::MPIManager::IsFinalized ( ) const
overridevirtual

Query MPI finalization status.

returns false if MPI_Finalized would return 0, true otherwise.

Implements Kratos::EnvironmentManager.

◆ IsInitialized()

bool Kratos::MPIManager::IsInitialized ( ) const
overridevirtual

Query MPI initialization status.

returns false if MPI_Initialized would return 0, true otherwise.

Implements Kratos::EnvironmentManager.

Friends And Related Function Documentation

◆ MPIDataCommunicator

friend class MPIDataCommunicator
friend

The documentation for this class was generated from the following files: