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_local_damage_plane_strain_2D_law.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosDamApplication $
3 // Last Modified by: $Author: Ignasi de Pouplana $
4 // Date: $Date: February 2017 $
5 // Revision: $Revision: 1.0 $
6 //
7 
8 #if !defined (KRATOS_THERMAL_LOCAL_DAMAGE_PLANE_STRAIN_2D_LAW_H_INCLUDED)
9 #define KRATOS_THERMAL_LOCAL_DAMAGE_PLANE_STRAIN_2D_LAW_H_INCLUDED
10 
11 // Project includes
12 #include "includes/serializer.h"
13 
14 // Application includes
17 
18 namespace Kratos
19 {
20 
21 class KRATOS_API(DAM_APPLICATION) ThermalLocalDamagePlaneStrain2DLaw : public ThermalLocalDamage3DLaw
22 {
23 
24 public:
25 
27 
28  typedef FlowRule::Pointer FlowRulePointer;
29  typedef YieldCriterion::Pointer YieldCriterionPointer;
30  typedef HardeningLaw::Pointer HardeningLawPointer;
31 
33 
36 
39 
42 
45 
47 
48  void GetLawFeatures(Features& rFeatures) override;
49 
50  ConstitutiveLaw::Pointer Clone() const override;
51 
53 
55  {
56  return 2;
57  }
58 
59  SizeType GetStrainSize() const override
60  {
61  return 3;
62  }
63 
65 
66 protected:
67 
69 
71 
72  void CalculateLinearElasticMatrix( Matrix& rLinearElasticMatrix,const double& YoungModulus,const double& PoissonCoefficient ) override;
73 
74  void CalculateThermalStrain(Vector& rThermalStrainVector, const MaterialResponseVariables& ElasticVariables, double & rNodalReferenceTemperature) override;
75 
77 
78 private:
79 
81 
82  friend class Serializer;
83 
84  void save(Serializer& rSerializer) const override
85  {
87  }
88 
89  void load(Serializer& rSerializer) override
90  {
92  }
93 
94 }; // Class ThermalLocalDamagePlaneStrain2DLaw
95 } // namespace Kratos.
96 #endif // KRATOS_THERMAL_LOCAL_DAMAGE_PLANE_STRAIN_2D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Definition: thermal_local_damage_3D_law.hpp:22
FlowRule::Pointer FlowRulePointer
Definition: thermal_local_damage_3D_law.hpp:28
YieldCriterion::Pointer YieldCriterionPointer
Definition: thermal_local_damage_3D_law.hpp:29
HardeningLaw::Pointer HardeningLawPointer
Definition: thermal_local_damage_3D_law.hpp:30
Definition: thermal_local_damage_plane_strain_2D_law.hpp:22
HardeningLaw::Pointer HardeningLawPointer
Definition: thermal_local_damage_plane_strain_2D_law.hpp:30
YieldCriterion::Pointer YieldCriterionPointer
Definition: thermal_local_damage_plane_strain_2D_law.hpp:29
KRATOS_CLASS_POINTER_DEFINITION(ThermalLocalDamagePlaneStrain2DLaw)
SizeType WorkingSpaceDimension() override
Definition: thermal_local_damage_plane_strain_2D_law.hpp:54
SizeType GetStrainSize() const override
Definition: thermal_local_damage_plane_strain_2D_law.hpp:59
FlowRule::Pointer FlowRulePointer
Definition: thermal_local_damage_plane_strain_2D_law.hpp:28
#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:137