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 MMG library API. More...
#include <mmg_utilities.h>
Public Member Functions | |
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 | MMGLibCallIsoSurface (Parameters ConfigurationParameters) |
void | MMGLibCallMetric (Parameters ConfigurationParameters) |
void | MMGLibCallIsoSurface (Parameters ConfigurationParameters) |
void | MMGLibCallMetric (Parameters ConfigurationParameters) |
void | MMGLibCallIsoSurface (Parameters ConfigurationParameters) |
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) |
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) |
Operations | |
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 | FindDuplicateNodeIds (const ModelPart &rModelPart) |
Returns a vector of ids of spatially repeated nodes. More... | |
virtual IndexVectorType | CheckFirstTypeConditions () |
Returns a vector of ids of repeated conditions. More... | |
virtual IndexVectorType | CheckSecondTypeConditions () |
Returns a vector of ids of repeated conditions. More... | |
virtual IndexVectorType | CheckFirstTypeElements () |
Returns a vector of ids of repeated elements. More... | |
virtual IndexVectorType | CheckSecondTypeElements () |
Returns a vector of ids of repeated elements. More... | |
virtual void | BlockNode (const IndexType iNode) |
It blocks certain nodes before remesh the model. More... | |
virtual void | BlockCondition (const IndexType iCondition) |
It blocks certain conditions before remesh the model. More... | |
virtual void | BlockElement (const IndexType iElement) |
It blocks certain elements before remesh the model. More... | |
virtual NodeType::Pointer | CreateNode (ModelPart &rModelPart, IndexType iNode, int &Ref, int &IsRequired) |
It creates the new node. More... | |
virtual 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... | |
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... | |
virtual 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... | |
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 | InitVerbosity () |
Here the verbosity is set. More... | |
virtual void | InitVerbosityParameter (const IndexType VerbosityMMG) |
Here the verbosity is set using the API. 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... | |
virtual void | SetSolSizeScalar (const SizeType NumNodes) |
This sets the size of the solution for the scalar case. More... | |
virtual void | SetSolSizeVector (const SizeType NumNodes) |
This sets the size of the solution for the vector case. More... | |
virtual void | SetSolSizeTensor (const SizeType NumNodes) |
This sets the size of the solution for the tensor case. More... | |
virtual void | SetDispSizeVector (const SizeType NumNodes) |
This sets the size of the displacement for lagrangian movement. More... | |
virtual void | CheckMeshData () |
This checks the mesh data and prints if it is OK. More... | |
virtual void | InputMesh (const std::string &rInputName) |
This sets the output mesh. More... | |
virtual void | InputSol (const std::string &rInputName) |
This sets the output sol. More... | |
virtual void | OutputMesh (const std::string &rOutputName) |
This sets the output mesh. More... | |
virtual void | OutputSol (const std::string &rOutputName) |
This sets the output sol. More... | |
virtual void | OutputDisplacement (const std::string &rOutputName) |
This sets the output displacement. More... | |
virtual void | OutputReferenceEntitities (const std::string &rOutputName, const std::unordered_map< IndexType, Condition::Pointer > &rRefCondition, const std::unordered_map< IndexType, Element::Pointer > &rRefElement) |
This method generates the maps of reference for conditions and elements from an existing json. More... | |
virtual void | FreeAll () |
This frees the MMG structures. More... | |
void | MMGLibCallMetric (Parameters ConfigurationParameters) |
This loads the solution. More... | |
void | MMGLibCallIsoSurface (Parameters ConfigurationParameters) |
This loads the solution. More... | |
virtual 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... | |
virtual void | SetConditions (GeometryType &rGeometry, const IndexType Color, const IndexType Index) |
This sets the conditions of the mesh. More... | |
virtual void | SetElements (GeometryType &rGeometry, const IndexType Color, const IndexType Index) |
This sets elements of the mesh. More... | |
virtual void | SetMetricScalar (const double Metric, const IndexType NodeId) |
This function is used to set the metric scalar. More... | |
virtual void | SetMetricVector (const array_1d< double, Dimension > &rMetric, const IndexType NodeId) |
This function is used to set the metric vector (x, y, z) More... | |
virtual void | SetMetricTensor (const TensorArrayType &rMetric, const IndexType NodeId) |
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... | |
virtual void | SetDisplacementVector (const array_1d< double, 3 > &rDisplacement, const IndexType NodeId) |
This function is used to set the displacement vector (x, y, z) More... | |
virtual void | GetMetricScalar (double &rMetric) |
This function is used to retrieve the metric scalar. More... | |
virtual void | GetMetricVector (array_1d< double, Dimension > &rMetric) |
This function is used to retrieve the metric vector (x, y, z) More... | |
virtual void | GetMetricTensor (TensorArrayType &rMetric) |
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... | |
virtual void | GetDisplacementVector (array_1d< double, 3 > &rDisplacement) |
This function is used to retrieve the displacement vector (x, y, z) More... | |
void | ReorderAllIds (ModelPart &rModelPart) |
This function reorder the nodes, conditions and elements to avoid problems with non-consecutive ids. More... | |
virtual 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) |
This method generates mesh data from an existing model part. More... | |
virtual void | GenerateReferenceMaps (ModelPart &rModelPart, const ColorsMapType &rColorMapCondition, const ColorsMapType &rColorMapElement, std::unordered_map< IndexType, Condition::Pointer > &rRefCondition, std::unordered_map< IndexType, Element::Pointer > &rRefElement) |
This method generates the maps of reference for conditions and elements. More... | |
virtual void | GenerateSolDataFromModelPart (ModelPart &rModelPart) |
This method generates solution (metric) data from an existing model part. More... | |
virtual void | GenerateIsosurfaceMetricDataFromModelPart (ModelPart &rModelPart) |
This method generates solution (metric) data from an existing model part for the isosurface algorithm. More... | |
virtual void | GenerateDisplacementDataFromModelPart (ModelPart &rModelPart) |
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 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... | |
virtual void | WriteReferenceEntitities (ModelPart &rModelPart, const std::string &rFilename, std::unordered_map< IndexType, Condition::Pointer > &rRefCondition, std::unordered_map< IndexType, Element::Pointer > &rRefElement) |
This method writes the maps of reference for conditions and elements from an existing json. More... | |
virtual void | CreateAuxiliarSubModelPartForFlags (ModelPart &rModelPart) |
This function generates a list of submodelparts to be able to reassign flags after remesh. More... | |
virtual void | AssignAndClearAuxiliarSubModelPartForFlags (ModelPart &rModelPart) |
This function assigns the flags and clears the auxiliar sub model part for flags. 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... | |
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... | |
Type Definitions | |
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 = (TMMGLibrary == MMGLibrary::MMG2D) ? 2 : 3 |
Spatial dimension. More... | |
static constexpr double | ZeroTolerance = std::numeric_limits<double>::epsilon() |
Definition of the zero tolerance. More... | |
KRATOS_CLASS_POINTER_DEFINITION (MmgUtilities) | |
Pointer definition of MmgUtilities. More... | |
Provides the Kratos interface to the MMG library API.
typedef std::unordered_map<IndexType,IndexType> Kratos::MmgUtilities< TMMGLibrary >::ColorsMapType |
Colors map.
typedef std::unordered_map<DoubleVectorType, IndexType, KeyHasherRange<DoubleVectorType>, KeyComparorRange<DoubleVectorType> > Kratos::MmgUtilities< TMMGLibrary >::DoubleVectorMapType |
Double vector map.
typedef std::vector<double> Kratos::MmgUtilities< TMMGLibrary >::DoubleVectorType |
Double vector.
typedef Geometry<NodeType> Kratos::MmgUtilities< TMMGLibrary >::GeometryType |
typedef std::pair<IndexType,IndexType> Kratos::MmgUtilities< TMMGLibrary >::IndexPairType |
Index pair.
typedef std::pair<IndexType, std::vector<std::string> > Kratos::MmgUtilities< TMMGLibrary >::IndexStringVectorPairType |
Index and string vector pair.
typedef std::unordered_map<IndexVectorType, IndexType, KeyHasherRange<IndexVectorType>, KeyComparorRange<IndexVectorType> > Kratos::MmgUtilities< TMMGLibrary >::IndexVectorMapType |
Index vector map.
typedef Node Kratos::MmgUtilities< TMMGLibrary >::NodeType |
Node definition.
typedef std::conditional<Dimension == 2, array_1d<double, 3>, array_1d<double, 6> >::type Kratos::MmgUtilities< TMMGLibrary >::TensorArrayType |
The type of array considered for the tensor.
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::BlockCondition | ( | const IndexType | iCondition | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::BlockCondition | ( | const IndexType | iCondition | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::BlockCondition | ( | const IndexType | iCondition | ) |
|
virtual |
It blocks certain conditions before remesh the model.
[in] | iCondition | The index of the condition |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::BlockElement | ( | const IndexType | iElement | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::BlockElement | ( | const IndexType | iElement | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::BlockElement | ( | const IndexType | iElement | ) |
|
virtual |
It blocks certain elements before remesh the model.
[in] | iElement | The index of the element |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::BlockNode | ( | const IndexType | iNode | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::BlockNode | ( | const IndexType | iNode | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::BlockNode | ( | const IndexType | iNode | ) |
|
virtual |
It blocks certain nodes before remesh the model.
[in] | iNode | The index of the node |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG2D >::CheckFirstTypeConditions | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG3D >::CheckFirstTypeConditions | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMGS >::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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG2D >::CheckFirstTypeElements | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG3D >::CheckFirstTypeElements | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMGS >::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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::CheckMeshData | ( | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::CheckMeshData | ( | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::CheckMeshData | ( | ) |
|
virtual |
This checks the mesh data and prints if it is OK.
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG2D >::CheckSecondTypeConditions | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG3D >::CheckSecondTypeConditions | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMGS >::CheckSecondTypeConditions | ( | ) |
|
virtual |
Returns a vector of ids of repeated conditions.
For 3D meshes it returns the ids of repeated quadrilaterals found in the MMG mesh data structure. Otherwise, it returns an empty vector.
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG2D >::CheckSecondTypeElements | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMG3D >::CheckSecondTypeElements | ( | ) |
IndexVectorType Kratos::MmgUtilities< MMGLibrary::MMGS >::CheckSecondTypeElements | ( | ) |
|
virtual |
Returns a vector of ids of repeated elements.
For 3D meshes it returns the ids of repeated prisms found in the MMG mesh data structure. Otherwise, it returns an empty vector.
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
Condition::Pointer Kratos::MmgUtilities< MMGLibrary::MMG2D >::CreateFirstTypeCondition | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Condition::Pointer > & | rMapPointersRefCondition, | ||
const IndexType | CondId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Condition::Pointer Kratos::MmgUtilities< MMGLibrary::MMG3D >::CreateFirstTypeCondition | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Condition::Pointer > & | rMapPointersRefCondition, | ||
const IndexType | CondId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Condition::Pointer Kratos::MmgUtilities< MMGLibrary::MMGS >::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.
[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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
Element::Pointer Kratos::MmgUtilities< MMGLibrary::MMG2D >::CreateFirstTypeElement | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Element::Pointer > & | rMapPointersRefElement, | ||
const IndexType | ElemId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Element::Pointer Kratos::MmgUtilities< MMGLibrary::MMG3D >::CreateFirstTypeElement | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Element::Pointer > & | rMapPointersRefElement, | ||
const IndexType | ElemId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Element::Pointer Kratos::MmgUtilities< MMGLibrary::MMGS >::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)
[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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
Node::Pointer Kratos::MmgUtilities< MMGLibrary::MMG2D >::CreateNode | ( | ModelPart & | rModelPart, |
const IndexType | iNode, | ||
int & | Ref, | ||
int & | IsRequired | ||
) |
Node::Pointer Kratos::MmgUtilities< MMGLibrary::MMG3D >::CreateNode | ( | ModelPart & | rModelPart, |
const IndexType | iNode, | ||
int & | Ref, | ||
int & | IsRequired | ||
) |
Node::Pointer Kratos::MmgUtilities< MMGLibrary::MMGS >::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.
[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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
Condition::Pointer Kratos::MmgUtilities< MMGLibrary::MMG2D >::CreateSecondTypeCondition | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Condition::Pointer > & | rMapPointersRefCondition, | ||
const IndexType | CondId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Condition::Pointer Kratos::MmgUtilities< MMGLibrary::MMG3D >::CreateSecondTypeCondition | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Condition::Pointer > & | rMapPointersRefCondition, | ||
const IndexType | CondId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Condition::Pointer Kratos::MmgUtilities< MMGLibrary::MMGS >::CreateSecondTypeCondition | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Condition::Pointer > & | rMapPointersRefCondition, | ||
const IndexType | CondId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Condition::Pointer Kratos::MmgUtilities< TMMGLibrary >::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)
[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 condition |
[out] | Ref | MMG edge reference |
[out] | IsRequired | MMG required entity (0 or 1) |
Element::Pointer Kratos::MmgUtilities< MMGLibrary::MMG2D >::CreateSecondTypeElement | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Element::Pointer > & | rMapPointersRefElement, | ||
const IndexType | ElemId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Element::Pointer Kratos::MmgUtilities< MMGLibrary::MMG3D >::CreateSecondTypeElement | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Element::Pointer > & | rMapPointersRefElement, | ||
const IndexType | ElemId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Element::Pointer Kratos::MmgUtilities< MMGLibrary::MMGS >::CreateSecondTypeElement | ( | ModelPart & | rModelPart, |
std::unordered_map< IndexType, Element::Pointer > & | rMapPointersRefElement, | ||
const IndexType | ElemId, | ||
int & | Ref, | ||
int & | IsRequired, | ||
bool | SkipCreation | ||
) |
Element::Pointer Kratos::MmgUtilities< TMMGLibrary >::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)
[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) |
|
virtual |
Returns a vector of ids of spatially repeated nodes.
[in,out] | rModelPart | The model part whose nodes are checked |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::FreeAll | ( | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::FreeAll | ( | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::FreeAll | ( | ) |
|
virtual |
This frees the MMG structures.
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
|
virtual |
This method generates displacement data from an existing model part.
[in,out] | rModelPart | The model part of interest to study |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >.
|
virtual |
This method generates solution (metric) data from an existing model part for the isosurface algorithm.
[in,out] | rModelPart | The model part of interest to study |
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
|
virtual |
This method generates solution (metric) data from an existing model part.
[in,out] | rModelPart | The model part of interest to study |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >.
DiscretizationOption Kratos::MmgUtilities< TMMGLibrary >::GetDiscretization |
This method gets the discretization method.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::GetDisplacementVector | ( | array_1d< double, 3 > & | rDisplacement | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::GetDisplacementVector | ( | array_1d< double, 3 > & | rDisplacement | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::GetDisplacementVector | ( | array_1d< double, 3 > & | rDisplacement | ) |
|
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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
SizeType Kratos::MmgUtilities< TMMGLibrary >::GetEchoLevel |
This method gets the echo level.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::GetMetricScalar | ( | double & | rMetric | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::GetMetricScalar | ( | double & | rMetric | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::GetMetricScalar | ( | double & | rMetric | ) |
|
virtual |
This function is used to retrieve the metric scalar.
[in,out] | rMetric | The inverse of the size node |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::GetMetricTensor | ( | array_1d< double, 3 > & | rMetric | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::GetMetricTensor | ( | array_1d< double, 6 > & | rMetric | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::GetMetricTensor | ( | array_1d< double, 6 > & | rMetric | ) |
|
virtual |
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 MMG defined order |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::GetMetricVector | ( | array_1d< double, 2 > & | rMetric | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::GetMetricVector | ( | array_1d< double, 3 > & | rMetric | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::GetMetricVector | ( | array_1d< double, 3 > & | rMetric | ) |
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
std::string Kratos::MmgUtilities< TMMGLibrary >::GetMmgVersion |
This method retrieves the current Mmg version.
The displacement variable for MMG.
bool Kratos::MmgUtilities< TMMGLibrary >::GetRemoveRegions |
This method gets if the regions must be removed.
|
inline |
Turn back information as a string.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::InitMesh | ( | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::InitMesh | ( | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::InitMesh | ( | ) |
|
virtual |
Initialisation of mesh and sol structures.
Initialisation of mesh and sol structures args of InitMesh:
|
virtual |
Here the verbosity is set.
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::InitVerbosityParameter | ( | const IndexType | VerbosityMMG | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::InitVerbosityParameter | ( | const IndexType | VerbosityMMG | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::InitVerbosityParameter | ( | const IndexType | VerbosityMMG | ) |
|
virtual |
Here the verbosity is set using the API.
[in] | VerbosityMMG | The equivalent verbosity level in the MMG API |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
|
virtual |
This sets the output mesh.
[in] | rInputName | The input name |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::InputMesh | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::InputMesh | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::InputMesh | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::InputSol | ( | const std::string & | rInputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::InputSol | ( | const std::string & | rInputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::InputSol | ( | const std::string & | rInputName | ) |
|
virtual |
This sets the output sol.
[in] | rInputName | The input name |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
Kratos::MmgUtilities< TMMGLibrary >::KRATOS_CLASS_POINTER_DEFINITION | ( | MmgUtilities< TMMGLibrary > | ) |
Pointer definition of MmgUtilities.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::MMGLibCallIsoSurface | ( | Parameters | ConfigurationParameters | ) |
----------------— Level set discretization option ------------------—
(Not mandatory): check if the number of given entities match with mesh size
----------------— Level set discretization ------------------------—
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::MMGLibCallIsoSurface | ( | Parameters | ConfigurationParameters | ) |
----------------— Level set discretization option ------------------—
(Not mandatory): check if the number of given entities match with mesh size
----------------— Including surface options ------------------------—
----------------— level set discretization ------------------------—
void Kratos::MmgUtilities< MMGLibrary::MMGS >::MMGLibCallIsoSurface | ( | Parameters | ConfigurationParameters | ) |
----------------— Level set discretization option ------------------—
(Not mandatory): check if the number of given entities match with mesh size
----------------— level set discretization ------------------------—
void Kratos::MmgUtilities< TMMGLibrary >::MMGLibCallIsoSurface | ( | Parameters | ConfigurationParameters | ) |
This loads the solution.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::MMGLibCallMetric | ( | Parameters | ConfigurationParameters | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::MMGLibCallMetric | ( | Parameters | ConfigurationParameters | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::MMGLibCallMetric | ( | Parameters | ConfigurationParameters | ) |
void Kratos::MmgUtilities< TMMGLibrary >::MMGLibCallMetric | ( | Parameters | ConfigurationParameters | ) |
This loads the solution.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::OutputDisplacement | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::OutputDisplacement | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::OutputDisplacement | ( | const std::string & | rOutputName | ) |
|
virtual |
This sets the output displacement.
[in] | rOutputName | The output name |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::OutputMesh | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::OutputMesh | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::OutputMesh | ( | const std::string & | rOutputName | ) |
|
virtual |
This sets the output mesh.
[in] | rOutputName | The output name |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::OutputSol | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::OutputSol | ( | const std::string & | rOutputName | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::OutputSol | ( | const std::string & | rOutputName | ) |
|
virtual |
This sets the output sol.
[in] | rOutputName | The output name |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< TMMGLibrary >::PrintAndGetMmgMeshInfo | ( | MMGMeshInfo< TMMGLibrary > & | rMMGMeshInfo | ) |
It prints info about the current mesh.
[in,out] | rMMGMeshInfo | The number of nodes, conditions and elements |
|
inline |
Print object's data.
|
inline |
Print information about this object.
void Kratos::MmgUtilities< TMMGLibrary >::ReorderAllIds | ( | ModelPart & | rModelPart | ) |
This function reorder the nodes, conditions and elements to avoid problems with non-consecutive ids.
[in,out] | rModelPart | The model part of interest to study |
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetConditions | ( | GeometryType & | rGeometry, |
const IndexType | Color, | ||
const IndexType | Index | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetConditions | ( | GeometryType & | rGeometry, |
const IndexType | Color, | ||
const IndexType | Index | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetConditions | ( | GeometryType & | rGeometry, |
const IndexType | Color, | ||
const IndexType | Index | ||
) |
|
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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< TMMGLibrary >::SetDiscretization | ( | const DiscretizationOption | Discretization | ) |
This method sets the discretization method.
[in] | Discretization | Sets the discretization method |
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetDisplacementVector | ( | const array_1d< double, 3 > & | rDisplacement, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetDisplacementVector | ( | const array_1d< double, 3 > & | rDisplacement, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetDisplacementVector | ( | const array_1d< double, 3 > & | rDisplacement, |
const IndexType | NodeId | ||
) |
|
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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetDispSizeVector | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetDispSizeVector | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetDispSizeVector | ( | const SizeType | NumNodes | ) |
|
virtual |
This sets the size of the displacement for lagrangian movement.
[in] | NumNodes | Number of nodes |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< TMMGLibrary >::SetEchoLevel | ( | const SizeType | EchoLevel | ) |
This method sets the echo level.
[in] | EchoLevel | Sets the echo level |
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetElements | ( | GeometryType & | rGeometry, |
const IndexType | Color, | ||
const IndexType | Index | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetElements | ( | GeometryType & | rGeometry, |
const IndexType | Color, | ||
const IndexType | Index | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetElements | ( | GeometryType & | rGeometry, |
const IndexType | Color, | ||
const IndexType | Index | ||
) |
|
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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetLocalParameter | ( | IndexType | rColor, |
double | HMin, | ||
double | HMax, | ||
double | HausdorffValue | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetLocalParameter | ( | IndexType | rColor, |
double | HMin, | ||
double | HMax, | ||
double | HausdorffValue | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetLocalParameter | ( | IndexType | rColor, |
double | HMin, | ||
double | HMax, | ||
double | HausdorffValue | ||
) |
void Kratos::MmgUtilities< TMMGLibrary >::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.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetMeshOptimizationModeParameter | ( | const bool | EnableMeshOptimization | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetMeshOptimizationModeParameter | ( | const bool | EnableMeshOptimization | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetMeshOptimizationModeParameter | ( | const bool | EnableMeshOptimization | ) |
|
virtual |
This sets the optimization mode using the API where edge lengths are preserved, ignoring the metric values.
[in] | EnableMeshOptimization | Boolean to set the mesh optimization mode |
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetMeshSize | ( | MMGMeshInfo< MMGLibrary::MMG2D > & | rMMGMeshInfo | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetMeshSize | ( | MMGMeshInfo< MMGLibrary::MMG3D > & | rMMGMeshInfo | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetMeshSize | ( | MMGMeshInfo< MMGLibrary::MMGS > & | rMMGMeshInfo | ) |
void Kratos::MmgUtilities< TMMGLibrary >::SetMeshSize | ( | MMGMeshInfo< TMMGLibrary > & | rMMGMeshInfo | ) |
This sets the size of the mesh.
[in,out] | rMMGMeshInfo | The number of nodes, conditions and elements |
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetMetricScalar | ( | const double | Metric, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetMetricScalar | ( | const double | Metric, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetMetricScalar | ( | const double | Metric, |
const IndexType | NodeId | ||
) |
|
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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetMetricTensor | ( | const array_1d< double, 3 > & | rMetric, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetMetricTensor | ( | const array_1d< double, 6 > & | rMetric, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetMetricTensor | ( | const array_1d< double, 6 > & | rMetric, |
const IndexType | NodeId | ||
) |
|
virtual |
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 MMG defined order |
[in] | NodeId | The id of the node |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetMetricVector | ( | const array_1d< double, 2 > & | rMetric, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetMetricVector | ( | const array_1d< double, 3 > & | rMetric, |
const IndexType | NodeId | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetMetricVector | ( | const array_1d< double, 3 > & | rMetric, |
const IndexType | NodeId | ||
) |
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetNodes | ( | const double | X, |
const double | Y, | ||
const double | Z, | ||
const IndexType | Color, | ||
const IndexType | Index | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetNodes | ( | const double | X, |
const double | Y, | ||
const double | Z, | ||
const IndexType | Color, | ||
const IndexType | Index | ||
) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetNodes | ( | const double | X, |
const double | Y, | ||
const double | Z, | ||
const IndexType | Color, | ||
const IndexType | Index | ||
) |
|
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 in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetNumberOfLocalParameters | ( | IndexType | NumberOfLocalParameter | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetNumberOfLocalParameters | ( | IndexType | NumberOfLocalParameter | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetNumberOfLocalParameters | ( | IndexType | NumberOfLocalParameter | ) |
void Kratos::MmgUtilities< TMMGLibrary >::SetNumberOfLocalParameters | ( | IndexType | NumberOfLocalParameter | ) |
Sets the number of parameters to be defined locally at each reference color. Required by the library.
void Kratos::MmgUtilities< TMMGLibrary >::SetRemoveRegions | ( | const bool | RemoveRegions | ) |
This method sets if the regions must be removed.
[in] | RemoveRegions | Sets if the regions must be removed |
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetSolSizeScalar | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetSolSizeScalar | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetSolSizeScalar | ( | const SizeType | NumNodes | ) |
|
virtual |
This sets the size of the solution for the scalar case.
[in] | NumNodes | Number of nodes |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetSolSizeTensor | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetSolSizeTensor | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetSolSizeTensor | ( | const SizeType | NumNodes | ) |
|
virtual |
This sets the size of the solution for the tensor case.
[in] | NumNodes | Number of nodes |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< MMGLibrary::MMG2D >::SetSolSizeVector | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMG3D >::SetSolSizeVector | ( | const SizeType | NumNodes | ) |
void Kratos::MmgUtilities< MMGLibrary::MMGS >::SetSolSizeVector | ( | const SizeType | NumNodes | ) |
|
virtual |
This sets the size of the solution for the vector case.
[in] | NumNodes | Number of nodes |
Reimplemented in Kratos::ParMmgUtilities< TPMMGLibrary >, and Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< TMMGLibrary >::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.
[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] | rMMGMeshInfo | The resulting mesh data |
[in] | rMapPointersRefCondition | The map of the conditions by reference (color) |
[in] | rMapPointersRefElement | The map of the elements by reference (color) |
|
virtual |
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 in Kratos::ParMmgUtilities< TPMMGLibrary >.
void Kratos::MmgUtilities< TMMGLibrary >::WriteSolDataToModelPart | ( | ModelPart & | rModelPart | ) |
This method writes sol data to an existing model part.
[in,out] | rModelPart | The model part of interest to study |
|
staticconstexpr |
Spatial dimension.
|
staticconstexpr |
Definition of the zero tolerance.