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.
linear_elastic_3D_law_nodal.hpp
Go to the documentation of this file.
1 //
2 // Project Name:
3 // Last modified by: $Author:
4 // Date: $Date:
5 // Revision: $Revision:
6 //
7 
8 #if !defined (KRATOS_LINEAR_ELASTIC_3D_LAW_NODAL_H_INCLUDED)
9 #define KRATOS_LINEAR_ELASTIC_3D_LAW_NODAL_H_INCLUDED
10 
11 // Project includes
12 #include "includes/serializer.h"
13 #include "custom_constitutive/linear_elastic_3D_law.hpp"
14 
16 
17 namespace Kratos
18 {
19 
20 class KRATOS_API(DAM_APPLICATION) LinearElastic3DLawNodal : public LinearElastic3DLaw
21 {
22 
23 public:
24 
26 
27 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
28 
29  // Default Constructor
31 
32  // Copy Constructor
34 
35  // Destructor
36  virtual ~LinearElastic3DLawNodal();
37 
38 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
39 
40  ConstitutiveLaw::Pointer Clone() const override;
41 
42 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
43 
50  void CalculateMaterialResponseKirchhoff (Parameters & rValues) override;
51 
52 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
53 
54 protected:
55 
56  // Member Variables
57 
58 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
59 
60  double& CalculateNodalYoungModulus ( const MaterialResponseVariables & rElasticVariables, double & rYoungModulus);
61 
62 //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
63 
64 private:
65 
66  // Serialization
67 
68  friend class Serializer;
69 
70  void save(Serializer& rSerializer) const override
71  {
73  }
74 
75  void load(Serializer& rSerializer) override
76  {
78  }
79 
80 }; // Class LinearElastic3DLawNodal
81 } // namespace Kratos.
82 #endif // KRATOS_LINEAR_ELASTIC_3D_LAW_NODAL_H_INCLUDED defined
Definition: linear_elastic_3D_law.hpp:37
Definition: linear_elastic_3D_law_nodal.hpp:21
KRATOS_CLASS_POINTER_DEFINITION(LinearElastic3DLawNodal)
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:189
Definition: hyperelastic_3D_law.hpp:43