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.
herschel_bulkley_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_HERSCHEL_BULKLEY_LAW_3D_H_INCLUDED)
14 #define KRATOS_HERSCHEL_BULKLEY_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 {
34 class KRATOS_API(FLUID_DYNAMICS_APPLICATION) HerschelBulkley3DLaw : public FluidConstitutiveLaw
35 {
36 public:
42  typedef std::size_t SizeType;
48 
57 
62  ConstitutiveLaw::Pointer Clone() const override;
63 
68 
69 
73  ~HerschelBulkley3DLaw() override;
74 
86  SizeType WorkingSpaceDimension() override;
87 
91  SizeType GetStrainSize() const override;
92 
93  void CalculateMaterialResponseCauchy (Parameters& rValues) override;
94 
95 
105  int Check(
106  const Properties& rMaterialProperties,
107  const GeometryType& rElementGeometry,
108  const ProcessInfo& rCurrentProcessInfo) const override;
109 
116  std::string Info() const override;
117 
118 protected:
119 
131 
133  double GetEffectiveViscosity(ConstitutiveLaw::Parameters& rParameters) const override;
134 
136 
137 
138 
139 private:
140 
146 
147 
151 
152 
157 
162 
166  friend class Serializer;
167 
168  void save(Serializer& rSerializer) const override;
169 
170  void load(Serializer& rSerializer) override;
171 
172 
173 }; // Class HerschelBulkley3DLaw
174 } // namespace Kratos.
175 #endif // KRATOS_HERSCHEL_BULKLEY_LAW_3D_H_INCLUDED defined
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
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
Definition: herschel_bulkley_3d_law.h:35
ConstitutiveLaw BaseType
Definition: herschel_bulkley_3d_law.h:41
std::size_t SizeType
Definition: herschel_bulkley_3d_law.h:42
ProcessInfo ProcessInfoType
Definition: herschel_bulkley_3d_law.h:40
KRATOS_CLASS_POINTER_DEFINITION(HerschelBulkley3DLaw)
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