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_2D_plane_strain_nodal.hpp
Go to the documentation of this file.
1 //
2 // Project Name:
3 // Last modified by: $Author:
4 // Date: $Date:
5 // Revision: $Revision:
6 //
7 
8 #if !defined (KRATOS_LINEAR_ELASTIC_2D_PLANE_STRAIN_NODAL_H_INCLUDED)
9 #define KRATOS_LINEAR_ELASTIC_2D_PLANE_STRAIN_NODAL_H_INCLUDED
10 
11 // Project includes
12 #include "includes/serializer.h"
14 
15 namespace Kratos
16 {
17 
18 class KRATOS_API(DAM_APPLICATION) LinearElastic2DPlaneStrainNodal : public LinearElastic3DLawNodal
19 {
20 
21 public:
22 
24 
25 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
26 
27  // Default Constructor
29 
30  // Copy Constructor
32 
33  // Destructor
35 
36 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
37 
38  ConstitutiveLaw::Pointer Clone() const override;
39 
40 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
41 
46  {
47  return 2;
48  };
49 
53  SizeType GetStrainSize() const override
54  {
55  return 3;
56  };
57 
58 protected:
59 
60  // Member Variables
61 
62 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
63 
64  void CalculateAlmansiStrain( const Matrix & rLeftCauchyGreen,Vector& rStrainVector ) override;
65 
66  void CalculateLinearElasticMatrix( Matrix& rConstitutiveMatrix, const double &rYoungModulus, const double &rPoissonCoefficient ) override;
67 
68  void GetLawFeatures(Features& rFeatures) override;
69 
70 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
71 
72 private:
73 
74  // Serialization
75 
76  friend class Serializer;
77 
78  void save(Serializer& rSerializer) const override
79  {
81  }
82 
83  void load(Serializer& rSerializer) override
84  {
86  }
87 
88 }; // Class LinearElastic2DPlaneStrainNodal
89 } // namespace Kratos.
90 #endif // KRATOS_LINEAR_ELASTIC_2D_PLANE_STRAIN_NODAL_H_INCLUDED defined
std::size_t SizeType
Definition: constitutive_law.h:82
Definition: linear_elastic_2D_plane_strain_nodal.hpp:19
SizeType WorkingSpaceDimension() override
Definition: linear_elastic_2D_plane_strain_nodal.hpp:45
SizeType GetStrainSize() const override
Definition: linear_elastic_2D_plane_strain_nodal.hpp:53
KRATOS_CLASS_POINTER_DEFINITION(LinearElastic2DPlaneStrainNodal)
Definition: linear_elastic_3D_law_nodal.hpp:21
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