15 #if !defined(KRATOS_PMMG_PROCESS)
16 #define KRATOS_PMMG_PROCESS
19 #include <unordered_set>
20 #include <unordered_map>
90 template<PMMGLibrary TPMMGLibrary>
174 void Execute()
override;
184 void ExecuteBeforeSolutionLoop()
override;
189 void ExecuteInitializeSolutionStep()
override;
199 void ExecuteBeforeOutputStep()
override;
204 void ExecuteAfterOutputStep()
override;
209 void ExecuteFinalize()
override;
214 void OutputMdpa()
override;
219 const Parameters GetDefaultParameters()
const override;
236 std::string
Info()
const override
238 return "ParMmgProcess";
244 rOStream <<
"ParMmgProcess";
268 void InitializeMeshData()
override;
273 void InitializeSolDataMetric()
override;
278 void ExecuteRemeshing()
override;
283 void InitializeElementsAndConditions()
override;
289 void SaveSolutionToFile(
const bool PostOutput)
override;
294 void FreeMemory()
override;
299 void ClearConditionsDuplicatedGeometries()
override;
305 void CreateDebugPrePostRemeshOutput(
ModelPart& rOldModelPart)
override;
307 template<
typename TPo
interType>
308 void SyncMapAcrossRanks(std::unordered_map<IndexType, TPointerType>& rInputMap);
382 template<PMMGLibrary TPMMGLibrary>
387 template<PMMGLibrary TPMMGLibrary>
392 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteFinalizeSolutionStep() override
this function will be executed at every time step AFTER performing the solve phase
Definition: periodic_interface_process.hpp:55
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
Geometry base class.
Definition: geometry.h:71
This class is a remesher which uses the MMG library.
Definition: mmg_process.h:95
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
This class is a remesher which uses the PMMG library.
Definition: pmmg_process.h:93
KRATOS_CLASS_POINTER_DEFINITION(ParMmgProcess)
Pointer definition of ParMmgProcess.
std::conditional< Dimension==2, array_1d< double, 3 >, array_1d< double, 6 > >::type TensorArrayType
The type of array considered for the tensor.
Definition: pmmg_process.h:113
~ParMmgProcess() override=default
Destructor.
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: pmmg_process.h:242
std::unordered_map< IndexType, IndexType > ColorsMapType
Colors map.
Definition: pmmg_process.h:116
Geometry< NodeType > GeometryType
Definition: pmmg_process.h:107
Node NodeType
Node definition.
Definition: pmmg_process.h:105
std::pair< IndexType, IndexType > IndexPairType
Index pair.
Definition: pmmg_process.h:119
std::string Info() const override
Turn back information as a string.
Definition: pmmg_process.h:236
MmgProcess< MMGLibrary::MMG3D > BaseType
Definition: pmmg_process.h:102
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: pmmg_process.h:248
Provides the Kratos interface to the PMMG library API.
Definition: pmmg_utilities.h:99
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::vector< IndexType > IndexVectorType
Index vector.
Definition: mmg_io.h:63
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
type
Definition: generate_gid_list_file.py:35