Go to the documentation of this file.
11 #include "MooseMesh.h"
12 #include "MooseVariable.h"
22 params.addClassDescription(
"Plastic heat energy density = coeff * stress * plastic_strain_rate");
23 params.addRequiredCoupledVar(
"displacements",
24 "The string of displacements suitable for the problem statement");
25 params.addParam<std::string>(
"base_name",
"Material property base name");
26 params.addParam<Real>(
"coeff", 1.0,
"Heat energy density = coeff * stress * plastic_strain_rate");
32 _coeff(getParam<Real>(
"coeff")),
33 _base_name(isParamValid(
"base_name") ? getParam<std::string>(
"base_name") +
"_" :
""),
34 _plastic_heat(getMaterialProperty<Real>(_base_name +
"plastic_heat")),
35 _dplastic_heat_dstrain(
36 getMaterialProperty<
RankTwoTensor>(_base_name +
"dplastic_heat_dstrain")),
37 _ndisp(coupledComponents(
"displacements")),
40 for (
unsigned int i = 0; i <
_ndisp; ++i)
41 _disp_var[i] = coupled(
"displacements", i);
44 if (
_ndisp != _mesh.dimension())
45 mooseError(
"PlasticHeatEnergy: The number of displacement variables supplied must match the "
64 for (
unsigned int i = 0; i <
_ndisp; ++i)
virtual Real computeQpJacobian() override
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Provides a heat source from plastic deformation: coeff * stress * plastic_strain_rate.
const MaterialProperty< Real > & _plastic_heat
stress * plastic_strain_rate
PlasticHeatEnergy(const InputParameters ¶meters)
Real _coeff
coefficient of stress * plastic_strain_rate
defineLegacyParams(PlasticHeatEnergy)
virtual Real computeQpResidual() override
registerMooseObject("TensorMechanicsApp", PlasticHeatEnergy)
InputParameters validParams()
const MaterialProperty< RankTwoTensor > & _dplastic_heat_dstrain
d(plastic_heat)/d(total_strain)
unsigned int _ndisp
umber of coupled displacement variables
static InputParameters validParams()
std::vector< unsigned int > _disp_var
MOOSE variable number for the displacement variables.