交互式模拟器
Crank Nicolson模拟器
观察 Crank-Nicolson 的 r 值、扩散长度和放大因子随时间步长、空间步长的变化。
温度分布 u(x,t) 的实时扩散(Crank-Nicolson 时间推进)
step 0
Crank-Nicolson(隐式、无条件稳定)
显式 FTCS(同一步长)
解析解 e^{-α(π/L)²t}sin
每一步求解三对角线性方程组推进 u(x,t)。当 r≤0.5 时与显式格式一致;当 r>0.5 时显式 FTCS(红色)振荡发散,而 Crank-Nicolson(青色)保持平滑并趋向稳态。
物理模型与主要公式
$$u_i^{n+1}-\frac{r}{2}\Delta u^{n+1}=u_i^n+\frac{r}{2}\Delta u^n,\quad r=\alpha\Delta t/\Delta x^2$$
这个简化模型只处理主要关系。边界条件、损失、非线性和规范修正需要按实际情况另行确认。
如何解读
先看主图中的控制性趋势,避免只看结果卡而漏掉拐点或饱和。
用敏感性图寻找裕度快速下降的输入组合。
初步设计时,先判断哪个输入主导裕度,再看绝对数值。
通过对话理解Crank Nicolson
🙋看Crank Nicolson时,应该先看哪里?调整扩散率 α后,图和数值都会变化,有点不好判断。
🎓先看无量纲 r,但不要只看数字。用放大因子-波数曲线确认前提形状或状态,再用r 与扩散长度分解看分布和变化方式。先看主图中的控制性趋势,避免只看结果卡而漏掉拐点或饱和。
🙋扩散率 α变大时无量纲 r会变化,这比较直观。那时间步长 Δt的影响要怎么读?
🎓逐步调整时间步长 Δt并观察扩散长度,就能看出哪个因素在控制结果。这个简化模型只处理主要关系。边界条件、损失、非线性和规范修正需要按实际情况另行确认。 不要只算一个点,要在实际可能波动的范围内来回检查。
🙋dt-dx 的 r 图主要用来做什么?只看普通曲线不够吗?
🎓dt-dx 的 r 图用来找危险边界,以及余量突然变小的输入组合。用敏感性图寻找裕度快速下降的输入组合。 例如用于评审前的设计方案初步比较时,比单点结果更重要的是条件稍微偏离后会怎样。
🙋如果无量纲 r满足要求,就可以直接采用这个条件吗?
🎓这里适合作为初步判断。它对在详细分析前筛选控制因素和不利工况和在同一输入下同时说明公式、数值和可视化有帮助,但最终判断仍要结合标准、实测值、详细分析和厂家条件。初步设计时,先判断哪个输入主导裕度,再看绝对数值。
实际使用
用于评审前的设计方案初步比较。
在详细分析前筛选控制因素和不利工况。
在同一输入下同时说明公式、数值和可视化。
常见问题
先看无量纲 r和扩散长度。然后用放大因子-波数曲线确认前提状态,再用r 与扩散长度分解读取分布和偏差。先看主图中的控制性趋势,避免只看结果卡而漏掉拐点或饱和。
先单独调整扩散率 α,再以相近幅度调整时间步长 Δt,比较无量纲 r的变化。dt-dx 的 r 图能显示哪些输入组合会让余量或性能快速变化。
适合用于用于评审前的设计方案初步比较。不要只看单点数值,而应扩大输入范围,确认无量纲 r是否仍有余量,再决定是否进入详细分析。
这个简化模型只处理主要关系。边界条件、损失、非线性和规范修正需要按实际情况另行确认。最终判断仍需结合标准、实测值、详细分析和厂家条件。
使用指南
- 设置无量纲扩散数 r=αΔt/Δx²,其中α为热扩散率(m²/s),Δt为时间步长(s),Δx为空间步长(m)
- 调整空间步长Δx(0.01-0.1m)和时间步长Δt(0.001-0.01s),观察稳定性条件r≤0.5对数值解的影响
- 运行迭代步数(50-500步),监测高波数衰减因子g与r的关系,评估Crank-Nicolson格式的无条件稳定性
具体计算示例
钢板热传导问题:α=1.2×10⁻⁵m²/s,Δx=0.02m,Δt=0.5s,则r=1.2×10⁻⁵×0.5/(0.02)²=0.015。高波数衰减因子g=(1-3r)/(1+3r)=0.957,表明高频误差每步衰减4.3%。若增加Δt至2s,r=0.06,g=0.823,衰减效率提升至17.7%,模拟200步可覆盖扩散长度δ=√(4αt)=0.098m。
实务注意事项
- Crank-Nicolson格式在r>0.5时仍保持稳定,但r>1.0会产生非物理振荡,建议工程应用中控制r≤0.3以确保精度
- 当模拟薄壁铝合金(α=9.7×10⁻⁵m²/s)时,若Δx=0.005m,需Δt≤2.6×10⁻⁴s维持r≤0.5,计算量显著增加
- 对流-扩散耦合问题中,增大时间步长会削弱Crank-Nicolson的二阶精度优势,需根据Peclet数Pe=vΔx/α权衡稳定性与精度