18 #include <unordered_set>
19 #include <unordered_map>
66 template<SizeType TDim>
91 using HashSetVectorIntType = std::unordered_set<VectorIndexType, VectorIndexHasherType, VectorIndexComparorType>;
97 using HashMapVectorIntType = std::unordered_map<VectorIndexType, VectorIndexType, VectorIndexHasherType, VectorIndexComparorType>;
103 using HashMapVectorIntIdsType = std::unordered_map<VectorIndexType, IndexType, VectorIndexHasherType, VectorIndexComparorType>;
141 void Execute()
override;
156 std::string
Info()
const override
158 return "SkinDetectionProcess";
164 rOStream <<
"SkinDetectionProcess";
197 void GenerateFaceMaps(
198 HashMapVectorIntType& rInverseFaceMap,
199 HashMapVectorIntIdsType& rPropertiesFaceMap)
const;
211 void FillAuxiliaryModelPart(
213 HashMapVectorIntType& rInverseFaceMap,
214 HashMapVectorIntIdsType& rPropertiesFaceMap);
224 virtual void CreateConditions(
227 HashMapVectorIntType& rInverseFaceMap,
228 HashMapVectorIntIdsType& rPropertiesFaceMap,
229 std::unordered_set<IndexType>& rNodesInTheSkin,
230 const std::string& rConditionName
236 void SetUpAdditionalSubModelParts(
const ModelPart& rAuxiliaryModelPart);
241 const Parameters GetDefaultParameters()
const override;
287 void GenerateSetNodeIdsInterface(std::unordered_set<IndexType>& rSetNodeIdsInterface);
294 void FilterMPIInterfaceNodes(
295 const std::unordered_set<IndexType>& rSetNodeIdsInterface,
296 HashMapVectorIntType& rInverseFaceMap
328 template<SizeType TDim>
333 template<SizeType TDim>
338 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
This class is a vector which stores global pointers.
Definition: global_pointers_vector.h:61
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
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
An algorithm that looks for neighbour elements in a mesh and creates a submodelpart containing the sk...
Definition: skin_detection_process.h:69
std::unordered_map< VectorIndexType, IndexType, VectorIndexHasherType, VectorIndexComparorType > HashMapVectorIntIdsType
Define the map considered for properties ids.
Definition: skin_detection_process.h:103
void operator()()
Definition: skin_detection_process.h:129
std::vector< IndexType > VectorIndexType
Definition of the vector indexes considered.
Definition: skin_detection_process.h:82
HashMapVectorIntIdsType::iterator HashMapVectorIntIdsTypeIteratorType
Define the HashMapVectorIntIdsType iterator type.
Definition: skin_detection_process.h:106
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: skin_detection_process.h:162
HashSetVectorIntType::iterator HashSetVectorIntTypeIteratorType
Define the HashSetVectorIntTypeIteratorType iterator type.
Definition: skin_detection_process.h:94
std::string Info() const override
Turn back information as a string.
Definition: skin_detection_process.h:156
std::unordered_set< VectorIndexType, VectorIndexHasherType, VectorIndexComparorType > HashSetVectorIntType
Define the set considered for element pointers.
Definition: skin_detection_process.h:91
virtual ~SkinDetectionProcess()
Destructor.
Definition: skin_detection_process.h:123
HashMapVectorIntType::iterator HashMapVectorIntTypeIteratorType
Define the HashMapVectorIntTypeIteratorType iterator type.
Definition: skin_detection_process.h:100
KRATOS_CLASS_POINTER_DEFINITION(SkinDetectionProcess)
Pointer definition of SkinDetectionProcess.
std::unordered_map< VectorIndexType, VectorIndexType, VectorIndexHasherType, VectorIndexComparorType > HashMapVectorIntType
Define the map considered for face ids.
Definition: skin_detection_process.h:97
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: skin_detection_process.h:168
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Geometry< Node > GeometryType
The definition of the geometry.
Definition: mortar_classes.h:37
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
This is a key comparer between two vectors of indexes.
Definition: key_hash.h:351
This is a hasher between two vectors of indexes.
Definition: key_hash.h:333