www.mooseframework.org
ComputeVolumetricDeformGrad.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  "Computes volumetric deformation gradient and adjusts the total deformation gradient");
22  params.addRequiredParam<MaterialPropertyName>(
23  "pre_deform_grad_name", "Name of pre-adjusted deformation gradient variable");
24  params.addRequiredParam<MaterialPropertyName>("volumetric_deform_grad_name",
25  "Name of volumetric deformation gradient variable");
26  params.addRequiredParam<MaterialPropertyName>("post_deform_grad_name",
27  "Name of adjusted deformation gradient variable");
28  return params;
29 }
30 
32  : DerivativeMaterialInterface<Material>(parameters),
33  _pre_deform_grad(getMaterialProperty<RankTwoTensor>("pre_deform_grad_name")),
34  _volumetric_deform_grad(declareProperty<RankTwoTensor>(
35  getParam<MaterialPropertyName>("volumetric_deform_grad_name"))),
36  _post_deform_grad(
37  declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("post_deform_grad_name")))
38 {
39 }
40 
41 void
43 {
44  _post_deform_grad[_qp].setToIdentity();
45  _volumetric_deform_grad[_qp].setToIdentity();
46 }
47 
48 void
50 {
52  _post_deform_grad[_qp] = _volumetric_deform_grad[_qp].inverse() * _pre_deform_grad[_qp];
53 }
54 
55 void
57 {
58  _volumetric_deform_grad[_qp].setToIdentity();
59 }
ComputeVolumetricDeformGrad::_pre_deform_grad
const MaterialProperty< RankTwoTensor > & _pre_deform_grad
Definition: ComputeVolumetricDeformGrad.h:38
ComputeVolumetricDeformGrad.h
ComputeVolumetricDeformGrad::validParams
static InputParameters validParams()
Definition: ComputeVolumetricDeformGrad.C:17
ComputeVolumetricDeformGrad::initQpStatefulProperties
virtual void initQpStatefulProperties()
Definition: ComputeVolumetricDeformGrad.C:42
ComputeVolumetricDeformGrad::computeQpProperties
virtual void computeQpProperties()
Definition: ComputeVolumetricDeformGrad.C:49
validParams
InputParameters validParams()
ComputeVolumetricDeformGrad::_volumetric_deform_grad
MaterialProperty< RankTwoTensor > & _volumetric_deform_grad
Definition: ComputeVolumetricDeformGrad.h:39
ComputeVolumetricDeformGrad::createVolumetricDeformGrad
virtual void createVolumetricDeformGrad()
Definition: ComputeVolumetricDeformGrad.C:56
ComputeVolumetricDeformGrad::ComputeVolumetricDeformGrad
ComputeVolumetricDeformGrad(const InputParameters &parameters)
Definition: ComputeVolumetricDeformGrad.C:31
defineLegacyParams
defineLegacyParams(ComputeVolumetricDeformGrad)
registerMooseObject
registerMooseObject("TensorMechanicsApp", ComputeVolumetricDeformGrad)
ComputeVolumetricDeformGrad
ComputeVolumetricDeformGrad is the class to compute volumetric deformation gradient Modification base...
Definition: ComputeVolumetricDeformGrad.h:26
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
ComputeVolumetricDeformGrad::_post_deform_grad
MaterialProperty< RankTwoTensor > & _post_deform_grad
Definition: ComputeVolumetricDeformGrad.h:40