This class uses the stress update material for an anisotropic creep model. More...
#include <HillCreepStressUpdate.h>
Public Member Functions | |
HillCreepStressUpdateTempl (const InputParameters ¶meters) | |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
virtual void | computeStressInitialize (const GenericDenseVector< is_ad > &stress_dev, const GenericDenseVector< is_ad > &stress, const GenericRankFourTensor< is_ad > &elasticity_tensor) override |
virtual GenericReal< is_ad > | computeResidual (const GenericDenseVector< is_ad > &effective_trial_stress, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &scalar) override |
virtual GenericReal< is_ad > | computeDerivative (const GenericDenseVector< is_ad > &effective_trial_stress, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &scalar) override |
virtual Real | computeReferenceResidual (const GenericDenseVector< is_ad > &effective_trial_stress, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &residual, const GenericReal< is_ad > &scalar_effective_inelastic_strain) override |
void | computeQsigmaChanged (GenericReal< is_ad > &qsigma_changed, const GenericDenseVector< is_ad > &stress_new, const GenericReal< is_ad > &delta_gamma, GenericRankTwoTensor< is_ad > &stress_changed) |
virtual void | computeStrainFinalize (GenericRankTwoTensor< is_ad > &inelasticStrainIncrement, const GenericRankTwoTensor< is_ad > &stress, const GenericDenseVector< is_ad > &stress_dev, const GenericReal< is_ad > &delta_gamma) override |
Perform any necessary steps to finalize strain increment after return mapping iterations. More... | |
virtual void | computeStressFinalize (const GenericRankTwoTensor< is_ad > &inelasticStrainIncrement, const GenericReal< is_ad > &delta_gamma, GenericRankTwoTensor< is_ad > &stress, const GenericDenseVector< is_ad > &stress_dev, const GenericRankTwoTensor< is_ad > &stress_old, const GenericRankFourTensor< is_ad > &elasticity_tensor) override |
Perform any necessary steps to finalize state after return mapping iterations. More... | |
virtual GenericReal< is_ad > | initialGuess (const GenericDenseVector< is_ad > &) override |
bool | requiresIsotropicTensor () override |
Does the model require the elasticity tensor to be isotropic? Not in principle. More... | |
virtual Real | computeIntegrationErrorTimeStep () override |
Compute the limiting value of the time step for this material according to the numerical integration error. More... | |
virtual void | initQpStatefulProperties () override |
virtual void | propagateQpStatefulProperties () override |
Protected Attributes | |
usingTransientInterfaceMembers | |
const bool | _has_temp |
Flag to determine if temperature is supplied by the user. More... | |
const VariableValue & | _temperature |
Temperature variable value. More... | |
const Real | _coefficient |
Leading coefficient. More... | |
const Real | _n_exponent |
Exponent on the effective stress. More... | |
const Real | _m_exponent |
Exponent on time. More... | |
const Real | _activation_energy |
Activation energy for exp term. More... | |
const Real | _gas_constant |
Gas constant for exp term. More... | |
const Real | _start_time |
Simulation start time. More... | |
Real | _exponential |
Exponential calculated from activation, gas constant, and temperature. More... | |
Real | _exp_time |
Exponential calculated from current time. More... | |
const MaterialProperty< std::vector< Real > > & | _hill_constants |
Hill constant material. More... | |
const MaterialProperty< DenseMatrix< Real > > * | _hill_tensor |
Hill tensor, when global axes do not (somehow) align with those of the material Example: Large rotation due to rigid body and/or large deformation kinematics. More... | |
GenericReal< is_ad > | _two_shear_modulus |
2 * shear modulus More... | |
GenericDenseMatrix< is_ad > | _C |
Matrix form of the elasticity tensor. More... | |
const std::string | _elasticity_tensor_name |
Name of the elasticity tensor material property. More... | |
const GenericMaterialProperty< RankFourTensor, is_ad > & | _elasticity_tensor |
Anisotropic elasticity tensor material property. More... | |
bool | _anisotropic_elasticity |
Materials's elasticity tensor is anisotropic or not. More... | |
const Function *const | _prefactor_function |
Prefactor for scaling creep. More... | |
const Elem *const & | _current_elem |
const MooseArray< Point > & | _q_point |
unsigned int | _qp |
GenericMaterialProperty< RankTwoTensor, is_ad > & | _creep_strain |
Creep strain tensor material property. More... | |
const MaterialProperty< RankTwoTensor > & | _creep_strain_old |
This class uses the stress update material for an anisotropic creep model.
This class is one of the basic radial return constitutive models; more complex constitutive models combine creep and plasticity.
This class inherits from AnisotropicReturnCreepStressUpdateBase and must be used in conjunction with ComputeMultipleInelasticStress. This class calculates creep based on stress, temperature, and time effects. This class also computes the creep strain as a stateful material property.
This class extends the usage of PowerLawCreep to Hill (i.e. anisotropic) cases. For more information, consult, e.g. Stewart et al, "An anisotropic tertiary creep damage constitutive model for anistropic materials", International Journal of Pressure Vessels and Piping 88 (2011) 356–364.
Definition at line 30 of file HillCreepStressUpdate.h.
HillCreepStressUpdateTempl< is_ad >::HillCreepStressUpdateTempl | ( | const InputParameters & | parameters | ) |
Definition at line 43 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtual |
Definition at line 135 of file HillCreepStressUpdate.C.
|
inlineoverrideprotectedvirtual |
Compute the limiting value of the time step for this material according to the numerical integration error.
Definition at line 109 of file HillCreepStressUpdate.h.
|
protected |
Definition at line 345 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtual |
Definition at line 124 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtual |
Definition at line 99 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtual |
Perform any necessary steps to finalize strain increment after return mapping iterations.
inelasticStrainIncrement | Inelastic strain increment |
stress | Cauchy stresss tensor |
stress_dev | Deviatoric partt of the Cauchy stresss tensor |
delta_gamma | Generalized radial return's plastic multiplier |
Reimplemented from AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >.
Definition at line 219 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtual |
Perform any necessary steps to finalize state after return mapping iterations.
inelasticStrainIncrement | Inelastic strain increment |
delta_gamma | Generalized radial return's plastic multiplier |
stress | Cauchy stresss tensor |
stress_dev | Deviatoric partt of the Cauchy stresss tensor |
Definition at line 316 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtual |
Definition at line 77 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtual |
Definition at line 92 of file HillCreepStressUpdate.C.
|
overrideprotectedvirtualinherited |
Definition at line 37 of file AnisotropicReturnCreepStressUpdateBase.C.
|
overrideprotectedvirtualinherited |
Definition at line 46 of file AnisotropicReturnCreepStressUpdateBase.C.
|
inlineoverrideprotected |
Does the model require the elasticity tensor to be isotropic? Not in principle.
TODO: Take care of rotation of anisotropy parameters
Definition at line 102 of file HillCreepStressUpdate.h.
|
static |
Definition at line 19 of file HillCreepStressUpdate.C.
|
protected |
Activation energy for exp term.
Definition at line 130 of file HillCreepStressUpdate.h.
|
protected |
Materials's elasticity tensor is anisotropic or not.
Definition at line 164 of file HillCreepStressUpdate.h.
|
protected |
Matrix form of the elasticity tensor.
Definition at line 155 of file HillCreepStressUpdate.h.
|
protected |
Leading coefficient.
Definition at line 121 of file HillCreepStressUpdate.h.
|
protectedinherited |
Creep strain tensor material property.
Definition at line 51 of file AnisotropicReturnCreepStressUpdateBase.h.
|
protectedinherited |
Definition at line 52 of file AnisotropicReturnCreepStressUpdateBase.h.
|
protected |
|
protected |
Anisotropic elasticity tensor material property.
Definition at line 161 of file HillCreepStressUpdate.h.
|
protected |
Name of the elasticity tensor material property.
Definition at line 158 of file HillCreepStressUpdate.h.
|
protected |
Exponential calculated from current time.
Definition at line 142 of file HillCreepStressUpdate.h.
|
protected |
Exponential calculated from activation, gas constant, and temperature.
Definition at line 139 of file HillCreepStressUpdate.h.
|
protected |
Gas constant for exp term.
Definition at line 133 of file HillCreepStressUpdate.h.
|
protected |
Flag to determine if temperature is supplied by the user.
Definition at line 115 of file HillCreepStressUpdate.h.
|
protected |
Hill constant material.
Definition at line 145 of file HillCreepStressUpdate.h.
|
protected |
Hill tensor, when global axes do not (somehow) align with those of the material Example: Large rotation due to rigid body and/or large deformation kinematics.
Definition at line 149 of file HillCreepStressUpdate.h.
|
protected |
Exponent on time.
Definition at line 127 of file HillCreepStressUpdate.h.
Referenced by HillCreepStressUpdateTempl< is_ad >::HillCreepStressUpdateTempl().
|
protected |
Exponent on the effective stress.
Definition at line 124 of file HillCreepStressUpdate.h.
|
protected |
Prefactor for scaling creep.
Definition at line 167 of file HillCreepStressUpdate.h.
|
protected |
|
protected |
|
protected |
Simulation start time.
Definition at line 136 of file HillCreepStressUpdate.h.
|
protected |
Temperature variable value.
Definition at line 118 of file HillCreepStressUpdate.h.
|
protected |
2 * shear modulus
Definition at line 152 of file HillCreepStressUpdate.h.
|
protected |
Definition at line 38 of file HillCreepStressUpdate.h.