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.
bingham_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: Riccardo Rossi
11 //
12 
13 #if !defined (KRATOS_BINGHAM_LAW_3D_H_INCLUDED)
14 #define KRATOS_BINGHAM_LAW_3D_H_INCLUDED
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "fluid_constitutive_law.h"
22 
23 namespace Kratos
24 {
33 class KRATOS_API(FLUID_DYNAMICS_APPLICATION) Bingham3DLaw : public FluidConstitutiveLaw
34 {
35 public:
41  typedef std::size_t SizeType;
47 
55  Bingham3DLaw();
56 
61  ConstitutiveLaw::Pointer Clone() const override;
62 
66  Bingham3DLaw (const Bingham3DLaw& rOther);
67 
68 
72  ~Bingham3DLaw() override;
73 
85  SizeType WorkingSpaceDimension() override;
86 
90  SizeType GetStrainSize() const override;
91 
92  void CalculateMaterialResponseCauchy (Parameters& rValues) override;
93 
103  int Check(
104  const Properties& rMaterialProperties,
105  const GeometryType& rElementGeometry,
106  const ProcessInfo& rCurrentProcessInfo) const override;
107 
114  std::string Info() const override;
115 
116 
117 protected:
118 
130 
132  double GetEffectiveViscosity(ConstitutiveLaw::Parameters& rParameters) const override;
133 
135 
136 
137 
138 private:
139 
145 
146 
150 
151 
156 
161 
165  friend class Serializer;
166 
167  void save(Serializer& rSerializer) const override;
168 
169  void load(Serializer& rSerializer) override;
170 
171 
172 }; // Class Bingham3DLaw
173 } // namespace Kratos.
174 #endif // KRATOS_BINGHAM_LAW_3D_H_INCLUDED defined
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: bingham_3d_law.h:34
ProcessInfo ProcessInfoType
Definition: bingham_3d_law.h:39
KRATOS_CLASS_POINTER_DEFINITION(Bingham3DLaw)
ConstitutiveLaw BaseType
Definition: bingham_3d_law.h:40
std::size_t SizeType
Definition: bingham_3d_law.h:41
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
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