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.
free_surface_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: kratos/license.txt
9 //
10 // Main authors: Antonia Larese
11 //
12 
13 
14 #if !defined(KRATOS_FREE_SURFACE_APPLICATION_H_INCLUDED )
15 #define KRATOS_FREE_SURFACE_APPLICATION_H_INCLUDED
16 
17 
18 // System includes
19 #include <string>
20 #include <iostream>
21 
22 
23 // External includes
24 
25 
26 // Project includes
27 #include "includes/define.h"
29 #include "includes/variables.h"
30 
31 
32 namespace Kratos {
33 
36 
40 
44 
48 
52 
54 
56 class KRATOS_API(FREE_SURFACE_APPLICATION) KratosFreeSurfaceApplication : public KratosApplication {
57 public:
60 
61 
64 
68 
71 
74 
75 
79 
80 
84 
85  virtual void Register() override;
86 
87 
88 
92 
93 
97 
98 
102 
104  virtual std::string Info() const override
105  {
106  return "KratosFreeSurfaceApplication";
107  }
108 
110  virtual void PrintInfo(std::ostream& rOStream) const override
111  {
112  rOStream << Info();
113  PrintData(rOStream);
114  }
115 
117  virtual void PrintData(std::ostream& rOStream) const override
118  {
119  KRATOS_WATCH("in my application");
121 
122  rOStream << "Variables:" << std::endl;
124  rOStream << std::endl;
125  rOStream << "Elements:" << std::endl;
126  KratosComponents<Element>().PrintData(rOStream);
127  rOStream << std::endl;
128  rOStream << "Conditions:" << std::endl;
129  KratosComponents<Condition>().PrintData(rOStream);
130  }
131 
132 
136 
137 
139 
140 protected:
143 
144 
148 
149 
153 
154 
158 
159 
163 
164 
168 
169 
173 
174 
176 
177 private:
180 
181  // static const ApplicationCondition msApplicationCondition;
182 
186 
187  // const Elem2D mElem2D;
188  // const Elem3D mElem3D;
189 
193 
194 
198 
199 
203 
204 
208 
209 
213 
216 
219 
220 
222 
223 }; // Class KratosFreeSurfaceApplication
224 
226 
227 
230 
231 
235 
237 
238 
239 } // namespace Kratos.
240 
241 #endif // KRATOS_FREE_SURFACE_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: free_surface_application.h:56
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: free_surface_application.h:110
KRATOS_CLASS_POINTER_DEFINITION(KratosFreeSurfaceApplication)
Pointer definition of KratosFreeSurfaceApplication.
virtual ~KratosFreeSurfaceApplication()
Destructor.
Definition: free_surface_application.h:73
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: free_surface_application.h:117
virtual std::string Info() const override
Turn back information as a string.
Definition: free_surface_application.h:104
#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