www.mooseframework.org
TensorMechanicsHardeningModel.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef TENSORMECHANICSHARDENINGMODEL_H
8 #define TENSORMECHANICSHARDENINGMODEL_H
9 
10 #include "GeneralUserObject.h"
11 
13 
14 template <>
16 
25 class TensorMechanicsHardeningModel : public GeneralUserObject
26 {
27 public:
28  TensorMechanicsHardeningModel(const InputParameters & parameters);
29 
30  void initialize();
31  void execute();
32  void finalize();
33 
34  /* provides the value of the hardening parameter at given internal parameter
35  * @param intnl the value of the internal parameter at which to evaluate the hardening parameter
36  * @return the value of the hardening parameter
37  */
38  virtual Real value(Real intnl) const;
39 
40  /* provides d(hardening parameter)/d(internal parameter)
41  * @param intnl the value of the internal parameter at which to evaluate the derivative
42  * @return the value of the hardening parameter
43  */
44  virtual Real derivative(Real intnl) const;
45 
46  /* A name for this hardening model. Plasticity models can use
47  * this name to enable certain optimizations
48  */
49  virtual std::string modelName() const = 0;
50 };
51 
52 #endif // TENSORMECHANICSHARDENINGMODEL_H
virtual std::string modelName() const =0
virtual Real derivative(Real intnl) const
InputParameters validParams< TensorMechanicsHardeningModel >()
virtual Real value(Real intnl) const
TensorMechanicsHardeningModel(const InputParameters &parameters)