www.mooseframework.org
ADComputeMeanThermalExpansionEigenstrainBase.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 
14 #define usingComputeMeanThermalExpansionEigenstrainBaseMembers \
15  usingComputeThermalExpansionEigenstrainBaseMembers; \
16  using ADComputeMeanThermalExpansionEigenstrainBase<compute_stage>::referenceTemperature; \
17  using ADComputeMeanThermalExpansionEigenstrainBase<compute_stage>::meanThermalExpansionCoefficient
18 
19 template <ComputeStage>
21 
23 
35 template <ComputeStage compute_stage>
37  : public ADComputeThermalExpansionEigenstrainBase<compute_stage>
38 {
39 public:
40  static InputParameters validParams();
41 
42  ADComputeMeanThermalExpansionEigenstrainBase(const InputParameters & parameters);
43 
44 protected:
45  /*
46  * Compute the total thermal strain relative to the stress-free temperature at the
47  * current temperature, as well as the current instantaneous thermal expansion coefficient.
48  * param thermal_strain The current total linear thermal strain (\f$\delta L / L\f$)
49  */
50  virtual void computeThermalStrain(ADReal & thermal_strain) override;
51 
52  /*
53  * Get the reference temperature for the mean thermal expansion relationship. This is
54  * the temperature at which \f$\delta L = 0\f$.
55  */
56  virtual Real referenceTemperature() = 0;
57 
58  /*
59  * Compute the mean thermal expansion coefficient relative to the reference temperature.
60  * This is the linear thermal strain divided by the temperature difference:
61  * \f$\bar{\alpha}=(\delta L / L)/(T - T_{ref})\f$.
62  * param temperature temperature at which this is evaluated
63  */
64  virtual ADReal meanThermalExpansionCoefficient(const ADReal & temperature) = 0;
65 
67 };
ADComputeMeanThermalExpansionEigenstrainBase::referenceTemperature
virtual Real referenceTemperature()=0
ADComputeMeanThermalExpansionEigenstrainBase::ADComputeMeanThermalExpansionEigenstrainBase
ADComputeMeanThermalExpansionEigenstrainBase(const InputParameters &parameters)
Definition: ADComputeMeanThermalExpansionEigenstrainBase.C:26
ADComputeThermalExpansionEigenstrainBase.h
ADComputeMeanThermalExpansionEigenstrainBase::usingComputeThermalExpansionEigenstrainBaseMembers
usingComputeThermalExpansionEigenstrainBaseMembers
Definition: ADComputeMeanThermalExpansionEigenstrainBase.h:66
ADComputeMeanThermalExpansionEigenstrainBase
ADComputeMeanThermalExpansionEigenstrainBase is a base class for computing the thermal expansion eige...
Definition: ADComputeMeanThermalExpansionEigenstrainBase.h:20
ADComputeMeanThermalExpansionEigenstrainBase::meanThermalExpansionCoefficient
virtual ADReal meanThermalExpansionCoefficient(const ADReal &temperature)=0
ADComputeMeanThermalExpansionEigenstrainBase::computeThermalStrain
virtual void computeThermalStrain(ADReal &thermal_strain) override
Definition: ADComputeMeanThermalExpansionEigenstrainBase.C:33
declareADValidParams
declareADValidParams(ADComputeMeanThermalExpansionEigenstrainBase)
ADComputeThermalExpansionEigenstrainBase
ADComputeThermalExpansionEigenstrainBase is a base class for all models that compute eigenstrains due...
Definition: ADComputeThermalExpansionEigenstrainBase.h:22
NS::temperature
const std::string temperature
Definition: NS.h:26
ADComputeMeanThermalExpansionEigenstrainBase::validParams
static InputParameters validParams()
Definition: ADComputeMeanThermalExpansionEigenstrainBase.C:16