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.
generic_find_elements_neighbours_process.h
Go to the documentation of this file.
1 #if !defined(KRATOS_GENERIC_FIND_ELEMENTAL_NEIGHBOURS_PROCESS_H_INCLUDED )
2 #define KRATOS_GENERIC_FIND_ELEMENTAL_NEIGHBOURS_PROCESS_H_INCLUDED
3 
4 
5 
6 // System includes
7 #include <string>
8 #include <iostream>
9 #include <unordered_map>
10 
11 // External includes
12 
13 
14 // Project includes
15 #include "includes/define.h"
16 #include "processes/process.h"
18 #include "includes/node.h"
19 #include "includes/element.h"
20 #include "includes/model_part.h"
22 
23 
24 
25 namespace Kratos
26 {
27 
30 
34 
35 
39 
43 
47 
56 class KRATOS_API(KRATOS_CORE) GenericFindElementalNeighboursProcess
57  : public Process
58 {
59 public:
65 
66 
69 
71 
75 
78  : mrModelPart(model_part)
79  {
80  }
81 
84  {
85  }
86 
87 
91 
92  void Execute() override;
93 
94  void ExecuteInitialize() override;
95 
96 
97  std::vector<bool> HasNeighboursInFaces(const Element&) ;
98 
102 
103 
107 
108 
112 
114  std::string Info() const override
115  {
116  return "FindElementalNeighboursProcess";
117  }
118 
120  void PrintInfo(std::ostream& rOStream) const override
121  {
122  rOStream << "FindElementalNeighboursProcess";
123  }
124 
126  void PrintData(std::ostream& rOStream) const override
127  {
128  }
129 
130 
134 
135 
137 
138 private:
141 
142 
146 
147  ModelPart& mrModelPart;
148 
152 
153 
157 
158 
159  GlobalPointer<Element> CheckForNeighbourElems (const Geometry<Node >& rBoundaryGeom,
160  Element & rElement,
161  const int Rank);
162 
163 
167 
168 
172 
173 
177 
180 
182 
183 }; // Class GenericFindElementalNeighboursProcess
184 
186 
189 
190 
194 
195 
197 inline std::istream& operator >> (std::istream& rIStream,
199 
201 inline std::ostream& operator << (std::ostream& rOStream,
203 {
204  rThis.PrintInfo(rOStream);
205  rOStream << std::endl;
206  rThis.PrintData(rOStream);
207 
208  return rOStream;
209 }
211 
212 
213 } // namespace Kratos.
214 
215 #endif // KRATOS_GENERIC_FIND_ELEMENTAL_NEIGHBOURS_PROCESS_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
Base class for all Elements.
Definition: element.h:60
Definition: generic_find_elements_neighbours_process.h:58
GlobalPointersVector< Element > ElementPointerVector
Definition: generic_find_elements_neighbours_process.h:70
std::string Info() const override
Turn back information as a string.
Definition: generic_find_elements_neighbours_process.h:114
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: generic_find_elements_neighbours_process.h:126
ModelPart::ElementsContainerType ElementsContainerType
Definition: generic_find_elements_neighbours_process.h:63
ModelPart::NodesContainerType NodesContainerType
Definition: generic_find_elements_neighbours_process.h:62
Geometry< Node > GeometryType
Definition: generic_find_elements_neighbours_process.h:64
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: generic_find_elements_neighbours_process.h:120
GenericFindElementalNeighboursProcess(ModelPart &model_part)
Default constructor.
Definition: generic_find_elements_neighbours_process.h:77
KRATOS_CLASS_POINTER_DEFINITION(GenericFindElementalNeighboursProcess)
Pointer definition of GenericFindElementalNeighboursProcess.
~GenericFindElementalNeighboursProcess() override
Destructor.
Definition: generic_find_elements_neighbours_process.h:83
Geometry base class.
Definition: geometry.h:71
This class is a wrapper for a pointer to a data that is located in a different rank.
Definition: global_pointer.h:44
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
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
model_part
Definition: face_heat.py:14