www.mooseframework.org
ComputeMeanThermalExpansionEigenstrainBase.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 
15 
16 template <>
18 
31 {
32 public:
33  static InputParameters validParams();
34 
35  ComputeMeanThermalExpansionEigenstrainBase(const InputParameters & parameters);
36 
37 protected:
38  /*
39  * Compute the total thermal strain relative to the stress-free temperature at the
40  * current temperature, as well as the current instantaneous thermal expansion coefficient.
41  * param thermal_strain The current total linear thermal strain (\f$\delta L / L\f$)
42  * param instantaneous_cte The current instantaneous coefficient of thermal expansion
43  * (derivative of thermal_strain wrt temperature
44  */
45  virtual void computeThermalStrain(Real & thermal_strain, Real & instantaneous_cte) override;
46 
47  /*
48  * Get the reference temperature for the mean thermal expansion relationship. This is
49  * the temperature at which \f$\delta L = 0\f$.
50  */
51  virtual Real referenceTemperature() = 0;
52 
53  /*
54  * Compute the mean thermal expansion coefficient relative to the reference temperature.
55  * This is the linear thermal strain divided by the temperature difference:
56  * \f$\bar{\alpha}=(\delta L / L)/(T - T_{ref})\f$.
57  * param temperature temperature at which this is evaluated
58  */
59  virtual Real meanThermalExpansionCoefficient(const Real temperature) = 0;
60 
61  /*
62  * Compute the derivative of the mean thermal expansion coefficient \f$\bar{\alpha}\f$
63  * with respect to temperature, where \f$\bar{\alpha}=(\delta L / L)/(T - T_{ref})\f$.
64  * param temperature temperature at which this is evaluated
65  */
66  virtual Real meanThermalExpansionCoefficientDerivative(const Real temperature) = 0;
67 };
ComputeMeanThermalExpansionEigenstrainBase::referenceTemperature
virtual Real referenceTemperature()=0
ComputeMeanThermalExpansionEigenstrainBase::meanThermalExpansionCoefficientDerivative
virtual Real meanThermalExpansionCoefficientDerivative(const Real temperature)=0
ComputeMeanThermalExpansionEigenstrainBase::meanThermalExpansionCoefficient
virtual Real meanThermalExpansionCoefficient(const Real temperature)=0
ComputeMeanThermalExpansionEigenstrainBase::ComputeMeanThermalExpansionEigenstrainBase
ComputeMeanThermalExpansionEigenstrainBase(const InputParameters &parameters)
Definition: ComputeMeanThermalExpansionEigenstrainBase.C:24
validParams< ComputeMeanThermalExpansionEigenstrainBase >
InputParameters validParams< ComputeMeanThermalExpansionEigenstrainBase >()
ComputeMeanThermalExpansionEigenstrainBase
ComputeMeanThermalExpansionEigenstrainBase is a base class for computing the thermal expansion eigens...
Definition: ComputeMeanThermalExpansionEigenstrainBase.h:30
NS::temperature
const std::string temperature
Definition: NS.h:26
ComputeThermalExpansionEigenstrainBase.h
ComputeMeanThermalExpansionEigenstrainBase::validParams
static InputParameters validParams()
Definition: ComputeMeanThermalExpansionEigenstrainBase.C:16
ComputeMeanThermalExpansionEigenstrainBase::computeThermalStrain
virtual void computeThermalStrain(Real &thermal_strain, Real &instantaneous_cte) override
Definition: ComputeMeanThermalExpansionEigenstrainBase.C:31
ComputeThermalExpansionEigenstrainBase
ComputeThermalExpansionEigenstrainBase is a base class for all models that compute eigenstrains due t...
Definition: ComputeThermalExpansionEigenstrainBase.h:27