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.
mpi_manager.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main author: Jordi Cotela
11 //
12 
13 #ifndef KRATOS_MPI_MANAGER_H_INCLUDED
14 #define KRATOS_MPI_MANAGER_H_INCLUDED
15 
17 
18 namespace Kratos
19 {
22 
25 
27 
34 class KRATOS_API(KRATOS_MPI_CORE) MPIManager: public EnvironmentManager
35 {
36 public:
39 
40  typedef std::unique_ptr<MPIManager> Pointer;
41 
45 
46  MPIManager(MPIManager& rOther) = delete;
47 
49  ~MPIManager() override;
50 
54 
56 
57  bool IsInitialized() const override;
58 
60 
61  bool IsFinalized() const override;
62 
64 private:
67 
68  friend class MPIDataCommunicator;
69 
73 
74  MPIManager();
75 
79 
81 
82  static MPIManager::Pointer Create();
83 
85 };
86 
88 
90 }
91 
92 #endif
Definition: parallel_environment.h:36
Wrapper for common MPI calls within Kratos.
Definition: mpi_data_communicator.h:182
Helper class to manage the MPI lifecycle.
Definition: mpi_manager.h:35
std::unique_ptr< MPIManager > Pointer
Definition: mpi_manager.h:40
MPIManager(MPIManager &rOther)=delete
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21