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 
15 
16 InputParameters
18 {
19  InputParameters params = Material::validParams();
20  params.addClassDescription(
21  "Transforms stress with volumetric term from previous configuration to this configuration");
22  params.addRequiredParam<MaterialPropertyName>("pre_stress_name",
23  "Name of stress variable from previous config.");
24  params.addRequiredParam<MaterialPropertyName>("deform_grad_name",
25  "Name of deformation gradient variable");
26  params.addParam<MaterialPropertyName>("pre_jacobian_name",
27  "Name of Jacobian variable from previous config.");
28  params.addRequiredParam<MaterialPropertyName>("stress_name", "Name of stress variable");
29  params.addParam<MaterialPropertyName>("jacobian_name", "Name of Jacobian variable");
30  return params;
31 }
32 
34  : DerivativeMaterialInterface<Material>(parameters),
35  _pre_stress(getMaterialProperty<RankTwoTensor>("pre_stress_name")),
36  _deformation_gradient(getMaterialProperty<RankTwoTensor>("deform_grad_name")),
37  _stress(declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("stress_name")))
38 {
39  if (isParamValid("pre_jacobian_name"))
40  _pre_Jacobian_mult = &getMaterialProperty<RankFourTensor>("pre_jacobian_name");
41 
42  if (isParamValid("jacobian_name"))
44  &declareProperty<RankFourTensor>(getParam<MaterialPropertyName>("jacobian_name"));
45 }
46 
47 void
49 {
50  _stress[_qp] = _pre_stress[_qp];
51 }
52 
53 void
55 {
57 }
58 
59 void
61 {
62  _stress[_qp] = _deformation_gradient[_qp] * _pre_stress[_qp] *
63  _deformation_gradient[_qp].transpose() / _deformation_gradient[_qp].det();
64 
65  if (isParamValid("pre_jacobian_name") && isParamValid("jacobian_name"))
66  (*_Jacobian_mult)[_qp] = (*_pre_Jacobian_mult)[_qp];
67 }
VolumeDeformGradCorrectedStress::_deformation_gradient
const MaterialProperty< RankTwoTensor > & _deformation_gradient
Definition: VolumeDeformGradCorrectedStress.h:40
VolumeDeformGradCorrectedStress::computeQpStress
virtual void computeQpStress()
Definition: VolumeDeformGradCorrectedStress.C:60
VolumeDeformGradCorrectedStress::validParams
static InputParameters validParams()
Definition: VolumeDeformGradCorrectedStress.C:17
VolumeDeformGradCorrectedStress::_Jacobian_mult
MaterialProperty< RankFourTensor > * _Jacobian_mult
Definition: VolumeDeformGradCorrectedStress.h:44
VolumeDeformGradCorrectedStress::initQpStatefulProperties
virtual void initQpStatefulProperties()
Definition: VolumeDeformGradCorrectedStress.C:48
VolumeDeformGradCorrectedStress::_stress
MaterialProperty< RankTwoTensor > & _stress
Definition: VolumeDeformGradCorrectedStress.h:43
VolumeDeformGradCorrectedStress::VolumeDeformGradCorrectedStress
VolumeDeformGradCorrectedStress(const InputParameters &parameters)
Definition: VolumeDeformGradCorrectedStress.C:33
VolumeDeformGradCorrectedStress::computeQpProperties
virtual void computeQpProperties()
Definition: VolumeDeformGradCorrectedStress.C:54
validParams
InputParameters validParams()
VolumeDeformGradCorrectedStress.h
VolumeDeformGradCorrectedStress::_pre_stress
const MaterialProperty< RankTwoTensor > & _pre_stress
Definition: VolumeDeformGradCorrectedStress.h:39
defineLegacyParams
defineLegacyParams(VolumeDeformGradCorrectedStress)
VolumeDeformGradCorrectedStress
VolumeDeformGradCorrectedStress transforms the Cauchy stress calculated in the previous configuration...
Definition: VolumeDeformGradCorrectedStress.h:27
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
VolumeDeformGradCorrectedStress::_pre_Jacobian_mult
const MaterialProperty< RankFourTensor > * _pre_Jacobian_mult
Definition: VolumeDeformGradCorrectedStress.h:41
registerMooseObject
registerMooseObject("TensorMechanicsApp", VolumeDeformGradCorrectedStress)