https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeMeanThermalExpansionEigenstrainBase.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
25template <bool is_ad>
28{
29public:
31
33
34protected:
40
45 virtual Real referenceTemperature() = 0;
46
47 /*
48 * Compute the mean thermal expansion coefficient relative to the reference temperature
49 * along with its temperature derivative.
50 * This is the linear thermal strain divided by the temperature difference:
51 * \f$\bar{\alpha}=(\delta L / L)/(T - T_{ref})\f$.
52 * @param temperature temperature at which this is evaluated
53 */
56
59
61};
62
ComputeMeanThermalExpansionEigenstrainBaseTempl< false > ComputeMeanThermalExpansionEigenstrainBase
ComputeMeanThermalExpansionEigenstrainBaseTempl< true > ADComputeMeanThermalExpansionEigenstrainBase
typename std::conditional< is_ad, ADReal, ChainedReal >::type ValueAndDerivative
Return type with a single derivative.
ComputeMeanThermalExpansionEigenstrainBase is a base class for computing the thermal expansion eigens...
const Real _thermal_expansion_scale_factor
Scalar multiplier applied to the strain for sensitivity studies and debugging.
virtual ValueAndDerivative< is_ad > computeThermalStrain() override
Compute the total thermal strain relative to the stress-free temperature at the current temperature a...
virtual ValueAndDerivative< is_ad > meanThermalExpansionCoefficient(const ValueAndDerivative< is_ad > &temperature)=0
virtual Real referenceTemperature()=0
Get the reference temperature for the mean thermal expansion relationship.
ComputeThermalExpansionEigenstrainBase is a base class for all models that compute eigenstrains due t...