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.
Public Member Functions | List of all members
Kratos::ParMmgUtilities< TPMMGLibrary > Class Template Reference

Provides the Kratos interface to the PMMG library API. More...

#include <pmmg_utilities.h>

Inheritance diagram for Kratos::ParMmgUtilities< TPMMGLibrary >:
Collaboration diagram for Kratos::ParMmgUtilities< TPMMGLibrary >:

Public Member Functions

IndexVectorType CheckFirstTypeConditions ()
 Returns a vector of ids of repeated conditions. More...
 
IndexVectorType CheckFirstTypeElements ()
 Returns a vector of ids of repeated elements. More...
 
void BlockNode (const IndexType iNode)
 It blocks certain nodes before remesh the model. More...
 
void BlockCondition (const IndexType iCondition)
 It blocks certain conditions before remesh the model. More...
 
void BlockElement (const IndexType iElement)
 It blocks certain elements before remesh the model. More...
 
Node::Pointer CreateNode (ModelPart &rModelPart, const IndexType iNode, int &Ref, int &IsRequired)
 It creates the new node. More...
 
Condition::Pointer CreateFirstTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 It creates the new condition (first type, depends if the library work in 2D/3D/Surfaces) More...
 
Element::Pointer CreateFirstTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 It creates the new element (first type, depends if the library work in 2D/3D/Surfaces) More...
 
void InitMesh (const DataCommunicator &rDataCommunicator)
 
void InitAPIModeParameter (const IndexType APImode)
 
void InitNodeGloNumParameter (const IndexType nodeGloNum)
 
void InitVerbosityParameter (const IndexType VerbosityPMMG)
 Here the verbosity is set using the API. More...
 
void SetMeshSize (PMMGMeshInfo< PMMGLibrary::PMMG3D > &rPMMGMeshInfo)
 
void SetSolSizeScalar (const SizeType NumNodes)
 This sets the size of the solution for the scalar case. More...
 
void SetSolSizeVector (const SizeType NumNodes)
 This sets the size of the solution for the vector case. More...
 
void SetSolSizeTensor (const SizeType NumNodes)
 This sets the size of the solution for the tensor case. More...
 
void SetDispSizeVector (const SizeType NumNodes)
 This sets the size of the displacement for lagrangian movement. More...
 
void CheckMeshData ()
 This checks the mesh data and prints if it is OK. More...
 
void InputMesh (const std::string &rOutputName)
 This sets the output mesh. More...
 
void InputSol (const std::string &rInputName)
 This sets the output sol. More...
 
void OutputMesh (const std::string &rOutputName)
 This sets the output mesh. More...
 
void OutputSol (const std::string &rOutputName)
 This sets the output sol. More...
 
void OutputDisplacement (const std::string &rOutputName)
 This sets the output displacement. More...
 
void FreeAll ()
 This frees the MMG structures. More...
 
void PMMGLibCallMetric (Parameters ConfigurationParameters)
 
void SetNodes (const double X, const double Y, const double Z, const IndexType Color, const IndexType Index)
 This sets the nodes of the mesh. More...
 
void SetConditions (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 This sets the conditions of the mesh. More...
 
void SetElements (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 This sets elements of the mesh. More...
 
void SetMetricScalar (const double Metric, const IndexType NodeId)
 This function is used to set the metric scalar. More...
 
void SetMetricVector (const array_1d< double, 3 > &rMetric, const IndexType NodeId)
 
void SetMetricTensor (const array_1d< double, 6 > &rMetric, const IndexType NodeId)
 
void SetDisplacementVector (const array_1d< double, 3 > &rDisplacement, const IndexType NodeId)
 This function is used to set the displacement vector (x, y, z) More...
 
void GetMetricScalar (double &rMetric)
 This function is used to retrieve the metric scalar. More...
 
void GetMetricVector (array_1d< double, 3 > &rMetric)
 
void GetMetricTensor (array_1d< double, 6 > &rMetric)
 
void GetDisplacementVector (array_1d< double, 3 > &rDisplacement)
 This function is used to retrieve the displacement vector (x, y, z) More...
 
void GenerateParallelInterfaces (ModelPart &rModelPart)
 
void PrintParallelInterfaces (ModelPart &rModelPart)
 
Operations
void PrintAndGetParMmgMeshInfo (PMMGMeshInfo< TPMMGLibrary > &rPMMGMeshInfo)
 It prints info about the current mesh. More...
 
IndexVectorType FindDuplicateNodeIds (const ModelPart &rModelPart) override
 Returns a vector of ids of spatially repeated nodes. More...
 
IndexVectorType CheckFirstTypeConditions () override
 Returns a vector of ids of repeated conditions. More...
 
IndexVectorType CheckFirstTypeElements () override
 Returns a vector of ids of repeated elements. More...
 
void BlockNode (const IndexType iNode) override
 It blocks certain nodes before remesh the model. More...
 
void BlockCondition (const IndexType iCondition) override
 It blocks certain conditions before remesh the model. More...
 
void BlockElement (const IndexType iElement) override
 It blocks certain elements before remesh the model. More...
 
NodeType::Pointer CreateNode (ModelPart &rModelPart, IndexType iNode, int &Ref, int &IsRequired) override
 It creates the new node. More...
 
Condition::Pointer CreateFirstTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation) override
 It creates the new condition (first type, depends if the library work in 2D/3D/Surfaces) More...
 
Element::Pointer CreateFirstTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation) override
 It creates the new element (first type, depends if the library work in 2D/3D/Surfaces) More...
 
void InitMesh (const DataCommunicator &rDataCommunicator)
 Initialisation of mesh and sol structures. More...
 
void InitVerbosity () override
 Here the verbosity is set. More...
 
void InitAPIModeParameter (const IndexType VerbosityPMMG)
 Here the API mode is set using the API. More...
 
void InitNodeGloNumParameter (const IndexType nodeGloNum)
 Ask for output node global numbering. More...
 
void InitVerbosityParameter (const IndexType VerbosityPMMG) override
 Here the verbosity is set using the API. More...
 
void SetMeshSize (PMMGMeshInfo< TPMMGLibrary > &rPMMGMeshInfo)
 This sets the size of the mesh. More...
 
void SetSolSizeScalar (const SizeType NumNodes) override
 This sets the size of the solution for the scalar case. More...
 
void SetSolSizeVector (const SizeType NumNodes) override
 This sets the size of the solution for the vector case. More...
 
void SetSolSizeTensor (const SizeType NumNodes) override
 This sets the size of the solution for the tensor case. More...
 
void SetDispSizeVector (const SizeType NumNodes) override
 This sets the size of the displacement for lagrangian movement. More...
 
void CheckMeshData () override
 This checks the mesh data and prints if it is OK. More...
 
void InputMesh (const std::string &rInputName) override
 This sets the output mesh. More...
 
void InputSol (const std::string &rInputName) override
 This sets the output sol. More...
 
void OutputMesh (const std::string &rOutputName) override
 This sets the output mesh. More...
 
