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 19 of file ComputePlasticHeatEnergy.h.

Constructor & Destructor Documentation

ComputePlasticHeatEnergy::ComputePlasticHeatEnergy ( const InputParameters &  parameters)

Definition at line 23 of file ComputePlasticHeatEnergy.C.

24  : DerivativeMaterialInterface<Material>(parameters),
25  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
26  _plastic_strain(getMaterialProperty<RankTwoTensor>("plastic_strain")),
27  _plastic_strain_old(getMaterialPropertyOld<RankTwoTensor>("plastic_strain")),
28  _stress(getMaterialProperty<RankTwoTensor>(_base_name + "stress")),
29  _Jacobian_mult(getMaterialProperty<RankFourTensor>(_base_name + "Jacobian_mult")),
30  _elasticity_tensor(getMaterialProperty<RankFourTensor>(_base_name + "elasticity_tensor")),
31  _plastic_heat(declareProperty<Real>(_base_name + "plastic_heat")),
32  _dplastic_heat_dstrain(declareProperty<RankTwoTensor>(_base_name + "dplastic_heat_dstrain"))
33 {
34 }
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

void ComputePlasticHeatEnergy::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 37 of file ComputePlasticHeatEnergy.C.

38 {
39  _plastic_heat[_qp] =
40  _stress[_qp].doubleContraction(_plastic_strain[_qp] - _plastic_strain_old[_qp]) / _dt;
41  if (_fe_problem.currentlyComputingJacobian())
42  {
43  if (_plastic_strain[_qp] == _plastic_strain_old[_qp])
44  // no plastic deformation, so _elasticity_tensor = _Jacobian_mult
45  _dplastic_heat_dstrain[_qp] = RankTwoTensor();
46  else
47  {
49  (_plastic_strain[_qp] - _plastic_strain_old[_qp]).initialContraction(_Jacobian_mult[_qp]);
50  _dplastic_heat_dstrain[_qp] += _stress[_qp];
52  _stress[_qp].initialContraction(_elasticity_tensor[_qp].invSymm() * _Jacobian_mult[_qp]);
53  _dplastic_heat_dstrain[_qp] /= _dt;
54  }
55  }
56 }
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

std::string ComputePlasticHeatEnergy::_base_name
protected

optional parameter that allows multiple mechanics materials to be defined

Definition at line 28 of file ComputePlasticHeatEnergy.h.

MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_dplastic_heat_dstrain
protected

d(plastic_heat)/d(total strain)

Definition at line 49 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

const MaterialProperty<RankFourTensor>& ComputePlasticHeatEnergy::_elasticity_tensor
protected

elasticity tensor

Definition at line 43 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

const MaterialProperty<RankFourTensor>& ComputePlasticHeatEnergy::_Jacobian_mult
protected

d(stress)/d(total strain)

Definition at line 40 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

MaterialProperty<Real>& ComputePlasticHeatEnergy::_plastic_heat
protected

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

Definition at line 46 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

const MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_plastic_strain
protected

plastic strain

Definition at line 31 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

const MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_plastic_strain_old
protected

old value of plastic strain

Definition at line 34 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().

const MaterialProperty<RankTwoTensor>& ComputePlasticHeatEnergy::_stress
protected

stress

Definition at line 37 of file ComputePlasticHeatEnergy.h.

Referenced by computeQpProperties().


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