13 #if !defined(KRATOS_LEVELSET_METRICS_PROCESS)
14 #define KRATOS_LEVELSET_METRICS_PROCESS
52 template<SizeType TDim>
118 const Parameters GetDefaultParameters()
const override;
127 void Execute()
override;
144 std::string
Info()
const override
146 return "ComputeLevelSetSolMetricProcess";
152 rOStream <<
"ComputeLevelSetSolMetricProcess";
207 std::string mRatioReferenceVariable =
"DISTANCE";
208 std::string mSizeReferenceVariable =
"DISTANCE";
211 bool mEnforceCurrent;
212 double mAnisotropicRatio;
214 double mSizeBoundLayer;
216 Interpolation mInterpolation;
217 Interpolation mSizeInterpolation;
234 TensorArrayType ComputeLevelSetMetricTensor(
237 const double ElementSize
246 Interpolation ConvertInter(
const std::string& Str)
248 if(Str ==
"Constant" || Str ==
"CONSTANT" || Str ==
"constant")
249 return Interpolation::CONSTANT;
250 else if(Str ==
"Linear" || Str ==
"LINEAR" || Str ==
"linear")
251 return Interpolation::LINEAR;
252 else if(Str ==
"Exponential" || Str ==
"EXPONENTIAL" || Str ==
"exponential")
253 return Interpolation::EXPONENTIAL;
254 else if(Str ==
"piecewise_linear" || Str ==
"PIECEWISE_LINEAR")
255 return Interpolation::PIECEWISE_LINEAR;
257 return Interpolation::LINEAR;
268 double CalculateAnisotropicRatio(
269 const double Distance
272 double CalculateElementSize(
273 const double Distance,
294 ComputeLevelSetSolMetricProcess&
operator=(ComputeLevelSetSolMetricProcess
const& rOther)
314 template<
unsigned int TDim>
319 template<
unsigned int TDim>
324 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
This class is can be used to compute the metrics of the model part with a level set approach.
Definition: metrics_levelset_process.h:55
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: metrics_levelset_process.h:150
ModelPart::ConditionsContainerType ConditionsArrayType
Definition: metrics_levelset_process.h:70
void PrintData(std::ostream &rOStream) const override
Print object"s data.
Definition: metrics_levelset_process.h:156
std::size_t IndexType
The index type definition.
Definition: metrics_levelset_process.h:73
KRATOS_CLASS_POINTER_DEFINITION(ComputeLevelSetSolMetricProcess)
Pointer definition of ComputeLevelSetSolMetricProcess.
Interpolation
This enums allows to differentiate the interpolation types.
Definition: metrics_levelset_process.h:85
Node NodeType
Node definition.
Definition: metrics_levelset_process.h:65
ModelPart::ElementsContainerType ElementsArrayType
Definition: metrics_levelset_process.h:69
~ComputeLevelSetSolMetricProcess() override=default
Destructor.
std::conditional< TDim==2, array_1d< double, 3 >, array_1d< double, 6 > >::type TensorArrayType
The type of array considered for the tensor.
Definition: metrics_levelset_process.h:76
ModelPart::NodesContainerType NodesArrayType
Containers definition.
Definition: metrics_levelset_process.h:68
std::string Info() const override
Turn back information as a string.
Definition: metrics_levelset_process.h:144
void operator()()
Definition: metrics_levelset_process.h:110
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
MeshType::ConditionsContainerType ConditionsContainerType
Condintions container. A vector set of Conditions with their Id's as key.
Definition: model_part.h:183
MeshType::ElementsContainerType ElementsContainerType
Element container. A vector set of Elements with their Id's as key.
Definition: model_part.h:168
MeshType::NodesContainerType NodesContainerType
Nodes container. Which is a vector set of nodes with their Id's as key.
Definition: model_part.h:128
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
The base class for all processes in Kratos.
Definition: process.h:49
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
type
Definition: generate_gid_list_file.py:35