www.mooseframework.org
VolumeDeformGradCorrectedStress.C
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 /****************************************************************/
8 
9 template <>
10 InputParameters
12 {
13  InputParameters params = validParams<Material>();
14  params.addClassDescription(
15  "Transforms stress with volumetric term from previous configuration to this configuration");
16  params.addRequiredParam<MaterialPropertyName>("pre_stress_name",
17  "Name of stress variable from previous config.");
18  params.addRequiredParam<MaterialPropertyName>("deform_grad_name",
19  "Name of deformation gradient variable");
20  params.addParam<MaterialPropertyName>("pre_jacobian_name",
21  "Name of jacobian variable from previous config.");
22  params.addRequiredParam<MaterialPropertyName>("stress_name", "Name of stress variable");
23  params.addParam<MaterialPropertyName>("jacobian_name", "Name of jacobian variable");
24  return params;
25 }
26 
28  : DerivativeMaterialInterface<Material>(parameters),
29  _pre_stress(getMaterialProperty<RankTwoTensor>("pre_stress_name")),
30  _deformation_gradient(getMaterialProperty<RankTwoTensor>("deform_grad_name")),
31  _stress(declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("stress_name")))
32 {
33  if (isParamValid("pre_jacobian_name"))
34  _pre_Jacobian_mult = &getMaterialProperty<RankFourTensor>("pre_jacobian_name");
35 
36  if (isParamValid("jacobian_name"))
38  &declareProperty<RankFourTensor>(getParam<MaterialPropertyName>("jacobian_name"));
39 }
40 
41 void
43 {
44  _stress[_qp] = _pre_stress[_qp];
45 }
46 
47 void
49 {
51 }
52 
53 void
55 {
56  _stress[_qp] = _deformation_gradient[_qp] * _pre_stress[_qp] *
57  _deformation_gradient[_qp].transpose() / _deformation_gradient[_qp].det();
58 
59  if (isParamValid("pre_jacobian_name") && isParamValid("jacobian_name"))
60  (*_Jacobian_mult)[_qp] = (*_pre_Jacobian_mult)[_qp];
61 }
const MaterialProperty< RankFourTensor > * _pre_Jacobian_mult
VolumeDeformGradCorrectedStress(const InputParameters &parameters)
InputParameters validParams< VolumeDeformGradCorrectedStress >()
MaterialProperty< RankFourTensor > * _Jacobian_mult
const MaterialProperty< RankTwoTensor > & _pre_stress
const MaterialProperty< RankTwoTensor > & _deformation_gradient
MaterialProperty< RankTwoTensor > & _stress