https://mooseframework.inl.gov
Loading...
Searching...
No Matches
VolumeDeformGradCorrectedStress.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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{
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
46void
51
52void
57
58void
60{
61 _stress[_qp] = _deformation_gradient[_qp] * _pre_stress[_qp] *
62 _deformation_gradient[_qp].transpose() / _deformation_gradient[_qp].det();
63
65 (*_Jacobian_mult)[_qp] = (*_pre_Jacobian_mult)[_qp];
66}
registerMooseObject("SolidMechanicsApp", VolumeDeformGradCorrectedStress)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()
VolumeDeformGradCorrectedStress transforms the Cauchy stress calculated in the previous configuration...
const MaterialProperty< RankTwoTensor > & _deformation_gradient
MaterialProperty< RankTwoTensor > & _stress
The stress tensor transformed to the current configuration.
MaterialProperty< RankFourTensor > *const _Jacobian_mult
const MaterialProperty< RankFourTensor > *const _pre_Jacobian_mult
const MaterialProperty< RankTwoTensor > & _pre_stress
VolumeDeformGradCorrectedStress(const InputParameters &parameters)