void OutputSol (const std::string &rOutputName) override
 This sets the output sol. More...
 
void OutputDisplacement (const std::string &rOutputName) override
 This sets the output displacement. More...
 
void OutputReferenceEntitities (const std::string &rOutputName, const std::unordered_map< IndexType, Condition::Pointer > &rRefCondition, const std::unordered_map< IndexType, Element::Pointer > &rRefElement) override
 This method generates the maps of reference for conditions and elements from an existing json. More...
 
void FreeAll () override
 This frees the PMMG structures. More...
 
void PMMGLibCallMetric (Parameters ConfigurationParameters)
 This loads the solution. More...
 
void PMMGLibCallIsoSurface (Parameters ConfigurationParameters)
 This loads the solution. More...
 
void SetNodes (const double X, const double Y, const double Z, const IndexType Color, const IndexType Index) override
 This sets the nodes of the mesh. More...
 
void SetConditions (GeometryType &rGeometry, const IndexType Color, const IndexType Index) override
 This sets the conditions of the mesh. More...
 
void SetElements (GeometryType &rGeometry, const IndexType Color, const IndexType Index) override
 This sets elements of the mesh. More...
 
void SetMetricScalar (const double Metric, const IndexType NodeId) override
 This function is used to set the metric scalar. More...
 
void SetMetricVector (const array_1d< double, Dimension > &rMetric, const IndexType NodeId) override
 This function is used to set the metric vector (x, y, z) More...
 
void SetMetricTensor (const TensorArrayType &rMetric, const IndexType NodeId) override
 This function is used to set the Hessian metric tensor, note that when using the Hessian, more than one metric can be defined simultaneously, so in consecuence we need to define the elipsoid which defines the volume of maximal intersection. More...
 
void SetDisplacementVector (const array_1d< double, 3 > &rDisplacement, const IndexType NodeId) override
 This function is used to set the displacement vector (x, y, z) More...
 
void GetMetricScalar (double &rMetric) override
 This function is used to retrieve the metric scalar. More...
 
void GetMetricVector (array_1d< double, Dimension > &rMetric) override
 This function is used to retrieve the metric vector (x, y, z) More...
 
void GetMetricTensor (TensorArrayType &rMetric) override
 This function is used to retrieve the Hessian metric tensor, note that when using the Hessian, more than one metric can be defined simultaneously, so in consecuence we need to define the elipsoid which defines the volume of maximal intersection. More...
 
void GetDisplacementVector (array_1d< double, 3 > &rDisplacement) override
 This function is used to retrieve the displacement vector (x, y, z) More...
 
void GenerateMeshDataFromModelPart (ModelPart &rModelPart, std::unordered_map< IndexType, std::vector< std::string >> &rColors, ColorsMapType &rColorMapCondition, ColorsMapType &rColorMapElement, const FrameworkEulerLagrange Framework=FrameworkEulerLagrange::EULERIAN, const bool CollapsePrismElements=false) override
 This method generates mesh data from an existing model part. More...
 
void GenerateParallelInterfaces (ModelPart &rModelPart)
 This method generates the interface data for the parallel communicator. More...
 
void PrintParallelInterfaces (ModelPart &rModelPart)
 This method prints the interface data for the parallel communicator. More...
 
void GenerateReferenceMaps (ModelPart &rModelPart, const ColorsMapType &rColorMapCondition, const ColorsMapType &rColorMapElement, std::unordered_map< IndexType, Condition::Pointer > &rRefCondition, std::unordered_map< IndexType, Element::Pointer > &rRefElement) override
 This method generates the maps of reference for conditions and elements. More...
 
void GenerateSolDataFromModelPart (ModelPart &rModelPart) override
 This method generates solution (metric) data from an existing model part. More...
 
void GenerateDisplacementDataFromModelPart (ModelPart &rModelPart) override
 This method generates displacement data from an existing model part. More...
 
void WriteMeshDataToModelPart (ModelPart &rModelPart, const std::unordered_map< IndexType, std::vector< std::string >> &rColors, const NodeType::DofsContainerType &rDofs, const PMMGMeshInfo< TPMMGLibrary > &rPMMGMeshInfo, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement)
 This method writes mesh data to an existing model part. More...
 
void WriteReferenceEntitities (ModelPart &rModelPart, const std::string &rFilename, std::unordered_map< IndexType, Condition::Pointer > &rRefCondition, std::unordered_map< IndexType, Element::Pointer > &rRefElement) override
 This method writes the maps of reference for conditions and elements from an existing json. More...
 
void CreateAuxiliarSubModelPartForFlags (ModelPart &rModelPart) override
 This function generates a list of submodelparts to be able to reassign flags after remesh. More...
 
void AssignAndClearAuxiliarSubModelPartForFlags (ModelPart &rModelPart) override
 This function assigns the flags and clears the auxiliar sub model part for flags. More...
 
std::unordered_map< int, intGetNodalLocalToGlobalMap ()
 
Input and output
std::string Info () const
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::MmgUtilities< MMGLibrary::MMG3D >
IndexVectorType CheckFirstTypeConditions ()
 
IndexVectorType CheckFirstTypeConditions ()
 
IndexVectorType CheckFirstTypeConditions ()
 
IndexVectorType CheckSecondTypeConditions ()
 
IndexVectorType CheckSecondTypeConditions ()
 
IndexVectorType CheckSecondTypeConditions ()
 
IndexVectorType CheckFirstTypeElements ()
 
IndexVectorType CheckFirstTypeElements ()
 
IndexVectorType CheckFirstTypeElements ()
 
IndexVectorType CheckSecondTypeElements ()
 
IndexVectorType CheckSecondTypeElements ()
 
IndexVectorType CheckSecondTypeElements ()
 
void BlockNode (const IndexType iNode)
 
void BlockNode (const IndexType iNode)
 
void BlockNode (const IndexType iNode)
 
void BlockCondition (const IndexType iCondition)
 
void BlockCondition (const IndexType iCondition)
 
void BlockCondition (const IndexType iCondition)
 
void BlockElement (const IndexType iElement)
 
void BlockElement (const IndexType iElement)
 
void BlockElement (const IndexType iElement)
 
Node::Pointer CreateNode (ModelPart &rModelPart, const IndexType iNode, int &Ref, int &IsRequired)
 
Node::Pointer CreateNode (ModelPart &rModelPart, const IndexType iNode, int &Ref, int &IsRequired)
 
Node::Pointer CreateNode (ModelPart &rModelPart, const IndexType iNode, int &Ref, int &IsRequired)
 
Condition::Pointer CreateFirstTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 
Condition::Pointer CreateFirstTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 
Condition::Pointer CreateFirstTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 
Condition::Pointer CreateSecondTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 
Condition::Pointer CreateSecondTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 
Condition::Pointer CreateSecondTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 
Element::Pointer CreateFirstTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 
Element::Pointer CreateFirstTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 
Element::Pointer CreateFirstTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 
Element::Pointer CreateSecondTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 
Element::Pointer CreateSecondTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 
Element::Pointer CreateSecondTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 
void InitMesh ()
 
