https://mooseframework.inl.gov
AnisotropicReturnCreepStressUpdateBase.C
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 
11 
12 template <bool is_ad>
15 {
17 
18  params.set<std::string>("effective_inelastic_strain_name") = "effective_creep_strain";
19  params.set<std::string>("inelastic_strain_rate_name") = "creep_strain_rate";
20 
21  return params;
22 }
23 
24 template <bool is_ad>
26  const InputParameters & parameters)
27  : GeneralizedRadialReturnStressUpdateTempl<is_ad>(parameters),
28  _creep_strain(this->template declareGenericProperty<RankTwoTensor, is_ad>(this->_base_name +
29  "creep_strain")),
30  _creep_strain_old(
31  this->template getMaterialPropertyOld<RankTwoTensor>(this->_base_name + "creep_strain"))
32 {
33 }
34 
35 template <bool is_ad>
36 void
38 {
39  _creep_strain[this->_qp].zero();
40 
42 }
43 
44 template <bool is_ad>
45 void
47 {
48  _creep_strain[this->_qp] = _creep_strain_old[this->_qp];
49 
50  this->propagateQpStatefulPropertiesRadialReturn();
51 }
52 
53 template <bool is_ad>
54 void
56  GenericRankTwoTensor<is_ad> & inelasticStrainIncrement,
57  const GenericRankTwoTensor<is_ad> & /*stress*/,
58  const GenericDenseVector<is_ad> & /*stress_dev*/,
59  const GenericReal<is_ad> & /*delta_gamma*/)
60 {
61  _creep_strain[this->_qp] = _creep_strain_old[this->_qp] + inelasticStrainIncrement;
62 }
63 
Moose::GenericType< Real, is_ad > GenericReal
ADGeneralizedRadialReturnStressUpdate computes the generalized radial return stress increment for ani...
T & set(const std::string &name, bool quiet_mode=false)
Moose::GenericType< DenseVector< Real >, is_ad > GenericDenseVector
AnisotropicReturnCreepStressUpdateBaseTempl(const InputParameters &parameters)
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.
This class provides baseline functionality for anisotropic (Hill-like) plasticity and creep models ba...
Moose::GenericType< RankTwoTensor, is_ad > GenericRankTwoTensor