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.
nonlocal_damage_plane_strain_2D_law.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosPoromechanicsApplication $
3 // Last Modified by: $Author: Ignasi de Pouplana $
4 // Date: $Date: February 2016 $
5 // Revision: $Revision: 1.0 $
6 //
7 
8 #if !defined (KRATOS_NONLOCAL_DAMAGE_PLANE_STRAIN_2D_LAW_H_INCLUDED)
9 #define KRATOS_NONLOCAL_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(POROMECHANICS_APPLICATION) NonlocalDamagePlaneStrain2DLaw : public NonlocalDamage3DLaw
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 
75 
76 private:
77 
79 
80  friend class Serializer;
81 
82  void save(Serializer& rSerializer) const override
83  {
85  }
86 
87  void load(Serializer& rSerializer) override
88  {
90  }
91 
92 }; // Class NonlocalDamagePlaneStrain2DLaw
93 } // namespace Kratos.
94 #endif // KRATOS_NONLOCAL_DAMAGE_PLANE_STRAIN_2D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
YieldCriterion::Pointer YieldCriterionPointer
Definition: hyperelastic_plastic_3D_law.hpp:62
FlowRule::Pointer FlowRulePointer
Definition: hyperelastic_plastic_3D_law.hpp:61
HardeningLaw::Pointer HardeningLawPointer
Definition: hyperelastic_plastic_3D_law.hpp:63
Definition: nonlocal_damage_3D_law.hpp:22
Definition: nonlocal_damage_plane_strain_2D_law.hpp:22
YieldCriterion::Pointer YieldCriterionPointer
Definition: nonlocal_damage_plane_strain_2D_law.hpp:29
SizeType WorkingSpaceDimension() override
Definition: nonlocal_damage_plane_strain_2D_law.hpp:54
FlowRule::Pointer FlowRulePointer
Definition: nonlocal_damage_plane_strain_2D_law.hpp:28
KRATOS_CLASS_POINTER_DEFINITION(NonlocalDamagePlaneStrain2DLaw)
SizeType GetStrainSize() const override
Definition: nonlocal_damage_plane_strain_2D_law.hpp:59
HardeningLaw::Pointer HardeningLawPointer
Definition: nonlocal_damage_plane_strain_2D_law.hpp:30
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
Definition: constitutive_law.h:137