void InitMesh ()
 
void InitMesh ()
 
void InitVerbosityParameter (const IndexType VerbosityMMG)
 
void InitVerbosityParameter (const IndexType VerbosityMMG)
 
void InitVerbosityParameter (const IndexType VerbosityMMG)
 
void SetMeshOptimizationModeParameter (const bool EnableMeshOptimization)
 
void SetMeshOptimizationModeParameter (const bool EnableMeshOptimization)
 
void SetMeshOptimizationModeParameter (const bool EnableMeshOptimization)
 
void SetMeshSize (MMGMeshInfo< MMGLibrary::MMG2D > &rMMGMeshInfo)
 
void SetMeshSize (MMGMeshInfo< MMGLibrary::MMG3D > &rMMGMeshInfo)
 
void SetMeshSize (MMGMeshInfo< MMGLibrary::MMGS > &rMMGMeshInfo)
 
void SetSolSizeScalar (const SizeType NumNodes)
 
void SetSolSizeScalar (const SizeType NumNodes)
 
void SetSolSizeScalar (const SizeType NumNodes)
 
void SetSolSizeVector (const SizeType NumNodes)
 
void SetSolSizeVector (const SizeType NumNodes)
 
void SetSolSizeVector (const SizeType NumNodes)
 
void SetSolSizeTensor (const SizeType NumNodes)
 
void SetSolSizeTensor (const SizeType NumNodes)
 
void SetSolSizeTensor (const SizeType NumNodes)
 
void SetDispSizeVector (const SizeType NumNodes)
 
void SetDispSizeVector (const SizeType NumNodes)
 
void SetDispSizeVector (const SizeType NumNodes)
 
void CheckMeshData ()
 
void CheckMeshData ()
 
void CheckMeshData ()
 
void InputMesh (const std::string &rOutputName)
 
void InputMesh (const std::string &rOutputName)
 
void InputMesh (const std::string &rOutputName)
 
void InputSol (const std::string &rInputName)
 
void InputSol (const std::string &rInputName)
 
void InputSol (const std::string &rInputName)
 
void OutputMesh (const std::string &rOutputName)
 
void OutputMesh (const std::string &rOutputName)
 
void OutputMesh (const std::string &rOutputName)
 
void OutputSol (const std::string &rOutputName)
 
void OutputSol (const std::string &rOutputName)
 
void OutputSol (const std::string &rOutputName)
 
void OutputDisplacement (const std::string &rOutputName)
 
void OutputDisplacement (const std::string &rOutputName)
 
void OutputDisplacement (const std::string &rOutputName)
 
void FreeAll ()
 
void FreeAll ()
 
void FreeAll ()
 
void MMGLibCallMetric (Parameters ConfigurationParameters)
 
void MMGLibCallMetric (Parameters ConfigurationParameters)
 
void MMGLibCallMetric (Parameters ConfigurationParameters)
 
void MMGLibCallIsoSurface (Parameters ConfigurationParameters)
 
void MMGLibCallIsoSurface (Parameters ConfigurationParameters)
 
void MMGLibCallIsoSurface (Parameters ConfigurationParameters)
 
void SetNodes (const double X, const double Y, const double Z, const IndexType Color, const IndexType Index)
 
void SetNodes (const double X, const double Y, const double Z, const IndexType Color, const IndexType Index)
 
void SetNodes (const double X, const double Y, const double Z, const IndexType Color, const IndexType Index)
 
