Computes the stress of a linear viscoelastic material, using total small strains. More...
#include <ComputeLinearViscoelasticStress.h>
Public Types | |
| typedef DerivativeMaterialPropertyNameInterface::SymbolName | SymbolName |
Public Member Functions | |
| ComputeLinearViscoelasticStress (const InputParameters ¶meters) | |
| virtual void | initialSetup () override |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialProperty (const std::string &name) |
| const GenericMaterialProperty< U, is_ad > & | getDefaultMaterialPropertyByName (const std::string &name) |
| void | validateDerivativeMaterialPropertyBase (const std::string &base) |
| const MaterialPropertyName | derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| GenericMaterialProperty< U, is_ad > & | declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) |
| const GenericMaterialProperty< U, is_ad > & | getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="") |
| void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
| void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true) |
| void | validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| void | validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="") |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const |
| const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const |
| const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const |
| const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
| const MaterialPropertyName | propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const |
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. | |
| virtual void | computeQpProperties () override |
Protected Attributes | |
| const MaterialProperty< RankTwoTensor > & | _apparent_creep_strain |
| Apparent creep strain (extracted from a LinearViscoelasticityBase object) | |
| 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) | |
| const std::string | _elasticity_tensor_name |
| Name of the elasticity tensor material property. | |
| const MaterialProperty< RankFourTensor > & | _elasticity_tensor |
| Elasticity tensor material property. | |
| const std::string | _base_name |
| Base name prepended to all material property names to allow for multi-material systems. | |
| const MaterialProperty< RankTwoTensor > & | _mechanical_strain |
| Mechanical strain material property. | |
| MaterialProperty< RankTwoTensor > & | _stress |
| Stress material property. | |
| MaterialProperty< RankTwoTensor > & | _elastic_strain |
| Elastic strain material property. | |
| const MaterialProperty< RankTwoTensor > & | _extra_stress |
| Extra stress tensor. | |
| std::vector< const Function * > | _initial_stress_fcn |
| initial stress components | |
| MaterialProperty< RankFourTensor > & | _Jacobian_mult |
| derivative of stress w.r.t. strain (_dstress_dstrain) | |
| MaterialProperty< RankTwoTensor > & | _creep_strain |
| Creep strain variable. | |
| const MaterialProperty< RankTwoTensor > & | _creep_strain_old |
Private Member Functions | |
| bool | haveMaterialProperty (const std::string &prop_name) |
| std::vector< VariableName > | buildVariableVector (const VariableName &c1, const VariableName &c2, const VariableName &c3) |
| void | validateCouplingHelper (const MaterialPropertyName &base, const std::vector< VariableName > &c, const System &system, std::vector< VariableName > &missing) |
| bool | isNotObjectVariable (const VariableName &name) |
Private Attributes | |
| FEProblemBase & | _dmi_fe_problem |
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 25 of file ComputeLinearViscoelasticStress.h.
| ComputeLinearViscoelasticStress::ComputeLinearViscoelasticStress | ( | const InputParameters & | parameters | ) |
Definition at line 34 of file ComputeLinearViscoelasticStress.C.
|
overrideprotectedvirtualinherited |
Definition at line 44 of file ComputeGeneralStressBase.C.
|
overrideprotectedvirtual |
Compute the stress and store it in the _stress material property for the current quadrature point.
Reimplemented from ComputeLinearElasticStress.
Definition at line 53 of file ComputeLinearViscoelasticStress.C.
|
overridevirtualinherited |
Definition at line 30 of file ComputeLinearElasticStress.C.
|
overrideprotectedvirtual |
Reimplemented from ComputeGeneralStressBase.
Definition at line 47 of file ComputeLinearViscoelasticStress.C.
|
static |
Definition at line 15 of file ComputeLinearViscoelasticStress.C.
|
protected |
Apparent creep strain (extracted from a LinearViscoelasticityBase object)
Definition at line 42 of file ComputeLinearViscoelasticStress.h.
Referenced by computeQpStress().
|
protected |
Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object)
Definition at line 44 of file ComputeLinearViscoelasticStress.h.
Referenced by computeQpStress().
|
protectedinherited |
Base name prepended to all material property names to allow for multi-material systems.
Definition at line 43 of file ComputeGeneralStressBase.h.
Referenced by ComputeCosseratLinearElasticStress::initialSetup(), and ComputeLinearElasticStress::initialSetup().
|
protected |
Creep strain variable.
Definition at line 37 of file ComputeLinearViscoelasticStress.h.
Referenced by computeQpStress(), and initQpStatefulProperties().
|
protected |
Definition at line 38 of file ComputeLinearViscoelasticStress.h.
|
protectedinherited |
Elastic strain material property.
Definition at line 50 of file ComputeGeneralStressBase.h.
Referenced by ComputeSmearedCrackingStress::computeCrackStrainAndOrientation(), ComputeMultiPlasticityStress::computeQpStress(), FiniteStrainPlasticMaterial::computeQpStress(), ComputeCosseratLinearElasticStress::computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeLinearElasticStress::computeQpStress(), computeQpStress(), ComputeSmearedCrackingStress::computeQpStress(), ComputeMultipleInelasticStressBase::computeQpStressIntermediateConfiguration(), ComputeMultipleInelasticStressBase::finiteStrainRotation(), and ComputeGeneralStressBase::initQpStatefulProperties().
|
protectedinherited |
Elasticity tensor material property.
Definition at line 32 of file ComputeLinearElasticStress.h.
Referenced by ComputeLinearElasticStress::computeQpStress(), and computeQpStress().
|
protected |
Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object)
Definition at line 46 of file ComputeLinearViscoelasticStress.h.
Referenced by computeQpStress().
|
protectedinherited |
Name of the elasticity tensor material property.
Definition at line 30 of file ComputeLinearElasticStress.h.
|
protectedinherited |
Extra stress tensor.
Definition at line 53 of file ComputeGeneralStressBase.h.
Referenced by ComputeGeneralStressBase::computeQpProperties().
|
protectedinherited |
initial stress components
Definition at line 56 of file ComputeGeneralStressBase.h.
|
protectedinherited |
derivative of stress w.r.t. strain (_dstress_dstrain)
Definition at line 59 of file ComputeGeneralStressBase.h.
Referenced by ComputeStrainIncrementBasedStress::computeQpJacobian(), FiniteStrainHyperElasticViscoPlastic::computeQpJacobian(), ComputeMultipleInelasticStressBase::computeQpJacobianMult(), ComputeMultipleInelasticCosseratStress::computeQpJacobianMult(), ComputeMultiPlasticityStress::computeQpStress(), FiniteStrainPlasticMaterial::computeQpStress(), ComputeCosseratLinearElasticStress::computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeLinearElasticPFFractureStress::computeQpStress(), ComputeLinearElasticStress::computeQpStress(), computeQpStress(), ComputeMultipleInelasticStressBase::computeQpStress(), ComputeSmearedCrackingStress::computeQpStress(), ComputeMultipleCrystalPlasticityStress::computeQpStress(), ComputeMultipleInelasticStressBase::computeQpStressIntermediateConfiguration(), ComputeLinearElasticPFFractureStress::computeStrainSpectral(), ComputeLinearElasticPFFractureStress::computeStrainVolDev(), ComputeLinearElasticPFFractureStress::computeStressSpectral(), FiniteStrainUObasedCP::elasticTangentModuli(), FiniteStrainUObasedCP::elastoPlasticTangentModuli(), ComputeMultipleInelasticStressBase::finiteStrainRotation(), ComputeMultiPlasticityStress::postReturnMap(), FiniteStrainCrystalPlasticity::postSolveQp(), FiniteStrainCrystalPlasticity::preSolveQp(), and ComputeMultipleInelasticStressBase::updateQpStateSingleModel().
|
protectedinherited |
Mechanical strain material property.
Definition at line 46 of file ComputeGeneralStressBase.h.
Referenced by ComputeStrainIncrementBasedStress::computeQpStress(), FiniteStrainPlasticMaterial::computeQpStress(), ComputeCosseratLinearElasticStress::computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeLinearElasticPFFractureStress::computeQpStress(), ComputeLinearElasticStress::computeQpStress(), computeQpStress(), ComputeLinearElasticPFFractureStress::computeStrainSpectral(), ComputeLinearElasticPFFractureStress::computeStrainVolDev(), and ComputeLinearElasticPFFractureStress::computeStressSpectral().
|
protectedinherited |
Stress material property.
Definition at line 48 of file ComputeGeneralStressBase.h.
Referenced by ComputeMultipleInelasticStressBase::computeAdmissibleState(), ComputeMultipleInelasticCosseratStress::computeAdmissibleState(), ComputeGeneralStressBase::computeQpProperties(), ComputeMultiPlasticityStress::computeQpStress(), ComputeStrainIncrementBasedStress::computeQpStress(), FiniteStrainPlasticMaterial::computeQpStress(), AbaqusUMATStress::computeQpStress(), ComputeCosseratLinearElasticStress::computeQpStress(), ComputeFiniteStrainElasticStress::computeQpStress(), ComputeLinearElasticPFFractureStress::computeQpStress(), ComputeLinearElasticStress::computeQpStress(), computeQpStress(), ComputeMultipleInelasticStressBase::computeQpStress(), ComputeSmearedCrackingStress::computeQpStress(), ComputeMultipleCrystalPlasticityStress::computeQpStress(), ComputeMultipleInelasticStressBase::computeQpStressIntermediateConfiguration(), ComputeLinearElasticPFFractureStress::computeStrainSpectral(), ComputeLinearElasticPFFractureStress::computeStrainVolDev(), ComputeLinearElasticPFFractureStress::computeStressSpectral(), ComputeCreepPlasticityStress::computeTangentOperators(), ComputeMultipleInelasticStressBase::finiteStrainRotation(), FiniteStrainCrystalPlasticity::initQpStatefulProperties(), FiniteStrainUObasedCP::initQpStatefulProperties(), FiniteStrainHyperElasticViscoPlastic::initQpStatefulProperties(), ComputeGeneralStressBase::initQpStatefulProperties(), ComputeMultiPlasticityStress::postReturnMap(), FiniteStrainCrystalPlasticity::postSolveQp(), FiniteStrainUObasedCP::postSolveQp(), FiniteStrainHyperElasticViscoPlastic::postSolveQp(), ComputeSmearedCrackingStress::updateCrackingStateAndStress(), ComputeCreepPlasticityStress::updateQpState(), ComputeMultipleInelasticStress::updateQpState(), and ComputeMultipleInelasticStressBase::updateQpStateSingleModel().