You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

圆柱壁温度分布微分方程离散化线性方程组正确性排查求助

圆柱壁温度分布微分方程离散化线性方程组正确性排查求助

看起来你在这个圆柱壁温度分布的离散化问题上卡了好一阵子,太懂这种明明步骤都走了但结果不对的挫败感了!咱们一步步来捋清楚问题出在哪~

首先,先明确问题的基础参数:区间$1 \leq r \leq 2$,$N=4$划分的话,步长$h=(2-1)/4=0.25$,节点是$r_0=1$($T_0=450$,已知)、$r_1=1.25$、$r_2=1.5$、$r_3=1.75$、$r_4=2$(边界节点,未知)。原方程是$r \frac{d2T}{dr2} + \frac{dT}{dr} = 0$,边界条件在$r=2$处为$k \frac{dT}{dr} = -\alpha(T-T_e)$($k=\alpha=1$,$T_e=20$)。

你的推导里的核心问题

我对比了你的线性方程组和正确推导的结果,发现主要问题出在边界条件的差分近似选择和后续消元推导上:

  1. 边界条件的差分近似用错了方向
    你用了向前差分$\frac{T_{N+1}-T_N}{h}$来近似$r=2$处的导数,但这个差分涉及域外节点($r>2$的区域,不在我们的计算域内),不仅逻辑上不合理,还会导致后续代入内部节点方程时出现错误。正确的做法是用向后差分$\frac{T_4-T_3}{h}$来近似$r=2$处的导数,因为我们的节点到$r=2$为止,用相邻的内部节点$r_3$来计算边界导数才符合计算域的范围。

  2. 消去域外节点的推导过程出错
    基于错误的向前差分边界条件,你推导的第三行方程系数和右端项完全偏离了正确结果。我们用正确的向后差分边界条件重新推导:

  • 先整理边界条件:$\frac{T_4-T_3}{0.25} = -(T_4-20)$,化简后得到$T_4 = \frac{T_3 + 5}{1.25}$(因为$20h=5$,$1+h=1.25$)。
  • 把这个$T_4$代入$r_3$处的原方程离散式,整理后得到的第三行方程应该是:$26T_2 -32T_3 = -120$,而不是你写的$0*T_1 + \frac{2r-h}{2h^2}T_2 + (\frac{ah}{k}-\frac{2r}{h^2}-1)T_3 = T_e\frac{ah}{k}$。

验证:用解析解对比

原方程的解析解其实很容易求:$T(r) = C_1\ln r + C_2$,代入边界条件后得到$C_2=450$,$C_1≈-360.5$,计算$r_3=1.75$时的温度≈248.5。用正确的线性方程组求解得到的$T_3≈254.07$,误差来自一阶差分的精度限制,这个结果是合理的;而你的方程组求解得到的$T_3≈84.95$,和解析解差太远,明显是推导错误导致的。

小提醒

另外,你的矩阵里的$r$没有指定具体节点的$r$值(比如$r_1=1.25$、$r_2=1.5$、$r_3=1.75$),直接用泛化的$r$会导致系数计算时混淆节点参数,这也是容易出错的细节哦。

希望这些分析能帮你找到问题所在,调整边界条件的差分方式和消元推导后,应该就能得到正确的结果啦!

备注:内容来源于stack exchange,提问作者Need_MathHelp

火山引擎 最新活动