www.mooseframework.org
ComputeLinearViscoelasticStress.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 = ComputeLinearElasticStress::validParams();
20  params.addClassDescription("Divides total strain into elastic + creep + eigenstrains");
21  params.addParam<std::string>(
22  "apparent_creep_strain",
23  "apparent_creep_strain",
24  "name of the apparent creep strain (defined by a LinearViscoelasticityBase material)");
25  params.addParam<std::string>(
26  "apparent_elasticity_tensor",
27  "apparent_elasticity_tensor",
28  "name of the apparent elasticity tensor (defined by a LinearViscoelasticityBase material)");
29  params.addParam<std::string>(
30  "elasticity_tensor_inv",
31  "elasticity_tensor_inv",
32  "name of the real compliance tensor (defined by a LinearViscoelasticityBase material)");
33  return params;
34 }
35 
37  : ComputeLinearElasticStress(parameters),
38  _creep_strain(declareProperty<RankTwoTensor>(
39  isParamValid("base_name") ? _base_name + "_creep_strain" : "creep_strain")),
40  _creep_strain_old(getMaterialPropertyOld<RankTwoTensor>(
41  isParamValid("base_name") ? _base_name + "_creep_strain" : "creep_strain")),
42  _apparent_creep_strain(getMaterialProperty<RankTwoTensor>("apparent_creep_strain")),
43  _apparent_elasticity_tensor(getMaterialProperty<RankFourTensor>("apparent_elasticity_tensor")),
44  _elasticity_tensor_inv(getMaterialProperty<RankFourTensor>("elasticity_tensor_inv"))
45 {
46 }
47 
48 void
50 {
51  _creep_strain[_qp].zero();
52 }
53 
54 void
56 {
57  _creep_strain[_qp] =
60 
62 
63  _stress[_qp] = _elasticity_tensor[_qp] * _elastic_strain[_qp];
64 
66 }
ComputeLinearViscoelasticStress.h
ComputeStressBase::_stress
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
Definition: ComputeStressBase.h:50
ComputeLinearViscoelasticStress
Computes the stress of a linear viscoelastic material, using total small strains.
Definition: ComputeLinearViscoelasticStress.h:30
ComputeStressBase::_Jacobian_mult
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
Definition: ComputeStressBase.h:61
ComputeLinearViscoelasticStress::computeQpStress
virtual void computeQpStress() override
Compute the stress and store it in the _stress material property for the current quadrature point.
Definition: ComputeLinearViscoelasticStress.C:55
registerMooseObject
registerMooseObject("TensorMechanicsApp", ComputeLinearViscoelasticStress)
ComputeLinearViscoelasticStress::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ComputeLinearViscoelasticStress.C:49
ComputeLinearElasticStress
ComputeLinearElasticStress computes the stress following linear elasticity theory (small strains)
Definition: ComputeLinearElasticStress.h:22
ComputeLinearViscoelasticStress::validParams
static InputParameters validParams()
Definition: ComputeLinearViscoelasticStress.C:17
defineLegacyParams
defineLegacyParams(ComputeLinearViscoelasticStress)
ComputeStressBase::_elastic_strain
MaterialProperty< RankTwoTensor > & _elastic_strain
Elastic strain material property.
Definition: ComputeStressBase.h:52
ComputeLinearElasticStress::_elasticity_tensor
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.
Definition: ComputeLinearElasticStress.h:37
RankFourTensorTempl< Real >
ComputeLinearElasticStress::validParams
static InputParameters validParams()
Definition: ComputeLinearElasticStress.C:17
ComputeLinearViscoelasticStress::ComputeLinearViscoelasticStress
ComputeLinearViscoelasticStress(const InputParameters &parameters)
Definition: ComputeLinearViscoelasticStress.C:36
ComputeStressBase::_mechanical_strain
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Mechanical strain material property.
Definition: ComputeStressBase.h:48
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
ComputeLinearViscoelasticStress::_elasticity_tensor_inv
const MaterialProperty< RankFourTensor > & _elasticity_tensor_inv
Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object)
Definition: ComputeLinearViscoelasticStress.h:51
ComputeLinearViscoelasticStress::_apparent_creep_strain
const MaterialProperty< RankTwoTensor > & _apparent_creep_strain
Apparent creep strain (extracted from a LinearViscoelasticityBase object)
Definition: ComputeLinearViscoelasticStress.h:47
ComputeLinearViscoelasticStress::_creep_strain
MaterialProperty< RankTwoTensor > & _creep_strain
Creep strain variable.
Definition: ComputeLinearViscoelasticStress.h:42
ComputeLinearViscoelasticStress::_apparent_elasticity_tensor
const MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor
Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object)
Definition: ComputeLinearViscoelasticStress.h:49