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.
thermal_linear_plane_strain.h
Go to the documentation of this file.
1 // KRATOS ___ _ _ _ _ _ __ _
2 // / __\___ _ __ ___| |_(_) |_ _ _| |_(_)_ _____ / / __ ___ _____ /_\ _ __ _ __
3 // / / / _ \| '_ \/ __| __| | __| | | | __| \ \ / / _ \/ / / _` \ \ /\ / / __| //_\\| '_ \| '_ |
4 // / /__| (_) | | | \__ \ |_| | |_| |_| | |_| |\ V / __/ /__| (_| |\ V V /\__ \/ _ \ |_) | |_) |
5 // \____/\___/|_| |_|___/\__|_|\__|\__,_|\__|_| \_/ \___\____/\__,_| \_/\_/ |___/\_/ \_/ .__/| .__/
6 // |_| |_|
7 //
8 // License: BSD License
9 // license: structural_mechanics_application/license.txt
10 //
11 // Main authors: Alejandro Cornejo
12 //
13 
14 # pragma once
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
22 
23 namespace Kratos
24 {
27 
31 
35 
39 
43 
51 class KRATOS_API(CONSTITUTIVE_LAWS_APPLICATION) ThermalLinearPlaneStrain
53 {
54 public:
55 
58 
60 
62  static constexpr SizeType Dimension = 2;
63 
65  static constexpr SizeType VoigtSize = 3;
66 
69 
72 
77  {}
78 
82  ConstitutiveLaw::Pointer Clone() const override
83  {
84  return Kratos::make_shared<ThermalLinearPlaneStrain>(*this);
85  }
86 
87 
92 
97  : BaseType(rOther)
98  {
99  }
100 
104 
108 
114  {
115  return Dimension;
116  };
117 
122  SizeType GetStrainSize() const override
123  {
124  return VoigtSize;
125  }
126 
133  void CalculatePK2Stress(
134  const ConstitutiveLaw::StrainVectorType &rStrainVector,
135  ConstitutiveLaw::StressVectorType &rStressVector,
136  ConstitutiveLaw::Parameters &rValues) override;
140 
146  void CalculateElasticMatrix(
147  ConstitutiveLaw::VoigtSizeMatrixType& rConstitutiveMatrix,
149  ) override;
150 
158  void SubstractThermalStrain(
159  ConstitutiveLaw::StrainVectorType &rStrainVector,
160  const double ReferenceTemperature,
161  ConstitutiveLaw::Parameters &rParameters,
162  const bool IsPlaneStrain = false) override;
163 
169  void CalculateCauchyGreenStrain(
171  ConstitutiveLaw::StrainVectorType& rStrainVector
172  ) override;
173 
177 
181 
185 
189 
191 
192 protected:
193 
196 
200 
204 
208 
210 
211 private:
212 
215 
219 
220 
224 
229 
234 
235 
239  friend class Serializer;
240 
241  void save(Serializer& rSerializer) const override
242  {
244  }
245 
246  void load(Serializer& rSerializer) override
247  {
249  }
250 
251 
252 }; // Class ThermalLinearPlaneStrain
253 } // namespace Kratos.
Definition: elastic_isotropic_3d.h:53
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
This class defines a Thermo dependant CL, including the addition of thermal expansion strains.
Definition: thermal_elastic_isotropic_3d.h:53
This class defines a Thermo dependant CL, including the addition of thermal expansion strains.
Definition: thermal_linear_plane_strain.h:53
SizeType GetStrainSize() const override
Voigt tensor size:
Definition: thermal_linear_plane_strain.h:122
ThermalLinearPlaneStrain()
Default constructor.
Definition: thermal_linear_plane_strain.h:76
SizeType WorkingSpaceDimension() override
Dimension of the law:
Definition: thermal_linear_plane_strain.h:113
ConstitutiveLaw::Pointer Clone() const override
Clone method.
Definition: thermal_linear_plane_strain.h:82
KRATOS_CLASS_POINTER_DEFINITION(ThermalLinearPlaneStrain)
Counted pointer of ThermalLinearPlaneStrain.
~ThermalLinearPlaneStrain() override
Destructor.
Definition: thermal_linear_plane_strain.h:91
ThermalLinearPlaneStrain(const ThermalLinearPlaneStrain &rOther)
Definition: thermal_linear_plane_strain.h:96
#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
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:189