www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ComputeLinearViscoelasticStress Class Reference

Computes the stress of a linear viscoelastic material, using total small strains. More...

#include <ComputeLinearViscoelasticStress.h>

Inheritance diagram for ComputeLinearViscoelasticStress:
[legend]

Public Member Functions

 ComputeLinearViscoelasticStress (const InputParameters &parameters)
 
virtual void initialSetup () override
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void initQpStatefulProperties () override
 
virtual void computeQpStress () override
 Compute the stress and store it in the _stress material property for the current quadrature point. More...
 
virtual void computeQpProperties () override
 

Protected Attributes

const MaterialProperty< RankTwoTensor > & _apparent_creep_strain
 Apparent creep strain (extracted from a LinearViscoelasticityBase object) More...
 
const MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor
 Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object) More...
 
const MaterialProperty< RankFourTensor > & _elasticity_tensor_inv
 Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object) More...
 
const std::string _elasticity_tensor_name
 Name of the elasticity tensor material property. More...
 
const MaterialProperty< RankFourTensor > & _elasticity_tensor
 Elasticity tensor material property. More...
 
const std::string _base_name
 Base name prepended to all material property names to allow for multi-material systems. More...
 
const MaterialProperty< RankTwoTensor > & _mechanical_strain
 Mechanical strain material property. More...
 
MaterialProperty< RankTwoTensor > & _stress
 Stress material property. More...
 
MaterialProperty< RankTwoTensor > & _elastic_strain
 Elastic strain material property. More...
 
const MaterialProperty< RankTwoTensor > & _extra_stress
 Extra stress tensor. More...
 
std::vector< const Function * > _initial_stress_fcn
 initial stress components More...
 
MaterialProperty< RankFourTensor > & _Jacobian_mult
 derivative of stress w.r.t. strain (_dstress_dstrain) More...
 
MaterialProperty< RankTwoTensor > & _creep_strain
 Creep strain variable. More...
 
const MaterialProperty< RankTwoTensor > & _creep_strain_old
 

Detailed Description

Computes the stress of a linear viscoelastic material, using total small strains.

The mechanical strain is decomposed into the elastic strain + the creep strain, the creep strain itself resulting from a spring-dashpot model.

If you need to accomodate other sources of inelastic strains, use a ComputeMultipleInelasticStress material instead, associated with a LinearViscoelasticStressUpdate to represent the creep strain.

Definition at line 30 of file ComputeLinearViscoelasticStress.h.

Constructor & Destructor Documentation

◆ ComputeLinearViscoelasticStress()

ComputeLinearViscoelasticStress::ComputeLinearViscoelasticStress ( const InputParameters &  parameters)

Definition at line 36 of file ComputeLinearViscoelasticStress.C.

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 }

Member Function Documentation

◆ computeQpProperties()

void ComputeStressBase::computeQpProperties ( )
overrideprotectedvirtualinherited

Definition at line 50 of file ComputeStressBase.C.

51 {
53 
54  // Add in extra stress
55  _stress[_qp] += _extra_stress[_qp];
56 }

◆ computeQpStress()

void ComputeLinearViscoelasticStress::computeQpStress ( )
overrideprotectedvirtual

Compute the stress and store it in the _stress material property for the current quadrature point.

Reimplemented from ComputeLinearElasticStress.

Definition at line 55 of file ComputeLinearViscoelasticStress.C.

56 {
57  _creep_strain[_qp] =
60 
62 
63  _stress[_qp] = _elasticity_tensor[_qp] * _elastic_strain[_qp];
64 
66 }

◆ initialSetup()

void ComputeLinearElasticStress::initialSetup ( )
overridevirtualinherited

Definition at line 32 of file ComputeLinearElasticStress.C.

33 {
34  if (hasBlockMaterialProperty<RankTwoTensor>(_base_name + "strain_increment"))
35  mooseError("This linear elastic stress calculation only works for small strains; use "
36  "ComputeFiniteStrainElasticStress for simulations using incremental and finite "
37  "strains.");
38 }

◆ initQpStatefulProperties()

void ComputeLinearViscoelasticStress::initQpStatefulProperties ( )
overrideprotectedvirtual

Reimplemented from ComputeStressBase.

Definition at line 49 of file ComputeLinearViscoelasticStress.C.

50 {
51  _creep_strain[_qp].zero();
52 }

◆ validParams()

InputParameters ComputeLinearViscoelasticStress::validParams ( )
static

Definition at line 17 of file ComputeLinearViscoelasticStress.C.

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 }

Member Data Documentation

◆ _apparent_creep_strain

const MaterialProperty<RankTwoTensor>& ComputeLinearViscoelasticStress::_apparent_creep_strain
protected

Apparent creep strain (extracted from a LinearViscoelasticityBase object)

Definition at line 47 of file ComputeLinearViscoelasticStress.h.

Referenced by computeQpStress().

◆ _apparent_elasticity_tensor

const MaterialProperty<RankFourTensor>& ComputeLinearViscoelasticStress::_apparent_elasticity_tensor
protected

Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object)

Definition at line 49 of file ComputeLinearViscoelasticStress.h.

Referenced by computeQpStress().

◆ _base_name

const std::string ComputeStressBase::_base_name
protectedinherited

Base name prepended to all material property names to allow for multi-material systems.

Definition at line 45 of file ComputeStressBase.h.

Referenced by ComputeLinearElasticStress::initialSetup(), and ComputeCosseratLinearElasticStress::initialSetup().

◆ _creep_strain

MaterialProperty<RankTwoTensor>& ComputeLinearViscoelasticStress::_creep_strain
protected

Creep strain variable.

