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.
compute_mass_moment_of_inertia_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: Philipp Bucher
10 // Salman Yousaf
11 //
12 
13 #pragma once
14 
15 // System includes
16 
17 // External includes
18 
19 // Project includes
20 #include "processes/process.h"
21 #include "includes/model_part.h"
22 
23 namespace Kratos
24 {
27 
31 
35 
39 
50 class KRATOS_API(STRUCTURAL_MECHANICS_APPLICATION) ComputeMassMomentOfInertiaProcess
51  : public Process
52 {
53 public:
56 
59 
63 
66  ModelPart& rThisModelPart,
67  const Point& rPoint1,
68  const Point& rPoint2
69  ):mrThisModelPart(rThisModelPart) , mrPoint1(rPoint1), mrPoint2(rPoint2)
70  { }
71 
73  ~ComputeMassMomentOfInertiaProcess() override = default;
74 
78 
82 
86 
90 
94 
98 
99  void Execute() override;
100 
104 
105 
109 
110 
114 
116  std::string Info() const override
117  {
118  return "ComputeMassMomentOfInertiaProcess";
119  }
120 
122  void PrintInfo(std::ostream& rOStream) const override
123  {
124  rOStream << "ComputeMassMomentOfInertiaProcess";
125  }
126 
128  void PrintData(std::ostream& rOStream) const override
129  {
130  }
131 
135 
136 
138 
139 protected:
142 
143 
147 
148 
152 
153 
157 
161 
162 
166 
167 
171 
172 
174 
175 private:
178 
179 
183 
184  ModelPart& mrThisModelPart; // The main model part
185  const Point& mrPoint1; // Point 1 of the axis of rotation
186  const Point& mrPoint2; // Point 2 of the axis of rotation
187 
191 
195 
196 
200 
201 
205 
206 
210 
213 
216 
217 
219 
220 }; // Class ComputeMassMomentOfInertiaProcess
221 
223 
226 
227 
231 
233 // inline std::istream& operator >> (std::istream& rIStream,
234 // ComputeMassMomentOfInertiaProcess& rThis);
235 //
236 // /// output stream function
237 // inline std::ostream& operator << (std::ostream& rOStream,
238 // const ComputeMassMomentOfInertiaProcess& rThis)
239 // {
240 // rThis.PrintInfo(rOStream);
241 // rOStream << std::endl;
242 // rThis.PrintData(rOStream);
243 //
244 // return rOStream;
245 // }
246 
247 }
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
This method computes the moment of inertia (rotational)
Definition: compute_mass_moment_of_inertia_process.h:52
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: compute_mass_moment_of_inertia_process.h:122
KRATOS_CLASS_POINTER_DEFINITION(ComputeMassMomentOfInertiaProcess)
Pointer definition of ComputeMassMomentOfInertiaProcess.
std::string Info() const override
Turn back information as a string.
Definition: compute_mass_moment_of_inertia_process.h:116
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: compute_mass_moment_of_inertia_process.h:128
ComputeMassMomentOfInertiaProcess(ModelPart &rThisModelPart, const Point &rPoint1, const Point &rPoint2)
Default constructor.
Definition: compute_mass_moment_of_inertia_process.h:65
~ComputeMassMomentOfInertiaProcess() override=default
Destructor.
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
Point class.
Definition: point.h:59
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