英语原文共 22 页,剩余内容已隐藏,支付完成后下载完整资料
线性常微分方程的龙格-库塔方法
David W.Zingg T.T.Chisholm
摘要
本文提出了求解线性常系数非齐次微分方程数值积分的三种新龙格-库塔方法。这种常微分方程产生于以线性波动现象为主导的偏微分方程数值求解中。对线性常系数微分方程的限制,减少了龙格-库塔方法系数必须满足的条件数。这种灵活性可用来发展比传统龙格-库塔方法更有效的方法。本文提出了一种四阶方法,它的每个因变量只使用两个存储单元,而经典的四阶龙格-库塔方法则使用三个。这种方法对模拟以存储量为主要关注点的线性波现象是一个很好选择。此外,本文也提出了五阶和六阶方法,它们分别需要五层和六层,比传统方法少了一个层,因而效率更高。这些方法是用于高阶空间离散化的一个极好选择。
引言
我们考虑如下的大型线性非齐次常微分方程组的数值积分
(1)
其中A是由MM的矩阵,其元素不依赖于u和t 。u和g(t)是长度为M的向量。这种本质上的自治系统产生于以波现象为主导的偏微分方程,在采用诸如以有限差分,有限体积或有限元方法空间离散之后的偏微分方程数值求解中。这种偏微分方程的例子有以声波为主导的线性欧拉方程和以电磁波为主导的麦克斯韦方程。A的元素依赖于偏微分方程和空间离散。非齐次项g(t)依赖于源项或边界条件。在波传播的背景下,常微分方程组通常具有轻微的刚度,其A特征值通常位于虚轴附近。
将空间离散化应用到偏微分方程系统中产生的常微分方程系统可能非常大,尤其在三维模拟中。因此,对用于积分这些系统的方法的约束与那些在很大程度上推动了初值问题数值方法发展的方法有所不同。由于其高精度和适度的内存需求,显式龙格-库塔方法已成为模拟波现象的流行方法[见参考文献5,6,7,15,17]。每个因变量仅需要两个存储位置的三阶和四阶方法特别有用[见参考文献3,13,14]。这种性质很容易用三阶龙格-库塔法得到[14],但是四阶方法需要一个额外的阶段[3]。由于积分的主要成本在于导数函数的评估,并且每个阶段都需要进行功能评估,因此附加阶段代表了费用的显着增加。出于同样的原因,在解决由偏微分方程离散化引起的非常大的常微分方程系统时,通常不执行错误检查。
已经有几种尝试开发用于积分线性常微分方程系统的有效方法[4,9,10,11]. 这些方法的基本前提是,评估导数函数的主要成本是形成矩阵A和向量g(t)。在这里考虑的应用中,线性波现象的模拟,矩阵A从未明确地形成或被存储。因此,先前针对线性系统提出的方法不适合于该应用。
众所周知,具有p阶的龙格-库塔法的精度不超过p阶。对于Ple;4,P阶的方法可由P阶推导出。然而,五阶和六阶方法分别需要至少六阶和七阶。七阶精度需要九阶,八阶精度需要十一阶[1]。由于我们的应用程序的成本与阶数大致成正比,这代表了高阶龙格-库塔方法的一个显著限制。
一些作者已经考虑了各种近似值来减少高阶龙格-库塔方法的阶数和存储要求。Shanks [12] 通过只要求近似满足精度条件,能够开发出阶数少的方案。Zingg等,[16,17]提出了具有低存储要求的方法,这些方法对于线性齐次常微分方程是高阶的,否则是二阶的。Lorenz先前提出过类似的想法[8]。
在本文中,我们专门针对具有常系数的线性常微分方程开发龙格-库塔方法。通过消除导数函数中非线性所施加的约束,可以导出高阶龙格-库塔方法,其在某些方面比经典方法更有效。在下一节中,我们提出了一种四阶方法,它比传统的四阶龙格-库塔方法需要更少的内存。然后,我们提出了五阶和六阶方法,每个时间步长需要的导数函数评估少于适用于非线性问题的五阶和六阶龙格-库塔方法。
显式龙格-库塔方法的一般形式
不失一般性,我们考虑以下标量常微分方程:
(2)
一般的p层显式龙格-库塔方法可以写成
(3)
其中h=是时间步长,,un 是的近似值。
低存储四阶法
我们首先考虑p = 4的情况。限制条件为
(4)
还有十个参数。对于四阶精度,必须满足八个条件。即使对于线性齐次常系数微分方程,也会出现其中的四个。如果常微分方程非齐次,则必须满足另外三个条件。最终条件与非常系数或非线性相关。因此,四阶龙格-库塔方法是一个双参数族,经典方法是一个特殊的选择。
如果我们将注意力限制在线性常系数微分方程,则条件数减少到7。
它们是
(5)
满足的条件数量的减少不允许我们减少阶数。但是,我们可以减少存储要求。
按照Wray [17]的方法,只使用两个内存位置的要求强加了以下三个约束:
(6)
使用这些约束,因变量和时间导数的值只需要两个存储位置。因此,即使当紧凑型或光谱型方法用于空间离散化时,该方法也只需要最小的存储。利用表示为A和B的存储单元,该方法如下进行:
- 首先,un存储在A中,B是空的。
- 条件k1=f( tn ,un) 被评估并存储在B。
- 计算un ha31k1并存储在A。
- 计算un ha21k1并存储在B。
- 条件k2=f(tn c2h,un ha21k1)被评估并存储在B。
- 两个存储单元的内容线性组合形成un h(a31k1 a32k2)并存储在B。
- 当a41=a31,另一个线性组合给出un h(a41k1 a42k2)并存储在A。
- 条件k3=f[tn c3h, un h(a31k1 a32k2)] 被评估并存储在B。
- 两个存储单元的内容线性组合形成un h(a41k1 a42k2 a43k3)并存储在B。
- 当b1=a41 ,b2=a42时,另一个线性组合给出un h(b1k1 b2k2 b3k3) 并存储在A。
- 条件k4=f[tn c4h, un h(a41k1 a42k2 a43k3)] 被评估并存储在B。
- 两个存储单元的内容线性组合以形成un 1。
由于低存储要求带来了额外的限制,我们留下七个参数来满足方程式(5)中给出的七个条件。虽然这个系统可能拥有多个解决方案,但我们发现的唯一解决方案是
a21 = c2 = 0.69631521002413, c3 = 0.29441651741,
c4 = 0.82502163765, b1 = a41 = a31 = 0.07801567728325,
a32 = 0.21640084013679, b2 = a42 = 0.04708870117112,
a43 = 0.69991725920066, b3 = 0.47982272993855,
b4 = 0.39507289160708.
五层五阶法
对于p = 5的情况,除了方程式(4)中给出的限制条件之外,我们还需以下条件:
c5 = a51 a52 a53 a54. (7)
因此,添加第五层已经产生了五个附加参数,总共十五个。系数必须满足以下11个条件才能产生线性常系数微分方程的五阶精度:
C2a32b3 b4(c2a42 c3a43) b5(c2a52 c3a53 c4a54)=1/6
c2a32a43b4 b5[c2(a42a54 a32a53) c3a43a54]= 1/24
c2a32a43a54b5=1/120 (8)
由此得到了一个四参数解族。为了从该族中选择一种方法,可以应用几个不同的标准。通过最小化包含方法系数的向量的L2范数,已经找到了以下值:
a21 = c2 = 0.21, c3 = 0.43, c4 = 0.68, c5 = 0.85,
a32 = 0.47418546365915, a42 = 0.13437223603429,
a52 = 0.26302355344001, b2 = 0.16574368303091,
a43 = 0.57068167533284, a53 = 0.10434139625551,
b3 = 0.41041645692809, a54 = 0.39377303853165,
b4 = minus;0.04092124960122, b5 = 0.37240141154501,
b1 = 0.09235969809721
同时a31=c3-a32,a41=c4-a42-a43,a51=c5-a52-a53-a54
六层六阶法
当p=6时,除了方程式(4)和(7)给出的约束之外,还必须满足以下条件:
c6 = a61 a62 a63 a64
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[430116],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。