www.mooseframework.org
VolumeDeformGradCorrectedStress.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 
11 
13 
16 {
18  params.addClassDescription(
19  "Transforms stress with volumetric term from previous configuration to this configuration");
20  params.addRequiredParam<MaterialPropertyName>("pre_stress_name",
21  "Name of stress variable from previous config.");
22  params.addRequiredParam<MaterialPropertyName>("deform_grad_name",
23  "Name of deformation gradient variable");
24  params.addParam<MaterialPropertyName>("pre_jacobian_name",
25  "Name of Jacobian variable from previous config.");
26  params.addRequiredParam<MaterialPropertyName>("stress_name", "Name of stress variable");
27  params.addParam<MaterialPropertyName>("jacobian_name", "Name of Jacobian variable");
28  return params;
29 }
30 
33  _pre_stress(getMaterialProperty<RankTwoTensor>("pre_stress_name")),
34  _deformation_gradient(getMaterialProperty<RankTwoTensor>("deform_grad_name")),
35  _pre_Jacobian_mult(isParamValid("pre_jacobian_name")
36  ? &getMaterialProperty<RankFourTensor>("pre_jacobian_name")
37  : nullptr),
38  _stress(declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("stress_name"))),
39  _Jacobian_mult(
40  isParamValid("jacobian_name")
41  ? &declareProperty<RankFourTensor>(getParam<MaterialPropertyName>("jacobian_name"))
42  : nullptr)
43 {
44 }
45 
46 void
48 {
50 }
51 
52 void
54 {
56 }
57 
58 void
60 {
62  _deformation_gradient[_qp].transpose() / _deformation_gradient[_qp].det();
63 
65  (*_Jacobian_mult)[_qp] = (*_pre_Jacobian_mult)[_qp];
66 }
registerMooseObject("SolidMechanicsApp", VolumeDeformGradCorrectedStress)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
VolumeDeformGradCorrectedStress(const InputParameters &parameters)
const MaterialProperty< RankFourTensor > *const _pre_Jacobian_mult
void addRequiredParam(const std::string &name, const std::string &doc_string)
VolumeDeformGradCorrectedStress transforms the Cauchy stress calculated in the previous configuration...
const MaterialProperty< RankTwoTensor > & _pre_stress
static InputParameters validParams()
MaterialProperty< RankFourTensor > *const _Jacobian_mult
const MaterialProperty< RankTwoTensor > & _deformation_gradient
void addClassDescription(const std::string &doc_string)
MaterialProperty< RankTwoTensor > & _stress
The stress tensor transformed to the current configuration.