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_application.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license:
9 // kratos/license.txt
10 //
11 // Main authors: Andreas Winterstein (a.winterstein@tum.de)
12 //
13 
14 #if !defined(KRATOS_MESH_MOVING_APPLICATION_H_INCLUDED)
15 #define KRATOS_MESH_MOVING_APPLICATION_H_INCLUDED
16 
17 // System includes
18 #include <iostream>
19 #include <string>
20 
21 // External includes
22 
23 // Project includes
24 #include "includes/define.h"
26 
29 
30 namespace Kratos {
31 
34 
35 // Variables definition
36 
40 
44 
48 
52 
54 
56 class KRATOS_API(MESH_MOVING_APPLICATION) KratosMeshMovingApplication : public KratosApplication {
57 public:
60 
63 
67 
70 
73 
77 
81 
82  void Register() override;
83 
87 
91 
95 
97  std::string Info() const override { return "KratosMeshMovingApplication"; }
98 
100  void PrintInfo(std::ostream &rOStream) const override {
101  rOStream << Info();
102  PrintData(rOStream);
103  }
104 
106  void PrintData(std::ostream &rOStream) const override {
107  KRATOS_WATCH("in my application");
109  rOStream << "Variables:" << std::endl;
111  rOStream << std::endl;
112  rOStream << "Elements:" << std::endl;
113  KratosComponents<Element>().PrintData(rOStream);
114  rOStream << std::endl;
115  rOStream << "Conditions:" << std::endl;
116  KratosComponents<Condition>().PrintData(rOStream);
117  }
118 
122 
124 
125 protected:
128 
132 
136 
140 
144 
148 
152 
154 
155 private:
158 
159  // static const ApplicationCondition msApplicationCondition;
160 
164  const LaplacianMeshMovingElement mLaplacianMeshMovingElement2D3N;
165  const LaplacianMeshMovingElement mLaplacianMeshMovingElement2D4N;
166  const LaplacianMeshMovingElement mLaplacianMeshMovingElement3D4N;
167  const LaplacianMeshMovingElement mLaplacianMeshMovingElement3D8N;
168  const StructuralMeshMovingElement mStructuralMeshMovingElement2D3N;
169  const StructuralMeshMovingElement mStructuralMeshMovingElement2D4N;
170  const StructuralMeshMovingElement mStructuralMeshMovingElement3D4N;
171  const StructuralMeshMovingElement mStructuralMeshMovingElement3D8N;
172  const StructuralMeshMovingElement mStructuralMeshMovingElement3D6N;
173  const StructuralMeshMovingElement mStructuralMeshMovingElement3D15N;
174  const LaplacianMeshMovingElement mLaplacianMeshMovingElement;
175  const StructuralMeshMovingElement mStructuralMeshMovingElement;
179 
183 
187 
191 
195 
198 
201 
203 
204 }; // Class KratosMeshMovingApplication
205 
207 
210 
214 
216 
217 } // namespace Kratos.
218 
219 #endif // KRATOS_MESH_MOVING_APPLICATION_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
This class defines the interface with kernel for all applications in Kratos.
Definition: kratos_application.h:91
Definition: kratos_components.h:253
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: kratos_components.h:403
KratosComponents class encapsulates a lookup table for a family of classes in a generic way.
Definition: kratos_components.h:49
Short class definition.
Definition: mesh_moving_application.h:56
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: mesh_moving_application.h:106
KRATOS_CLASS_POINTER_DEFINITION(KratosMeshMovingApplication)
Pointer definition of KratosMeshMovingApplication.
~KratosMeshMovingApplication() override
Destructor.
Definition: mesh_moving_application.h:72
std::string Info() const override
Turn back information as a string.
Definition: mesh_moving_application.h:97
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: mesh_moving_application.h:100
Definition: laplacian_meshmoving_element.h:48
Definition: structural_meshmoving_element.h:48
#define KRATOS_WATCH(variable)
Definition: define.h:806
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KRATOS_API_EXTERN template class KratosComponents< Condition >
Definition: condition.h:1191
KRATOS_API_EXTERN template class KratosComponents< Element >
Definition: element.h:1240