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.
impose_rigid_movement_process.h
Go to the documentation of this file.
1 // KRATOS ___| | | |
2 // \___ \ __| __| | | __| __| | | __| _` | |
3 // | | | | | ( | | | | ( | |
4 // _____/ \__|_| \__,_|\___|\__|\__,_|_| \__,_|_| MECHANICS
5 //
6 // License: BSD License
7 // license: StructuralMechanicsApplication/license.txt
8 //
9 // Main authors: Vicente Mataix Ferrandiz
10 //
11 
12 #pragma once
13 
14 // System includes
15 
16 // External includes
17 
18 // Project includes
19 #include "processes/process.h"
20 #include "includes/model_part.h"
21 
22 namespace Kratos
23 {
26 
30 
34 
38 
46 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) ImposeRigidMovementProcess
47  : public Process
48 {
49 public:
52 
55 
57  typedef Node NodeType;
58 
61 
63  typedef std::size_t IndexType;
64  typedef std::size_t SizeType;
65 
69 
76  ModelPart& rThisModelPart,
77  Parameters ThisParameters = Parameters(R"({})")
78  );
79 
82  = default;
83 
87 
91 
95 
99 
103 
104  void operator()()
105  {
106  Execute();
107  }
108 
112 
116  void Execute() override;
117 
121  void ExecuteInitialize() override;
122 
126  const Parameters GetDefaultParameters() const override;
127 
131 
132 
136 
137 
141 
143  std::string Info() const override
144  {
145  return "ImposeRigidMovementProcess";
146  }
147 
149  void PrintInfo(std::ostream& rOStream) const override
150  {
151  rOStream << "ImposeRigidMovementProcess";
152  }
153 
155  void PrintData(std::ostream& rOStream) const override
156  {
157  }
158 
162 
163 
165 
166 protected:
169 
170 
174 
175 
179 
180 
184 
188 
189 
193 
194 
198 
199 
201 
202 private:
205 
206 
210 
211  ModelPart& mrThisModelPart;
212  Parameters mThisParameters;
213 
217 
221 
222 
226 
227 
231 
232 
236 
239 
241  //ImposeRigidMovementProcess(ImposeRigidMovementProcess const& rOther);
242 
243 
245 
246 }; // Class ImposeRigidMovementProcess
247 
249 
252 
253 
257 
259 inline std::istream& operator >> (std::istream& rIStream,
261 
263 inline std::ostream& operator << (std::ostream& rOStream,
264  const ImposeRigidMovementProcess& rThis)
265 {
266  rThis.PrintInfo(rOStream);
267  rOStream << std::endl;
268  rThis.PrintData(rOStream);
269 
270  return rOStream;
271 }
272 
273 }
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
void ExecuteInitialize() override
Definition: periodic_interface_process.hpp:37
This method assign linear kinematic constrains to a certain submodelpart.
Definition: impose_rigid_movement_process.h:48
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: impose_rigid_movement_process.h:155
std::string Info() const override
Turn back information as a string.
Definition: impose_rigid_movement_process.h:143
Node NodeType
General type definitions.
Definition: impose_rigid_movement_process.h:57
void operator()()
Definition: impose_rigid_movement_process.h:104
std::size_t SizeType
Definition: impose_rigid_movement_process.h:64
~ImposeRigidMovementProcess() override=default
Destructor.
KRATOS_CLASS_POINTER_DEFINITION(ImposeRigidMovementProcess)
Pointer definition of ImposeRigidMovementProcess.
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: impose_rigid_movement_process.h:149
std::size_t IndexType
Definitions of the integers.
Definition: impose_rigid_movement_process.h:63
ModelPart::MasterSlaveConstraintContainerType ConstraintContainerType
General containers type definitions.
Definition: impose_rigid_movement_process.h:60
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
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
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