首页 理论教育 一维热传导方程的高效解法:Matlab谱方法原理与实现

一维热传导方程的高效解法:Matlab谱方法原理与实现

时间:2023-10-31 理论教育 版权反馈
【摘要】:考虑一维热传导问题:其中a为正常数,f(x,t)、φ、α和β为已知函数。图2-6 计算区域的网格剖分然后在结点处考虑热传导问题:根据泰勒公式,有:将上面两式代入式,并将小量O作为局部截断误差忽略掉,同时引入步长比r=aτ/h2,并使用简写uki=u,得差分格式:图2-7显示了差分格式所涉及结点的相对位置。需要强调的是,当步长比r=aτ/h2≤1/2时,差分格式是稳定的,反之则是不稳定的,计算结果也不可信。

一维热传导方程的高效解法:Matlab谱方法原理与实现

考虑一维热传导问题:

978-7-111-51623-1-Part01-112.jpg

其中a为正常数,f(x,t)、φ(x)、α(t)和β(t)为已知函数。u(x,0)(x)给出了函数ut=0时刻的取值,即初始条件。u(0,t)(t)和u(1,t)(t)给出了函数u在边界上的取值,即边界条件

首先,以空间步长h=1/N、时间步长τ=T/M分别将x轴上区间[0,1]、t轴上区间[0,T]分成NM等分,得xi=ih、0≤iNtk=kτ、0≤kM。再根据xitk对计算区域做网格剖分,如图2-6所示。横线与竖线的交点即为结点,称在t=0、x=0或x=1上的结点为边界结点,其余结点为内结点。

978-7-111-51623-1-Part01-113.jpg

图2-6 计算区域的网格剖分

然后在结点处考虑热传导问题:

978-7-111-51623-1-Part01-114.jpg

根据泰勒公式,有:

978-7-111-51623-1-Part01-115.jpg

将上面两式代入式(2-28),并将小量O(τ+h2)作为局部截断误差忽略掉,同时引入步

长比r=aτ/h2,并使用简写uki=u(xi,tk),得差分格式:

978-7-111-51623-1-Part01-116.jpg

图2-7显示了差分格式(2-31)所涉及结点的相对位置。要计算函数u在(xi,tk+1)处的取值,就需要用到其在(xi-1,tk)、(xi,tk)和(xi+1,tk)处的取值。(www.xing528.com)

978-7-111-51623-1-Part01-117.jpg

图2-7 差分格式(2-31)所涉及结点的相对位置

最后,将式(2-31)写成矩阵形式(2-32),注意最右端向量的首尾元素已包含了边界条件。这样,通过一次矩阵相乘和相加就可以由(uk1,uk2,…,ukN-2,ukN-1)T得到(uk+11,uk+12,…,uk+1N-2,uk+1N-1)T

978-7-111-51623-1-Part01-118.jpg

需要强调的是,当步长比r=aτ/h2≤1/2时,差分格式(2-31)是稳定的,反之则是不稳定的,计算结果也不可信。这一稳定性条件称为CFL条件,该条件是根据提出者Courant、Friedrichs、Lewy的名字命名的,它保证了误差和噪声在迭代的每一步中都不会放大,证明从略。下面看一个实例:

978-7-111-51623-1-Part01-119.jpg

根据有限差分法的矩阵形式(2-32)计算热传导问题(2-33),代码如下:

程序2-3

978-7-111-51623-1-Part01-120.jpg

978-7-111-51623-1-Part01-121.jpg

程序输出如图2-8所示,左图为数值结果,右图为数值结果与解析解u=ex+t之间的误差,程序使用的步长比r=1/2,所以计算过程是稳定的。

978-7-111-51623-1-Part01-122.jpg

图2-8 数值结果(左图)和误差(右图)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