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.
elastoplastic_mohr_coulomb_cohesive_2D_law.hpp
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Danilo Cavalcanti and Ignasi de Pouplana
11 //
12 
13 #if !defined (KRATOS_ELASTOPLASTIC_MOHRCOULOMB_COHESIVE_2D_LAW_H_INCLUDED)
14 #define KRATOS_ELASTOPLASTIC_MOHRCOULOMB_COHESIVE_2D_LAW_H_INCLUDED
15 
16 // Project includes
17 #include "includes/serializer.h"
18 
19 // Application includes
22 
23 namespace Kratos
24 {
25 
26 class KRATOS_API(POROMECHANICS_APPLICATION) ElastoPlasticMohrCoulombCohesive2DLaw : public ElastoPlasticMohrCoulombCohesive3DLaw
27 {
28 
29 public:
30 
32 
33 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
34 
35  // Default Constructor
37  {
38  }
39 
40  ConstitutiveLaw::Pointer Clone() const override
41  {
42  return Kratos::make_shared<ElastoPlasticMohrCoulombCohesive2DLaw>(ElastoPlasticMohrCoulombCohesive2DLaw(*this));
43  }
44 
45  // Copy Constructor
47  {
48  }
49 
50  // Destructor
52  {
53  }
54 
55 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
56 
57  void GetLawFeatures(Features& rFeatures) override;
58 
59  void InitializeMaterial( const Properties& rMaterialProperties,const GeometryType& rElementGeometry,const Vector& rShapeFunctionsValues ) override;
60 
61 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
62 
63 protected:
64 
65  // Member Variables
66 
67 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
68 
69  double GetShearResultantStressVector(Vector& StressVector) override;
70 
71  void StressVectorInstersectionYieldSurfaces(Vector& rStressVector, const double ts, const double ts_intersection, const double ft) override;
72 
73  void ConstitutiveMatrixInstersectionYieldSurfaces(Vector& StressVector, Matrix& rConstitutiveMatrix, ConstitutiveLawVariables& rVariables) override;
74 
75  void GetElasticConstitutiveMatrix(Matrix& rElasticConstitutiveMatrix, ConstitutiveLawVariables& rVariables, Parameters& rValues) override;
76 
77 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
78 
79 private:
80 
81  // Serialization
82 
83  friend class Serializer;
84 
85  void save(Serializer& rSerializer) const override
86  {
88  }
89 
90  void load(Serializer& rSerializer) override
91  {
93  }
94 
95 }; // Class ElastoPlasticMohrCoulombCohesive2DLaw
96 } // namespace Kratos.
97 #endif // KRATOS_ELASTOPLASTIC_MOHRCOULOMB_COHESIVE_2D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
Definition: elastoplastic_mohr_coulomb_cohesive_2D_law.hpp:27
ElastoPlasticMohrCoulombCohesive2DLaw(const ElastoPlasticMohrCoulombCohesive2DLaw &rOther)
Definition: elastoplastic_mohr_coulomb_cohesive_2D_law.hpp:46
KRATOS_CLASS_POINTER_DEFINITION(ElastoPlasticMohrCoulombCohesive2DLaw)
~ElastoPlasticMohrCoulombCohesive2DLaw() override
Definition: elastoplastic_mohr_coulomb_cohesive_2D_law.hpp:51
ElastoPlasticMohrCoulombCohesive2DLaw()
Definition: elastoplastic_mohr_coulomb_cohesive_2D_law.hpp:36
ConstitutiveLaw::Pointer Clone() const override
Clone function (has to be implemented by any derived class)
Definition: elastoplastic_mohr_coulomb_cohesive_2D_law.hpp:40
Definition: elastoplastic_mohr_coulomb_cohesive_3D_law.hpp:32
Geometry base class.
Definition: geometry.h:71
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
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
list ts
Definition: radii_error_plotter.py:48