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.
simo_linear_hardening_rule.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosConstitutiveModelsApplication $
3 // Created by: $Author: JMCarbonell $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: April 2017 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_SIMO_LINEAR_HARDENING_RULE_H_INCLUDED )
11 #define KRATOS_SIMO_LINEAR_HARDENING_RULE_H_INCLUDED
12 
13 // System includes
14 
15 // External includes
16 
17 // Project includes
19 
20 namespace Kratos
21 {
24 
27 
31 
35 
39 
43 
45 
47  class KRATOS_API(CONSTITUTIVE_MODELS_APPLICATION) SimoLinearHardeningRule
49  {
50  public:
53 
56 
60 
63 
64 
67 
70 
72  HardeningRule::Pointer Clone() const override;
73 
75  ~SimoLinearHardeningRule() override;
76 
80 
81 
85 
86 
91  double& CalculateDeltaHardening(const PlasticDataType& rVariables, double& rDeltaHardening) override;
92 
93 
97 
98 
102 
103 
107 
109  std::string Info() const override
110  {
111  std::stringstream buffer;
112  buffer << "SimoLinearHardeningRule" ;
113  return buffer.str();
114  }
115 
117  void PrintInfo(std::ostream& rOStream) const override
118  {
119  rOStream << "SimoLinearHardeningRule";
120  }
121 
123  void PrintData(std::ostream& rOStream) const override
124  {
125  rOStream << "SimoLinearHardeningRule Data";
126  }
127 
131 
132 
134 
135  protected:
138 
139 
143 
144 
148 
152  double& CalculateAndAddIsotropicHardening(const PlasticDataType& rVariables, double& rIsotropicHardening) override;
153 
157  double& CalculateAndAddDeltaIsotropicHardening(const PlasticDataType& rVariables, double& rDeltaIsotropicHardening) override;
158 
162 
163 
167 
168 
172 
173 
177 
178 
180 
181  private:
184 
185 
189 
190 
194 
195 
199 
200 
204 
208  friend class Serializer;
209 
210  void save(Serializer& rSerializer) const override
211  {
213  }
214 
215  void load(Serializer& rSerializer) override
216  {
218  }
219 
223 
224 
228 
229 
231 
232  }; // Class SimoLinearHardeningRule
233 
235 
238 
239 
243 
244 
246 
248 
249 } // namespace Kratos.
250 
251 #endif // KRATOS_SIMO_LINEAR_HARDENING_RULE_H_INCLUDED defined
252 
253 
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Short class definition.
Definition: simo_exponential_hardening_rule.hpp:49
Short class definition.
Definition: simo_linear_hardening_rule.hpp:49
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: simo_linear_hardening_rule.hpp:123
std::string Info() const override
Turn back information as a string.
Definition: simo_linear_hardening_rule.hpp:109
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: simo_linear_hardening_rule.hpp:117
KRATOS_CLASS_POINTER_DEFINITION(SimoLinearHardeningRule)
Pointer definition of SimoLinearHardeningRule.
#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: hardening_rule.hpp:104