12 #include "RankTwoTensor.h"
22 params.addClassDescription(
"Computes eigenstrain due to thermal expansion using a function that "
23 "describes the instantaneous thermal expansion as a function of "
25 params.addRequiredParam<FunctionName>(
"thermal_expansion_function",
26 "Function describing the instantaneous thermal expansion "
27 "coefficient as a function of temperature");
34 _temperature_old(coupledValueOld(
"temperature")),
35 _thermal_expansion_function(getFunction(
"thermal_expansion_function")),
36 _thermal_strain(declareProperty<Real>(
"InstantaneousThermalExpansionFunction_thermal_strain")),
38 getMaterialPropertyOld<Real>(
"InstantaneousThermalExpansionFunction_thermal_strain")),
39 _step_one(declareRestartableData<bool>(
"step_one", true))
51 Real & thermal_strain, Real & instantaneous_cte)
61 const Real delta_T = current_temp - old_temp;
67 thermal_strain = old_thermal_strain + delta_T * 0.5 * (alpha_current_temp + alpha_old_temp);
70 instantaneous_cte = alpha_current_temp;