https://mooseframework.inl.gov
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AnisotropicReturnCreepStressUpdateBaseTempl< is_ad > Class Template Reference

This class provides baseline functionality for anisotropic (Hill-like) plasticity and creep models based on the stress update material in a generalized radial return framework. More...

#include <AnisotropicReturnCreepStressUpdateBase.h>

Inheritance diagram for AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >:
[legend]

Public Member Functions

 AnisotropicReturnCreepStressUpdateBaseTempl (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void initQpStatefulProperties () override
 
virtual void propagateQpStatefulProperties () override
 
bool requiresIsotropicTensor () override
 Does the model require the elasticity tensor to be isotropic? More...
 
virtual void computeStrainFinalize (GenericRankTwoTensor< is_ad > &, const GenericRankTwoTensor< is_ad > &, const GenericDenseVector< is_ad > &, const GenericReal< is_ad > &) override
 Perform any necessary steps to finalize strain increment after return mapping iterations. More...
 

Protected Attributes

GenericMaterialProperty< RankTwoTensor, is_ad > & _creep_strain
 Creep strain tensor material property. More...
 
const MaterialProperty< RankTwoTensor > & _creep_strain_old
 

Detailed Description

template<bool is_ad>
class AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >

This class provides baseline functionality for anisotropic (Hill-like) plasticity and creep models based on the stress update material in a generalized radial return framework.

Definition at line 25 of file AnisotropicReturnCreepStressUpdateBase.h.

Constructor & Destructor Documentation

◆ AnisotropicReturnCreepStressUpdateBaseTempl()

Definition at line 25 of file AnisotropicReturnCreepStressUpdateBase.C.

28  _creep_strain(this->template declareGenericProperty<RankTwoTensor, is_ad>(this->_base_name +
29  "creep_strain")),
31  this->template getMaterialPropertyOld<RankTwoTensor>(this->_base_name + "creep_strain"))
32 {
33 }
ADGeneralizedRadialReturnStressUpdate computes the generalized radial return stress increment for ani...
GenericMaterialProperty< RankTwoTensor, is_ad > & _creep_strain
Creep strain tensor material property.
const MaterialProperty< RankTwoTensor > & _creep_strain_old

Member Function Documentation

◆ computeStrainFinalize()

template<bool is_ad>
void AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >::computeStrainFinalize ( GenericRankTwoTensor< is_ad > &  inelasticStrainIncrement,
const GenericRankTwoTensor< is_ad > &  ,
const GenericDenseVector< is_ad > &  ,
const GenericReal< is_ad > &   
)
overrideprotectedvirtual

Perform any necessary steps to finalize strain increment after return mapping iterations.

Parameters
inelasticStrainIncrementInelastic strain increment

Reimplemented in HillCreepStressUpdateTempl< is_ad >.

Definition at line 55 of file AnisotropicReturnCreepStressUpdateBase.C.

Referenced by HillCreepStressUpdateTempl< is_ad >::computeStrainFinalize().

60 {
61  _creep_strain[this->_qp] = _creep_strain_old[this->_qp] + inelasticStrainIncrement;
62 }
GenericMaterialProperty< RankTwoTensor, is_ad > & _creep_strain
Creep strain tensor material property.
const MaterialProperty< RankTwoTensor > & _creep_strain_old

◆ initQpStatefulProperties()

template<bool is_ad>
void AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >::initQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 37 of file AnisotropicReturnCreepStressUpdateBase.C.

38 {
39  _creep_strain[this->_qp].zero();
40 
42 }
GenericMaterialProperty< RankTwoTensor, is_ad > & _creep_strain
Creep strain tensor material property.

◆ propagateQpStatefulProperties()

template<bool is_ad>
void AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >::propagateQpStatefulProperties ( )
overrideprotectedvirtual

Definition at line 46 of file AnisotropicReturnCreepStressUpdateBase.C.

47 {
48  _creep_strain[this->_qp] = _creep_strain_old[this->_qp];
49 
50  this->propagateQpStatefulPropertiesRadialReturn();
51 }
GenericMaterialProperty< RankTwoTensor, is_ad > & _creep_strain
Creep strain tensor material property.
const MaterialProperty< RankTwoTensor > & _creep_strain_old

◆ requiresIsotropicTensor()

template<bool is_ad>
bool AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >::requiresIsotropicTensor ( )
inlineoverrideprotected

Does the model require the elasticity tensor to be isotropic?

Definition at line 39 of file AnisotropicReturnCreepStressUpdateBase.h.

39 { return false; }

◆ validParams()

template<bool is_ad>
InputParameters AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >::validParams ( )
static

Definition at line 14 of file AnisotropicReturnCreepStressUpdateBase.C.

Referenced by HillCreepStressUpdateTempl< is_ad >::validParams().

15 {
17 
18  params.set<std::string>("effective_inelastic_strain_name") = "effective_creep_strain";
19  params.set<std::string>("inelastic_strain_rate_name") = "creep_strain_rate";
20 
21  return params;
22 }
T & set(const std::string &name, bool quiet_mode=false)

Member Data Documentation

◆ _creep_strain

template<bool is_ad>
GenericMaterialProperty<RankTwoTensor, is_ad>& AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >::_creep_strain
protected

Creep strain tensor material property.

Definition at line 51 of file AnisotropicReturnCreepStressUpdateBase.h.

◆ _creep_strain_old

template<bool is_ad>
const MaterialProperty<RankTwoTensor>& AnisotropicReturnCreepStressUpdateBaseTempl< is_ad >::_creep_strain_old
protected

Definition at line 52 of file AnisotropicReturnCreepStressUpdateBase.h.


The documentation for this class was generated from the following files: