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.
helmholtz_jacobian_stiffened_3d.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // license: OptimizationApplication/license.txt
9 //
10 // Main authors: Reza Najian Asl
11 //
12 
13 
14 #pragma once
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
22 
23 namespace Kratos
24 {
27 
31 
35 
39 
43 
53 class KRATOS_API(OPTIMIZATION_APPLICATION) HelmholtzJacobianStiffened3D
54  : public ConstitutiveLaw
55 {
56 public:
57 
60 
63 
66 
68  typedef std::size_t SizeType;
69 
71  static constexpr SizeType Dimension = 3;
72 
74  static constexpr SizeType VoigtSize = 6;
75 
76  // Adding the respective using to avoid overload conflicts
77  using BaseType::Has;
78  using BaseType::GetValue;
79 
82 
86 
91 
95  ConstitutiveLaw::Pointer Clone() const override;
96 
101 
105  ~HelmholtzJacobianStiffened3D() override;
106 
110 
114 
119  {
120  return Dimension;
121  };
122 
126  SizeType GetStrainSize() const override
127  {
128  return VoigtSize;
129  };
130 
138  Matrix& CalculateValue(
139  ConstitutiveLaw::Parameters& rParameterValues,
140  const Variable<Matrix>& rThisVariable,
141  Matrix& rValue
142  ) override;
143 
144 private:
145 
149  friend class Serializer;
150 
151  void save(Serializer& rSerializer) const override
152  {
154  }
155 
156  void load(Serializer& rSerializer) override
157  {
159  }
160 
161 
162 }; // Class HelmholtzJacobianStiffened3D
163 } // namespace Kratos.
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
This class defines constitutive model for shape filtering of solid 3D cases. This current implementat...
Definition: helmholtz_jacobian_stiffened_3d.h:55
ConstitutiveLaw BaseType
The base class ConstitutiveLaw type definition.
Definition: helmholtz_jacobian_stiffened_3d.h:65
KRATOS_CLASS_POINTER_DEFINITION(HelmholtzJacobianStiffened3D)
Counted pointer of HelmholtzJacobianStiffened3D.
ProcessInfo ProcessInfoType
The process info type definition.
Definition: helmholtz_jacobian_stiffened_3d.h:62
std::size_t SizeType
The size type definition.
Definition: helmholtz_jacobian_stiffened_3d.h:68
SizeType WorkingSpaceDimension() override
Dimension of the law:
Definition: helmholtz_jacobian_stiffened_3d.h:118
SizeType GetStrainSize() const override
Voigt tensor size:
Definition: helmholtz_jacobian_stiffened_3d.h:126
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
bool Has(const std::string &ModelerName)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:24
Parameters GetValue(Parameters &rParameters, const std::string &rEntry)
Definition: add_kratos_parameters_to_python.cpp:53
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