NAFEMS T3:一维瞬态导热
问题:按正弦波加热的棒
概述
NAFEMS T3是导热基准题吧。这么简单的一维问题要检验什么?
这是温度随时间变化的瞬态问题,不仅检验单元细度,还检验时间推进是否正确。棒一端温度按正弦波升降,热量滞后传入内部。目标点温度是边界温度过峰值开始下降后32秒的值,时间积分误差容易直接显现。我们用级数构造精确解,并在差分法中改变单元数和时间步长,看它们如何接近参考值36.60℃。
问题定义
长0.1 m,导热系数35 W/mK,密度7200 kg/m³,比热440 J/kgK(热扩散率1.10×10⁻⁵ m²/s)。求距保持0℃的端0.08 m、即距加热端0.02 m处32秒时的温度,参考值为36.60℃。
级数精确解
$\xi$ 为距加热端的距离。用直线分担边界温度,其余部分展开为本征函数级数,各系数变为一阶常微分方程即可求解。取4000项为36.626℃,8000项仍相同。
NAFEMS基准题
NAFEMS于1983年在英国成立,旨在提高有限元等分析技术的可信度。1980年代后期到1990年前后,它整理了线性弹性(LE)、热(T)、振动(FV)等标准基准题,使任何软件都能求解同一问题并比较结果。许多商用软件的验证手册至今仍收录这些问题和参考值。T3是其中检验瞬态导热时间积分的基本问题。
算例:差分法的收敛
单元数、时间步长与时间积分
| 单元数 | CN·Δt 2 s | CN·Δt 0.5 s | 后向欧拉·Δt 2 s | 后向欧拉·Δt 0.5 s |
|---|---|---|---|---|
| 5 | 34.83 | 34.89 | 34.22 | 34.73 |
| 10 | 35.90 | 35.96 | 35.09 | 35.75 |
| 20 | 36.38 | 36.44 | 35.49 | 36.20 |
| 40 | 36.52 | 36.58 | 35.61 | 36.33 |
单位℃,CN为Crank-Nicolson法。40个单元、CN、Δt 0.05 s时为36.58℃。级数解为36.63℃,参考值为36.60℃。
温度随时间变化
| 时刻 | 加热端温度 | 目标点温度 |
|---|---|---|
| 8 秒 | 58.8 °C | 2.8 °C |
| 16 秒 | 95.1 °C | 14.9 °C |
| 24 秒 | 95.1 °C | 28.8 °C |
| 32 秒 | 58.8 °C | 36.6 °C |
| 40 秒 | 0.0 °C | 33.9 °C |
加热端温度在20秒达到峰值,目标点却还在上升。
热量传播0.02 m所需时间约为距离平方除以热扩散率,约36秒,与边界变化周期(80秒)相当。所以目标点温度滞后于边界:32秒时仍在上升,边界回到0℃的40秒时仍有34℃。要正确表示这种滞后,时间积分不能使相位偏移。后向欧拉法数值阻尼大,会把变化抹平,Δt 2 s时低约1℃。Crank-Nicolson法为二阶精度,Δt 2 s与0.5 s只差0.06℃。单元数影响也很大,5个单元低近2℃。40个单元加Δt 0.5 s,与参考值的差才在0.1%以内。
基准题的用法
- 先准确理解问题定义(目标点位置、哪端是加热端)。
- 单元数逐次加倍,由数值变化确认收敛阶。
- 同样改变时间步长,把时间积分误差与空间误差分开评估。
- 确认所用软件默认的时间积分方法(后向欧拉、CN等)。
- 记录结果时不仅记录与参考值之差,还要记录单元数和时间步长。
“把位置读反了”
某软件验证中计算T3,目标点温度为0.09℃,与参考值36.60℃完全不符。怀疑软件有缺陷去查,原因却是读错了题:把“0.08 m处”从加热端量起。改在距0℃端0.08 m、即距加热端0.02 m处评估,就得到了36.6℃。教训是:做基准题时,计算前先准确读懂问题定义。
常见错误
错误与对策
| 错误 | 后果 | 对策 |
|---|---|---|
| 从错误的一端量取 | 得到0.09℃等完全不同的值 | 确认定义 |
| 时间步长大 | 峰值被抹平 | 改变步长确认 |
| 只用后向欧拉判断 | 约1℃误差 | 也试二阶方法 |
| 单元粗 | 近2℃误差 | 逐次加倍单元 |
| 物性单位错误 | 热扩散率差几个数量级 | 计算α确认 |
我想了解相关内容。