https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
14template <bool is_ad>
16 typename std::conditional<is_ad,
19
25template <bool is_ad>
28{
29public:
31
33
34protected:
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
typename std::conditional< is_ad, ADGeneralizedRadialReturnStressUpdate, GeneralizedRadialReturnStressUpdate >::type GenericGeneralizedRadialReturnStressUpdate
typename std::conditional< is_ad, ADGeneralizedRadialReturnStressUpdate, GeneralizedRadialReturnStressUpdate >::type GenericGeneralizedRadialReturnStressUpdate
AnisotropicReturnPlasticityStressUpdateBaseTempl< false > AnisotropicReturnPlasticityStressUpdateBase
AnisotropicReturnPlasticityStressUpdateBaseTempl< true > ADAnisotropicReturnPlasticityStressUpdateBase
GeneralizedRadialReturnStressUpdateTempl< true > ADGeneralizedRadialReturnStressUpdate
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< DenseVector< Real >, is_ad > GenericDenseVector
Moose::GenericType< Real, is_ad > GenericReal
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor
This class provides baseline functionality for anisotropic (Hill-like) plasticity models based on the...
GenericMaterialProperty< RankTwoTensor, is_ad > & _plasticity_strain
Plasticity strain tensor material property.
virtual GenericReal< is_ad > computeStressDerivative(const Real, const Real) override
Calculate the derivative of the strain increment with respect to the updated stress.
bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic?
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.
ADGeneralizedRadialReturnStressUpdate computes the generalized radial return stress increment for ani...