StressUpdateBase is a material that is not called by MOOSE because of the compute=false flag set in the parameter list. More...
#include <StressUpdateBase.h>
Public Member Functions | |
StressUpdateBase (const InputParameters ¶meters) | |
virtual void | updateState (RankTwoTensor &strain_increment, RankTwoTensor &inelastic_strain_increment, const RankTwoTensor &rotation_increment, RankTwoTensor &stress_new, const RankTwoTensor &stress_old, const RankFourTensor &elasticity_tensor, const RankTwoTensor &elastic_strain_old, bool compute_full_tangent_operator, RankFourTensor &tangent_operator)=0 |
Given a strain increment that results in a trial stress, perform some procedure (such as an iterative return-mapping process) to produce an admissible stress, an elastic strain increment and an inelastic strain increment. More... | |
void | setQp (unsigned int qp) |
Sets the value of the global variable _qp for inheriting classes. More... | |
virtual void | propagateQpStatefulProperties () |
If updateState is not called during a timestep, this will be. More... | |
virtual bool | requiresIsotropicTensor ()=0 |
Does the model require the elasticity tensor to be isotropic? More... | |
virtual bool | isIsotropic () |
Is the implmented model isotropic? The safe default is 'false'. More... | |
virtual Real | computeTimeStepLimit () |
virtual TangentCalculationMethod | getTangentCalculationMethod () |
void | resetQpProperties () final |
Retained as empty methods to avoid a warning from Material.C in framework. These methods are unused in all inheriting classes and should not be overwritten. More... | |
void | resetProperties () final |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Attributes | |
const std::string | _base_name |
Name used as a prefix for all material properties related to the stress update model. More... | |
StressUpdateBase is a material that is not called by MOOSE because of the compute=false flag set in the parameter list.
This class is a base class for materials that perform some internal computational procedure (such as an iterative return-mapping procedure) to compute an admissible state (which is usually an admissible stress that lies on or within the yield surface, as well as a set of internal parameters such as plastic strains). The computational procedure must return the admissible stress and a decomposition of the applied strain into elastic and inelastic components. All materials inheriting from this class must be called by a separate material, such as ComputeMultipleInelasticStress
Definition at line 52 of file StressUpdateBase.h.
StressUpdateBase::StressUpdateBase | ( | const InputParameters & | parameters | ) |
Definition at line 36 of file StressUpdateBase.C.
|
virtual |
Reimplemented in RadialReturnStressUpdate.
Definition at line 56 of file StressUpdateBase.C.
|
inlinevirtual |
Reimplemented in MultiParameterPlasticityStressUpdate, and RadialReturnCreepStressUpdateBase.
Definition at line 116 of file StressUpdateBase.h.
Referenced by RadialReturnStressUpdate::updateState().
|
inlinevirtual |
Is the implmented model isotropic? The safe default is 'false'.
Reimplemented in RadialReturnStressUpdate, CappedDruckerPragerStressUpdate, and CappedMohrCoulombStressUpdate.
Definition at line 112 of file StressUpdateBase.h.
Referenced by ComputeMultipleInelasticStress::initialSetup().
|
virtual |
If updateState is not called during a timestep, this will be.
This method allows derived classes to set internal parameters from their Old values, for instance
Reimplemented in MultiParameterPlasticityStressUpdate, LinearViscoelasticStressUpdate, IsotropicPlasticityStressUpdate, and RadialReturnCreepStressUpdateBase.
Definition at line 49 of file StressUpdateBase.C.
|
pure virtual |
Does the model require the elasticity tensor to be isotropic?
Implemented in RadialReturnStressUpdate, CappedDruckerPragerStressUpdate, CappedDruckerPragerCosseratStressUpdate, LinearViscoelasticStressUpdate, CappedMohrCoulombCosseratStressUpdate, CappedWeakPlaneStressUpdate, CappedWeakInclinedPlaneStressUpdate, CappedWeakPlaneCosseratStressUpdate, CappedMohrCoulombStressUpdate, and TensileStressUpdate.
Referenced by ComputeMultipleInelasticStress::initialSetup().
|
inlinefinal |
Definition at line 123 of file StressUpdateBase.h.
|
inlinefinal |
Retained as empty methods to avoid a warning from Material.C in framework. These methods are unused in all inheriting classes and should not be overwritten.
Definition at line 122 of file StressUpdateBase.h.
void StressUpdateBase::setQp | ( | unsigned int | qp | ) |
Sets the value of the global variable _qp for inheriting classes.
Definition at line 43 of file StressUpdateBase.C.
|
pure virtual |
Given a strain increment that results in a trial stress, perform some procedure (such as an iterative return-mapping process) to produce an admissible stress, an elastic strain increment and an inelastic strain increment.
If _fe_problem.currentlyComputingJacobian() = true, then updateState also computes d(stress)/d(strain) (or some approximation to it).
This method is called by ComputeMultipleInelasticStress. This method is pure virutal: all inheriting classes must overwrite this method.
strain_increment | Upon input: the strain increment. Upon output: the elastic strain increment |
inelastic_strain_increment | The inelastic_strain resulting from the interative procedure |
rotation_increment | The finite-strain rotation increment |
stress_new | Upon input: the trial stress that results from applying strain_increment as an elastic strain. Upon output: the admissible stress |
stress_old | The old value of stress |
elasticity_tensor | The elasticity tensor |
compute_full_tangent_operator | The calling routine would like the full consistent tangent operator to be placed in tangent_operator, if possible. This is irrelevant if _fe_problem.currentlyComputingJacobian() = false |
tangent_operator | d(stress)/d(strain), or some approximation to it If compute_full_tangent_operator=false, then tangent_operator=elasticity_tensor is an appropriate choice. tangent_operator is only computed if _fe_problem.currentlyComputingJacobian() = true |
Implemented in MultiParameterPlasticityStressUpdate, RadialReturnStressUpdate, and LinearViscoelasticStressUpdate.
|
static |
Definition at line 17 of file StressUpdateBase.C.
Referenced by LinearViscoelasticStressUpdate::validParams(), RadialReturnStressUpdate::validParams(), and MultiParameterPlasticityStressUpdate::validParams().
|
protected |
Name used as a prefix for all material properties related to the stress update model.
Definition at line 128 of file StressUpdateBase.h.