14 template <ComputeStage compute_stage>
19 params.addClassDescription(
"Base class for models that compute eigenstrain due to mean"
20 "thermal expansion as a function of temperature using AD");
24 template <ComputeStage compute_stage>
31 template <ComputeStage compute_stage>
34 ADReal & thermal_strain)
36 const Real reference_temperature = referenceTemperature();
37 const ADReal & current_temp = _temperature[_qp];
38 const ADReal current_alphabar = meanThermalExpansionCoefficient(current_temp);
39 const ADReal thexp_current_temp = current_alphabar * (current_temp - reference_temperature);
45 const ADReal alphabar_stress_free_temperature =
46 meanThermalExpansionCoefficient(_stress_free_temperature[_qp]);
49 const ADReal thexp_stress_free_temperature =
50 alphabar_stress_free_temperature * (_stress_free_temperature[_qp] - referenceTemperature());
59 (thexp_current_temp - thexp_stress_free_temperature) / (1.0 + thexp_stress_free_temperature);