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.
|
Provides the Kratos interface to the PMMG library API. More...
#include <pmmg_utilities.h>
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, int > | GetNodalLocalToGlobalMap () |
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::MMG3D > | BaseType |
typedef Node | NodeType |
Node definition. More... | |
typedef Geometry< NodeType > | GeometryType |
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, IndexType > | ColorsMapType |
Colors map. More... | |
typedef std::pair< IndexType, IndexType > | IndexPairType |
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< NodeType > | GeometryType |
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, IndexType > | ColorsMapType |
Colors map. More... | |
typedef std::pair< IndexType, IndexType > | IndexPairType |
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... | |
Provides the Kratos interface to the PMMG library API.
typedef MmgUtilities<MMGLibrary::MMG3D> Kratos::ParMmgUtilities< TPMMGLibrary >::BaseType |
typedef std::unordered_map<IndexType,IndexType> Kratos::ParMmgUtilities< TPMMGLibrary >::ColorsMapType |
Colors map.
typedef std::unordered_map<DoubleVectorType, IndexType, KeyHasherRange<DoubleVectorType>, KeyComparorRange<DoubleVectorType> > Kratos::ParMmgUtilities< TPMMGLibrary >::DoubleVectorMapType |
Double vector map.
typedef std::vector<double> Kratos::ParMmgUtilities< TPMMGLibrary >::DoubleVectorType |
Double vector.
typedef Geometry<NodeType> Kratos::ParMmgUtilities< TPMMGLibrary >::GeometryType |
typedef std::pair<IndexType,IndexType> Kratos::ParMmgUtilities< TPMMGLibrary >::IndexPairType |
Index pair.
typedef std::pair<IndexType, std::vector<std::string> > Kratos::ParMmgUtilities< TPMMGLibrary >::IndexStringVectorPairType |
Index and string vector pair.
typedef std::unordered_map<IndexVectorType, IndexType, KeyHasherRange<IndexVectorType>, KeyComparorRange<IndexVectorType> > Kratos::ParMmgUtilities< TPMMGLibrary >::IndexVectorMapType |
Index vector map.
typedef Node Kratos::ParMmgUtilities< TPMMGLibrary >::NodeType |
Node definition.
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.
|
overridevirtual |
This function assigns the flags and clears the auxiliar sub model part for flags.
[in,out] | rModelPart | The model part of interest to study |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
It blocks certain conditions before remesh the model.
[in] | iCondition | The index of the condition |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
It blocks certain conditions before remesh the model.
[in] | iCondition | The index of the condition |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
It blocks certain elements before remesh the model.
[in] | iElement | The index of the element |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
It blocks certain elements before remesh the model.
[in] | iElement | The index of the element |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
It blocks certain nodes before remesh the model.
[in] | iNode | The index of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
It blocks certain nodes before remesh the model.
[in] | iNode | The index of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
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 >.
|
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 >.
|
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 >.
|
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 >.
|
virtual |
This checks the mesh data and prints if it is OK.
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This checks the mesh data and prints if it is OK.
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This function generates a list of submodelparts to be able to reassign flags after remesh.
[in,out] | rModelPart | The model part of interest to study |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
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.
[in,out] | rModelPart | The model part of interest to study |
[in,out] | rMapPointersRefCondition | The pointer to the condition of reference |
[in] | CondId | The id of the new condition |
[out] | Ref | MMG edge reference |
[out] | IsRequired | MMG required entity (0 or 1) |
[in] | SkipCreation | Skips the creation of the new condition |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
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.
[in,out] | rModelPart | The model part of interest to study |
[in,out] | rMapPointersRefCondition | The pointer to the condition of reference |
[in] | CondId | The id of the new condition |
[out] | Ref | PMMG edge reference |
[out] | IsRequired | PMMG required entity (0 or 1) |
[in] | SkipCreation | Skips the creation of the new condition |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
It creates the new element (first type, depends if the library work in 2D/3D/Surfaces)
[in,out] | rModelPart | The model part of interest to study |
[in,out] | rMapPointersRefElement | The pointer to the element of reference |
[in] | ElemId | The id of the element |
[out] | Ref | MMG edge reference |
[out] | IsRequired | MMG required entity (0 or 1) |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
It creates the new element (first type, depends if the library work in 2D/3D/Surfaces)
[in,out] | rModelPart | The model part of interest to study |
[in,out] | rMapPointersRefElement | The pointer to the element of reference |
[in] | ElemId | The id of the element |
[out] | Ref | PMMG edge reference |
[out] | IsRequired | PMMG required entity (0 or 1) |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
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.
[in,out] | rModelPart | The model part which owns the new node |
[in] | iNode | The index of the new node |
[out] | Ref | MMG point reference |
[out] | IsRequired | MMG required entity (0 or 1) |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
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.
[in,out] | rModelPart | The model part which owns the new node |
[in] | iNode | The index of the new node |
[out] | Ref | PMMG point reference |
[out] | IsRequired | PMMG required entity (0 or 1) |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
Returns a vector of ids of spatially repeated nodes.
[in,out] | rModelPart | The model part whose nodes are checked |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This frees the MMG structures.
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This frees the PMMG structures.
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This method generates displacement data from an existing model part.
[in,out] | rModelPart | The model part of interest to study |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This method generates mesh data from an existing model part.
[in,out] | rModelPart | The model part of interest to study |
[in,out] | rColors | Where the sub model parts IDs are stored |
[in,out] | rColorMapCondition | Auxiliar color map for conditions |
[in,out] | rColorMapElement | Auxiliar color map for elements |
[in] | Framework | The framework considered |
[in] | CollapsePrismElements | If the prisms elements are going to be collapsed |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GenerateParallelInterfaces | ( | ModelPart & | rModelPart | ) |
void Kratos::ParMmgUtilities< TPMMGLibrary >::GenerateParallelInterfaces | ( | ModelPart & | rModelPart | ) |
This method generates the interface data for the parallel communicator.
[in,out] | rModelPart | The model part with the kratos communicator. |
|
overridevirtual |
This method generates the maps of reference for conditions and elements.
[in] | rModelPart | The model part of interest to study |
[in] | rColorMapCondition | Auxiliar color map for conditions |
[in] | rColorMapElement | Auxiliar color map for elements |
[in,out] | rRefCondition | The conditions of reference |
[in,out] | rRefElement | The elements of reference |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This method generates solution (metric) data from an existing model part.
[in,out] | rModelPart | The model part of interest to study |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This function is used to retrieve the displacement vector (x, y, z)
[in,out] | rDisplacement | This array contains the components of the displacement vector |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This function is used to retrieve the displacement vector (x, y, z)
[in,out] | rDisplacement | This array contains the components of the displacement vector |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This function is used to retrieve the metric scalar.
[in,out] | rMetric | The inverse of the size node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This function is used to retrieve the metric scalar.
[in,out] | rMetric | The inverse of the size node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GetMetricTensor | ( | array_1d< double, 6 > & | 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.
[in,out] | rMetric | This array contains the components of the metric tensor in the PMMG defined order |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::GetMetricVector | ( | array_1d< double, 3 > & | rMetric | ) |
|
overridevirtual |
This function is used to retrieve the metric vector (x, y, z)
[in,out] | rMetric | This array contains the components of the metric vector |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
std::unordered_map< int, int > Kratos::ParMmgUtilities< TPMMGLibrary >::GetNodalLocalToGlobalMap |
|
inline |
Turn back information as a string.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InitAPIModeParameter | ( | const IndexType | APImode | ) |
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitAPIModeParameter | ( | const IndexType | VerbosityPMMG | ) |
Here the API mode is set using the API.
[in] | API | Mode sets the mode in which the parallel communicator works |
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InitMesh | ( | const DataCommunicator & | rDataCommunicator | ) |
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitMesh | ( | const DataCommunicator & | rDataCommunicator | ) |
Initialisation of mesh and sol structures.
Initialisation of mesh and sol structures args of InitMesh:
[in] | rDataCommunicator | Data communicator to be used to initialize ParMmg |
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::InitNodeGloNumParameter | ( | const IndexType | nodeGloNum | ) |
void Kratos::ParMmgUtilities< TPMMGLibrary >::InitNodeGloNumParameter | ( | const IndexType | nodeGloNum | ) |
Ask for output node global numbering.
[in] | 1 | to ask it, 0 to skip it |
|
overridevirtual |
Here the verbosity is set.
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
Here the verbosity is set using the API.
[in] | VerbosityMMG | The equivalent verbosity level in the MMG API |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
Here the verbosity is set using the API.
[in] | VerbosityPMMG | The equivalent verbosity level in the PMMG API |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the output mesh.
[in] | rInputName | The input name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the output mesh.
[in] | rInputName | The input name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the output sol.
[in] | rInputName | The input name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the output sol.
[in] | rInputName | The input name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
Kratos::ParMmgUtilities< TPMMGLibrary >::KRATOS_CLASS_POINTER_DEFINITION | ( | ParMmgUtilities< TPMMGLibrary > | ) |
Pointer definition of ParMmgUtilities.
|
virtual |
This sets the output displacement.
[in] | rOutputName | The output name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the output displacement.
[in] | rOutputName | The output name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the output mesh.
[in] | rOutputName | The output name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the output mesh.
[in] | rOutputName | The output name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This method generates the maps of reference for conditions and elements from an existing json.
[in] | rOutputName | The name of the files |
[in] | rRefCondition | The conditions of reference |
[in] | rRefElement | The elements of reference |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the output sol.
[in] | rOutputName | The output name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the output sol.
[in] | rOutputName | The output name |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
void Kratos::ParMmgUtilities< TPMMGLibrary >::PMMGLibCallIsoSurface | ( | Parameters | ConfigurationParameters | ) |
This loads the solution.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::PMMGLibCallMetric | ( | Parameters | ConfigurationParameters | ) |
void Kratos::ParMmgUtilities< TPMMGLibrary >::PMMGLibCallMetric | ( | Parameters | ConfigurationParameters | ) |
This loads the solution.
void Kratos::ParMmgUtilities< TPMMGLibrary >::PrintAndGetParMmgMeshInfo | ( | PMMGMeshInfo< TPMMGLibrary > & | rPMMGMeshInfo | ) |
It prints info about the current mesh.
The mesh data from PMMG.
[in,out] | rPMMGMeshInfo | The number of nodes, conditions and elements |
|
inline |
Print object's data.
|
inline |
Print information about this object.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::PrintParallelInterfaces | ( | ModelPart & | rModelPart | ) |
void Kratos::ParMmgUtilities< TPMMGLibrary >::PrintParallelInterfaces | ( | ModelPart & | rModelPart | ) |
This method prints the interface data for the parallel communicator.
[in,out] | rModelPart | The model part with the kratos communicator. |
|
virtual |
This sets the conditions of the mesh.
[in,out] | rGeometry | The geometry of the condition |
[in] | Color | Reference of the node(submodelpart) |
[in] | Index | The index number of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the conditions of the mesh.
[in,out] | rGeometry | The geometry of the condition |
[in] | Color | Reference of the node(submodelpart) |
[in] | Index | The index number of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This function is used to set the displacement vector (x, y, z)
[in] | rMetric | This array contains the components of the displacement vector |
[in] | NodeId | The id of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This function is used to set the displacement vector (x, y, z)
[in] | rMetric | This array contains the components of the displacement vector |
[in] | NodeId | The id of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the size of the displacement for lagrangian movement.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the size of the displacement for lagrangian movement.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets elements of the mesh.
[in,out] | rGeometry | The geometry of the element |
[in] | Color | Reference of the node(submodelpart) |
[in] | Index | The index number of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets elements of the mesh.
[in,out] | rGeometry | The geometry of the element |
[in] | Color | Reference of the node(submodelpart) |
[in] | Index | The index number of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetMeshSize | ( | PMMGMeshInfo< PMMGLibrary::PMMG3D > & | rPMMGMeshInfo | ) |
void Kratos::ParMmgUtilities< TPMMGLibrary >::SetMeshSize | ( | PMMGMeshInfo< TPMMGLibrary > & | rPMMGMeshInfo | ) |
This sets the size of the mesh.
[in,out] | rPMMGMeshInfo | The number of nodes, conditions and elements |
|
virtual |
This function is used to set the metric scalar.
[in] | Metric | The inverse of the size node |
[in] | NodeId | The id of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This function is used to set the metric scalar.
[in] | Metric | The inverse of the size node |
[in] | NodeId | The id of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetMetricTensor | ( | const array_1d< double, 6 > & | 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.
[in] | rMetric | This array contains the components of the metric tensor in the PMMG defined order |
[in] | NodeId | The id of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
void Kratos::ParMmgUtilities< PMMGLibrary::PMMG3D >::SetMetricVector | ( | const array_1d< double, 3 > & | rMetric, |
const IndexType | NodeId | ||
) |
|
overridevirtual |
This function is used to set the metric vector (x, y, z)
[in] | rMetric | This array contains the components of the metric vector |
[in] | NodeId | The id of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the nodes of the mesh.
[in] | X | Coordinate X |
[in] | Y | Coordinate Y |
[in] | Z | Coordinate Z |
[in] | Color | Reference of the node(submodelpart) |
[in] | Index | The index number of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the nodes of the mesh.
[in] | X | Coordinate X |
[in] | Y | Coordinate Y |
[in] | Z | Coordinate Z |
[in] | Color | Reference of the node(submodelpart) |
[in] | Index | The index number of the node |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the size of the solution for the scalar case.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the size of the solution for the scalar case.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the size of the solution for the tensor case.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the size of the solution for the tensor case.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
virtual |
This sets the size of the solution for the vector case.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
overridevirtual |
This sets the size of the solution for the vector case.
[in] | NumNodes | Number of nodes |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
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.
[in,out] | rModelPart | The model part of interest to study |
[in] | rColors | Where the sub model parts IDs are stored |
[in] | rDofs | Storage for the dof of the node |
[in] | rPMMGMeshInfo | The resulting mesh data |
[in] | rMapPointersRefCondition | The map of the conditions by reference (color) |
[in] | rMapPointersRefElement | The map of the elements by reference (color) |
|
overridevirtual |
This method writes the maps of reference for conditions and elements from an existing json.
[in] | rModelPart | The model part of interest to study |
[in] | rFilename | The name of the files |
[in,out] | rRefCondition | The conditions of reference |
[in,out] | rRefElement | The elements of reference |
Reimplemented from Kratos::MmgUtilities< MMGLibrary::MMG3D >.
|
staticconstexpr |
Spatial dimension.
|
staticconstexpr |
Definition of the zero tolerance.