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.
gens_nova_hardening_rule.hpp
Go to the documentation of this file.
1 //
2 // Project Name: KratosConstitutiveModelsApplication $
3 // Created by: $Author: LMonforte $
4 // Last modified by: $Co-Author: $
5 // Date: $Date: April 2017 $
6 // Revision: $Revision: 0.0 $
7 //
8 //
9 
10 #if !defined(KRATOS_GENS_NOVA_HARDENING_RULE_H_INCLUDED )
11 #define KRATOS_GENS_NOVA_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) GensNovaHardeningRule : public HardeningRule
48  {
49  protected:
50 
51  constexpr static std::size_t VarSize = 10;
52 
53  public:
54 
57 
60 
64 
67 
70 
73 
75  virtual HardeningRule::Pointer Clone() const override;
76 
79 
83 
84 
88 
89 
94  virtual double& CalculateHardening(const PlasticDataType& rVariables, double& rHardening); //do not override -> it must hide the method
95 
100  virtual double& CalculateDeltaHardening(const PlasticDataType& rVariables, double& rDeltaHardening); //do not override -> it must hide the method
101 
102  virtual double& CalculateDeltaHardening(const PlasticDataType& rVariables, double& rDeltaHardening, const MatrixType & rPlasticPotentialDerivative); //do not override -> it must hide the method
103 
107 
108 
112 
113 
117 
119  virtual std::string Info() const override
120  {
121  std::stringstream buffer;
122  buffer << "GensNovaHardeningRule" ;
123  return buffer.str();
124  }
125 
127  virtual void PrintInfo(std::ostream& rOStream) const override
128  {
129  rOStream << "GensNovaHardeningRule";
130  }
131 
133  virtual void PrintData(std::ostream& rOStream) const override
134  {
135  rOStream << "GensNovaHardeningRule Data";
136  }
137 
138 
142 
143 
145 
146  protected:
149 
153 
157 
161 
165 
169 
173 
175 
176  private:
179 
183 
187 
191 
194 
198 
202  friend class Serializer;
203 
204 
205  virtual void save(Serializer& rSerializer) const override
206  {
208  }
209 
210  virtual void load(Serializer& rSerializer) override
211  {
213  }
214 
218 
219 
223 
224 
226 
227  }; // Class GensNovaHardeningRule
228 
230 
233 
234 
238 
239 
241 
243 
244 } // namespace Kratos.
245 
246 #endif // KRATOS_GENS_NOVA_HARDENING_RULE_H_INCLUDED defined
247 
248 
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Short class definition.
Definition: gens_nova_hardening_rule.hpp:48
InternalVariables< VarSize > InternalVariablesType
Definition: gens_nova_hardening_rule.hpp:55
virtual void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: gens_nova_hardening_rule.hpp:133
virtual void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: gens_nova_hardening_rule.hpp:127
virtual std::string Info() const override
Turn back information as a string.
Definition: gens_nova_hardening_rule.hpp:119
KRATOS_CLASS_POINTER_DEFINITION(GensNovaHardeningRule)
Pointer definition of GensNovaHardeningRule.
PlasticModelData< VarSize > PlasticDataType
Definition: gens_nova_hardening_rule.hpp:56
Short class definition.
Definition: hardening_rule.hpp:55
virtual double & CalculateDeltaHardening(const PlasticDataType &rVariables, double &rDeltaHardening)
Definition: hardening_rule.hpp:213
virtual double & CalculateHardening(const PlasticDataType &rVariables, double &rHardening)
Definition: hardening_rule.hpp:197
Definition: amatrix_interface.h:41
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
Definition: hardening_rule.hpp:74
Definition: hardening_rule.hpp:104