www.mooseframework.org
HEVPLinearHardening.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "HEVPLinearHardening.h"
11 
12 registerMooseObject("TensorMechanicsApp", HEVPLinearHardening);
13 
15 
16 InputParameters
18 {
19  InputParameters params = HEVPStrengthUOBase::validParams();
20  params.addParam<Real>("yield_stress", "Yield strength");
21  params.addParam<Real>("slope", "Linear hardening slope");
22  params.addClassDescription("User Object for linear hardening");
23  return params;
24 }
25 
26 HEVPLinearHardening::HEVPLinearHardening(const InputParameters & parameters)
27  : HEVPStrengthUOBase(parameters),
28  _sig0(getParam<Real>("yield_stress")),
29  _slope(getParam<Real>("slope"))
30 {
31 }
32 
33 bool
34 HEVPLinearHardening::computeValue(unsigned int qp, Real & val) const
35 {
36  val = _sig0 + _slope * _intvar[qp];
37  return true;
38 }
39 
40 bool
42  const std::string & coupled_var_name,
43  Real & val) const
44 {
45  val = 0;
46 
47  if (_intvar_prop_name == coupled_var_name)
48  val = _slope;
49 
50  return true;
51 }
registerMooseObject
registerMooseObject("TensorMechanicsApp", HEVPLinearHardening)
defineLegacyParams
defineLegacyParams(HEVPLinearHardening)
HEVPLinearHardening
This user object classs Computes linear hardening.
Definition: HEVPLinearHardening.h:23
HEVPLinearHardening::_slope
Real _slope
Definition: HEVPLinearHardening.h:35
HEVPStrengthUOBase::_intvar
const MaterialProperty< Real > & _intvar
Definition: HEVPStrengthUOBase.h:36
HEVPStrengthUOBase::validParams
static InputParameters validParams()
Definition: HEVPStrengthUOBase.C:15
HEVPLinearHardening::computeValue
virtual bool computeValue(unsigned int, Real &) const
Definition: HEVPLinearHardening.C:34
HEVPLinearHardening.h
HEVPLinearHardening::HEVPLinearHardening
HEVPLinearHardening(const InputParameters &parameters)
Definition: HEVPLinearHardening.C:26
HEVPStrengthUOBase
This user object is a pure virtual base classs Derived classes computes material resistances and deri...
Definition: HEVPStrengthUOBase.h:24
HEVPLinearHardening::validParams
static InputParameters validParams()
Definition: HEVPLinearHardening.C:17
HEVPLinearHardening::computeDerivative
virtual bool computeDerivative(unsigned int, const std::string &, Real &) const
Definition: HEVPLinearHardening.C:41
HEVPStrengthUOBase::_intvar_prop_name
std::string _intvar_prop_name
Definition: HEVPStrengthUOBase.h:35
HEVPLinearHardening::_sig0
Real _sig0
Definition: HEVPLinearHardening.h:34