www.mooseframework.org
ADRadialReturnCreepStressUpdateBase.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 #include "RankTwoTensor.h"
12 
14 
15 template <ComputeStage compute_stage>
16 InputParameters
18 {
20  params.set<std::string>("effective_inelastic_strain_name") = "effective_creep_strain";
21  return params;
22 }
23 
24 template <ComputeStage compute_stage>
26  const InputParameters & parameters)
27  : ADRadialReturnStressUpdate<compute_stage>(parameters),
28  _creep_strain(declareADProperty<RankTwoTensor>(_base_name + "creep_strain")),
29  _creep_strain_old(getMaterialPropertyOld<RankTwoTensor>(_base_name + "creep_strain"))
30 {
31 }
32 
33 template <ComputeStage compute_stage>
34 void
36 {
37  _creep_strain[_qp].zero();
38 
40 }
41 
42 template <ComputeStage compute_stage>
43 void
45 {
46  _creep_strain[_qp] = _creep_strain_old[_qp];
47 
48  propagateQpStatefulPropertiesRadialReturn();
49 }
50 
51 template <ComputeStage compute_stage>
52 void
54  const ADRankTwoTensor & plastic_strain_increment)
55 {
56  _creep_strain[_qp] = _creep_strain_old[_qp] + plastic_strain_increment;
57 }
58 
59 // explicit instantiation is required for AD base classes
ADRadialReturnCreepStressUpdateBase::validParams
static InputParameters validParams()
Definition: ADRadialReturnCreepStressUpdateBase.C:17
ADRadialReturnStressUpdate::validParams
static InputParameters validParams()
Definition: ADRadialReturnStressUpdate.C:19
adBaseClass
adBaseClass(ADRadialReturnCreepStressUpdateBase)
ADRadialReturnCreepStressUpdateBase::ADRadialReturnCreepStressUpdateBase
ADRadialReturnCreepStressUpdateBase(const InputParameters &parameters)
Definition: ADRadialReturnCreepStressUpdateBase.C:25
ADRadialReturnStressUpdate::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ADRadialReturnStressUpdate.C:54
ADRadialReturnStressUpdate
ADRadialReturnStressUpdate computes the radial return stress increment for an isotropic elastic-visco...
Definition: ADRadialReturnStressUpdate.h:26
ADRadialReturnCreepStressUpdateBase
This class provides baseline functionallity for creep models based on the stress update material in a...
Definition: ADRadialReturnCreepStressUpdateBase.h:21
ADRadialReturnCreepStressUpdateBase::computeStressFinalize
virtual void computeStressFinalize(const ADRankTwoTensor &plastic_strain_increment) override
Perform any necessary steps to finalize state after return mapping iterations.
Definition: ADRadialReturnCreepStressUpdateBase.C:53
ADRadialReturnCreepStressUpdateBase.h
defineADLegacyParams
defineADLegacyParams(ADRadialReturnCreepStressUpdateBase)
ADRadialReturnCreepStressUpdateBase::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ADRadialReturnCreepStressUpdateBase.C:35
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
ADRadialReturnCreepStressUpdateBase::propagateQpStatefulProperties
virtual void propagateQpStatefulProperties() override
If updateState is not called during a timestep, this will be.
Definition: ADRadialReturnCreepStressUpdateBase.C:44