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.
mesh_moving_modeler.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Miguel Maso Sotomayor
11 //
12 
13 #ifndef KRATOS_MESH_MOVING_MODELER_H_INCLUDED
14 #define KRATOS_MESH_MOVING_MODELER_H_INCLUDED
15 
16 
17 // System includes
18 
19 
20 // External includes
21 
22 
23 // Project includes
24 #include "modeler/modeler.h"
25 
26 
27 namespace Kratos
28 {
31 
34 
38 
42 
46 
50 
58 class KRATOS_API(SHALLOW_WATER_APPLICATION) MeshMovingModeler : public Modeler
59 {
60 public:
63 
66 
69 
70  typedef Node NodeType;
71 
73 
77 
82 
86  MeshMovingModeler(Model& rModel, Parameters ModelerParameters = Parameters());
87 
91  virtual ~MeshMovingModeler() = default;
92 
96  Modeler::Pointer Create(Model& rModel, const Parameters ModelParameters) const override
97  {
98  return Kratos::make_shared<MeshMovingModeler>(rModel, ModelParameters);
99  }
100 
104 
105 
109 
111  void SetupGeometryModel() override;
112 
114  void PrepareGeometryModel() override;
115 
117  void SetupModelPart() override;
118 
122 
123 
127 
128 
132 
134  std::string Info() const override
135  {
136  std::stringstream buffer;
137  buffer << "MeshMovingModeler";
138  return buffer.str();
139  }
140 
142  void PrintInfo(std::ostream& rOStream) const override
143  {
144  rOStream << Info();
145  }
146 
148  void PrintData(std::ostream& rOStream) const override {}
149 
153 
154 
156 
157 private:
160 
161  Model* mpModel;
162 
166 
167 
171 
172  const Parameters GetDefaultParameters() const override;
173 
175 
176 }; // Class MeshMovingModeler
177 
179 
182 
183 
187 
188 
190 inline std::istream& operator >> (std::istream& rIStream,
191  MeshMovingModeler& rThis);
192 
194 inline std::ostream& operator << (std::ostream& rOStream,
195  const MeshMovingModeler& rThis)
196 {
197  rThis.PrintInfo(rOStream);
198  rOStream << std::endl;
199  rThis.PrintData(rOStream);
200 
201  return rOStream;
202 }
204 
206 
207 } // namespace Kratos.
208 
209 #endif // KRATOS_MESH_MOVING_MODELER_H_INCLUDED defined
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Tools for lagrangian computations.
Definition: mesh_moving_modeler.h:59
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: mesh_moving_modeler.h:148
std::string Info() const override
Turn back information as a string.
Definition: mesh_moving_modeler.h:134
Node NodeType
Definition: mesh_moving_modeler.h:70
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: mesh_moving_modeler.h:142
virtual ~MeshMovingModeler()=default
Destructor.
KRATOS_CLASS_POINTER_DEFINITION(MeshMovingModeler)
Pointer definition of MeshMovingModeler.
KRATOS_DEFINE_LOCAL_FLAG(TO_COPY)
Local Flags.
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition: mesh_moving_modeler.h:72
Modeler::Pointer Create(Model &rModel, const Parameters ModelParameters) const override
Creates the Modeler Pointer.
Definition: mesh_moving_modeler.h:96
This class aims to manage different model parts across multi-physics simulations.
Definition: model.h:60
Modeler to interact with ModelParts.
Definition: modeler.h:39
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
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
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