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.
history_linear_elastic_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: Ignasi de Pouplana
11 //
12 
13 #if !defined (KRATOS_HISTORY_LINEAR_ELASTIC_PLANE_STRAIN_2D_LAW_H_INCLUDED)
14 #define KRATOS_HISTORY_LINEAR_ELASTIC_PLANE_STRAIN_2D_LAW_H_INCLUDED
15 
16 // Project includes
17 #include "includes/serializer.h"
18 
19 // Application includes
22 
23 namespace Kratos
24 {
25 
26 class KRATOS_API(POROMECHANICS_APPLICATION) HistoryLinearElasticPlaneStrain2DLaw : public HistoryLinearElastic3DLaw
27 {
28 
29 public:
30 
32 
34 
36 
39 
40  ConstitutiveLaw::Pointer Clone() const override
41  {
42  return Kratos::make_shared<HistoryLinearElasticPlaneStrain2DLaw>(HistoryLinearElasticPlaneStrain2DLaw(*this));
43  }
44 
47  : BaseType(rOther) {}
48 
51 
53 
54  void GetLawFeatures(Features& rFeatures) override;
55 
57 
59  {
60  return 2;
61  }
62 
63  SizeType GetStrainSize() const override
64  {
65  return 3;
66  }
67 
69 
70 protected:
71 
73 
75 
76  void CalculateLinearElasticMatrix( Matrix& rLinearElasticMatrix,const double& YoungModulus,const double& PoissonCoefficient ) override;
77 
79 
80 private:
81 
83 
84  friend class Serializer;
85 
86  void save(Serializer& rSerializer) const override
87  {
89  }
90 
91  void load(Serializer& rSerializer) override
92  {
93  KRATOS_SERIALIZE_LOAD_BASE_CLASS( rSerializer, BaseType )
94  }
95 
96 }; // Class HistoryLinearElasticPlaneStrain2DLaw
97 } // namespace Kratos.
98 #endif // KRATOS_HISTORY_LINEAR_ELASTIC_PLANE_STRAIN_2D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
Definition: history_linear_elastic_3D_law.hpp:29
Definition: history_linear_elastic_plane_strain_2D_law.hpp:27
HistoryLinearElasticPlaneStrain2DLaw(const HistoryLinearElasticPlaneStrain2DLaw &rOther)
Copy Constructor.
Definition: history_linear_elastic_plane_strain_2D_law.hpp:46
HistoryLinearElasticPlaneStrain2DLaw()
Default Constructor.
Definition: history_linear_elastic_plane_strain_2D_law.hpp:38
SizeType WorkingSpaceDimension() override
Definition: history_linear_elastic_plane_strain_2D_law.hpp:58
~HistoryLinearElasticPlaneStrain2DLaw() override
Destructor.
Definition: history_linear_elastic_plane_strain_2D_law.hpp:50
SizeType GetStrainSize() const override
Definition: history_linear_elastic_plane_strain_2D_law.hpp:63
KRATOS_CLASS_POINTER_DEFINITION(HistoryLinearElasticPlaneStrain2DLaw)
ConstitutiveLaw::Pointer Clone() const override
Definition: history_linear_elastic_plane_strain_2D_law.hpp:40
HistoryLinearElastic3DLaw BaseType
Definition: history_linear_elastic_plane_strain_2D_law.hpp:31
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