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.
johnson_cook_thermal_plastic_plane_strain_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: Peter Wilson
11 //
12 
13 #if !defined (KRATOS_JOHNSON_COOK_THERMAL_PLASTIC_2D_PLANE_STRAIN_LAW_H_INCLUDED)
14 #define KRATOS_JOHNSON_COOK_THERMAL_PLASTIC_2D_PLANE_STRAIN_LAW_H_INCLUDED
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
22 
23 namespace Kratos
24 {
34  class KRATOS_API(PARTICLE_MECHANICS_APPLICATION) JohnsonCookThermalPlastic2DPlaneStrainLaw : public JohnsonCookThermalPlastic3DLaw
35  {
36  public:
37 
41  typedef std::size_t SizeType;
42  typedef Properties::Pointer PropertiesPointer;
43 
46 
51 
56 
61 
66  ConstitutiveLaw::Pointer Clone() const override;
67 
72 
75  {
76  return 2;
77  };
78 
80  SizeType GetStrainSize() const override
81  {
82  return 3;
83  };
84 
85  protected:
86 
87  void MakeStrainStressMatrixFromVector(const Vector& rInput, Matrix& rOutput) override;
88 
89  void MakeStrainStressVectorFromMatrix(const Matrix& rInput, Vector& rOutput) override;
90 
91  private:
92 
93  friend class Serializer;
94 
95  void save(Serializer& rSerializer) const override
96  {
98  }
99 
100  void load(Serializer& rSerializer) override
101  {
103  }
104  }; // Class JohnsonCookThermalPlastic2DPlaneStrainLaw
105 } // namespace Kratos.
106 #endif // KRATOS_JOHNSON_COOK_THERMAL_PLASTIC_2D_PLANE_STRAIN_LAW_H_INCLUDED defined
std::size_t SizeType
Definition: constitutive_law.h:82
Definition: johnson_cook_thermal_plastic_plane_strain_2D_law.hpp:35
KRATOS_CLASS_POINTER_DEFINITION(JohnsonCookThermalPlastic2DPlaneStrainLaw)
Counted pointer of JohnsonCookThermalPlastic2DPlaneStrainLaw.
SizeType GetStrainSize() const override
Voigt tensor size:
Definition: johnson_cook_thermal_plastic_plane_strain_2D_law.hpp:80
JohnsonCookThermalPlastic2DPlaneStrainLaw & operator=(const JohnsonCookThermalPlastic2DPlaneStrainLaw &rOther)
JohnsonCookThermalPlastic3DLaw BaseType
Definition: johnson_cook_thermal_plastic_plane_strain_2D_law.hpp:40
Properties::Pointer PropertiesPointer
Definition: johnson_cook_thermal_plastic_plane_strain_2D_law.hpp:42
std::size_t SizeType
Definition: johnson_cook_thermal_plastic_plane_strain_2D_law.hpp:41
SizeType WorkingSpaceDimension() override
Dimension of the law:
Definition: johnson_cook_thermal_plastic_plane_strain_2D_law.hpp:74
ProcessInfo ProcessInfoType
Type Definitions.
Definition: johnson_cook_thermal_plastic_plane_strain_2D_law.hpp:39
Definition: johnson_cook_thermal_plastic_3D_law.hpp:41
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