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.
mu_I_rheology_2D_law.h
Go to the documentation of this file.
1 //-------------------------------------------------------------
2 // ___ __ ___ _ _ _
3 // KRATOS| _ \/ _|___ _ __ | __| |_ _(_)__| |
4 // | _/ _/ -_) ' \| _|| | || | / _` |
5 // |_| |_| \___|_|_|_|_| |_|\_,_|_\__,_|DYNAMICS
6 //
7 // BSD License: PfemFluidDynamicsApplication/license.txt
8 //
9 // Main authors: Alessandro Franci
10 // Collaborators: Massimiliano Zecchetto
11 //
12 //-------------------------------------------------------------
13 //
14 
15 #if !defined(KRATOS_MU_I_RHEOLOGY_LAW_2D_H_INCLUDED)
16 #define KRATOS_MU_I_RHEOLOGY_LAW_2D_H_INCLUDED
17 
18 // System includes
19 
20 // External includes
21 
22 // Project includes
23 #include "fluid_constitutive_law.h"
24 
25 namespace Kratos
26 {
38  class KRATOS_API(PFEM_FLUID_DYNAMICS_APPLICATION) MuIRheology2DLaw : public PfemFluidConstitutiveLaw
39  {
40  public:
46  typedef std::size_t SizeType;
47 
52 
61 
66  ConstitutiveLaw::Pointer Clone() const override;
67 
71  MuIRheology2DLaw(const MuIRheology2DLaw &rOther);
72 
76  ~MuIRheology2DLaw() override;
77 
89  SizeType WorkingSpaceDimension() override;
90 
94  SizeType GetStrainSize() const override;
95 
96  void CalculateMaterialResponseCauchy(Parameters &rValues) override;
97 
107  int Check(const Properties &rMaterialProperties, const GeometryType &rElementGeometry,
108  const ProcessInfo &rCurrentProcessInfo) const override;
109 
117  std::string Info() const override;
118 
119  protected:
131 
133  double GetEffectiveMaterialParameter(ConstitutiveLaw::Parameters &rParameters, const Variable<double> &rVariable) const override;
134 
136 
137  private:
143 
147 
152 
157 
161  friend class Serializer;
162 
163  void save(Serializer &rSerializer) const override;
164 
165  void load(Serializer &rSerializer) override;
166 
167  }; // Class MuIRheology2DLaw
168 
169 } // namespace Kratos.
170 
171 #endif // KRATOS_MU_I_RHEOLOGY_LAW_2D_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
Geometry base class.
Definition: geometry.h:71
Definition: mu_I_rheology_2D_law.h:39
ConstitutiveLaw BaseType
Definition: mu_I_rheology_2D_law.h:45
KRATOS_CLASS_POINTER_DEFINITION(MuIRheology2DLaw)
ProcessInfo ProcessInfoType
Definition: mu_I_rheology_2D_law.h:44
std::size_t SizeType
Definition: mu_I_rheology_2D_law.h:46
This class contains the common infrastructure for the pfem fluid constitutive laws.
Definition: fluid_constitutive_law.h:36
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