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_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_THERMAL_LINEAR_ELASTIC_3D_LAW_NODAL_H_INCLUDED)
9 #define KRATOS_THERMAL_LINEAR_ELASTIC_3D_LAW_NODAL_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) ThermalLinearElastic3DLawNodal : public LinearElastic3DLaw
21 {
22 
23 public:
24 
26 
27 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
28 
29  // Default Constructor
31 
32  // Copy Constructor
34 
35  // Destructor
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& CalculateNodalYoungModulus ( const MaterialResponseVariables & rElasticVariables, double & rYoungModulus);
61 
62  double& CalculateDomainTemperature ( const MaterialResponseVariables & rElasticVariables, double & rTemperature) override;
63 
64  double& CalculateNodalReferenceTemperature ( const MaterialResponseVariables & rElasticVariables, double & rNodalReferenceTemperature);
65 
66  virtual void CalculateThermalStrain( Vector& rThermalStrainVector, const MaterialResponseVariables & rElasticVariables, double & rTemperature, double & rNodalReferenceTemperature);
67 
68 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
69 
70 private:
71 
72  // Serialization
73 
74  friend class Serializer;
75 
76  void save(Serializer& rSerializer) const override
77  {
79  }
80 
81  void load(Serializer& rSerializer) override
82  {
84  }
85 
86 }; // Class ThermalLinearElastic3DLawNodal
87 } // namespace Kratos.
88 #endif // KRATOS_THERMAL_LINEAR_ELASTIC_3D_LAW_NODAL_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_nodal.hpp:21
KRATOS_CLASS_POINTER_DEFINITION(ThermalLinearElastic3DLawNodal)
#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