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.
linear_elastic_3D_interface_law.h
Go to the documentation of this file.
1 // KRATOS___
2 // // ) )
3 // // ___ ___
4 // // ____ //___) ) // ) )
5 // // / / // // / /
6 // ((____/ / ((____ ((___/ / MECHANICS
7 //
8 // License: geo_mechanics_application/license.txt
9 //
10 // Main authors: Vahid Galavi
11 //
12 
13 #pragma once
14 
15 // Project includes
17 
18 namespace Kratos
19 {
22 
26 
30 
34 
38 
46 class KRATOS_API(GEO_MECHANICS_APPLICATION) LinearElastic3DInterfaceLaw
48 {
49 public:
52 
55 
58 
60  using SizeType = std::size_t;
61 
63  static constexpr SizeType Dimension = N_DIM_3D;
64 
67 
70 
74  ConstitutiveLaw::Pointer Clone() const override;
75 
79 
83 
88  void GetLawFeatures(Features& rFeatures) override;
89 
95  {
96  return Dimension;
97  }
98 
103  SizeType GetStrainSize() const override
104  {
106  }
107 
111 
115 
119 
123 
130  bool& GetValue(const Variable<bool>& rThisVariable, bool& rValue) override;
131 
133 
134 protected:
135 
138 
142 
146 
150 
156  void CalculateElasticMatrix(Matrix& C, ConstitutiveLaw::Parameters& rValues) override;
157 
164  void CalculatePK2Stress(const Vector& rStrainVector,
165  Vector& rStressVector,
166  ConstitutiveLaw::Parameters& rValues) override;
167 
169 
170 private:
171 
174 
178 
182 
187 
192 
196  friend class Serializer;
197 
198  void save(Serializer& rSerializer) const override
199  {
201  }
202 
203  void load(Serializer& rSerializer) override
204  {
206  }
207 }; // Class LinearElastic2DInterfaceLaw
208 }
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
This class defines a small deformation linear elastic constitutive model for plane strain cases.
Definition: linear_elastic_plane_strain_2D_law.h:30
This class defines a small deformation linear elastic constitutive model for plane strain cases.
Definition: linear_elastic_2D_interface_law.h:48
This class defines a small deformation linear elastic constitutive model for plane strain cases.
Definition: linear_elastic_3D_interface_law.h:48
SizeType GetStrainSize() const override
Voigt tensor size:
Definition: linear_elastic_3D_interface_law.h:103
SizeType WorkingSpaceDimension() override
Dimension of the law:
Definition: linear_elastic_3D_interface_law.h:94
KRATOS_CLASS_POINTER_DEFINITION(LinearElastic3DInterfaceLaw)
Counted pointer of LinearElastic2DInterfaceLaw.
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
Parameters GetValue(Parameters &rParameters, const std::string &rEntry)
Definition: add_kratos_parameters_to_python.cpp:53
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
constexpr SizeType N_DIM_3D
Definition: geo_mechanics_application_constants.h:25
constexpr SizeType VOIGT_SIZE_3D_INTERFACE
Definition: geo_mechanics_application_constants.h:46
int C
Definition: generate_hyper_elastic_simo_taylor_neo_hookean.py:27
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:137
Definition: constitutive_law.h:189