论文部分内容阅读
几乎一切真实的、耗散可以忽略的物理过程都能写成哈密顿系统,因此哈密顿系统广泛存在于经典力学、天体物理、材料力学等众多领域.能量守恒是哈密顿系统的重要特征,能否在数值模拟中有效保持该重要特征已经成为评价一个数值模拟好坏的标准之一.因此本文研究哈密顿系统的保能量算法,试图发展保能量的外推方法,目标解决(或者部分解决)高阶保能量算法构造和实现难的问题.外推法是数值计算的一种后处理技巧,通过处理低阶算法的计算结果,得到高阶精度的数值逼近.其思想简单明了且易于实现.传统外推法的思想是,取不同的步长利用低阶算法得到几个近似解,然后对这些近似解进行线性组合,通过合理选取参数值,得到更高精度的数值解.但是,即使这个低阶算法是保能量的,通过传统外推法构建的新的数值格式也一般不再具有保能量的性质.传统外推法又可分为主动外推法和被动外推法,本文从主动外推法的思想出发,研究并发展了一种保能量的外推方法.其基本思想是在构造外推算法时,保留参数的相容性条件,将提高精度要求的方程替换成要求保能量的方程,得到新的保能量外推格式.并且,对于具有两个不变量的系统,可以类似构造同时保两个不变量的外推算法.对有限维线性哈密顿系统,分析了保能量外推算法的数值精度.这里我们取显龙格-库塔(RK)法作为低阶数值格式.理论发现,对于线性哈密顿系统,保能量外推法的数值精度和RK法的阶数的奇偶性相关.当RK法的阶数为奇数时,保能量外推算法的数值精度会比RK法的数值精度高一阶.但是当RK法的阶数为偶数时,保能量外推算法的数值精度则与RK法的数值精度相同.但是,对于一个非线性哈密顿系统,上述结论不一定成立.本文分别对线性哈密顿系统谐振子模型、非线性哈密顿系统Kepler问题以及偏微分系统薛定谔方程进行了数值实验.在能量误差方面,通过和平均向量场(AVF)方法对比,发现保能量外推格式具有良好的保能量效果,该格式的能量误差比AVF方法的能量误差小.此外,我们测试了保能量外推格式的收敛阶.对于谐振子模型,实验发现当RK法的阶数为奇数时,保能量外推算法的数值精度会比RK法的数值精度高一阶.但是当RK法的阶数为偶数时,保能量外推算法的数值精度则与RK法的数值精度相同.由于谐振子模型是具有二次能量的线性哈密顿系统,该实验结果与理论上的分析是一致的.对于Kepler问题,保能量外推算法的收敛阶虽然也和RK法的收敛阶的奇偶性呈现出一定的相关性,但是不具有明显规律.对偏微分方程,以薛定谔方程为例,结合傅立叶拟谱方法应用保能量外推格式,得到和Kepler问题相似的结论.此外,对于具有两个首次积分的系统Kepler问题和薛定谔方程,本文构造了同时保两个首次积分的外推算法,并发现该算法的数值精度是否比RK法的数值精度高依旧和RK法的收敛阶的奇偶性有关.