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.
displacement_newtonian_fluid_plane_strain_2D_law.hpp
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: Contri Alessandro
11 //
12 // References: This class is adapted from applications/ParticleMechanicsApplication/custom_constitutive/hyperelastic_plane_strain_2D_law.hpp
13 
14 
15 #if !defined (KRATOS_DISPLACEMENT_NEWTONIAN_PLANE_STRAIN_2D_LAW_H_INCLUDED)
16 #define KRATOS_DISPLACEMENT_NEWTONIAN_PLANE_STRAIN_2D_LAW_H_INCLUDED
17 
18 // System includes
19 
20 // External includes
21 
22 // Project includes
24 
25 
26 namespace Kratos
27 {
28 
39 class KRATOS_API(PARTICLE_MECHANICS_APPLICATION) DispNewtonianFluidPlaneStrain2DLaw
41 {
42 public:
48  typedef std::size_t SizeType;
54 
63 
68  ConstitutiveLaw::Pointer Clone() const override;
69 
74 
75 
80  //DispNewtonianFluidPlaneStrain2DLaw& operator=(const DispNewtonianFluidPlaneStrain2DLaw& rOther);
81 
82 
87 
100  {
101  return 2;
102  };
103 
107  SizeType GetStrainSize() const override
108  {
109  return 3;
110  };
111 
112  void GetLawFeatures(Features& rFeatures) override;
113 
120  //String Info() const override;
124  //void PrintInfo(std::ostream& rOStream) const override;
128  //void PrintData(std::ostream& rOStream) const override;
129 
130 protected:
131 
143 
149  virtual void CalculateAlmansiStrain( const Matrix & rLeftCauchyGreen,
150  Vector& rStrainVector ) override;
151 
152 
159  virtual void CalculateConstitutiveMatrix ( const MaterialResponseVariables& rViscousVariables,
160  Matrix& rConstitutiveMatrix) override;
161 
162 
163 private:
164 
170 
171 
175 
176 
180 
185 
186 
190  friend class Serializer;
191 
192  void save(Serializer& rSerializer) const override
193  {
195  }
196 
197  void load(Serializer& rSerializer) override
198  {
200  }
201 
202 
203 
204 }; // Class DispNewtonianFluidPlaneStrain2DLaw
205 } // namespace Kratos.
206 #endif // KRATOS_DISPLACEMENT_NEWTONIAN_PLANE_STRAIN_2D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
Definition: displacement_newtonian_fluid_3D_law.hpp:41
Definition: displacement_newtonian_fluid_plane_strain_2D_law.hpp:41
ConstitutiveLaw BaseType
Definition: displacement_newtonian_fluid_plane_strain_2D_law.hpp:47
std::size_t SizeType
Definition: displacement_newtonian_fluid_plane_strain_2D_law.hpp:48
SizeType GetStrainSize() const override
Definition: displacement_newtonian_fluid_plane_strain_2D_law.hpp:107
ProcessInfo ProcessInfoType
Definition: displacement_newtonian_fluid_plane_strain_2D_law.hpp:46
KRATOS_CLASS_POINTER_DEFINITION(DispNewtonianFluidPlaneStrain2DLaw)
SizeType WorkingSpaceDimension() override
Definition: displacement_newtonian_fluid_plane_strain_2D_law.hpp:99
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307