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.
hencky_mc_UP_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: Ilaria Iaconeta
11 //
12 
13 
14 #if !defined (KRATOS_HENCKY_MC_PLASTIC_UP_3D_LAW_H_INCLUDED)
15 #define KRATOS_HENCKY_MC_PLASTIC_UP_3D_LAW_H_INCLUDED
16 
17 // System includes
18 
19 // External includes
20 
21 // Project includes
25 
26 
27 namespace Kratos
28 {
39 class KRATOS_API(PARTICLE_MECHANICS_APPLICATION) HenckyMCPlasticUP3DLaw
41 
42 {
43 public:
49  typedef std::size_t SizeType;
50 
51  typedef ParticleFlowRule::Pointer MPMFlowRulePointer;
52  typedef ParticleYieldCriterion::Pointer YieldCriterionPointer;
53  typedef ParticleHardeningLaw::Pointer HardeningLawPointer;
54  typedef Properties::Pointer PropertiesPointer;
55 
61 
70 
71 
72  HenckyMCPlasticUP3DLaw(MPMFlowRulePointer pMPMFlowRule, YieldCriterionPointer pYieldCriterion, HardeningLawPointer pHardeningLaw);
73 
78 
79 
84  //HyperElasticPlasticJ2PlaneStrain2DLaw& operator=(const HyperElasticPlasticJ2PlaneStrain2DLaw& rOther);
85 
90  ConstitutiveLaw::Pointer Clone() const override;
91 
95  ~HenckyMCPlasticUP3DLaw() override;
96 
115  //int Check(const Properties& rProperties, const GeometryType& rGeometry, const ProcessInfo& rCurrentProcessInfo);
116 
117 
118 
125  //virtual String Info() const;
129  //virtual void PrintInfo(std::ostream& rOStream) const;
133  //virtual void PrintData(std::ostream& rOStream) const;
134 
135 protected:
136 
142 
149 
151 
152 private:
153 
156 
157 
161 
162 
166 
167 
171 
172 
177 
178 
182  friend class Serializer;
183 
184  void save(Serializer& rSerializer) const override
185  {
187  }
188 
189  void load(Serializer& rSerializer) override
190  {
192  }
193 
194 
195 
196 }; // Class HyperElasticPlasticMohrCoulombPlaneStrain2DLaw
197 } // namespace Kratos.
198 #endif // KRATOS_HENCKY_MATSUOKA_PLASTIC_PLANE_STRAIN_2D_LAW_H_INCLUDED defined
Definition: constitutive_law.h:47
Definition: hencky_plastic_UP_3D_law.hpp:35
Definition: hencky_mc_UP_3D_law.hpp:42
ProcessInfo ProcessInfoType
Definition: hencky_mc_UP_3D_law.hpp:47
ParticleYieldCriterion::Pointer YieldCriterionPointer
Definition: hencky_mc_UP_3D_law.hpp:52
KRATOS_CLASS_POINTER_DEFINITION(HenckyMCPlasticUP3DLaw)
ParticleHardeningLaw::Pointer HardeningLawPointer
Definition: hencky_mc_UP_3D_law.hpp:53
ConstitutiveLaw BaseType
Definition: hencky_mc_UP_3D_law.hpp:48
Properties::Pointer PropertiesPointer
Definition: hencky_mc_UP_3D_law.hpp:54
std::size_t SizeType
Definition: hencky_mc_UP_3D_law.hpp:49
ParticleFlowRule::Pointer MPMFlowRulePointer
Definition: hencky_mc_UP_3D_law.hpp:51
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
#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