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

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

#include <AnisotropicReturnPlasticityStressUpdateBase.h>

Inheritance diagram for AnisotropicReturnPlasticityStressUpdateBaseTempl< is_ad >:
[legend]

Public Member Functions

 AnisotropicReturnPlasticityStressUpdateBaseTempl (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 GenericReal< is_ad > computeStressDerivative (const Real, const Real) override
 Calculate the derivative of the strain increment with respect to the updated stress. 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 > & _plasticity_strain
 Plasticity strain tensor material property. More...
 
const MaterialProperty< RankTwoTensor > & _plasticity_strain_old
 

Detailed Description

template<bool is_ad>
class AnisotropicReturnPlasticityStressUpdateBaseTempl< is_ad >

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

Definition at line 26 of file AnisotropicReturnPlasticityStressUpdateBase.h.

Constructor & Destructor Documentation

◆ AnisotropicReturnPlasticityStressUpdateBaseTempl()

Definition at line 26 of file AnisotropicReturnPlasticityStressUpdateBase.C.

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

Member Function Documentation

◆ computeStrainFinalize()

template<bool is_ad>
void AnisotropicReturnPlasticityStressUpdateBaseTempl< 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
stressCauchy stress tensor
stress_devDeviatoric part of the Cauchy stress tensor
delta_gammaPlastic multiplier

Reimplemented in HillElastoPlasticityStressUpdateTempl< is_ad >, and HillPlasticityStressUpdateTempl< is_ad >.

Definition at line 55 of file AnisotropicReturnPlasticityStressUpdateBase.C.

Referenced by HillPlasticityStressUpdateTempl< is_ad >::computeStrainFinalize(), and HillElastoPlasticityStressUpdateTempl< is_ad >::computeStrainFinalize().

60 {
61  _plasticity_strain[this->_qp] = _plasticity_strain_old[this->_qp] + inelasticStrainIncrement;
62 }
GenericMaterialProperty< RankTwoTensor, is_ad > & _plasticity_strain
Plasticity strain tensor material property.

◆ computeStressDerivative()

template<bool is_ad>
virtual GenericReal<is_ad> AnisotropicReturnPlasticityStressUpdateBaseTempl< is_ad >::computeStressDerivative ( const Real  ,
const Real   
)
inlineoverrideprotectedvirtual

Calculate the derivative of the strain increment with respect to the updated stress.

Parameters
effective_trial_stressEffective trial stress
scalarInelastic strain increment magnitude being solved for

Definition at line 47 of file AnisotropicReturnPlasticityStressUpdateBase.h.

49  {
50  return 0.0;
51  }

◆ initQpStatefulProperties()

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

◆ propagateQpStatefulProperties()

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

Reimplemented in HillElastoPlasticityStressUpdateTempl< is_ad >, and HillPlasticityStressUpdateTempl< is_ad >.

Definition at line 46 of file AnisotropicReturnPlasticityStressUpdateBase.C.

Referenced by HillPlasticityStressUpdateTempl< is_ad >::propagateQpStatefulProperties(), and HillElastoPlasticityStressUpdateTempl< is_ad >::propagateQpStatefulProperties().

47 {
48  _plasticity_strain[this->_qp] = _plasticity_strain_old[this->_qp];
49 
50  this->propagateQpStatefulPropertiesRadialReturn();
51 }
GenericMaterialProperty< RankTwoTensor, is_ad > & _plasticity_strain
Plasticity strain tensor material property.

◆ requiresIsotropicTensor()

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

Does the model require the elasticity tensor to be isotropic?

Definition at line 40 of file AnisotropicReturnPlasticityStressUpdateBase.h.

40 { return false; }

◆ validParams()

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

Definition at line 14 of file AnisotropicReturnPlasticityStressUpdateBase.C.

Referenced by HillElastoPlasticityStressUpdateTempl< is_ad >::validParams(), and HillPlasticityStressUpdateTempl< is_ad >::validParams().

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

Member Data Documentation

◆ _plasticity_strain

template<bool is_ad>
GenericMaterialProperty<RankTwoTensor, is_ad>& AnisotropicReturnPlasticityStressUpdateBaseTempl< is_ad >::_plasticity_strain
protected

Plasticity strain tensor material property.

Definition at line 66 of file AnisotropicReturnPlasticityStressUpdateBase.h.

◆ _plasticity_strain_old

template<bool is_ad>
const MaterialProperty<RankTwoTensor>& AnisotropicReturnPlasticityStressUpdateBaseTempl< is_ad >::_plasticity_strain_old
protected

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