https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CombinedNonlinearHardeningPlasticity.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
12#include "MaterialProperty.h"
14
15template <bool is_ad>
18{
19public:
21
23
24 using Material::_qp;
27
28 virtual void
29 computeStressInitialize(const GenericReal<is_ad> & effective_trial_stress,
31 virtual GenericReal<is_ad> computeResidual(const GenericReal<is_ad> & effective_trial_stress,
32 const GenericReal<is_ad> & scalar) override;
33 virtual GenericReal<is_ad> computeDerivative(const GenericReal<is_ad> & effective_trial_stress,
34 const GenericReal<is_ad> & scalar) override;
35
37
39
40 virtual void
41 computeStressFinalize(const GenericRankTwoTensor<is_ad> & plastic_strain_increment) override;
42
43protected:
44 virtual void initQpStatefulProperties() override;
45 virtual void propagateQpStatefulProperties() override;
46
47 virtual void iterationFinalize(const GenericReal<is_ad> & scalar) override;
48
52
57
64
67
70
73 const Real _gamma;
74 const Real _q;
75 const Real _b;
77
83};
84
CombinedNonlinearHardeningPlasticityTempl< true > ADCombinedNonlinearHardeningPlasticity
CombinedNonlinearHardeningPlasticityTempl< false > CombinedNonlinearHardeningPlasticity
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< VariableValue, is_ad > GenericVariableValue
Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
Moose::GenericType< Real, is_ad > GenericReal
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor
virtual void iterationFinalize(const GenericReal< is_ad > &scalar) override
Finalize internal state variables for a model for a given iteration.
virtual GenericReal< is_ad > computeKinematicHardeningValue(const GenericReal< is_ad > &scalar)
GenericMaterialProperty< RankTwoTensor, is_ad > & _plastic_strain
plastic strain
GenericMaterialProperty< Real, is_ad > & _kinematic_hardening_variable
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 void propagateQpStatefulProperties() override
If updateState is not called during a timestep, this will be.
GenericMaterialProperty< Real, is_ad > & _isotropic_hardening_variable
virtual GenericReal< is_ad > computeIsotropicHardeningDerivative(const GenericReal< is_ad > &scalar)
const MaterialProperty< RankTwoTensor > & _plastic_strain_old
old value of plastic strain
const Real _kinematic_hardening_modulus
Coefficients for combined isotropic and kinematic hardening.
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.
virtual GenericReal< is_ad > computeIsotropicHardeningValue(const GenericReal< is_ad > &scalar)
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.
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.
unsigned int _qp
const InputParameters & parameters() const
GenericReal< is_ad > _three_shear_modulus
3 * shear modulus
const std::string _base_name
Name used as a prefix for all material properties related to the stress update model.
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)