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.
non_linear_isotropic_kinematic_hardening_law.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosSolidMechanicsApplication $
3 // Created by: $Author: JMCarbonell $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: July 2013 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_NON_LINEAR_ISOTROPIC_KINEMATIC_HARDENING_LAW_H_INCLUDED)
11 #define KRATOS_NON_LINEAR_ISOTROPIC_KINEMATIC_HARDENING_LAW_H_INCLUDED
12 
13 // System includes
14 
15 // External includes
16 
17 // Project includes
18 #include "custom_constitutive/custom_hardening_laws/hardening_law.hpp"
19 
20 namespace Kratos
21 {
24 
27 
31 
35 
39 
43 
45 
47 class KRATOS_API(SOLID_MECHANICS_APPLICATION) NonLinearIsotropicKinematicHardeningLaw
48  : public HardeningLaw
49 {
50 public:
53 
56 
60 
63 
64 
67 
70 
73 
77 
82  HardeningLaw::Pointer Clone() const override;
83 
87 
88  double& CalculateHardening(double &rHardening, const Parameters& rValues) override;
89 
90  double& CalculateIsotropicHardening(double &rIsotropicHardening, const Parameters& rValues) override;
91 
92  double& CalculateKinematicHardening(double &rKinematicHardening, const Parameters& rValues) override;
93 
94  double& CalculateDeltaHardening(double &rDeltaHardening, const Parameters& rValues) override;
95 
96  double& CalculateDeltaIsotropicHardening(double &rDeltaIsotropicHardening, const Parameters& rValues) override;
97 
98  double& CalculateDeltaKinematicHardening(double &rDeltaKinematicHardening, const Parameters& rValues) override;
99 
100 
104 
105 
109 
110 
114 
115  // /// Turn back information as a string.
116  // std::string Info() const;
117 
118  // /// Print information about this object.
119  // void PrintInfo(std::ostream& rOStream) const;
120 
121  // /// Print object's data.
122  // void PrintData(std::ostream& rOStream) const;
123 
124 
128 
129 
131 
132 protected:
135 
136 
140 
141 
146  double mTheta;
147 
148 
152 
153  double CalculateThermalReferenceEffect(const double &rTemperature) override;
154 
155  double CalculateThermalCurrentEffect(const double &rTemperature) override;
156 
160 
161 
165 
166 
170 
171 
175 
176 
178 
179 private:
182 
183 
187 
191 
192 
196 
197 
201 
205  friend class Serializer;
206 
207  // A private default constructor necessary for serialization
208 
209  void save(Serializer& rSerializer) const override;
210 
211  void load(Serializer& rSerializer) override;
212 
216 
217 
221 
222 
224 
225 }; // Class NonLinearIsotropicKinematicHardeningLaw
226 
228 
231 
232 
236 
237 
239 // inline std::istream& operator >> (std::istream& rIStream,
240 // NonLinearIsotropicKinematicHardeningLaw& rThis);
241 
242 // /// output stream function
243 // inline std::ostream& operator << (std::ostream& rOStream,
244 // const NonLinearIsotropicKinematicHardeningLaw& rThis)
245 // {
246 // rThis.PrintInfo(rOStream);
247 // rOStream << std::endl;
248 // rThis.PrintData(rOStream);
249 
250 // return rOStream;
251 // }
253 
255 
256 } // namespace Kratos.
257 
258 #endif // KRATOS_NON_LINEAR_ISOTROPIC_KINEMATIC_HARDENING_LAW_H_INCLUDED defined
259 
260 
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: hardening_law.hpp:52
Short class definition.
Definition: non_linear_isotropic_kinematic_hardening_law.hpp:49
double mTheta
Definition: non_linear_isotropic_kinematic_hardening_law.hpp:146
KRATOS_CLASS_POINTER_DEFINITION(NonLinearIsotropicKinematicHardeningLaw)
Pointer definition of NonLinearIsotropicKinematicHardeningLaw.
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: hardening_law.hpp:56