Go to the documentation of this file.
18 params.set<
bool>(
"need_viscoelastic_properties_inverse") =
true;
19 params.suppressParameter<
bool>(
"need_viscoelastic_properties_inverse");
25 _first_elasticity_tensor_old(
26 getMaterialPropertyOld<
RankFourTensor>(_base_name +
"spring_elasticity_tensor_0")),
27 _first_elasticity_tensor_inv_old(
28 getMaterialPropertyOld<
RankFourTensor>(_base_name +
"spring_elasticity_tensor_0_inv"))
49 (theta_i * (1. + gamma));
51 (gamma / (theta_i * (1. + gamma)) - (1. - theta_i) / theta_i);
105 cumulated_driving_tensor.zero();
MaterialProperty< RankFourTensor > & _first_elasticity_tensor
Elasticity tensor of a stand-alone elastic spring in the chain.
MaterialProperty< RankTwoTensor > & _apparent_creep_strain
The apparent creep strain resulting from the internal viscous strains.
const MaterialProperty< RankFourTensor > & _first_elasticity_tensor_inv_old
MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor
Apparent elasticity tensor. This is NOT the elasticity tensor of the material.
std::vector< MaterialProperty< RankFourTensor > * > _springs_elasticity_tensors_inv
std::vector< MaterialProperty< Real > * > _dashpot_viscosities
List of viscosities of each subsequent dashpot in the chain.
const MaterialProperty< RankFourTensor > & _first_elasticity_tensor_old
old material properties required for the update of the viscoelastic strain
This class represents an assembly of springs and dashpots following a generalized Kelvin-Voigt model ...
const MaterialProperty< RankTwoTensor > * _driving_eigenstrain
Pointer to the value of the driving eigenstrain.
std::vector< const MaterialProperty< Real > * > _dashpot_viscosities_old
bool _has_driving_eigenstrain
Indicates if the model is only driven by the stress, or also by an additional eigenstrain.
Real computeTheta(Real dt, Real viscosity) const
Provides theta as a function of the time step and a viscosity.
static InputParameters validParams()
bool _has_longterm_dashpot
Indicates if the spring-dashpot assembly has a single dashpot not associated with a spring.
std::vector< MaterialProperty< RankTwoTensor > * > _viscous_strains
GeneralizedKelvinVoigtBase(const InputParameters ¶meters)
virtual void computeQpApparentElasticityTensors() final
This method computes the apparent elasticity tensor used in the internal time-stepping scheme.
MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor_inv
Inverse of the apparent elasticity tensor.
std::vector< const MaterialProperty< RankFourTensor > * > _springs_elasticity_tensors_inv_old
MaterialProperty< RankFourTensor > & _elasticity_tensor
virtual void updateQpViscousStrains() final
Update the internal viscous strains at a quadrature point.
defineLegacyParams(GeneralizedKelvinVoigtBase)
std::vector< const MaterialProperty< RankTwoTensor > * > _viscous_strains_old
const MaterialProperty< RankTwoTensor > & _elastic_strain_old
previous value of the elastic strain for update purposes
virtual void computeQpApparentCreepStrain() final
This method computes the apparent creep strain corresponding to the current viscous_strain of each da...
MaterialProperty< RankFourTensor > & _elasticity_tensor_inv
Instantaneous elasticity tensor. This IS the real elasticity tensor of the material.
static InputParameters validParams()
std::vector< MaterialProperty< RankFourTensor > * > _springs_elasticity_tensors
List of elasticity tensor of each subsequent spring in the chain.
This class is a base class for materials consisting of an assembly of linear springs and dashpots.