17 #include <unordered_map>
97 typedef std::unordered_map<VectorIndexType, IndexType, VectorIndexHasherType, VectorIndexComparorType >
HashMapVectorIntIntType;
119 const bool ComputeOnNodes =
false
120 ) : mrModelPart(rModelPart),
121 mComputeOnNodes(ComputeOnNodes)
144 void Execute()
override;
154 void ExecuteFinalize()
override;
171 virtual std::string
Info()
const override
173 return "PrismNeighboursProcess";
177 virtual void PrintInfo(std::ostream& rOStream)
const override
179 rOStream <<
"PrismNeighboursProcess";
183 virtual void PrintData(std::ostream& rOStream)
const override
233 const bool mComputeOnNodes;
242 void ClearNeighbours();
251 template<
class TDataType >
252 void AddUniqueWeakPointer(
254 const typename TDataType::WeakPointer Candidate
259 while ( beginit != endit && beginit->Id() != (Candidate)->Id()) {
262 if( beginit == endit ) {
288 PrismNeighboursProcess&
operator=(PrismNeighboursProcess
const& rOther);
314 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
Geometry base class.
Definition: geometry.h:71
This class is a vector which stores global pointers.
Definition: global_pointers_vector.h:61
boost::indirect_iterator< typename TContainerType::iterator > iterator
Definition: global_pointers_vector.h:79
void push_back(TPointerType x)
Definition: global_pointers_vector.h:322
iterator begin()
Definition: global_pointers_vector.h:221
iterator end()
Definition: global_pointers_vector.h:229
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
An algorithm that looks for neighbour nodes and elements in a mesh of prismatic elements.
Definition: prism_neighbours_process.h:55
std::size_t SizeType
The definition of the sizetype.
Definition: prism_neighbours_process.h:85
HashMapVectorIntElementPointerType::iterator HashMapVectorIntElementPointerIteratorType
Define the HashMapVectorIntElementPointerType iterator type.
Definition: prism_neighbours_process.h:106
void operator()()
Definition: prism_neighbours_process.h:132
virtual std::string Info() const override
Turn back information as a string.
Definition: prism_neighbours_process.h:171
Geometry< NodeType > GeometryType
Definition: prism_neighbours_process.h:65
Node NodeType
Definition: prism_neighbours_process.h:64
virtual ~PrismNeighboursProcess()
Destructor.
Definition: prism_neighbours_process.h:126
GlobalPointersVector< NodeType > NodePointerVector
Definition: prism_neighbours_process.h:78
vector< IndexType > VectorIndexType
Definition of the vector indexes considered.
Definition: prism_neighbours_process.h:88
std::unordered_map< VectorIndexType, Element::Pointer, VectorIndexHasherType, VectorIndexComparorType > HashMapVectorIntElementPointerType
Define the map considered for elemento pointers.
Definition: prism_neighbours_process.h:103
KRATOS_CLASS_POINTER_DEFINITION(PrismNeighboursProcess)
Pointer definition of PrismNeighboursProcess.
ModelPart::ConditionsContainerType ConditionsArrayType
Definition: prism_neighbours_process.h:69
std::size_t IndexType
The definition of the index type.
Definition: prism_neighbours_process.h:82
PrismNeighboursProcess(ModelPart &rModelPart, const bool ComputeOnNodes=false)
Default constructor.
Definition: prism_neighbours_process.h:117
HashMapVectorIntIntType::iterator HashMapVectorIntIntIteratorType
Define the HashMapVectorIntIntType iterator type.
Definition: prism_neighbours_process.h:100
NodesArrayType::iterator NodesIterarorType
Definition: prism_neighbours_process.h:73
GlobalPointersVector< Element > ElementPointerVector
Definition: prism_neighbours_process.h:79
ModelPart::NodesContainerType NodesArrayType
Definition: prism_neighbours_process.h:68
ConditionsArrayType::iterator ConditionsIteratorType
Definition: prism_neighbours_process.h:74
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: prism_neighbours_process.h:177
VectorIndexComparor< VectorIndexType > VectorIndexComparorType
Definition of the key comparor considered.
Definition: prism_neighbours_process.h:94
ModelPart::ElementsContainerType ElementsArrayType
Definition: prism_neighbours_process.h:70
VectorIndexHasher< VectorIndexType > VectorIndexHasherType
Definition of the hasher considered.
Definition: prism_neighbours_process.h:91
ElementsArrayType::iterator ElementsIteratorType
Definition: prism_neighbours_process.h:75
std::unordered_map< VectorIndexType, IndexType, VectorIndexHasherType, VectorIndexComparorType > HashMapVectorIntIntType
Define the map considered for indexes.
Definition: prism_neighbours_process.h:97
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: prism_neighbours_process.h:183
The base class for all processes in Kratos.
Definition: process.h:49
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
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