void SetConditions (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 
void SetConditions (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 
void SetConditions (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 
void SetElements (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 
void SetElements (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 
void SetElements (GeometryType &rGeometry, const IndexType Color, const IndexType Index)
 
void SetMetricScalar (const double Metric, const IndexType NodeId)
 
void SetMetricScalar (const double Metric, const IndexType NodeId)
 
void SetMetricScalar (const double Metric, const IndexType NodeId)
 
void SetMetricVector (const array_1d< double, 2 > &rMetric, const IndexType NodeId)
 
void SetMetricVector (const array_1d< double, 3 > &rMetric, const IndexType NodeId)
 
void SetMetricVector (const array_1d< double, 3 > &rMetric, const IndexType NodeId)
 
void SetMetricTensor (const array_1d< double, 3 > &rMetric, const IndexType NodeId)
 
void SetMetricTensor (const array_1d< double, 6 > &rMetric, const IndexType NodeId)
 
void SetMetricTensor (const array_1d< double, 6 > &rMetric, const IndexType NodeId)
 
void SetDisplacementVector (const array_1d< double, 3 > &rDisplacement, const IndexType NodeId)
 
void SetDisplacementVector (const array_1d< double, 3 > &rDisplacement, const IndexType NodeId)
 
void SetDisplacementVector (const array_1d< double, 3 > &rDisplacement, const IndexType NodeId)
 
void GetMetricScalar (double &rMetric)
 
void GetMetricScalar (double &rMetric)
 
void GetMetricScalar (double &rMetric)
 
void GetMetricVector (array_1d< double, 2 > &rMetric)
 
void GetMetricVector (array_1d< double, 3 > &rMetric)
 
void GetMetricVector (array_1d< double, 3 > &rMetric)
 
void GetMetricTensor (array_1d< double, 3 > &rMetric)
 
void GetMetricTensor (array_1d< double, 6 > &rMetric)
 
void GetMetricTensor (array_1d< double, 6 > &rMetric)
 
void GetDisplacementVector (array_1d< double, 3 > &rDisplacement)
 
void GetDisplacementVector (array_1d< double, 3 > &rDisplacement)
 
void GetDisplacementVector (array_1d< double, 3 > &rDisplacement)
 
void SetNumberOfLocalParameters (IndexType NumberOfLocalParameter)
 
void SetNumberOfLocalParameters (IndexType NumberOfLocalParameter)
 
void SetNumberOfLocalParameters (IndexType NumberOfLocalParameter)
 
void SetLocalParameter (IndexType rColor, double HMin, double HMax, double HausdorffValue)
 
void SetLocalParameter (IndexType rColor, double HMin, double HMax, double HausdorffValue)
 
void SetLocalParameter (IndexType rColor, double HMin, double HMax, double HausdorffValue)
 
std::string GetMmgVersion ()
 This method retrieves the current Mmg version. More...
 
void SetEchoLevel (const SizeType EchoLevel)
 This method sets the echo level. More...
 
SizeType GetEchoLevel ()
 This method gets the echo level. More...
 
void SetDiscretization (const DiscretizationOption Discretization)
 This method sets the discretization method. More...
 
DiscretizationOption GetDiscretization ()
 This method gets the discretization method. More...
 
void SetRemoveRegions (const bool RemoveRegions)
 This method sets if the regions must be removed. More...
 
bool GetRemoveRegions ()
 This method gets if the regions must be removed. More...
 
void PrintAndGetMmgMeshInfo (MMGMeshInfo< TMMGLibrary > &rMMGMeshInfo)
 It prints info about the current mesh. More...
 
virtual IndexVectorType CheckSecondTypeConditions ()
 Returns a vector of ids of repeated conditions. More...
 
virtual IndexVectorType CheckSecondTypeElements ()
 Returns a vector of ids of repeated elements. More...
 
Condition::Pointer CreateSecondTypeCondition (ModelPart &rModelPart, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, const IndexType CondId, int &Ref, int &IsRequired, bool SkipCreation)
 It creates the new condition (second type, depends if the library work in 2D/3D/Surfaces) More...
 
Element::Pointer CreateSecondTypeElement (ModelPart &rModelPart, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement, const IndexType ElemId, int &Ref, int &IsRequired, bool SkipCreation)
 It creates the new element (second type, depends if the library work in 2D/3D/Surfaces) More...
 
virtual void InitMesh ()
 Initialisation of mesh and sol structures. More...
 
virtual void SetMeshOptimizationModeParameter (const bool EnableMeshOptimization)
 This sets the optimization mode using the API where edge lengths are preserved, ignoring the metric values. More...
 
void SetMeshSize (MMGMeshInfo< TMMGLibrary > &rMMGMeshInfo)
 This sets the size of the mesh. More...
 
void MMGLibCallMetric (Parameters ConfigurationParameters)
 This loads the solution. More...
 
void MMGLibCallIsoSurface (Parameters ConfigurationParameters)
 This loads the solution. More...
 
void ReorderAllIds (ModelPart &rModelPart)
 This function reorder the nodes, conditions and elements to avoid problems with non-consecutive ids. More...
 
virtual void GenerateIsosurfaceMetricDataFromModelPart (ModelPart &rModelPart)
 This method generates solution (metric) data from an existing model part for the isosurface algorithm. More...
 
void WriteMeshDataToModelPart (ModelPart &rModelPart, const std::unordered_map< IndexType, std::vector< std::string >> &rColors, const NodeType::DofsContainerType &rDofs, const MMGMeshInfo< TMMGLibrary > &rMMGMeshInfo, std::unordered_map< IndexType, Condition::Pointer > &rMapPointersRefCondition, std::unordered_map< IndexType, Element::Pointer > &rMapPointersRefElement)
 This method writes mesh data to an existing model part. More...
 
void WriteSolDataToModelPart (ModelPart &rModelPart)
 This method writes sol data to an existing model part. More...
 
void SetNumberOfLocalParameters (IndexType NumberOfLocalParameter)
 Sets the number of parameters to be defined locally at each reference color. Required by the library. More...
 
void SetLocalParameter (IndexType rColor, double HMin, double HMax, double HausdorffValue)
 Sets the local hmin, hmax and hausdorff value for all entities with the given color reference. More...
 
std::string Info () const
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (MmgUtilities)
 Pointer definition of MmgUtilities. More...
 

Type Definitions

typedef MmgUtilities< MMGLibrary::MMG3DBaseType
 
typedef Node NodeType
 Node definition. More...
 
typedef Geometry< NodeTypeGeometryType
 
typedef std::conditional< Dimension==2, array_1d< double, 3 >, array_1d< double, 6 > >::type TensorArrayType
 The type of array considered for the tensor. More...
 
typedef std::vector< doubleDoubleVectorType
 Double vector. More...
 
typedef std::unordered_map< DoubleVectorType, IndexType, KeyHasherRange< DoubleVectorType >, KeyComparorRange< DoubleVectorType > > DoubleVectorMapType
 Double vector map. More...
 
typedef std::unordered_map< IndexVectorType, IndexType, KeyHasherRange< IndexVectorType >, KeyComparorRange< IndexVectorType > > IndexVectorMapType
 Index vector map. More...
 
typedef std::unordered_map< IndexType, IndexTypeColorsMapType
 Colors map. More...
 
typedef std::pair< IndexType, IndexTypeIndexPairType
 Index pair. More...
 
typedef std::pair< IndexType, std::vector< std::string > > IndexStringVectorPairType
 Index and string vector pair. More...
 
static constexpr SizeType Dimension = 3
 Spatial dimension. More...
 
static constexpr double ZeroTolerance = std::numeric_limits<double>::epsilon()
 Definition of the zero tolerance. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ParMmgUtilities)
 Pointer definition of ParMmgUtilities. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::MmgUtilities< MMGLibrary::MMG3D >
typedef Node NodeType
 Node definition. More...
 
typedef Geometry< NodeTypeGeometryType
 
typedef std::conditional< Dimension==2, array_1d< double, 3 >, array_1d< double, 6 > >::type TensorArrayType
 The type of array considered for the tensor. More...
 
typedef std::vector< double > DoubleVectorType
 Double vector. More...
 
typedef std::unordered_map< DoubleVectorType, IndexType, KeyHasherRange< DoubleVectorType >, KeyComparorRange< DoubleVectorType > > DoubleVectorMapType
 Double vector map. More...
 
typedef std::unordered_map< IndexVectorType, IndexType, KeyHasherRange< IndexVectorType >, KeyComparorRange< IndexVectorType > > IndexVectorMapType
 Index vector map. More...
 
typedef std::unordered_map< IndexType, IndexTypeColorsMapType
 Colors map. More...
 
typedef std::pair< IndexType, IndexTypeIndexPairType
 Index pair. More...
 
typedef std::pair< IndexType, std::vector< std::string > > IndexStringVectorPairType
 Index and string vector pair. More...
 
- Static Public Attributes inherited from Kratos::MmgUtilities< MMGLibrary::MMG3D >
static constexpr SizeType Dimension
 Spatial dimension. More...
 
static constexpr double ZeroTolerance
 Definition of the zero tolerance. More...
 

Detailed Description

template<PMMGLibrary TPMMGLibrary>
class Kratos::ParMmgUtilities< TPMMGLibrary >

Provides the Kratos interface to the PMMG library API.

Author
Marc Nunez
Carlos Roig
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ BaseType

template<PMMGLibrary TPMMGLibrary>
typedef MmgUtilities<MMGLibrary::MMG3D> Kratos::ParMmgUtilities< TPMMGLibrary >::BaseType

◆ ColorsMapType

template<PMMGLibrary TPMMGLibrary>
typedef std::unordered_map<IndexType,IndexType> Kratos::ParMmgUtilities< TPMMGLibrary >::ColorsMapType

Colors map.

◆ DoubleVectorMapType

template<PMMGLibrary TPMMGLibrary>
typedef std::unordered_map<DoubleVectorType, IndexType, KeyHasherRange<DoubleVectorType>, KeyComparorRange<DoubleVectorType> > Kratos::ParMmgUtilities< TPMMGLibrary >::DoubleVectorMapType

Double vector map.

◆ DoubleVectorType

template<PMMGLibrary TPMMGLibrary>
typedef std::vector<double> Kratos::ParMmgUtilities< TPMMGLibrary >::DoubleVectorType

Double vector.

◆ GeometryType

template<PMMGLibrary TPMMGLibrary>
typedef Geometry<NodeType> Kratos::ParMmgUtilities< TPMMGLibrary >::GeometryType

◆ IndexPairType

template<PMMGLibrary TPMMGLibrary>
typedef std::pair<IndexType,IndexType> Kratos::ParMmgUtilities< TPMMGLibrary >::IndexPairType

Index pair.

◆ IndexStringVectorPairType

template<PMMGLibrary TPMMGLibrary>
typedef std::pair<IndexType, std::vector<std::string> > Kratos::ParMmgUtilities< TPMMGLibrary >::IndexStringVectorPairType

Index and string vector pair.

◆ IndexVectorMapType

template<PMMGLibrary TPMMGLibrary>
typedef std::unordered_map<IndexVectorType, IndexType, KeyHasherRange<IndexVectorType>, KeyComparorRange<IndexVectorType> > Kratos::ParMmgUtilities< TPMMGLibrary >::IndexVectorMapType

Index vector map.

◆ NodeType

template<PMMGLibrary TPMMGLibrary>
typedef Node Kratos::ParMmgUtilities< TPMMGLibrary >::NodeType

Node definition.

◆ TensorArrayType

template<PMMGLibrary TPMMGLibrary>
typedef std::conditional<Dimension == 2, array_1d<double, 3>, array_1d<double, 6> >::type Kratos::ParMmgUtilities< TPMMGLibrary >::TensorArrayType

The type of array considered for the tensor.

Member Function Documentation

◆ AssignAndClearAuxiliarSubModelPartForFlags()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::AssignAndClearAuxiliarSubModelPartForFlags ( ModelPart rModelPart)
overridevirtual

This function assigns the flags and clears the auxiliar sub model part for flags.

Parameters
[in,out]rModelPartThe model part of interest to study

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ BlockCondition() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::BlockCondition ( const IndexType  iCondition)
virtual

It blocks certain conditions before remesh the model.

Parameters
[in]iConditionThe index of the condition

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ BlockCondition() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::BlockCondition ( const IndexType  iCondition)
overridevirtual

It blocks certain conditions before remesh the model.

Parameters
[in]iConditionThe index of the condition

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ BlockElement() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::BlockElement ( const IndexType  iElement)
virtual

It blocks certain elements before remesh the model.

Parameters
[in]iElementThe index of the element

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ BlockElement() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::BlockElement ( const IndexType  iElement)
overridevirtual

It blocks certain elements before remesh the model.

Parameters
[in]iElementThe index of the element

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ BlockNode() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::BlockNode ( const IndexType  iNode)
virtual

It blocks certain nodes before remesh the model.

Parameters
[in]iNodeThe index of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ BlockNode() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::BlockNode ( const IndexType  iNode)
overridevirtual

It blocks certain nodes before remesh the model.

Parameters
[in]iNodeThe index of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CheckFirstTypeConditions() [1/2]

IndexVectorType Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::CheckFirstTypeConditions ( )
virtual

Returns a vector of ids of repeated conditions.

For 2D and surface meshes it returns the ids of repeated edges found in the MMG mesh data structure. In 3D it returns ids of triangles.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CheckFirstTypeConditions() [2/2]

template<PMMGLibrary TPMMGLibrary>
IndexVectorType Kratos::ParMmgUtilities< TPMMGLibrary >::CheckFirstTypeConditions ( )
overridevirtual

Returns a vector of ids of repeated conditions.

For 2D and surface meshes it returns the ids of repeated edges found in the PMMG mesh data structure. In 3D it returns ids of triangles.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CheckFirstTypeElements() [1/2]

IndexVectorType Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::CheckFirstTypeElements ( )
virtual

Returns a vector of ids of repeated elements.

For 2D and surface meshes it returns the ids of repeated triangles found in the MMG mesh data structure. In 3D it returns ids of tetrahedra.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CheckFirstTypeElements() [2/2]

template<PMMGLibrary TPMMGLibrary>
IndexVectorType Kratos::ParMmgUtilities< TPMMGLibrary >::CheckFirstTypeElements ( )
overridevirtual

Returns a vector of ids of repeated elements.

For 2D and surface meshes it returns the ids of repeated triangles found in the PMMG mesh data structure. In 3D it returns ids of tetrahedra.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CheckMeshData() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::CheckMeshData ( )
virtual

This checks the mesh data and prints if it is OK.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CheckMeshData() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::CheckMeshData ( )
overridevirtual

This checks the mesh data and prints if it is OK.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CreateAuxiliarSubModelPartForFlags()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::CreateAuxiliarSubModelPartForFlags ( ModelPart rModelPart)
overridevirtual

This function generates a list of submodelparts to be able to reassign flags after remesh.

Parameters
[in,out]rModelPartThe model part of interest to study

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CreateFirstTypeCondition() [1/2]

Condition::Pointer Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::CreateFirstTypeCondition ( ModelPart rModelPart,
std::unordered_map< IndexType, Condition::Pointer > &  rMapPointersRefCondition,
const IndexType  CondId,
int Ref,
int IsRequired,
bool  SkipCreation 
)
virtual

It creates the new condition (first type, depends if the library work in 2D/3D/Surfaces)

Each call to this function increments the internal counter of the MMG mesh data structure and extracts the vertices of the current edge.

Parameters
[in,out]rModelPartThe model part of interest to study
[in,out]rMapPointersRefConditionThe pointer to the condition of reference
[in]CondIdThe id of the new condition
[out]RefMMG edge reference
[out]IsRequiredMMG required entity (0 or 1)
[in]SkipCreationSkips the creation of the new condition
Returns
pCondition The pointer to the new condition created

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CreateFirstTypeCondition() [2/2]

template<PMMGLibrary TPMMGLibrary>
Condition::Pointer Kratos::ParMmgUtilities< TPMMGLibrary >::CreateFirstTypeCondition ( ModelPart rModelPart,
std::unordered_map< IndexType, Condition::Pointer > &  rMapPointersRefCondition,
const IndexType  CondId,
int Ref,
int IsRequired,
bool  SkipCreation 
)
overridevirtual

It creates the new condition (first type, depends if the library work in 2D/3D/Surfaces)

Each call to this function increments the internal counter of the PMMG mesh data structure and extracts the vertices of the current edge.

Parameters
[in,out]rModelPartThe model part of interest to study
[in,out]rMapPointersRefConditionThe pointer to the condition of reference
[in]CondIdThe id of the new condition
[out]RefPMMG edge reference
[out]IsRequiredPMMG required entity (0 or 1)
[in]SkipCreationSkips the creation of the new condition
Returns
pCondition The pointer to the new condition created

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CreateFirstTypeElement() [1/2]

Element::Pointer Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::CreateFirstTypeElement ( ModelPart rModelPart,
std::unordered_map< IndexType, Element::Pointer > &  rMapPointersRefElement,
const IndexType  ElemId,
int Ref,
int IsRequired,
bool  SkipCreation 
)
virtual

It creates the new element (first type, depends if the library work in 2D/3D/Surfaces)

Parameters
[in,out]rModelPartThe model part of interest to study
[in,out]rMapPointersRefElementThe pointer to the element of reference
[in]ElemIdThe id of the element
[out]RefMMG edge reference
[out]IsRequiredMMG required entity (0 or 1)
Returns
pElement The pointer to the new condition created

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CreateFirstTypeElement() [2/2]

template<PMMGLibrary TPMMGLibrary>
Element::Pointer Kratos::ParMmgUtilities< TPMMGLibrary >::CreateFirstTypeElement ( ModelPart rModelPart,
std::unordered_map< IndexType, Element::Pointer > &  rMapPointersRefElement,
const IndexType  ElemId,
int Ref,
int IsRequired,
bool  SkipCreation 
)
overridevirtual

It creates the new element (first type, depends if the library work in 2D/3D/Surfaces)

Parameters
[in,out]rModelPartThe model part of interest to study
[in,out]rMapPointersRefElementThe pointer to the element of reference
[in]ElemIdThe id of the element
[out]RefPMMG edge reference
[out]IsRequiredPMMG required entity (0 or 1)
Returns
pElement The pointer to the new condition created

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CreateNode() [1/2]

Node::Pointer Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::CreateNode ( ModelPart rModelPart,
const IndexType  iNode,
int Ref,
int IsRequired 
)
virtual

It creates the new node.

Each call to this function increments the internal counter of the MMG mesh data structure, extracts the coordinates of the current vertex and creates the new node with the extracted coordinates.

Parameters
[in,out]rModelPartThe model part which owns the new node
[in]iNodeThe index of the new node
[out]RefMMG point reference
[out]IsRequiredMMG required entity (0 or 1)
Returns
pNode The pointer to the new node created

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ CreateNode() [2/2]

template<PMMGLibrary TPMMGLibrary>
NodeType::Pointer Kratos::ParMmgUtilities< TPMMGLibrary >::CreateNode ( ModelPart rModelPart,
IndexType  iNode,
int Ref,
int IsRequired 
)
overridevirtual

It creates the new node.

Each call to this function increments the internal counter of the PMMG mesh data structure, extracts the coordinates of the current vertex and creates the new node with the extracted coordinates.

Parameters
[in,out]rModelPartThe model part which owns the new node
[in]iNodeThe index of the new node
[out]RefPMMG point reference
[out]IsRequiredPMMG required entity (0 or 1)
Returns
pNode The pointer to the new node created

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ FindDuplicateNodeIds()

template<PMMGLibrary TPMMGLibrary>
IndexVectorType Kratos::ParMmgUtilities< TPMMGLibrary >::FindDuplicateNodeIds ( const ModelPart rModelPart)
overridevirtual

Returns a vector of ids of spatially repeated nodes.

Parameters
[in,out]rModelPartThe model part whose nodes are checked

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ FreeAll() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::FreeAll ( )
virtual

This frees the MMG structures.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ FreeAll() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::FreeAll ( )
overridevirtual

This frees the PMMG structures.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GenerateDisplacementDataFromModelPart()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GenerateDisplacementDataFromModelPart ( ModelPart rModelPart)
overridevirtual

This method generates displacement data from an existing model part.

Parameters
[in,out]rModelPartThe model part of interest to study

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GenerateMeshDataFromModelPart()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GenerateMeshDataFromModelPart ( ModelPart rModelPart,
std::unordered_map< IndexType, std::vector< std::string >> &  rColors,
ColorsMapType rColorMapCondition,
ColorsMapType rColorMapElement,
const FrameworkEulerLagrange  Framework = FrameworkEulerLagrange::EULERIAN,
const bool  CollapsePrismElements = false 
)
overridevirtual

This method generates mesh data from an existing model part.

Parameters
[in,out]rModelPartThe model part of interest to study
[in,out]rColorsWhere the sub model parts IDs are stored
[in,out]rColorMapConditionAuxiliar color map for conditions
[in,out]rColorMapElementAuxiliar color map for elements
[in]FrameworkThe framework considered
[in]CollapsePrismElementsIf the prisms elements are going to be collapsed

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GenerateParallelInterfaces() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GenerateParallelInterfaces ( ModelPart rModelPart)

◆ GenerateParallelInterfaces() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GenerateParallelInterfaces ( ModelPart rModelPart)

This method generates the interface data for the parallel communicator.

Parameters
[in,out]rModelPartThe model part with the kratos communicator.

◆ GenerateReferenceMaps()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GenerateReferenceMaps ( ModelPart rModelPart,
const ColorsMapType rColorMapCondition,
const ColorsMapType rColorMapElement,
std::unordered_map< IndexType, Condition::Pointer > &  rRefCondition,
std::unordered_map< IndexType, Element::Pointer > &  rRefElement 
)
overridevirtual

This method generates the maps of reference for conditions and elements.

Parameters
[in]rModelPartThe model part of interest to study
[in]rColorMapConditionAuxiliar color map for conditions
[in]rColorMapElementAuxiliar color map for elements
[in,out]rRefConditionThe conditions of reference
[in,out]rRefElementThe elements of reference

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GenerateSolDataFromModelPart()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GenerateSolDataFromModelPart ( ModelPart rModelPart)
overridevirtual

This method generates solution (metric) data from an existing model part.

Parameters
[in,out]rModelPartThe model part of interest to study

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GetDisplacementVector() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GetDisplacementVector ( array_1d< double, 3 > &  rDisplacement)
virtual

This function is used to retrieve the displacement vector (x, y, z)

Parameters
[in,out]rDisplacementThis array contains the components of the displacement vector

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GetDisplacementVector() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GetDisplacementVector ( array_1d< double, 3 > &  rDisplacement)
overridevirtual

This function is used to retrieve the displacement vector (x, y, z)

Parameters
[in,out]rDisplacementThis array contains the components of the displacement vector

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GetMetricScalar() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GetMetricScalar ( double rMetric)
virtual

This function is used to retrieve the metric scalar.

Parameters
[in,out]rMetricThe inverse of the size node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GetMetricScalar() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GetMetricScalar ( double rMetric)
overridevirtual

This function is used to retrieve the metric scalar.

Parameters
[in,out]rMetricThe inverse of the size node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GetMetricTensor() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GetMetricTensor ( array_1d< double, 6 > &  rMetric)

◆ GetMetricTensor() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GetMetricTensor ( TensorArrayType rMetric)
overridevirtual

This function is used to retrieve the Hessian metric tensor, note that when using the Hessian, more than one metric can be defined simultaneously, so in consecuence we need to define the elipsoid which defines the volume of maximal intersection.

Parameters
[in,out]rMetricThis array contains the components of the metric tensor in the PMMG defined order

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GetMetricVector() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GetMetricVector ( array_1d< double, 3 > &  rMetric)

◆ GetMetricVector() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::GetMetricVector ( array_1d< double, Dimension > &  rMetric)
overridevirtual

This function is used to retrieve the metric vector (x, y, z)

Parameters
[in,out]rMetricThis array contains the components of the metric vector

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ GetNodalLocalToGlobalMap()

template<PMMGLibrary TPMMGLibrary>
std::unordered_map< int, int > Kratos::ParMmgUtilities< TPMMGLibrary >::GetNodalLocalToGlobalMap

◆ Info()

template<PMMGLibrary TPMMGLibrary>
std::string Kratos::ParMmgUtilities< TPMMGLibrary >::Info ( ) const
inline

Turn back information as a string.

◆ InitAPIModeParameter() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InitAPIModeParameter ( const IndexType  APImode)

◆ InitAPIModeParameter() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitAPIModeParameter ( const IndexType  VerbosityPMMG)

Here the API mode is set using the API.

Parameters
[in]APIMode sets the mode in which the parallel communicator works

◆ InitMesh() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InitMesh ( const DataCommunicator rDataCommunicator)

◆ InitMesh() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitMesh ( const DataCommunicator rDataCommunicator)

Initialisation of mesh and sol structures.

Initialisation of mesh and sol structures args of InitMesh:

  1. MMG5_ARG_start we start to give the args of a variadic func
  2. MMG5_ARG_ppMesh next arg will be a pointer over a MMG5_pMesh
  3. &mmgMesh pointer toward your MMG5_pMesh (that store your mesh)
  4. MMG5_ARG_ppMet next arg will be a pointer over a MMG5_pSol storing a metric
  5. &mmgSol pointer toward your MMG5_pSol (that store your metric)
    Parameters
    [in]rDataCommunicatorData communicator to be used to initialize ParMmg

◆ InitNodeGloNumParameter() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InitNodeGloNumParameter ( const IndexType  nodeGloNum)

◆ InitNodeGloNumParameter() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitNodeGloNumParameter ( const IndexType  nodeGloNum)

Ask for output node global numbering.

Parameters
[in]1to ask it, 0 to skip it

◆ InitVerbosity()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitVerbosity
overridevirtual

Here the verbosity is set.

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ InitVerbosityParameter() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InitVerbosityParameter ( const IndexType  VerbosityMMG)
virtual

Here the verbosity is set using the API.

Parameters
[in]VerbosityMMGThe equivalent verbosity level in the MMG API

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ InitVerbosityParameter() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitVerbosityParameter ( const IndexType  VerbosityPMMG)
overridevirtual

Here the verbosity is set using the API.

Parameters
[in]VerbosityPMMGThe equivalent verbosity level in the PMMG API

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ InputMesh() [1/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::InputMesh ( const std::string &  rInputName)
overridevirtual

This sets the output mesh.

Parameters
[in]rInputNameThe input name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ InputMesh() [2/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InputMesh ( const std::string &  rInputName)
virtual

This sets the output mesh.

Parameters
[in]rInputNameThe input name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ InputSol() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InputSol ( const std::string &  rInputName)
virtual

This sets the output sol.

Parameters
[in]rInputNameThe input name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ InputSol() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::InputSol ( const std::string &  rInputName)
overridevirtual

This sets the output sol.

Parameters
[in]rInputNameThe input name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<PMMGLibrary TPMMGLibrary>
Kratos::ParMmgUtilities< TPMMGLibrary >::KRATOS_CLASS_POINTER_DEFINITION ( ParMmgUtilities< TPMMGLibrary >  )

Pointer definition of ParMmgUtilities.

◆ OutputDisplacement() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::OutputDisplacement ( const std::string &  rOutputName)
virtual

This sets the output displacement.

Parameters
[in]rOutputNameThe output name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ OutputDisplacement() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::OutputDisplacement ( const std::string &  rOutputName)
overridevirtual

This sets the output displacement.

Parameters
[in]rOutputNameThe output name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ OutputMesh() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::OutputMesh ( const std::string &  rOutputName)
virtual

This sets the output mesh.

Parameters
[in]rOutputNameThe output name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ OutputMesh() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::OutputMesh ( const std::string &  rOutputName)
overridevirtual

This sets the output mesh.

Parameters
[in]rOutputNameThe output name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ OutputReferenceEntitities()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::OutputReferenceEntitities ( const std::string &  rOutputName,
const std::unordered_map< IndexType, Condition::Pointer > &  rRefCondition,
const std::unordered_map< IndexType, Element::Pointer > &  rRefElement 
)
overridevirtual

This method generates the maps of reference for conditions and elements from an existing json.

Parameters
[in]rOutputNameThe name of the files
[in]rRefConditionThe conditions of reference
[in]rRefElementThe elements of reference

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ OutputSol() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::OutputSol ( const std::string &  rOutputName)
virtual

This sets the output sol.

Parameters
[in]rOutputNameThe output name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ OutputSol() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::OutputSol ( const std::string &  rOutputName)
overridevirtual

This sets the output sol.

Parameters
[in]rOutputNameThe output name

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ PMMGLibCallIsoSurface()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::PMMGLibCallIsoSurface ( Parameters  ConfigurationParameters)

This loads the solution.

◆ PMMGLibCallMetric() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::PMMGLibCallMetric ( Parameters  ConfigurationParameters)

◆ PMMGLibCallMetric() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::PMMGLibCallMetric ( Parameters  ConfigurationParameters)

This loads the solution.

◆ PrintAndGetParMmgMeshInfo()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::PrintAndGetParMmgMeshInfo ( PMMGMeshInfo< TPMMGLibrary > &  rPMMGMeshInfo)

It prints info about the current mesh.

The mesh data from PMMG.

Parameters
[in,out]rPMMGMeshInfoThe number of nodes, conditions and elements

◆ PrintData()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::PrintData ( std::ostream &  rOStream) const
inline

Print object's data.

◆ PrintInfo()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::PrintInfo ( std::ostream &  rOStream) const
inline

Print information about this object.

◆ PrintParallelInterfaces() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::PrintParallelInterfaces ( ModelPart rModelPart)

◆ PrintParallelInterfaces() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::PrintParallelInterfaces ( ModelPart rModelPart)

This method prints the interface data for the parallel communicator.

Parameters
[in,out]rModelPartThe model part with the kratos communicator.

◆ SetConditions() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetConditions ( GeometryType rGeometry,
const IndexType  Color,
const IndexType  Index 
)
virtual

This sets the conditions of the mesh.

Parameters
[in,out]rGeometryThe geometry of the condition
[in]ColorReference of the node(submodelpart)
[in]IndexThe index number of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetConditions() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetConditions ( GeometryType rGeometry,
const IndexType  Color,
const IndexType  Index 
)
overridevirtual

This sets the conditions of the mesh.

Parameters
[in,out]rGeometryThe geometry of the condition
[in]ColorReference of the node(submodelpart)
[in]IndexThe index number of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetDisplacementVector() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetDisplacementVector ( const array_1d< double, 3 > &  rDisplacement,
const IndexType  NodeId 
)
virtual

This function is used to set the displacement vector (x, y, z)

Parameters
[in]rMetricThis array contains the components of the displacement vector
[in]NodeIdThe id of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetDisplacementVector() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetDisplacementVector ( const array_1d< double, 3 > &  rDisplacement,
const IndexType  NodeId 
)
overridevirtual

This function is used to set the displacement vector (x, y, z)

Parameters
[in]rMetricThis array contains the components of the displacement vector
[in]NodeIdThe id of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetDispSizeVector() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetDispSizeVector ( const SizeType  NumNodes)
virtual

This sets the size of the displacement for lagrangian movement.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetDispSizeVector() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetDispSizeVector ( const SizeType  NumNodes)
overridevirtual

This sets the size of the displacement for lagrangian movement.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetElements() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetElements ( GeometryType rGeometry,
const IndexType  Color,
const IndexType  Index 
)
virtual

This sets elements of the mesh.

Parameters
[in,out]rGeometryThe geometry of the element
[in]ColorReference of the node(submodelpart)
[in]IndexThe index number of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetElements() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetElements ( GeometryType rGeometry,
const IndexType  Color,
const IndexType  Index 
)
overridevirtual

This sets elements of the mesh.

Parameters
[in,out]rGeometryThe geometry of the element
[in]ColorReference of the node(submodelpart)
[in]IndexThe index number of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetMeshSize() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetMeshSize ( PMMGMeshInfo< PMMGLibrary::PMMG3D > &  rPMMGMeshInfo)

◆ SetMeshSize() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetMeshSize ( PMMGMeshInfo< TPMMGLibrary > &  rPMMGMeshInfo)

This sets the size of the mesh.

Parameters
[in,out]rPMMGMeshInfoThe number of nodes, conditions and elements

◆ SetMetricScalar() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetMetricScalar ( const double  Metric,
const IndexType  NodeId 
)
virtual

This function is used to set the metric scalar.

Parameters
[in]MetricThe inverse of the size node
[in]NodeIdThe id of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetMetricScalar() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetMetricScalar ( const double  Metric,
const IndexType  NodeId 
)
overridevirtual

This function is used to set the metric scalar.

Parameters
[in]MetricThe inverse of the size node
[in]NodeIdThe id of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetMetricTensor() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetMetricTensor ( const array_1d< double, 6 > &  rMetric,
const IndexType  NodeId 
)

◆ SetMetricTensor() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetMetricTensor ( const TensorArrayType rMetric,
const IndexType  NodeId 
)
overridevirtual

This function is used to set the Hessian metric tensor, note that when using the Hessian, more than one metric can be defined simultaneously, so in consecuence we need to define the elipsoid which defines the volume of maximal intersection.

Parameters
[in]rMetricThis array contains the components of the metric tensor in the PMMG defined order
[in]NodeIdThe id of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetMetricVector() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetMetricVector ( const array_1d< double, 3 > &  rMetric,
const IndexType  NodeId 
)

◆ SetMetricVector() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetMetricVector ( const array_1d< double, Dimension > &  rMetric,
const IndexType  NodeId 
)
overridevirtual

This function is used to set the metric vector (x, y, z)

Parameters
[in]rMetricThis array contains the components of the metric vector
[in]NodeIdThe id of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetNodes() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetNodes ( const double  X,
const double  Y,
const double  Z,
const IndexType  Color,
const IndexType  Index 
)
virtual

This sets the nodes of the mesh.

Parameters
[in]XCoordinate X
[in]YCoordinate Y
[in]ZCoordinate Z
[in]ColorReference of the node(submodelpart)
[in]IndexThe index number of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetNodes() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetNodes ( const double  X,
const double  Y,
const double  Z,
const IndexType  Color,
const IndexType  Index 
)
overridevirtual

This sets the nodes of the mesh.

Parameters
[in]XCoordinate X
[in]YCoordinate Y
[in]ZCoordinate Z
[in]ColorReference of the node(submodelpart)
[in]IndexThe index number of the node

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetSolSizeScalar() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetSolSizeScalar ( const SizeType  NumNodes)
virtual

This sets the size of the solution for the scalar case.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetSolSizeScalar() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetSolSizeScalar ( const SizeType  NumNodes)
overridevirtual

This sets the size of the solution for the scalar case.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetSolSizeTensor() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetSolSizeTensor ( const SizeType  NumNodes)
virtual

This sets the size of the solution for the tensor case.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetSolSizeTensor() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetSolSizeTensor ( const SizeType  NumNodes)
overridevirtual

This sets the size of the solution for the tensor case.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetSolSizeVector() [1/2]

void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetSolSizeVector ( const SizeType  NumNodes)
virtual

This sets the size of the solution for the vector case.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ SetSolSizeVector() [2/2]

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetSolSizeVector ( const SizeType  NumNodes)
overridevirtual

This sets the size of the solution for the vector case.

Parameters
[in]NumNodesNumber of nodes

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

◆ WriteMeshDataToModelPart()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::WriteMeshDataToModelPart ( ModelPart rModelPart,
const std::unordered_map< IndexType, std::vector< std::string >> &  rColors,
const NodeType::DofsContainerType rDofs,
const PMMGMeshInfo< TPMMGLibrary > &  rPMMGMeshInfo,
std::unordered_map< IndexType, Condition::Pointer > &  rMapPointersRefCondition,
std::unordered_map< IndexType, Element::Pointer > &  rMapPointersRefElement 
)

This method writes mesh data to an existing model part.

Parameters
[in,out]rModelPartThe model part of interest to study
[in]rColorsWhere the sub model parts IDs are stored
[in]rDofsStorage for the dof of the node
[in]rPMMGMeshInfoThe resulting mesh data
[in]rMapPointersRefConditionThe map of the conditions by reference (color)
[in]rMapPointersRefElementThe map of the elements by reference (color)

◆ WriteReferenceEntitities()

template<PMMGLibrary TPMMGLibrary>
void Kratos::ParMmgUtilities< TPMMGLibrary >::WriteReferenceEntitities ( ModelPart rModelPart,
const std::string &  rFilename,
std::unordered_map< IndexType, Condition::Pointer > &  rRefCondition,
std::unordered_map< IndexType, Element::Pointer > &  rRefElement 
)
overridevirtual

This method writes the maps of reference for conditions and elements from an existing json.

Parameters
[in]rModelPartThe model part of interest to study
[in]rFilenameThe name of the files
[in,out]rRefConditionThe conditions of reference
[in,out]rRefElementThe elements of reference

Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.

Member Data Documentation

◆ Dimension

template<PMMGLibrary TPMMGLibrary>
constexpr SizeType Kratos::ParMmgUtilities< TPMMGLibrary >::Dimension = 3
staticconstexpr

Spatial dimension.

◆ ZeroTolerance

template<PMMGLibrary TPMMGLibrary>
constexpr double Kratos::ParMmgUtilities< TPMMGLibrary >::ZeroTolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

Definition of the zero tolerance.


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