https://mooseframework.inl.gov
IsotropicPlasticityStressUpdate.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
13 
32 template <bool is_ad>
34 {
35 public:
37 
39 
40  using Material::_qp;
43 
44  virtual void
45  computeStressInitialize(const GenericReal<is_ad> & effective_trial_stress,
47  virtual GenericReal<is_ad> computeResidual(const GenericReal<is_ad> & effective_trial_stress,
48  const GenericReal<is_ad> & scalar) override;
49  virtual GenericReal<is_ad> computeDerivative(const GenericReal<is_ad> & effective_trial_stress,
50  const GenericReal<is_ad> & scalar) override;
51 
53 
55 
56  virtual void
57  computeStressFinalize(const GenericRankTwoTensor<is_ad> & plastic_strain_increment) override;
58 
59 protected:
60  virtual void initQpStatefulProperties() override;
61  virtual void propagateQpStatefulProperties() override;
62 
63  virtual void iterationFinalize(const GenericReal<is_ad> & scalar) override;
64 
67 
69  const std::string _plastic_prepend;
70 
75 
78 
81 
84 
88 };
89 
Moose::GenericType< Real, is_ad > GenericReal
virtual void computeYieldStress(const GenericRankFourTensor< is_ad > &elasticity_tensor)
virtual void computeStressFinalize(const GenericRankTwoTensor< is_ad > &plastic_strain_increment) override
Perform any necessary steps to finalize state after return mapping iterations.
This class uses the Discrete material in a radial return isotropic plasticity model.
virtual void iterationFinalize(const GenericReal< is_ad > &scalar) override
Finalize internal state variables for a model for a given iteration.
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
old value of plastic strain
virtual void computeStressInitialize(const GenericReal< is_ad > &effective_trial_stress, const GenericRankFourTensor< is_ad > &elasticity_tensor) override
Perform any necessary initialization before return mapping iterations.
virtual GenericReal< is_ad > computeDerivative(const GenericReal< is_ad > &effective_trial_stress, const GenericReal< is_ad > &scalar) override
Compute the derivative of the residual as a function of the scalar variable.
RadialReturnStressUpdate computes the radial return stress increment for an isotropic elastic-viscopl...
const GenericVariableValue< is_ad > & _temperature
Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
const MaterialProperty< Real > & _hardening_variable_old
virtual void propagateQpStatefulProperties() override
If updateState is not called during a timestep, this will be.
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)
unsigned int _qp
GenericMaterialProperty< RankTwoTensor, is_ad > & _plastic_strain
plastic strain in this model
Moose::GenericType< VariableValue, is_ad > GenericVariableValue
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
const std::string _plastic_prepend
a string to prepend to the plastic strain Material Property name
IsotropicPlasticityStressUpdateTempl< true > ADIsotropicPlasticityStressUpdate
IsotropicPlasticityStressUpdateTempl(const InputParameters &parameters)
GenericMaterialProperty< Real, is_ad > & _hardening_variable
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
IsotropicPlasticityStressUpdateTempl< false > IsotropicPlasticityStressUpdate
virtual GenericReal< is_ad > computeHardeningValue(const GenericReal< is_ad > &scalar)
virtual GenericReal< is_ad > computeResidual(const GenericReal< is_ad > &effective_trial_stress, const GenericReal< is_ad > &scalar) override
Compute the residual for a predicted value of the scalar.
const InputParameters & parameters() const
virtual GenericReal< is_ad > computeHardeningDerivative(const GenericReal< is_ad > &scalar)
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor