www.mooseframework.org
ComputeLinearViscoelasticStress.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 /****************************************************************/
7 
9 
10 template <>
11 InputParameters
13 {
14  InputParameters params = validParams<ComputeLinearElasticStress>();
15  params.addClassDescription("Divides total strain into elastic + creep + eigenstrains");
16  params.addParam<std::string>(
17  "apparent_creep_strain",
18  "apparent_creep_strain",
19  "name of the apparent creep strain (defined by a LinearViscoelasticityBase material)");
20  params.addParam<std::string>(
21  "apparent_elasticity_tensor",
22  "apparent_elasticity_tensor",
23  "name of the apparent elasticity tensor (defined by a LinearViscoelasticityBase material)");
24  params.addParam<std::string>(
25  "instantaneous_elasticity_tensor_inv",
26  "instantaneous_elasticity_tensor_inv",
27  "name of the apparent compliance tensor (defined by a LinearViscoelasticityBase material)");
28  return params;
29 }
30 
32  : ComputeLinearElasticStress(parameters),
33  _creep_strain(declareProperty<RankTwoTensor>(
34  isParamValid("base_name") ? _base_name + "_creep_strain" : "creep_strain")),
35  _creep_strain_old(getMaterialPropertyOld<RankTwoTensor>(
36  isParamValid("base_name") ? _base_name + "_creep_strain" : "creep_strain")),
37  _apparent_creep_strain(getMaterialProperty<RankTwoTensor>("apparent_creep_strain")),
38  _apparent_elasticity_tensor(getMaterialProperty<RankFourTensor>("apparent_elasticity_tensor")),
39  _instantaneous_elasticity_tensor_inv(
40  getMaterialProperty<RankFourTensor>("instantaneous_elasticity_tensor_inv"))
41 {
42 }
43 
44 void
46 {
47  _creep_strain[_qp].zero();
48 }
49 
50 void
52 {
53  _creep_strain[_qp] =
54  _mechanical_strain[_qp] -
57 
59 
60  _stress[_qp] = _elasticity_tensor[_qp] * _elastic_strain[_qp];
61 
63 }
InputParameters validParams< ComputeLinearViscoelasticStress >()
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
const MaterialProperty< RankFourTensor > & _instantaneous_elasticity_tensor_inv
Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object) ...
const MaterialProperty< RankTwoTensor > & _apparent_creep_strain
Apparent creep strain (extracted from a LinearViscoelasticityBase object)
MaterialProperty< RankTwoTensor > & _stress
const MaterialProperty< RankTwoTensor > & _mechanical_strain
ComputeLinearViscoelasticStress(const InputParameters &parameters)
InputParameters validParams< ComputeLinearElasticStress >()
MaterialProperty< RankTwoTensor > & _creep_strain
Creep strain variable.
const MaterialProperty< RankFourTensor > & _elasticity_tensor
const MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor
Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object)
MaterialProperty< RankTwoTensor > & _elastic_strain
ComputeLinearElasticStress computes the stress following linear elasticity theory (small strains) ...