#include <PowerLawCreepModel.h>
Public Member Functions | |
PowerLawCreepModel (const InputParameters ¶meters) | |
virtual void | initQpStatefulProperties () override |
virtual void | computeStress (const Elem ¤t_elem, const SymmElasticityTensor &elasticityTensor, const SymmTensor &stress_old, SymmTensor &strain_increment, SymmTensor &stress_new) override |
void | computeStress (const Elem ¤t_elem, const SymmElasticityTensor &elasticityTensor, const SymmTensor &stress_old, SymmTensor &strain_increment, SymmTensor &stress_new, SymmTensor &inelastic_strain_increment) |
Compute stress by performing return mapping iterations. More... | |
virtual Real | computeReferenceResidual (const Real effective_trial_stress, const Real scalar) override |
Compute a reference quantity to be used for checking relative convergence. More... | |
Real | computeTimeStepLimit () |
Compute the limiting value of the time step for this material. More... | |
virtual Real | minimumPermissibleValue (const Real) const override |
Compute the minimum permissible value of the scalar. More... | |
void | outputIterationSummary (std::stringstream *iter_output, const unsigned int total_it) override |
Output summary information for the convergence history of the model. More... | |
void | setQp (unsigned int qp) |
Sets the value of the variable _qp for inheriting classes. More... | |
virtual bool | modifyStrainIncrement (const Elem &, SymmTensor &strain_increment, SymmTensor &d_strain_dT) |
virtual bool | updateElasticityTensor (SymmElasticityTensor &) |
virtual bool | applyThermalStrain (SymmTensor &strain_increment, SymmTensor &d_strain_dT) |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
virtual void | computeStressInitialize (Real effectiveTrialStress, const SymmElasticityTensor &elasticityTensor) override |
Perform any necessary initialization before return mapping iterations. More... | |
virtual void | computeStressFinalize (const SymmTensor &plasticStrainIncrement) override |
Perform any necessary steps to finalize state after return mapping iterations. More... | |
virtual Real | computeResidual (const Real effectiveTrialStress, const Real scalar) override |
Compute the residual for a predicted value of the scalar. More... | |
virtual Real | computeDerivative (const Real effectiveTrialStress, const Real scalar) override |
Compute the derivative of the residual as a function of the scalar variable. More... | |
void | returnMappingSolve (const Real effective_trial_stress, Real &scalar, const ConsoleStream &console) |
Perform the return mapping iterations. More... | |
virtual Real | maximumPermissibleValue (const Real effective_trial_stress) const |
Compute the maximum permissible value of the scalar. More... | |
virtual Real | initialGuess (const Real) |
Compute an initial guess for the value of the scalar. More... | |
virtual void | iterationFinalize (Real) |
Finalize internal state variables for a model for a given iteration. More... | |
virtual void | outputIterationStep (std::stringstream *iter_output, const unsigned int it, const Real effective_trial_stress, const Real scalar, const Real residual, const Real reference_residual) |
Output information for a single iteration step to build the convergence history of the model. More... | |
Protected Attributes | |
const Real | _coefficient |
const Real | _n_exponent |
const Real | _m_exponent |
const Real | _activation_energy |
const Real | _gas_constant |
const Real | _start_time |
Real | _shear_modulus |
Real | _exponential |
Real | _expTime |
MaterialProperty< SymmTensor > & | _creep_strain |
const MaterialProperty< SymmTensor > & | _creep_strain_old |
Real | _effective_strain_increment |
Real | _three_shear_modulus |
3 * shear modulus More... | |
MaterialProperty< Real > & | _effective_inelastic_strain |
const MaterialProperty< Real > & | _effective_inelastic_strain_old |
Real | _max_inelastic_increment |
const bool | _compute_matl_timestep_limit |
MaterialProperty< Real > * | _matl_timestep_limit |
const bool | _has_temp |
const VariableValue & | _temperature |
const VariableValue & | _temperature_old |
const Real | _alpha |
const Function * | _alpha_function |
bool | _has_stress_free_temp |
Real | _stress_free_temp |
bool | _mean_alpha_function |
Real | _ref_temp |
bool | _check_range |
Whether to check to see whether iterative solution is within admissible range, and set within that range if outside. More... | |
bool | _line_search |
Whether to use line searches to improve convergence. More... | |
bool | _bracket_solution |
Whether to save upper and lower bounds of root for scalar, and set solution to the midpoint between those bounds if outside them. More... | |
bool & | _step_zero_cm |
Restartable data to check for the zeroth and first time steps. More... | |
bool & | _step_one_cm |
Private Member Functions | |
SolveState | internalSolve (const Real effective_trial_stress, Real &scalar, std::stringstream *iter_output=nullptr) |
Method called from within this class to perform the actual return mappping iterations. More... | |
bool | converged (const Real residual, const Real reference) |
Check to see whether the residual is within the convergence limits. More... | |
bool | convergedAcceptable (const unsigned int it, const Real residual, const Real reference) |
Check to see whether the residual is within acceptable convergence limits. More... | |
void | checkPermissibleRange (Real &scalar, Real &scalar_increment, const Real scalar_old, const Real min_permissible_scalar, const Real max_permissible_scalar, std::stringstream *iter_output) |
Check to see whether solution is within admissible range, and set it within that range if it is not. More... | |
void | updateBounds (const Real scalar, const Real residual, const Real init_resid_sign, Real &scalar_upper_bound, Real &scalar_lower_bound, std::stringstream *iter_output) |
Update the upper and lower bounds of the root for the effective inelastic strain. More... | |
Private Attributes | |
enum SingleVariableReturnMappingSolution::InternalSolveOutput | _internal_solve_output_on |
const unsigned int | _max_its |
Maximum number of return mapping iterations. More... | |
const bool | _internal_solve_full_iteration_history |
Whether to output iteration information all the time (regardless of whether iterations converge) More... | |
Real | _relative_tolerance |
Relative convergence tolerance. More... | |
Real | _absolute_tolerance |
Absolute convergence tolerance. More... | |
Real | _acceptable_multiplier |
Multiplier applied to relative and absolute tolerances for acceptable convergence. More... | |
const std::size_t | _num_resids |
Number of residuals to be stored in history. More... | |
std::vector< Real > | _residual_history |
History of residuals used to check whether progress is still being made on decreasing the residual. More... | |
unsigned int | _iteration |
iteration number More... | |
const std::string | _svrms_name |
MOOSE input name of the object performing the solve. More... | |
Real | _initial_residual |
Residual values, kept as members to retain solver state for summary outputting. More... | |
Real | _residual |
Definition at line 19 of file PowerLawCreepModel.h.
|
strongprivateinherited |
Enumerator | |
---|---|
NEVER | |
ON_ERROR | |
ALWAYS |
Definition at line 130 of file SingleVariableReturnMappingSolution.h.
|
strongprivateinherited |
Enumerator | |
---|---|
SUCCESS | |
NAN_INF | |
EXCEEDED_ITERATIONS |
Definition at line 137 of file SingleVariableReturnMappingSolution.h.
PowerLawCreepModel::PowerLawCreepModel | ( | const InputParameters & | parameters | ) |
Definition at line 33 of file PowerLawCreepModel.C.
|
virtualinherited |
Definition at line 106 of file ConstitutiveModel.C.
Referenced by ConstitutiveModel::modifyStrainIncrement().
|
privateinherited |
Check to see whether solution is within admissible range, and set it within that range if it is not.
scalar | Current value of the inelastic strain increment |
scalar_increment | Incremental change in scalar from the previous iteration |
scalar_old | Previous value of scalar |
min_permissible_scalar | Minimum permissible value of scalar |
max_permissible_scalar | Maximum permissible value of scalar |
iter_output | Output stream |
Definition at line 356 of file SingleVariableReturnMappingSolution.C.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
overrideprotectedvirtual |
Compute the derivative of the residual as a function of the scalar variable.
The residual should be in strain increment units for all models for consistency.
effective_trial_stress | Effective trial stress |
scalar | Inelastic strain increment magnitude being solved for |
Implements SingleVariableReturnMappingSolution.
Definition at line 84 of file PowerLawCreepModel.C.
|
overridevirtualinherited |
Compute a reference quantity to be used for checking relative convergence.
This should be in strain increment units for all models for consistency.
effective_trial_stress | Effective trial stress |
scalar | Inelastic strain increment magnitude being solved for |
Implements SingleVariableReturnMappingSolution.
Definition at line 135 of file ReturnMappingModel.C.
|
overrideprotectedvirtual |
Compute the residual for a predicted value of the scalar.
This residual should be in strain increment units for all models for consistency.
effective_trial_stress | Effective trial stress |
scalar | Inelastic strain increment magnitude being solved for |
Implements SingleVariableReturnMappingSolution.
Definition at line 76 of file PowerLawCreepModel.C.
|
overridevirtualinherited |
|
inherited |
Compute stress by performing return mapping iterations.
This can be called either from within this model, or by an external model that combines multiple inelastic models.
current_elem | Current element |
elasticityTensor | Elasticity tensor |
stress_old | Old state of stress |
strain_increment | Strain increment |
stress_new | New state of stress |
inelastic_strain_increment | Inelastic strain increment |
Definition at line 82 of file ReturnMappingModel.C.
|
overrideprotectedvirtual |
Perform any necessary steps to finalize state after return mapping iterations.
inelasticStrainIncrement | Inelastic strain increment |
Reimplemented from ReturnMappingModel.
Definition at line 70 of file PowerLawCreepModel.C.
|
overrideprotectedvirtual |
Perform any necessary initialization before return mapping iterations.
effectiveTrialStress | Effective trial stress |
elasticityTensor | Elasticity tensor |
Reimplemented from ReturnMappingModel.
Definition at line 47 of file PowerLawCreepModel.C.
|
inherited |
Compute the limiting value of the time step for this material.
Definition at line 141 of file ReturnMappingModel.C.
Referenced by ReturnMappingModel::computeStress().
|
privateinherited |
Check to see whether the residual is within the convergence limits.
residual | Current value of the residual |
reference | Current value of the reference quantity |
Definition at line 298 of file SingleVariableReturnMappingSolution.C.
Referenced by SingleVariableReturnMappingSolution::convergedAcceptable(), and SingleVariableReturnMappingSolution::internalSolve().
|
privateinherited |
Check to see whether the residual is within acceptable convergence limits.
This will only return true if it has been determined that progress is no longer being made and that the residual is within the acceptable limits.
residual | Current iteration count |
residual | Current value of the residual |
reference | Current value of the reference quantity |
Definition at line 305 of file SingleVariableReturnMappingSolution.C.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
inlineprotectedvirtualinherited |
Compute an initial guess for the value of the scalar.
For some cases, an intellegent starting point can provide enhanced robustness in the Newton iterations. This is also an opportunity for classes that derive from this to perform initialization tasks.
effective_trial_stress | Effective trial stress |
Definition at line 64 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
overridevirtualinherited |
Reimplemented in CLSHPlasticModel, and IsotropicPlasticity.
Definition at line 47 of file ReturnMappingModel.C.
Referenced by IsotropicPlasticity::initQpStatefulProperties(), and CLSHPlasticModel::initQpStatefulProperties().
|
privateinherited |
Method called from within this class to perform the actual return mappping iterations.
effective_trial_stress | Effective trial stress |
scalar | Inelastic strain increment magnitude being solved for |
iter_output | Output stream – if null, no output is produced |
Definition at line 157 of file SingleVariableReturnMappingSolution.C.
Referenced by SingleVariableReturnMappingSolution::returnMappingSolve().
|
inlineprotectedvirtualinherited |
Finalize internal state variables for a model for a given iteration.
scalar | Inelastic strain increment magnitude being solved for |
Reimplemented in IsotropicPlasticityStressUpdate, IsotropicPlasticity, and CLSHPlasticModel.
Definition at line 94 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
protectedvirtualinherited |
Compute the maximum permissible value of the scalar.
For some models, the magnitude of this may be known.
effective_trial_stress | Effective trial stress |
Reimplemented in RadialReturnStressUpdate.
Definition at line 89 of file SingleVariableReturnMappingSolution.C.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
inlineoverridevirtualinherited |
Compute the minimum permissible value of the scalar.
For some models, the magnitude of this may be known.
effective_trial_stress | Effective trial stress |
Reimplemented from SingleVariableReturnMappingSolution.
Definition at line 67 of file ReturnMappingModel.h.
|
inlinevirtualinherited |
Reimplemented in CombinedCreepPlasticity.
Definition at line 38 of file ConstitutiveModel.h.
|
protectedvirtualinherited |
Output information for a single iteration step to build the convergence history of the model.
iter_output | Output stream |
it | Current iteration count |
effective_trial_stress | Effective trial stress |
scalar | Inelastic strain increment magnitude being solved for |
residual | Current value of the residual |
reference | Current value of the reference quantity |
Definition at line 328 of file SingleVariableReturnMappingSolution.C.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
overridevirtualinherited |
Output summary information for the convergence history of the model.
iter_output | Output stream |
total_it | Total iteration count |
Reimplemented from SingleVariableReturnMappingSolution.
Definition at line 154 of file ReturnMappingModel.C.
|
protectedinherited |
Perform the return mapping iterations.
effective_trial_stress | Effective trial stress |
scalar | Inelastic strain increment magnitude being solved for |
console | Console output |
Definition at line 96 of file SingleVariableReturnMappingSolution.C.
Referenced by ReturnMappingModel::computeStress(), and RadialReturnStressUpdate::updateState().
|
inherited |
Sets the value of the variable _qp for inheriting classes.
Definition at line 89 of file ConstitutiveModel.C.
Referenced by CombinedCreepPlasticity::computeStress().
|
privateinherited |
Update the upper and lower bounds of the root for the effective inelastic strain.
scalar | Current value of the inelastic strain increment |
residual | Current value of the residual |
init_resid_sign | Sign of the initial value of the residual |
scalar_upper_bound | Upper bound value of scalar |
scalar_lower_bound | Lower bound value of scalar |
iter_output | Output stream |
Definition at line 384 of file SingleVariableReturnMappingSolution.C.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
inlinevirtualinherited |
Definition at line 44 of file ConstitutiveModel.h.
|
staticinherited |
Definition at line 28 of file SingleVariableReturnMappingSolution.C.
Referenced by RadialReturnStressUpdate::validParams().
|
privateinherited |
Absolute convergence tolerance.
Definition at line 155 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::converged(), and SingleVariableReturnMappingSolution::outputIterationStep().
|
privateinherited |
Multiplier applied to relative and absolute tolerances for acceptable convergence.
Definition at line 158 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::convergedAcceptable().
|
protected |
Definition at line 35 of file PowerLawCreepModel.h.
Referenced by computeStressInitialize().
|
protectedinherited |
Definition at line 52 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain().
|
protectedinherited |
Definition at line 53 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain(), and ConstitutiveModel::ConstitutiveModel().
|
protectedinherited |
Whether to save upper and lower bounds of root for scalar, and set solution to the midpoint between those bounds if outside them.
Definition at line 127 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
protectedinherited |
Whether to check to see whether iterative solution is within admissible range, and set within that range if outside.
Definition at line 120 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
protected |
Definition at line 32 of file PowerLawCreepModel.h.
Referenced by computeDerivative(), and computeResidual().
|
protectedinherited |
Definition at line 100 of file ReturnMappingModel.h.
Referenced by ReturnMappingModel::computeStress().
|
protected |
Definition at line 43 of file PowerLawCreepModel.h.
Referenced by computeStressFinalize(), and computeStressInitialize().
|
protected |
Definition at line 44 of file PowerLawCreepModel.h.
Referenced by computeStressInitialize().
|
protectedinherited |
Definition at line 97 of file ReturnMappingModel.h.
Referenced by ReturnMappingModel::computeStress(), ReturnMappingModel::computeTimeStepLimit(), and ReturnMappingModel::initQpStatefulProperties().
|
protectedinherited |
Definition at line 98 of file ReturnMappingModel.h.
Referenced by IsotropicTempDepHardening::computeHardeningDerivative(), IsotropicPlasticity::computeHardeningDerivative(), IsotropicTempDepHardening::computeHardeningValue(), IsotropicPlasticity::computeHardeningValue(), ReturnMappingModel::computeStress(), and ReturnMappingModel::computeTimeStepLimit().
|
protectedinherited |
Definition at line 92 of file ReturnMappingModel.h.
Referenced by ReturnMappingModel::computeStress().
|
protected |
Definition at line 40 of file PowerLawCreepModel.h.
Referenced by computeDerivative(), computeResidual(), and computeStressInitialize().
|
protected |
Definition at line 41 of file PowerLawCreepModel.h.
Referenced by computeDerivative(), computeResidual(), and computeStressInitialize().
|
protected |
Definition at line 36 of file PowerLawCreepModel.h.
Referenced by computeStressInitialize().
|
protectedinherited |
Definition at line 54 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain().
|
protectedinherited |
Definition at line 49 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain(), computeStressInitialize(), and ConstitutiveModel::ConstitutiveModel().
|
privateinherited |
Residual values, kept as members to retain solver state for summary outputting.
Definition at line 170 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve(), and SingleVariableReturnMappingSolution::outputIterationSummary().
|
privateinherited |
Whether to output iteration information all the time (regardless of whether iterations converge)
Definition at line 149 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::returnMappingSolve().
|
privateinherited |
Referenced by SingleVariableReturnMappingSolution::returnMappingSolve().
|
privateinherited |
iteration number
Definition at line 167 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve(), and SingleVariableReturnMappingSolution::returnMappingSolve().
|
protectedinherited |
Whether to use line searches to improve convergence.
Definition at line 123 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
protected |
Definition at line 34 of file PowerLawCreepModel.h.
Referenced by computeStressInitialize().
|
protectedinherited |
Definition at line 101 of file ReturnMappingModel.h.
|
protectedinherited |
Definition at line 99 of file ReturnMappingModel.h.
Referenced by ReturnMappingModel::computeTimeStepLimit().
|
privateinherited |
Maximum number of return mapping iterations.
This exists only to avoid an infinite loop, and is is intended to be a large number that is not settable by the user.
Definition at line 146 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve().
|
protectedinherited |
Definition at line 56 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain(), and ConstitutiveModel::ConstitutiveModel().
|
protected |
Definition at line 33 of file PowerLawCreepModel.h.
Referenced by computeDerivative(), and computeResidual().
|
privateinherited |
Number of residuals to be stored in history.
Definition at line 161 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::convergedAcceptable(), and SingleVariableReturnMappingSolution::internalSolve().
|
protectedinherited |
Definition at line 57 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain(), and ConstitutiveModel::ConstitutiveModel().
|
privateinherited |
Relative convergence tolerance.
Definition at line 152 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::converged(), and SingleVariableReturnMappingSolution::outputIterationStep().
|
privateinherited |
Definition at line 171 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::internalSolve(), and SingleVariableReturnMappingSolution::outputIterationSummary().
|
privateinherited |
History of residuals used to check whether progress is still being made on decreasing the residual.
Definition at line 164 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::convergedAcceptable(), and SingleVariableReturnMappingSolution::internalSolve().
|
protected |
Definition at line 39 of file PowerLawCreepModel.h.
Referenced by computeDerivative(), computeResidual(), and computeStressInitialize().
|
protected |
Definition at line 37 of file PowerLawCreepModel.h.
Referenced by computeStressInitialize().
|
protectedinherited |
Definition at line 61 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain().
|
protectedinherited |
Restartable data to check for the zeroth and first time steps.
Definition at line 60 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain().
|
protectedinherited |
Definition at line 55 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain().
|
privateinherited |
MOOSE input name of the object performing the solve.
Definition at line 175 of file SingleVariableReturnMappingSolution.h.
Referenced by SingleVariableReturnMappingSolution::outputIterationSummary().
|
protectedinherited |
Definition at line 50 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain(), CombinedCreepPlasticity::computeStress(), computeStressInitialize(), IsotropicTempDepHardening::computeYieldStress(), IsotropicPlasticity::computeYieldStress(), and IsotropicTempDepHardening::initializeHardeningFunctions().
|
protectedinherited |
Definition at line 51 of file ConstitutiveModel.h.
Referenced by ConstitutiveModel::applyThermalStrain().
|
protectedinherited |
3 * shear modulus
Definition at line 95 of file ReturnMappingModel.h.
Referenced by ReturnMappingModel::computeReferenceResidual(), and ReturnMappingModel::computeStress().