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.
fluid_transport_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: @{KRATOS_APP_AUTHOR}
11 //
12 
13 
14 #if !defined(KRATOS_FLUID_TRANSPORT_APPLICATION_H_INCLUDED )
15 #define KRATOS_FLUID_TRANSPORT_APPLICATION_H_INCLUDED
16 
17 
18 // System includes
19 #include <string>
20 #include <iostream>
21 
22 // Project includes
23 #include "includes/define.h"
25 
26 // Application includes
28 
33 
34 
35 namespace Kratos
36 {
37 
40 
44 
48 
52 
56 
58 
60 class KRATOS_API(FLUID_TRANSPORT_APPLICATION) KratosFluidTransportApplication : public KratosApplication
61 {
62 
63 public:
66 
67 
70 
74 
77 
80 
81 
85 
86 
90 
91  void Register() override;
92 
93 
94 
98 
99 
103 
104 
108 
110  std::string Info() const override
111  {
112  return "KratosFluidTransportApplication";
113  }
114 
116  void PrintInfo(std::ostream& rOStream) const override
117  {
118  rOStream << Info();
119  PrintData(rOStream);
120  }
121 
123  void PrintData(std::ostream& rOStream) const override
124  {
125  KRATOS_WATCH("in my application");
127  rOStream << "Variables:" << std::endl;
129  rOStream << std::endl;
130  rOStream << "Elements:" << std::endl;
131  KratosComponents<Element>().PrintData(rOStream);
132  rOStream << std::endl;
133  rOStream << "Conditions:" << std::endl;
134  KratosComponents<Condition>().PrintData(rOStream);
135  }
136 
137 
141 
142 
144 
145 protected:
148 
149 
153 
154 
158 
159 
163 
164 
168 
169 
173 
174 
178 
179 
181 
182 private:
185 
186  // static const ApplicationCondition msApplicationCondition;
187 
191 
192  const SteadyConvectionDiffusionFICElement<2,3> mSteadyConvectionDiffusionFICElement2D3N;
193  const SteadyConvectionDiffusionFICElement<2,4> mSteadyConvectionDiffusionFICElement2D4N;
194  const SteadyConvectionDiffusionFICElement<3,4> mSteadyConvectionDiffusionFICElement3D4N;
195  const SteadyConvectionDiffusionFICElement<3,8> mSteadyConvectionDiffusionFICElement3D8N;
196 
197  const TransientConvectionDiffusionFICElement<2,3> mTransientConvectionDiffusionFICElement2D3N;
198  const TransientConvectionDiffusionFICElement<2,4> mTransientConvectionDiffusionFICElement2D4N;
199  const TransientConvectionDiffusionFICElement<3,4> mTransientConvectionDiffusionFICElement3D4N;
200  const TransientConvectionDiffusionFICElement<3,8> mTransientConvectionDiffusionFICElement3D8N;
201 
202  const TransientConvectionDiffusionFICExplicitElement<2,3> mTransientConvectionDiffusionFICExplicitElement2D3N;
203  const TransientConvectionDiffusionFICExplicitElement<2,4> mTransientConvectionDiffusionFICExplicitElement2D4N;
204  const TransientConvectionDiffusionFICExplicitElement<3,4> mTransientConvectionDiffusionFICExplicitElement3D4N;
205  const TransientConvectionDiffusionFICExplicitElement<3,8> mTransientConvectionDiffusionFICExplicitElement3D8N;
206 
207  const TransientConvectionDiffusionPFEM2FICElement<2,3> mTransientConvectionDiffusionPFEM2FICElement2D3N;
208  const TransientConvectionDiffusionPFEM2FICElement<2,4> mTransientConvectionDiffusionPFEM2FICElement2D4N;
209  const TransientConvectionDiffusionPFEM2FICElement<3,4> mTransientConvectionDiffusionPFEM2FICElement3D4N;
210  const TransientConvectionDiffusionPFEM2FICElement<3,8> mTransientConvectionDiffusionPFEM2FICElement3D8N;
211 
212  // const Elem2D mElem2D;
213  // const Elem3D mElem3D;
214 
218 
219 
223 
224 
228 
229 
233 
234 
238 
241 
244 
245 
247 
248 }; // Class KratosFluidTransportApplication
249 
251 
252 
255 
256 
260 
262 
263 
264 } // namespace Kratos.
265 
266 #endif // KRATOS_MY_LAPLACIAN_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: fluid_transport_application.h:61
std::string Info() const override
Turn back information as a string.
Definition: fluid_transport_application.h:110
KRATOS_CLASS_POINTER_DEFINITION(KratosFluidTransportApplication)
Pointer definition of KratosFluidTransportApplication.
~KratosFluidTransportApplication() override
Destructor.
Definition: fluid_transport_application.h:79
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: fluid_transport_application.h:123
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: fluid_transport_application.h:116
#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