www.mooseframework.org
ADComputeThermalExpansionEigenstrainBase.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 
13 #include "DerivativeMaterialPropertyNameInterface.h"
14 
15 #define usingComputeThermalExpansionEigenstrainBaseMembers \
16  usingComputeEigenstrainBaseMembers; \
17  using ADComputeThermalExpansionEigenstrainBase<compute_stage>::_temperature; \
18  using ADComputeThermalExpansionEigenstrainBase<compute_stage>::_stress_free_temperature; \
19  using ADComputeThermalExpansionEigenstrainBase<compute_stage>::computeThermalStrain
20 
21 template <ComputeStage>
23 template <typename>
26 
28 
33 template <ComputeStage compute_stage>
35  public DerivativeMaterialPropertyNameInterface
36 {
37 public:
38  static InputParameters validParams();
39 
40  ADComputeThermalExpansionEigenstrainBase(const InputParameters & parameters);
41 
42 protected:
43  virtual void computeQpEigenstrain() override;
44 
45  /*
46  * Compute the total thermal strain relative to the stress-free temperature at
47  * the current temperature, as well as the current instantaneous thermal
48  * expansion coefficient.
49  * param thermal_strain The current total linear thermal strain
50  * (\delta L / L)
51  */
52  virtual void computeThermalStrain(ADReal & thermal_strain) = 0;
53 
54  const ADVariableValue & _temperature;
55  const ADVariableValue & _stress_free_temperature;
56 
58 };
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: ADComputeThermalExpansionEigenstrainBase.h:24
ADComputeThermalExpansionEigenstrainBase::_stress_free_temperature
const ADVariableValue & _stress_free_temperature
Definition: ADComputeThermalExpansionEigenstrainBase.h:55
ADComputeEigenstrainBase
ADComputeEigenstrainBase is the base class for eigenstrain tensors.
Definition: ADComputeEigenstrainBase.h:21
ADComputeThermalExpansionEigenstrainBase::computeThermalStrain
virtual void computeThermalStrain(ADReal &thermal_strain)=0
ADComputeThermalExpansionEigenstrainBase::validParams
static InputParameters validParams()
Definition: ADComputeThermalExpansionEigenstrainBase.C:17
ADComputeThermalExpansionEigenstrainBase::_temperature
const ADVariableValue & _temperature
Definition: ADComputeThermalExpansionEigenstrainBase.h:54
ADComputeThermalExpansionEigenstrainBase::ADComputeThermalExpansionEigenstrainBase
ADComputeThermalExpansionEigenstrainBase(const InputParameters &parameters)
Definition: ADComputeThermalExpansionEigenstrainBase.C:29
declareADValidParams
declareADValidParams(ADComputeThermalExpansionEigenstrainBase)
ADComputeThermalExpansionEigenstrainBase::usingComputeEigenstrainBaseMembers
usingComputeEigenstrainBaseMembers
Definition: ADComputeThermalExpansionEigenstrainBase.h:57
ADComputeThermalExpansionEigenstrainBase
ADComputeThermalExpansionEigenstrainBase is a base class for all models that compute eigenstrains due...
Definition: ADComputeThermalExpansionEigenstrainBase.h:22
ADComputeThermalExpansionEigenstrainBase::computeQpEigenstrain
virtual void computeQpEigenstrain() override
Compute the eigenstrain and store in _eigenstrain.
Definition: ADComputeThermalExpansionEigenstrainBase.C:39
ADComputeEigenstrainBase.h
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17