www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ComputePlasticHeatEnergy Class Reference

ComputePlasticHeatEnergy computes stress * (plastic_strain - plastic_strain_old) and, if currentlyComputingJacobian, then the derivative of this quantity wrt total strain. More...

#include <ComputePlasticHeatEnergy.h>

Inheritance diagram for ComputePlasticHeatEnergy:
[legend]

Public Member Functions

 ComputePlasticHeatEnergy (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties () override
 

Protected Attributes

std::string _base_name
 optional parameter that allows multiple mechanics materials to be defined More...
 
const MaterialProperty< RankTwoTensor > & _plastic_strain
 plastic strain More...
 
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
 old value of plastic strain More...
 
const MaterialProperty< RankTwoTensor > & _stress
 stress More...
 
const MaterialProperty< RankFourTensor > & _Jacobian_mult
 d(stress)/d(total strain) More...
 
const MaterialProperty< RankFourTensor > & _elasticity_tensor
 elasticity tensor More...
 
MaterialProperty< Real > & _plastic_heat
 computed property: stress * (plastic_strain - plastic_strain_old) / dt More...
 
MaterialProperty< RankTwoTensor > & _dplastic_heat_dstrain
 d(plastic_heat)/d(total strain) More...
 

Detailed Description

ComputePlasticHeatEnergy computes stress * (plastic_strain - plastic_strain_old) and, if currentlyComputingJacobian, then the derivative of this quantity wrt total strain.

Definition at line 27 of file ComputePlasticHeatEnergy.h.

Constructor & Destructor Documentation

◆ ComputePlasticHeatEnergy()

ComputePlasticHeatEnergy::ComputePlasticHeatEnergy ( const InputParameters &  parameters)

Definition at line 27 of file ComputePlasticHeatEnergy.C.

28  : DerivativeMaterialInterface<Material>(parameters),
29  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
30  _plastic_strain(getMaterialProperty<RankTwoTensor>("plastic_strain")),
31  _plastic_strain_old(getMaterialPropertyOld<RankTwoTensor>("plastic_strain")),
32  _stress(getMaterialProperty<RankTwoTensor>(_base_name + "stress")),
33  _Jacobian_mult(getMaterialProperty<RankFourTensor>(_base_name + "Jacobian_mult")),
34  _elasticity_tensor(getMaterialProperty<RankFourTensor>(_base_name + "elasticity_tensor")),
35  _plastic_heat(declareProperty<Real>(_base_name + "plastic_heat")),
36  _dplastic_heat_dstrain(declareProperty<RankTwoTensor>(_base_name + "dplastic_heat_dstrain"))
37 {
38 }
const MaterialProperty< RankFourTensor > & _Jacobian_mult
d(stress)/d(total strain)
const MaterialProperty< RankTwoTensor > & _stress
stress
const MaterialProperty< RankFourTensor > & _elasticity_tensor
elasticity tensor
const MaterialProperty< RankTwoTensor > & _plastic_strain
plastic strain
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
old value of plastic strain
std::string _base_name
optional parameter that allows multiple mechanics materials to be defined
MaterialProperty< Real > & _plastic_heat
computed property: stress * (plastic_strain - plastic_strain_old) / dt
MaterialProperty< RankTwoTensor > & _dplastic_heat_dstrain
d(plastic_heat)/d(total strain)

Member Function Documentation

◆ computeQpProperties()

void ComputePlasticHeatEnergy::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 41 of file ComputePlasticHeatEnergy.C.

42 {
43  _plastic_heat[_qp] =
44  _stress[_qp].doubleContraction(_plastic_strain[_qp] - _plastic_strain_old[_qp]) / _dt;
45  if (_fe_problem.currentlyComputingJacobian())
46  {
47  if (_plastic_strain[_qp] == _plastic_strain_old[_qp])
48  // no plastic deformation, so _elasticity_tensor = _Jacobian_mult
49  _dplastic_heat_dstrain[_qp] = RankTwoTensor();
50  else
51  {
53  (_plastic_strain[_qp] - _plastic_strain_old[_qp]).initialContraction(_Jacobian_mult[_qp]);
54  _dplastic_heat_dstrain[_qp] += _stress[_qp];
56  _stress[_qp].initialContraction(_elasticity_tensor[_qp].invSymm() * _Jacobian_mult[_qp]);
57  _dplastic_heat_dstrain[_qp] /= _dt;
58  }
59  }
60 }
const MaterialProperty< RankFourTensor > & _Jacobian_mult
d(stress)/d(total strain)
const MaterialProperty< RankTwoTensor > & _stress
stress
const MaterialProperty< RankFourTensor > & _elasticity_tensor
elasticity tensor
const MaterialProperty< RankTwoTensor > & _plastic_strain
plastic strain
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
old value of plastic strain
MaterialProperty< Real > & _plastic_heat
computed property: stress * (plastic_strain - plastic_strain_old) / dt
MaterialProperty< RankTwoTensor > & _dplastic_heat_dstrain
d(plastic_heat)/d(total strain)

Member Data Documentation

◆ _base_name

std::string ComputePlasticHeatEnergy::_base_name
protected

optional parameter that allows multiple mechanics materials to be defined

Definition at line 36 of file ComputePlasticHeatEnergy.h.

◆ _dplastic_heat_dstrain

MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_dplastic_heat_dstrain
protected

d(plastic_heat)/d(total strain)

Definition at line 57 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

◆ _elasticity_tensor

const MaterialProperty<RankFourTensor>& ComputePlasticHeatEnergy::_elasticity_tensor
protected

elasticity tensor

Definition at line 51 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

◆ _Jacobian_mult

const MaterialProperty<RankFourTensor>& ComputePlasticHeatEnergy::_Jacobian_mult
protected

d(stress)/d(total strain)

Definition at line 48 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

◆ _plastic_heat

MaterialProperty<Real>& ComputePlasticHeatEnergy::_plastic_heat
protected

computed property: stress * (plastic_strain - plastic_strain_old) / dt

Definition at line 54 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

◆ _plastic_strain

const MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_plastic_strain
protected

plastic strain

Definition at line 39 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

◆ _plastic_strain_old

const MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_plastic_strain_old
protected

old value of plastic strain

Definition at line 42 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

◆ _stress

const MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_stress
protected

stress

Definition at line 45 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().


The documentation for this class was generated from the following files: