www.mooseframework.org
ADComputeIncrementalStrainBase.h
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 
10 #pragma once
11 
12 #include "ADComputeStrainBase.h"
13 
14 #define usingComputeIncrementalStrainBaseMembers \
15  usingComputeStrainBaseMembers; \
16  using ADComputeIncrementalStrainBase<compute_stage>::_grad_disp_old; \
17  using ADComputeIncrementalStrainBase<compute_stage>::_strain_rate; \
18  using ADComputeIncrementalStrainBase<compute_stage>::_strain_increment; \
19  using ADComputeIncrementalStrainBase<compute_stage>::_rotation_increment; \
20  using ADComputeIncrementalStrainBase<compute_stage>::_mechanical_strain_old; \
21  using ADComputeIncrementalStrainBase<compute_stage>::_total_strain_old; \
22  using ADComputeIncrementalStrainBase<compute_stage>::_eigenstrains_old; \
23  using ADComputeIncrementalStrainBase<compute_stage>::subtractEigenstrainIncrementFromStrain
24 
25 template <ComputeStage>
27 
29 
34 template <ComputeStage compute_stage>
35 class ADComputeIncrementalStrainBase : public ADComputeStrainBase<compute_stage>
36 {
37 public:
38  static InputParameters validParams();
39 
40  ADComputeIncrementalStrainBase(const InputParameters & parameters);
41 
42  void initialSetup() override;
43 
44 protected:
45  virtual void initQpStatefulProperties() override;
46 
47  void subtractEigenstrainIncrementFromStrain(ADRankTwoTensor & strain);
48 
49  std::vector<const VariableGradient *> _grad_disp_old;
50 
51  ADMaterialProperty(RankTwoTensor) & _strain_rate;
52  ADMaterialProperty(RankTwoTensor) & _strain_increment;
53  ADMaterialProperty(RankTwoTensor) & _rotation_increment;
54 
55  const MaterialProperty<RankTwoTensor> & _mechanical_strain_old;
56  const MaterialProperty<RankTwoTensor> & _total_strain_old;
57 
58  std::vector<const MaterialProperty<RankTwoTensor> *> _eigenstrains_old;
59 
61 };
ADComputeIncrementalStrainBase::_total_strain_old
const MaterialProperty< RankTwoTensor > & _total_strain_old
Definition: ADComputeIncrementalStrainBase.h:56
ADComputeIncrementalStrainBase::ADComputeIncrementalStrainBase
ADComputeIncrementalStrainBase(const InputParameters &parameters)
Definition: ADComputeIncrementalStrainBase.C:24
declareADValidParams
declareADValidParams(ADComputeIncrementalStrainBase)
ADComputeIncrementalStrainBase::subtractEigenstrainIncrementFromStrain
void subtractEigenstrainIncrementFromStrain(ADRankTwoTensor &strain)
Definition: ADComputeIncrementalStrainBase.C:63
ADComputeIncrementalStrainBase::_mechanical_strain_old
const MaterialProperty< RankTwoTensor > & _mechanical_strain_old
Definition: ADComputeIncrementalStrainBase.h:55
ADComputeIncrementalStrainBase::validParams
static InputParameters validParams()
Definition: ADComputeIncrementalStrainBase.C:17
ADComputeIncrementalStrainBase::ADMaterialProperty
ADMaterialProperty(RankTwoTensor) &_strain_rate
ADComputeIncrementalStrainBase::_eigenstrains_old
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains_old
Definition: ADComputeIncrementalStrainBase.h:58
ADComputeIncrementalStrainBase::usingComputeStrainBaseMembers
usingComputeStrainBaseMembers
Definition: ADComputeIncrementalStrainBase.h:60
ADComputeIncrementalStrainBase::initialSetup
void initialSetup() override
Definition: ADComputeIncrementalStrainBase.C:41
ADComputeIncrementalStrainBase::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ADComputeIncrementalStrainBase.C:55
ADComputeIncrementalStrainBase
ADComputeIncrementalStrainBase is the base class for strain tensors using incremental formulations.
Definition: ADComputeIncrementalStrainBase.h:26
ADComputeStrainBase
ADADComputeStrainBase is the base class for strain tensors.
Definition: ADComputeStrainBase.h:30
RankTwoTensorTempl< Real >
ADComputeIncrementalStrainBase::_grad_disp_old
std::vector< const VariableGradient * > _grad_disp_old
Definition: ADComputeIncrementalStrainBase.h:49
ADComputeStrainBase.h