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.
euler_3d_law.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: Ruben Zorrilla
11 //
12 //
13 
14 #if !defined (KRATOS_EULER_LAW_3D_H_INCLUDED)
15 #define KRATOS_EULER_LAW_3D_H_INCLUDED
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
22 #include "fluid_constitutive_law.h"
23 
24 namespace Kratos
25 {
30  class KRATOS_API(FLUID_DYNAMICS_APPLICATION) Euler3DLaw : public FluidConstitutiveLaw
31  {
32  public:
41 
49  Euler3DLaw();
50 
55  ConstitutiveLaw::Pointer Clone() const override;
56 
60  Euler3DLaw (const Euler3DLaw& rOther);
61 
62 
66  ~Euler3DLaw() override;
67 
79  SizeType WorkingSpaceDimension() override;
80 
84  SizeType GetStrainSize() const override;
85 
86  void CalculateMaterialResponseCauchy (Parameters& rValues) override;
87 
88  int Check(
89  const Properties& rMaterialProperties,
90  const GeometryType& rElementGeometry,
91  const ProcessInfo& rCurrentProcessInfo) const override;
92 
100  std::string Info() const override {
101  std::stringstream buffer;
102  buffer << "Euler3DLaw";
103  return buffer.str();
104  };
105 
109  void PrintInfo(std::ostream& rOStream) const override {
110  rOStream << Info();
111  };
112 
116  void PrintData(std::ostream& rOStream) const override {
117  rOStream << Info();
118  };
119 
120  protected:
121 
124 
126  double GetEffectiveViscosity(ConstitutiveLaw::Parameters& rParameters) const override;
127 
129 
130  private:
131 
134 
138 
142 
146 
150 
154 
155  friend class Serializer;
156 
157  void save(Serializer& rSerializer) const override;
158 
159  void load(Serializer& rSerializer) override;
160 
161  }; // Class Euler3DLaw
162 } // namespace Kratos.
163 #endif // KRATOS_EULER_LAW_3D_H_INCLUDED defined
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
std::size_t SizeType
Definition: constitutive_law.h:82
Definition: euler_3d_law.h:31
KRATOS_CLASS_POINTER_DEFINITION(Euler3DLaw)
void PrintData(std::ostream &rOStream) const override
Definition: euler_3d_law.h:116
std::string Info() const override
Definition: euler_3d_law.h:100
void PrintInfo(std::ostream &rOStream) const override
Definition: euler_3d_law.h:109
This class contains the common infrastructure for fluid constitutive laws.
Definition: fluid_constitutive_law.h:35
Geometry base class.
Definition: geometry.h:71
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:189