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.
exponential_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: Ignasi de Pouplana
11 //
12 
13 #if !defined (KRATOS_EXPONENTIAL_COHESIVE_2D_LAW_H_INCLUDED)
14 #define KRATOS_EXPONENTIAL_COHESIVE_2D_LAW_H_INCLUDED
15 
16 // System includes
17 
18 // Project includes
19 #include "includes/serializer.h"
20 
21 // Application includes
24 
25 namespace Kratos
26 {
27 
28 class KRATOS_API(POROMECHANICS_APPLICATION) ExponentialCohesive2DLaw : public ExponentialCohesive3DLaw
29 {
30 
31 public:
32 
35 
37 
38 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
39 
40  // Default Constructor
42  {
43  }
44 
45  ConstitutiveLaw::Pointer Clone() const override
46  {
47  return Kratos::make_shared<ExponentialCohesive2DLaw>(ExponentialCohesive2DLaw(*this));
48  }
49 
50  // Copy Constructor
52  {
53  }
54 
55  // Destructor
57  {
58  }
59 
60 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
61 
62 
63 
64 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
65 
66 protected:
67 
68  // Member Variables
69 
70 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
71 
72  void InitializeConstitutiveLawVariables(ConstitutiveLawVariables& rVariables, Parameters& rValues) override;
73 
74  void ComputeEquivalentStrain(ConstitutiveLawVariables& rVariables, Parameters& rValues) override;
75 
76  void ComputeCriticalDisplacement(ConstitutiveLawVariables& rVariables, Parameters& rValues) override;
77 
78  void ComputeConstitutiveMatrix(Matrix& rConstitutiveMatrix,
79  ConstitutiveLawVariables& rVariables,
80  Parameters& rValues) override;
81 
82 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
83 
84 private:
85 
86  // Serialization
87 
88  friend class Serializer;
89 
90  void save(Serializer& rSerializer) const override
91  {
93  }
94 
95  void load(Serializer& rSerializer) override
96  {
98  }
99 
100 }; // Class ExponentialCohesive2DLaw
101 } // namespace Kratos.
102 #endif // KRATOS_EXPONENTIAL_COHESIVE_2D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
Definition: exponential_cohesive_2D_law.hpp:29
ConstitutiveLaw::Pointer Clone() const override
Clone function (has to be implemented by any derived class)
Definition: exponential_cohesive_2D_law.hpp:45
~ExponentialCohesive2DLaw() override
Definition: exponential_cohesive_2D_law.hpp:56
ExponentialCohesive2DLaw(const ExponentialCohesive2DLaw &rOther)
Definition: exponential_cohesive_2D_law.hpp:51
ExponentialCohesive2DLaw()
Definition: exponential_cohesive_2D_law.hpp:41
KRATOS_CLASS_POINTER_DEFINITION(ExponentialCohesive2DLaw)
ExponentialCohesive3DLaw BaseType
Definition of the base class.
Definition: exponential_cohesive_2D_law.hpp:34
Definition: exponential_cohesive_3D_law.hpp:29
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
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