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.
pfem_2_application.h
Go to the documentation of this file.
1 //
2 // Project Name: Kratos
3 // Last Modified by: $Author: $
4 // Date: $Date: $
5 // Revision: $Revision: 1.2 $
6 //
7 //
8 
9 
10 #if !defined(KratosPFEM2Application_H_INCLUDED )
11 #define KratosPFEM2Application_H_INCLUDED
12 
13 
14 
15 // System includes
16 #include <string>
17 #include <iostream>
18 
19 
20 // External includes
21 
22 
23 // Project includes
24 #include "includes/define.h"
27 
28 #include "custom_elements/fractional_step_pfem_2_2d.h" //including the file for the element
29 #include "custom_elements/fractional_step_pfem_2_3d.h" //including the file for the element
30 #include "custom_elements/monolithic_2fluid_2d.h" //including the file for the element
31 #include "custom_elements/monolithic_2fluid_3d.h" //including the file for the element
32 #include "custom_elements/nonewtonian_2fluid_2d.h" //including the file for the element
33 #include "custom_elements/nonewtonian_2fluid_3d.h" //including the file for the element
34 #include "custom_elements/monolithic_2fluid_2d_partintegration.h" //including the file for the element
35 #include "custom_elements/monolithic_2fluid_3d_partintegration.h" //including the file for the element
36 //#include "custom_elements/vel_enriched_2fluid_2d.h"
37 //#include "custom_elements/vel_enriched_2fluid_2d_nopressure.h"
40 #include "custom_conditions/fixed_velocity_2d.h" //the condition
41 #include "custom_conditions/fixed_velocity_3d.h" //the condition
42 #include "custom_conditions/fixed_pressure_2d.h" //the condition
43 #include "custom_conditions/fixed_pressure_3d.h" //the condition
44 #include "custom_conditions/autoslip_inlet_3d.h" //the condition
45 
46 
47 namespace Kratos
48 {
49 
52 
56 
60 
64 
68 
70 
73  {
74  public:
77 
78 
81 
85 
88 
90  virtual ~KratosPFEM2Application() override {}
91 
92 
96 
97 
101 
102  virtual void Register() override;
103 
107 
108 
112 
113 
117 
119  virtual std::string Info() const override
120  {
121  return "KratosPFEM2Application";
122  }
123 
125  virtual void PrintInfo(std::ostream& rOStream) const override
126  {
127  rOStream << Info();
128  PrintData(rOStream);
129  }
130 
132  virtual void PrintData(std::ostream& rOStream) const override
133  {
134  KRATOS_WATCH("in my application");
136  rOStream << "Variables:" << std::endl;
138  rOStream << std::endl;
139  rOStream << "Elements:" << std::endl;
140  KratosComponents<Element>().PrintData(rOStream);
141  rOStream << std::endl;
142  rOStream << "Conditions:" << std::endl;
143  KratosComponents<Condition>().PrintData(rOStream);
144  }
145 
146 
150 
151 
153 
154  protected:
157 
158 
162 
163 
167 
168 
172 
173 
177 
178 
182 
183 
187 
188 
190 
191  private:
194 
195 
196 
200 
201  const FractionalStepPFEM22D mFractionalStepPFEM22D;
202  const FractionalStepPFEM23D mFractionalStepPFEM23D;
203  const MonolithicPFEM22D mMonolithicPFEM22D;
204  const MonolithicPFEM23D mMonolithicPFEM23D;
205  const NoNewtonianMonolithicPFEM22D mNoNewtonianMonolithicPFEM22D;
206  const NoNewtonianMonolithicPFEM23D mNoNewtonianMonolithicPFEM23D;
207 
208  const MonolithicAutoSlipPFEM22D mMonolithicAutoSlipPFEM22D;
209  const MonolithicAutoSlipPFEM23D mMonolithicAutoSlipPFEM23D;
210 
211  //const VelocityEnrichedPFEM22D mVelocityEnrichedPFEM22D;
212  //const VelocityEnrichedPFEM22DNoPressure mVelocityEnrichedPFEM22DNoPressure;
213 
214  const QFluid2D mQFluid2D;
215  const QFluid3D mQFluid3D;
216 
217  const FixedVelocity2D mFixedVelocity2D;
218  const FixedVelocity3D mFixedVelocity3D;
219  const FixedPressure2D mFixedPressure2D;
220  const FixedPressure3D mFixedPressure3D;
221  const MonolithicAutoSlipInlet3D mMonolithicAutoSlipInlet3D;
222 
223 
227 
228 
232 
233 
237 
238 
242 
243 
247 
249  KratosPFEM2Application& operator=(KratosPFEM2Application const& rOther);
250 
253 
255 
256  }; // Class KratosPFEM2Application
257 
259 
260 
263 
264 
268 
270 
271 
272 } // namespace Kratos.
273 
274 #endif // KratosPFEM2Application_H_INCLUDED defined
Definition: fixed_pressure_2d.h:17
Definition: fixed_pressure_3d.h:17
Definition: fixed_velocity_2d.h:17
Definition: fixed_velocity_3d.h:18
Definition: fractional_step_pfem_2_2d.h:30
Definition: fractional_step_pfem_2_3d.h:30
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: pfem_2_application.h:73
KRATOS_CLASS_POINTER_DEFINITION(KratosPFEM2Application)
Pointer definition of KratosPFEM2Application.
virtual void Register() override
Definition: pfem_2_application.cpp:53
virtual ~KratosPFEM2Application() override
Destructor.
Definition: pfem_2_application.h:90
KratosPFEM2Application()
Default constructor.
Definition: pfem_2_application.cpp:31
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: pfem_2_application.h:125
virtual std::string Info() const override
Turn back information as a string.
Definition: pfem_2_application.h:119
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: pfem_2_application.h:132
Implements a wall condition for the PFEM2 formulation.
Definition: autoslip_inlet.h:87
Definition: monolithic_2fluid_2d_partintegration.h:30
Definition: monolithic_2fluid_3d_partintegration.h:30
Definition: monolithic_2fluid_2d.h:31
Definition: monolithic_2fluid_3d.h:29
Definition: nonewtonian_2fluid_2d.h:58
Definition: nonewtonian_2fluid_3d.h:58
This element implements a Multi-stage element (2D case) to be used in conjuntion with.
Definition: qfluid_2d.h:79
Short class definition.
Definition: qfluid_3d.h:66
#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