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.
history_linear_elastic_3D_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_HISTORY_LINEAR_ELASTIC_3D_LAW_H_INCLUDED)
14 #define KRATOS_HISTORY_LINEAR_ELASTIC_3D_LAW_H_INCLUDED
15 
16 // Project includes
17 #include "includes/serializer.h"
18 #include "includes/checks.h"
19 
20 // Application includes
21 #include "utilities/math_utils.h"
22 #include "custom_constitutive/linear_elastic_3D_law.hpp"
24 
25 namespace Kratos
26 {
27 
28 class KRATOS_API(POROMECHANICS_APPLICATION) HistoryLinearElastic3DLaw : public LinearElastic3DLaw
29 {
30 
31 public:
32 
35 
37 
39 
42 
43  ConstitutiveLaw::Pointer Clone() const override
44  {
45  return Kratos::make_shared<HistoryLinearElastic3DLaw>(HistoryLinearElastic3DLaw(*this));
46  }
47 
50  : BaseType(rOther) {}
51 
54 
56 
57  void CalculateMaterialResponseKirchhoff(Parameters& rValues) override;
58 
60 
61 protected:
62 
64 
66 
67  void AddInitialStresses( Parameters& rValues, Vector& rStressVector);
68 
70 
71 private:
72 
74 
75  friend class Serializer;
76 
77  void save(Serializer& rSerializer) const override
78  {
80  }
81 
82  void load(Serializer& rSerializer) override
83  {
84  KRATOS_SERIALIZE_LOAD_BASE_CLASS( rSerializer, BaseType )
85  }
86 
87 }; // Class HistoryLinearElastic3DLaw
88 } // namespace Kratos.
89 #endif // KRATOS_HISTORY_LINEAR_ELASTIC_3D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
Definition: history_linear_elastic_3D_law.hpp:29
~HistoryLinearElastic3DLaw() override
Destructor.
Definition: history_linear_elastic_3D_law.hpp:53
ConstitutiveLaw::Pointer Clone() const override
Definition: history_linear_elastic_3D_law.hpp:43
HistoryLinearElastic3DLaw()
Default Constructor.
Definition: history_linear_elastic_3D_law.hpp:41
LinearElastic3DLaw BaseType
Definition of the base class.
Definition: history_linear_elastic_3D_law.hpp:34
KRATOS_CLASS_POINTER_DEFINITION(HistoryLinearElastic3DLaw)
HistoryLinearElastic3DLaw(const HistoryLinearElastic3DLaw &rOther)
Copy Constructor.
Definition: history_linear_elastic_3D_law.hpp:49
Definition: linear_elastic_3D_law.hpp:37
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