https://mooseframework.inl.gov
AnisotropicReturnPlasticityStressUpdateBase.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 
14 template <bool is_ad>
16  typename std::conditional<is_ad,
19 
25 template <bool is_ad>
28 {
29 public:
31 
33 
34 protected:
35  virtual void initQpStatefulProperties() override;
36  virtual void propagateQpStatefulProperties() override;
40  bool requiresIsotropicTensor() override { return false; }
41 
47  virtual GenericReal<is_ad> computeStressDerivative(const Real /*effective_trial_stress*/,
48  const Real /*scalar*/) override
49  {
50  return 0.0;
51  }
52 
60  virtual void computeStrainFinalize(GenericRankTwoTensor<is_ad> & /*inelasticStrainIncrement*/,
61  const GenericRankTwoTensor<is_ad> & /*stress*/,
62  const GenericDenseVector<is_ad> & /*stress_dev*/,
63  const GenericReal<is_ad> & /*delta_gamma*/) override;
64 
68 };
69 
Moose::GenericType< Real, is_ad > GenericReal
ADGeneralizedRadialReturnStressUpdate computes the generalized radial return stress increment for ani...
Moose::GenericType< DenseVector< Real >, is_ad > GenericDenseVector
AnisotropicReturnPlasticityStressUpdateBaseTempl< true > ADAnisotropicReturnPlasticityStressUpdateBase
GeneralizedRadialReturnStressUpdateTempl< true > ADGeneralizedRadialReturnStressUpdate
typename std::conditional< is_ad, ADGeneralizedRadialReturnStressUpdate, GeneralizedRadialReturnStressUpdate >::type GenericGeneralizedRadialReturnStressUpdate
bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic?
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
virtual GenericReal< is_ad > computeStressDerivative(const Real, const Real) override
Calculate the derivative of the strain increment with respect to the updated stress.
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.
GenericMaterialProperty< RankTwoTensor, is_ad > & _plasticity_strain
Plasticity strain tensor material property.
AnisotropicReturnPlasticityStressUpdateBaseTempl< false > AnisotropicReturnPlasticityStressUpdateBase
This class provides baseline functionality for anisotropic (Hill-like) plasticity models based on the...
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor