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_elastic_3D_law.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_THERMAL_LINEAR_ELASTIC_3D_LAW_H_INCLUDED)
9 #define KRATOS_THERMAL_LINEAR_ELASTIC_3D_LAW_H_INCLUDED
10 
11 // Project includes
12 #include "includes/serializer.h"
13 #include "custom_constitutive/linear_elastic_3D_law.hpp"
14 
16 
17 namespace Kratos
18 {
19 
20 class KRATOS_API(DAM_APPLICATION) ThermalLinearElastic3DLaw : public LinearElastic3DLaw
21 {
22 
23 public:
24 
26 
27 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
28 
29  // Default Constructor
31 
32  // Copy Constructor
34 
35  // Destructor
36  virtual ~ThermalLinearElastic3DLaw();
37 
38 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
39 
40  ConstitutiveLaw::Pointer Clone() const override;
41 
42 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
43 
50  void CalculateMaterialResponseKirchhoff (Parameters & rValues) override;
51 
52 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
53 
54 protected:
55 
56  // Member Variables
57 
58 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
59 
60  double& CalculateDomainTemperature ( const MaterialResponseVariables & rElasticVariables, double & rTemperature) override;
61 
62  double& CalculateNodalReferenceTemperature ( const MaterialResponseVariables & rElasticVariables, double & rNodalReferenceTemperature);
63 
64  virtual void CalculateThermalStrain( Vector& rThermalStrainVector, const MaterialResponseVariables & rElasticVariables, double & rTemperature, double & rNodalReferenceTemperature);
65 
66 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
67 
68 private:
69 
70  // Serialization
71 
72  friend class Serializer;
73 
74  void save(Serializer& rSerializer) const override
75  {
77  }
78 
79  void load(Serializer& rSerializer) override
80  {
82  }
83 
84 }; // Class ThermalLinearElastic3DLaw
85 } // namespace Kratos.
86 #endif // KRATOS_THERMAL_LINEAR_ELASTIC_3D_LAW_H_INCLUDED defined
Definition: linear_elastic_3D_law.hpp:37
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Definition: thermal_linear_elastic_3D_law.hpp:21
KRATOS_CLASS_POINTER_DEFINITION(ThermalLinearElastic3DLaw)
#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
Definition: constitutive_law.h:189
Definition: hyperelastic_3D_law.hpp:43