https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeLinearViscoelasticStress.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{
18 params.addClassDescription("Divides total strain into elastic + creep + eigenstrains");
19 params.addParam<std::string>(
20 "apparent_creep_strain",
21 "apparent_creep_strain",
22 "name of the apparent creep strain (defined by a LinearViscoelasticityBase material)");
23 params.addParam<std::string>(
24 "apparent_elasticity_tensor",
25 "apparent_elasticity_tensor",
26 "name of the apparent elasticity tensor (defined by a LinearViscoelasticityBase material)");
27 params.addParam<std::string>(
28 "elasticity_tensor_inv",
29 "elasticity_tensor_inv",
30 "name of the real compliance tensor (defined by a LinearViscoelasticityBase material)");
31 return params;
32}
33
35 : ComputeLinearElasticStress(parameters),
36 _creep_strain(declareProperty<RankTwoTensor>(
37 isParamValid("base_name") ? _base_name + "_creep_strain" : "creep_strain")),
38 _creep_strain_old(getMaterialPropertyOld<RankTwoTensor>(
39 isParamValid("base_name") ? _base_name + "_creep_strain" : "creep_strain")),
40 _apparent_creep_strain(getMaterialProperty<RankTwoTensor>("apparent_creep_strain")),
41 _apparent_elasticity_tensor(getMaterialProperty<RankFourTensor>("apparent_elasticity_tensor")),
42 _elasticity_tensor_inv(getMaterialProperty<RankFourTensor>("elasticity_tensor_inv"))
43{
44}
45
46void
51
52void
registerMooseObject("SolidMechanicsApp", ComputeLinearViscoelasticStress)
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Mechanical strain material property.
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
MaterialProperty< RankTwoTensor > & _elastic_strain
Elastic strain material property.
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
ComputeLinearElasticStress computes the stress following linear elasticity theory (small strains)
static InputParameters validParams()
const MaterialProperty< RankFourTensor > & _elasticity_tensor
Elasticity tensor material property.
Computes the stress of a linear viscoelastic material, using total small strains.
const MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor
Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object)
const MaterialProperty< RankFourTensor > & _elasticity_tensor_inv
Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object)
MaterialProperty< RankTwoTensor > & _creep_strain
Creep strain variable.
virtual void computeQpStress() override
Compute the stress and store it in the _stress material property for the current quadrature point.
ComputeLinearViscoelasticStress(const InputParameters &parameters)
const MaterialProperty< RankTwoTensor > & _apparent_creep_strain
Apparent creep strain (extracted from a LinearViscoelasticityBase object)
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)