Definition at line 42 of file ComputeLinearViscoelasticStress.h.

Referenced by computeQpStress(), and initQpStatefulProperties().

◆ _creep_strain_old

const MaterialProperty<RankTwoTensor>& ComputeLinearViscoelasticStress::_creep_strain_old
protected

Definition at line 43 of file ComputeLinearViscoelasticStress.h.

◆ _elastic_strain

MaterialProperty<RankTwoTensor>& ComputeStressBase::_elastic_strain
protectedinherited

◆ _elasticity_tensor

const MaterialProperty<RankFourTensor>& ComputeLinearElasticStress::_elasticity_tensor
protectedinherited

Elasticity tensor material property.

Definition at line 37 of file ComputeLinearElasticStress.h.

Referenced by ComputeLinearElasticStress::computeQpStress(), and computeQpStress().

◆ _elasticity_tensor_inv

const MaterialProperty<RankFourTensor>& ComputeLinearViscoelasticStress::_elasticity_tensor_inv
protected

Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object)

Definition at line 51 of file ComputeLinearViscoelasticStress.h.

Referenced by computeQpStress().

◆ _elasticity_tensor_name

const std::string ComputeLinearElasticStress::_elasticity_tensor_name
protectedinherited

Name of the elasticity tensor material property.

Definition at line 35 of file ComputeLinearElasticStress.h.

◆ _extra_stress

const MaterialProperty<RankTwoTensor>& ComputeStressBase::_extra_stress
protectedinherited

Extra stress tensor.

Definition at line 55 of file ComputeStressBase.h.

Referenced by ComputeStressBase::computeQpProperties().

◆ _initial_stress_fcn

std::vector<const Function *> ComputeStressBase::_initial_stress_fcn
protectedinherited

initial stress components

Definition at line 58 of file ComputeStressBase.h.

◆ _Jacobian_mult

MaterialProperty<RankFourTensor>& ComputeStressBase::_Jacobian_mult
protectedinherited

◆ _mechanical_strain

const MaterialProperty<RankTwoTensor>& ComputeStressBase::_mechanical_strain
protectedinherited

◆ _stress

MaterialProperty<RankTwoTensor>& ComputeStressBase::_stress
protectedinherited

Stress material property.

Definition at line 50 of file ComputeStressBase.h.

Referenced by ComputeMultipleInelasticCosseratStress::computeAdmissibleState(), ComputeMultipleInelasticStress::computeAdmissibleState(), ComputeStressBase::computeQpProperties(), ComputeStrainIncrementBasedStress::computeQpStress(), ComputeLinearElasticStress::computeQpStress(), ComputeDamageStress::computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeCosseratLinearElasticStress::computeQpStress(), ComputeSmearedCrackingStress::computeQpStress(), ComputeLinearElasticPFFractureStress::computeQpStress(), FiniteStrainPlasticMaterial::computeQpStress(), ComputeMultiPlasticityStress::computeQpStress(), computeQpStress(), ComputeMultipleInelasticStress::computeQpStress(), ComputeMultipleInelasticStress::computeQpStressIntermediateConfiguration(), ComputeLinearElasticPFFractureStress::computeStrainSpectral(), ComputeLinearElasticPFFractureStress::computeStrainVolDev(), ComputeLinearElasticPFFractureStress::computeStressSpectral(), ComputeMultipleInelasticStress::finiteStrainRotation(), ComputeStressBase::initQpStatefulProperties(), FiniteStrainCrystalPlasticity::initQpStatefulProperties(), FiniteStrainUObasedCP::initQpStatefulProperties(), FiniteStrainHyperElasticViscoPlastic::initQpStatefulProperties(), ComputeMultiPlasticityStress::postReturnMap(), FiniteStrainUObasedCP::postSolveQp(), FiniteStrainHyperElasticViscoPlastic::postSolveQp(), FiniteStrainCrystalPlasticity::postSolveQp(), ComputeSmearedCrackingStress::updateCrackingStateAndStress(), ComputeMultipleInelasticStress::updateQpState(), and ComputeMultipleInelasticStress::updateQpStateSingleModel().


The documentation for this class was generated from the following files:
ComputeStressBase::_stress
MaterialProperty< RankTwoTensor > & _stress
Stress material property.
Definition: ComputeStressBase.h:50
ComputeStressBase::_extra_stress
const MaterialProperty< RankTwoTensor > & _extra_stress
Extra stress tensor.
Definition: ComputeStressBase.h:55
ComputeStressBase::_Jacobian_mult
MaterialProperty< RankFourTensor > & _Jacobian_mult
derivative of stress w.r.t. strain (_dstress_dstrain)
Definition: ComputeStressBase.h:61
ComputeStressBase::computeQpStress
virtual void computeQpStress()=0
Compute the stress and store it in the _stress material property for the current quadrature point.
ComputeStressBase::_base_name
const std::string _base_name
Base name prepended to all material property names to allow for multi-material systems.
Definition: ComputeStressBase.h:45
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
ComputeLinearElasticStress::ComputeLinearElasticStress
ComputeLinearElasticStress(const InputParameters &parameters)
Definition: ComputeLinearElasticStress.C:24
ComputeLinearElasticStress::validParams
static InputParameters validParams()
Definition: ComputeLinearElasticStress.C:17
ComputeStressBase::_mechanical_strain
const MaterialProperty< RankTwoTensor > & _mechanical_strain
Mechanical strain material property.
Definition: ComputeStressBase.h:48
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_old
const MaterialProperty< RankTwoTensor > & _creep_strain_old
Definition: ComputeLinearViscoelasticStress.h:43
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