蒋涛 黄金晶 陆林广 任金莲
(扬州大学数学科学学院,水利与能源动力工程学院,扬州 225002)
为提高传统光滑粒子动力学(SPH)方法求解高维非线性薛定谔(nonlinear Schrödinger/Gross-Pitaevskii equation,NLS/GP)方程的数值精度和计算效率,本文首先基于高阶时间分裂思想将非线性薛定谔方程分解成线性导数项和非线性项,其次拓展一阶对称SPH方法对复数域上线性导数部分进行显式求解,最后引入MPI并行技术,结合边界施加虚粒子方法给出一种能够准确、高效地求解高维NLS/GP方程的高阶分裂修正并行SPH方法.数值模拟中,首先对带有周期性和Dirichlet边界条件的NLS方程进行求解,并与解析解做对比,准确地得到了周期边界下孤立波的奇异性,且对提出方法的数值精度、收敛速度和计算效率进行了分析;随后,运用给出的高阶分裂粒子方法对复杂二维和三维NLS/GP问题进行了数值预测,并与其他数值结果进行比较,准确地展现了非线性孤立波传播中的奇异现象和玻色-爱因斯坦凝聚态中带外旋转项的量子涡旋变化过程.
众所周知,非线性薛定谔方程(nonlinear Schrödinger/Gross-Pitaevskii equation,NLS/GP)常被用来描述一些非线性物理特性,例如:晶体中热脉冲、非线性光学、等离子和量子动力学现象等[1-5].NLS/GP方程的研究涉及复杂非线性项和外部旋转导数项,导致孤立波值随时间变化过程在许多情况下难以用理论手段[6-8]精确地得到.已有许多数值方法被提出用于对高维NLS/GP方程进行模拟,比如分裂格式有限差分法、有限元法、时间伪谱法、修正欧拉算法、蒙特卡罗法和无网格方法等[3-14],然而上述方法属于网格类或是基于背景网格,对非均匀节点布置下或高维复杂区域问题的模拟实现都较复杂[15-18].为此已有许多学者对完全不依赖于网格的粒子方法(或纯无网格方法)进行了关注,并成功将粒子方法推广应用到实数域上偏微分方程的求解,如光滑粒子动力学(smoothed particle hydrodynamics,SPH)方法[15-25]等.然而上述纯无网格方法对非线性薛定谔方程的研究还处于起步阶段,特别对高维复杂GP方程的研究在国际上尚不多见.
作为完全不依赖于网格的SPH粒子方法,在高维非线性薛定谔方程上的模拟应用还处在初步研究阶段[15],其原因在于传统SPH方法的数值精度低、稳定性差[16-19,20-22].SPH方法精度和稳定性的改进与高维非线性薛定谔方程的数值研究是国际上的两个热点问题.针对SPH方法数值精度的提高,已有一些改进SPH方法[16-19,21-25]被提出,并被应用于许多领域[16-25],但它们仍存在一些自身缺陷,因此当推广应用到非线性薛定谔方程的模拟时需要进一步改进.粒子方法模拟高维NLS/GP方程较网格类方法的主要优势在于:不依赖于网格可以任意布点;便于处理复杂区域和计算空间导数;模拟程序易于实现,并且便于实施并行计算以提高计算效率.
基于上述分析,本文针对含有非线性项和旋转导数项高维NLS/GP方程的准确、高效性粒子法模拟给出一种四阶分裂修正并行SPH (HSSCPSPH)方法.提出的HSS-CPSPH方法思想主要来源于:首先,采用分裂思想将NLS方程分解为线性导数项和非线性项两个微分方程;其次,基于Taylor展开拓展应用文献[17,21]中修正SPH方法对含线性导数方程进行二阶精度显式求解;再次,运用四阶对称分裂格式对上述两个方程进行积分离散;最后引入基于粒子搜索的MPI并行技术提高计算效率.给出的HSS-CPSPH方法将兼具传统SPH方法和已有改进SPH以及分裂格式的优点,也较已有分裂有限差分法[6-8]具有更好、更灵活的模拟应用性.在数值算例模拟中,将HSSCPSPH方法的数值结果与解析解或其他数值结果进行了比较,分析了数值精度、收敛阶和计算效率.比较分析结果表明,给出的HSS-CPSPH方法可以准确、高效地求解周期和Dirichlet边界条件下二维或三维NLS/GP方程,并能成功地预测二分量孤立波传播中的非线性奇异特性和带外旋转算子下量子涡旋的复杂变化过程.
量子力学中许多非线性物理现象常用Gross-Pitaevskii (GP)方程[3,4,6,7]来描述,其高维直角坐标系下无量纲化的控制方程为
γy,γz是实常数;Lz=-i(x∂y-y∂x) 是玻色-爱因斯坦凝聚态(Bose-Einstein condensates,BEC)下无量纲速度旋转项Ω的角动量算符的z分量.
为封闭上述方程,考虑如下初始条件:
边界条件
或周期边界条件φ(x,t)=φ(x+l,t),其中l表示方程周期,或φ(x,y,t)=φ(x+l1,y,t),φ(x,y,t)=φ(x,y+l2,t),其中 (l1,l2)为 (x,y) 方向的周期.
根据文献[6—8]可知,上述无穷区域边界条件(4)式可以近似处理为齐次Dirichlet边界,周期边界条件采用两边施加几层虚粒子方式进行处理(详见3.3节).
针对高维非线性GP方程的粒子方法求解,拓展应用文献[17,21]中给出的一阶修正SPH方法时,随着模拟时间的延长会出现精度低和稳定性差的现象,这是因为本文考虑的GP方程中存在非线性项和一阶导数项,对模拟算法的精度和稳定性要求较高.为此,在时间高阶分裂法[1,2]和已有改进SPH方法[15-18]的基础上,引入MPI并行算法,提高高维问题模拟计算效率.本文对二维/三维GP方程模拟给出一种HSS-CPSPH方法,基本思想是:首先,采用时间分裂思想将GP方程分成线性导数和非线性项两个方程;其次,对线性导数方程拓展应用文献[15,17]中的改进SPH方法进行离散;再次,引入文献[1,2]中四阶分裂格式对分裂的两个方程进行交替求解;最后,采用基于MPI的并行算法来提高计算机模拟效率.
作为一种精确高效的算法,时间分裂法在复数域非线性薛定谔方程求解中已被广泛应用,根据文献[6—8],GP方程(1)可以重写为
和非线性问题
上述过程的成立条件和精度可见文献[26].
本文对方程(6)和(7)的求解采用如下四阶分裂法[1,2]:第一步求解方程(7),第二步用第一步得到的解作为初始条件来求解方程(6),第三步用第二步得到的解作为初始条件求解方程(7),第四步使用第三步得到的解作为初始条件求解方程(6),第五步用第四步得到的解作为初始条件求解方程(7),此时得到的解作为下一时间层的数值解.
3.2.1 修正SPH离散格式
在传统SPH方法模拟中,首先使用核函数进行积分插值,其次在模拟区域Ω内,对有限个粒子赋予密度、质量、温度等物理含义,最后用粒子离散化方式近似得到核函数的积分形式.
在任意点x= (x,y,z)处,函数φ(x) 及其微分形式可以用核函数W和核函数的导数∇W表示[19]:
其中h为光滑长度,决定了核函数W的支持域范围,W一般要求满足正则化、对称性、紧致性和Dirac函数性质[19].本文模拟中取h=0.9d0-1.1d0(d0为初始粒子间距),取分段五次样条核函数[19],对应支持域尺寸为 3h.
引入体积v=m/ρ(其中m,ρ都是实常数),对于任意位置xi=(xi,yi,zi)处粒子i,其支持域内的相邻粒子为j,则有粒子近似公式:
Wij=W(|xi-xj|,h) ,∇iWij=∂W(|xi-xj|,h)/∂xi,且∇iWij满足关系
为了提高传统SPH方法的精度和稳定性,基于Taylor展开,人们已经提出了一些改进SPH方法[15-22].本文拓展应用文献[17,21]中具有二阶精度的一阶修正对称SPH方法,该方法首先将二阶导数项分为两个一阶导数,然后对一阶导数基于Taylor展开进行离散,则(11)式变为
3.2.2 高阶分裂修正SPH格式
将3.1节四阶分裂格式与3.2.1节修正SPH格式进行结合,对方程(1)进行离散,可得如下高阶分裂修正SPH离散格式
其中i= 0,1,2,···,M;n=0,1,···;M是区间内所有粒子总数,n是时间层,dt是时间步长,
四阶分裂格式参数
上述离散格式被称为高阶分裂修正SPH方法,结合3.4节MPI并行计算技术将本文提出的方法称为“HSS-CPSPH”,其中对线性导数方程(6)的时间离散采用二阶龙格-库塔显格式,根据文献[16—19]中的稳定性限制条件,时间步长取 dt≤.本文方法与文献[15]中给出的SS-ICPSPH方法主要的不同之处在于:对线性导数方程的离散本文采用二阶龙格-库塔显格式,后者采用隐格式;本文采用四阶分裂格式,后者采用二阶分裂格式,使得本文方法精度较文献[15]中的方法精度高(见第4节);文献[15]运用提出的方法仅对带Dirichlet边界的GP方程进行模拟研究,本文运用给出的方法对带周期边界和Dirichlet边界的非线性薛定谔问题都进行了模拟分析,并且准确预测了周期边界下孤立波传播中出现的奇异现象(见5.1节).
运用上述提出的方法对高维GP方程进行模拟时,初边值条件的准确处理对数值模拟的精度和稳定性至关重要.对初始条件可以准确离散施加,边界条件(4)式可以近似处理为Dirichlet边界.以二维区域情况为例,周期性边界条件处理如下:
其中Xa,Xb,Ya,Yb分别为x,y方向区域的最小和最大值.将区域沿 (x,y)方向分别均分成J和K整数份,令空间步长h1=(Xb-Xa)/J,h2=(Yb-Ya)/K,xj=Xa+jh1,0≤j≤J-1 ,yk=Ya+kh2,0≤k≤K-1 .为防止粒子方法处理周期边界的粒子缺失问题,在区间外侧各扩充4个点(大于等于 3h),可以得到
则具有 (l1,l2) 周期边界条件的方程满足如下条件:
本文在第4和第5节通过算例模拟验证了上述边界处理的准确性和有效性.
SPH粒子方法模拟中,相邻粒子搜索和高维问题下需要几十万至上百万粒子物理量更新计算,会使得计算机模拟中占较大计算内存和较长CPU计算时间,因此运用提出方法对高维GP进行模拟时提高计算效率是必要的.根据模拟中粒子位置不变的特点,引入文献[17,21]中基于MPI粒子搜索并行技术.即基于MPI并行算法,首先对每个粒子支持域内的相邻粒子进行标记,标记后对所有粒子进行物理量赋值,主要是质量和密度,为了提高计算效率,在并行计算中,不同节点间会进行密度通信.在计算过程中节点间进行空间上的一阶导数项通信以及最后计算函数值的更新.本文的并行计算是将所有粒子进行编号,再根据CPU数量将粒子平均分配,进行同时计算.每个粒子与之相互作用的相邻粒子支持域范围通过下列核函数确定,
其中q=rij/h,rij=|xi-xj|,系数w0为 120/h(一维),7/(478πh2)(二维),3/(359πh3)(三维).本文中的支持域范围是以 3h为半径的圆或球.
本节通过对具有解析解带不同边界条件的非线性薛定谔方程进行模拟,对提出的HSSCPSPH方法的精度、收敛阶以及计算效率进行分析.分别对二维带周期边值、一维二分量带周期边值和二维带第一类边值的问题进行数值模拟,并与解析解做比较,分析所提方法的准确性和高效性,与已有SS-ICPSPH方法[10]做对比证明本文所提方法具有较高精度和较快的收敛速度.
为分析方法的数值精度和收敛速度,定义如下最大误差范数和收敛阶:
其中d01和d02代表了两种不同的粒子初始间距.
考虑方形区域 [0,2π]×[0,2π] 上带周期边界的非线性薛定谔方程[3]
对应解析解为
u(x,y,t)=u(x+2π,y,t),
u(x,y,t)=u(x,y+2π,t),
(x,y)∈R×R,0<t≤T,T=1.
该算例模拟中,k1=k2=1时采用 129×129个均匀分布粒子,时间步长为 dt=10-4(见图1);k1=k2=4时采用h= π/32 个均匀分布粒子,时间步长为 dt=10-4(见图2).图1和图2分别展示了k1和k2取不同系数时由HSS-CPSPH方法获得的u(x,π) 的实部曲线图,并将其与解析解及SSICPSPH结果进行对比,可以看出,HSS-CPSPH结果与解析解相符合,但随着时间的延长,两种数值结果产生较小的偏差,这与文献[3]中分裂有限差分法得到数值模拟结论类似.
为体现提出的HSS-CPSPH方法求解周期性问题的精度和收敛速度,表1和表2分别列出了模拟较短时间内数值结果的误差和收敛阶,由表1和表2可以看出:1)em随着粒子数的增加而减小,HSS-CPSPH方法得到的误差较SS-ICPSPH方法的小;2) HSS-CPSPH方法较SS-ICPSPH方法具有更快的收敛速度.为进一步体现粒子方法在粒子分布非均匀情况下数值模拟的精度,表3列出了粒子分布均匀和两种非均匀情况下(见文献[15])两个不同时刻的最大误差em.由表3可知,粒子方法在粒子分布均匀和分布非均匀情况下得到的数值结果误差都比较接近,表明了该方法易推广应用到非规则区域问题的模拟,且保持较好的精度.
表1 k1=k2=1,h=π/64 时几个不同时刻里两种方法的误差emTable 1.Erroremobtained using two different methods at different time (k1=k2=1,h=π/64 ).
图1 k1=k2=1,h=π/64 时不同时刻u(x,π) 的实部沿x轴的变化 (a)t = 1;(b)t=3Fig.1.Curve of the R e(u(x,π)) alongx-axis at different time withk1=k2=1,h=π/64 :(a)t = 1;(b)t = 3 .
图2 k1=k2=4,h=π/128 时不同时刻u(x,π) 的实部沿x轴的变化 (a)t = 0.1;(b)t = 1Fig.2.Curve of the R e(u(x,π)) alongx-axis at different time withk1=k2=4,h=π/128 :(a)t = 0.1;(b)t = 1.
表2 k1=k2=1 ,时间t = 1时,两种方法在不同粒子间距下的误差和收敛阶Table 2.Erroremand convergent orderorαobtained using two different methods att = 1 and different particle distance (k1=k2=1 ).
表3 k1=k2=1,h=π/64 时,粒子分布均匀或不均匀方式下,两种方法的误差emTable 3.Erroremobtained using different methods at different distribution (k1=k2=1 ,h = π/64 ).
为进一步展示本文提出的HSS-CPSPH方法能够准确捕捉多分量多孤立波传播中的尖角现象,本小节考虑区间 [-20,80] 上一维二分量带周期边界两种初始条件下的非线性薛定谔方程[14]
初始条件1为
其中参数α= 0.5,β=2/3,c=1,a=1,x0=0 .
具有三个孤子波传播的初始条件2为
其中α= 0.5,β= 2/3,c1=1,c2=0.1,c3=-1 ,a1=1,a2=0.72,a3=0.36,x1=0,x2=25 ,x3=50 .
周期边界条件u(x,t)=u(x+100,t) ,上述两种初始条件下对应的解析解可参见文献[14].
图3和图4给出了两种不同初始条件下几个时刻里分量u的不同数值结果.观察图3和图4可知,HSS-CPSPH结果与解析解相符合,即使在较长模拟时间里;提出的HSS-CPSPH方法能准确捕捉到孤立子传播中奇异现象;HSS-CPSPH方法可以准确得到一定时间里孤立子波的传播过程.
为验证提出的HSS-CPSPH方法求解带第一类边界非线性薛定谔问题的准确性,以及进一步体现它与文献[15]给出的粒子方法相比具有的优点.本小节考虑区域 [0,2π]2内的二维非线性薛定谔方程[8]
初值条件为u0(x,y)=sinxsiny,第一类边界条件可以通过方程解析解得到,其中V(x,y)=1-sin2xsin2y.对应方程解析解为uexact(x,y,t)=sinxsinyexp(-i2t) .
图3 初始条件1下,在4个不同时刻孤立波函数|u|的传播过程 (a)t = 0;(b)t = 20;(c)t = 30;(d)t=50Fig.3.Solitary wave propagation process of|u|at different time with the initial condition 1:(a)t = 0;(b)t = 20;(c)t = 30 ;(d)t = 50 .
图4 初始条件2下,在4个不同时刻三孤立子波函数|u|的传播过程 (a)t = 0;(b)t = 20;(c)t = 30;(d)t=50Fig.4.Solitary wave propagation process of|u|at different time with initial condition 2:(a)t = 0;(b)t = 20;(c)t = 30 ;(d)t = 50 .
表4 h = π/64 时,三个不同时刻两种方法的最大误差emTable 4.Erroremobtained using two different methods at three times (h = π/64 ).
表4和表5列出了两种粒子方法模拟上述方程的误差和收敛速度.通过表4和表5可知,在模拟第一类边值NLS方程时,本文提出的HSSCPSPH方法较文献[15]中的粒子方法具有较小误差和较快收敛速度.此外,为了体现本文算法通过并行提高计算效率的必要性,模拟过程中基于MPI并行算法,采用了多个CPU进行计算机模拟,取粒子数为66049( 2 572),时间步长为 dt=5×10-5.通过实际计算模拟知,用一个CPU串行计算时,运行第1步的时间约为49.89 s,之后100步平均每步约1.5 s;当采用4个CPU时,运行第1步的时间约为12.0586 s,之后100步平均每步约0.25 s.可以看出,运行第1步时4个CPU的计算时间基本上是1个CPU的计算时间的1/4,计算步数增加后,4个CPU平均每步的计算时间略小于1个CPU平均每步计算时间的1/4.这与理想的1/4有一定偏差,可能原因有下面几点:1) 同一节点上不同CPU之间通讯消耗时间非常小;2) 此处为二维模拟区域粒子数不是很多的情况;3) 得到的计算时间有舍入误差.当模拟粒子数增大(如5.2节三维区域模拟中涉及几百万及以上粒子),CPU个数增加到在不同节点上时,会使得平均每步的计算时间增加,不同节点上通讯消耗时间延长,此时经实际模拟得到的结论会与实际计算理论相符合,即随着CPU数量增加,计算效率的提高倍数要明显小于CPU增加的倍数(详见5.2节并行计算效率分析).
表5 t = 1时不同空间步长情况下两种粒子方法的误差和收敛阶Table 5.Error and order of convergence by different methods att = 1 and differenth.
为了更好地体现提出的基于分裂格式的粒子方法模拟NLS/GP问题的高效、准确性,本节选取了一个二维周期性无解析解NLS问题和两个BEC下带外旋转项的GP问题,分别预测了周期边界下孤立子传播的奇异特性和BEC下量子化涡旋变化过程,并将模拟结果与其他数值方法[8,15]计算结果做对比.模拟中,也通过三维算例的计算机模拟展示了采用基于MPI并行算法提高计算效率的必要性.
考虑区间 [0,2π]×[0,2π] 上的非线性薛定谔方程[3]
初值条件为u(x,y,0)=(1+sinx)(2+siny) ,参数β=1,周期边界长度为 (2π,2π) .
上述NLS方程是带初始和周期边界下孤立子传播中出现奇异特性的典型问题,目前该方程无解析解,常被用来验证提出算法模拟带周期边界下孤立子传播过程的可靠性(见文献[3]).图5给出了初始时刻和t= 0.108 时刻三种数值方法的模拟结果.从图5可知,在t= 0.108 时出现明显的孤立子波奇异特性,三种数值结果相符合,进一步表明本文提出的粒子方法捕捉孤立子波传播中奇异现象是可靠的.
考虑三维BEC下带旋转项的Gross-Pitaevskii方程[15]
初始条件为
其中,V(x,y,z,t)=(γxx2+γyy2+γzz2)/2 ,参数Ω=0.75,(γx,γy,γz,β) = (1.2,0.8,2,50) .
为表明HSS-CPSPH方法模拟三维GP问题的可靠性和展示BEC下不同截面上波函数值随时间的变化过程,图6给出了沿y轴方向上两种不同数值曲线,图7给出了由HSS-CPSPH方法得到的3个不同时刻沿u(0,y,z) 和u(x,y,0) 两个截面上波函数变化等值线.图6中本文方法得到的变化曲线与HO-SSFDM方法[15]结果一致,体现了HSS-CPSPH方法模拟预测三维GP问题是有效的;波函数的峰值随时间演化出现先变小后变大的趋势,但波峰值的总体变化趋势是慢慢变小.通过观察图7可知,不同截面上随时间演化波函数值的分布是不同的、复杂的,且等值线峰值随时间延长逐渐变小.
图5 在两个不同时刻不同数值方法得到的|u|等值线图(a)t = 0;(b)t=0.108Fig.5.Contours of |u| obtained using different methods at two different times:(a)t = 0;(b)t = 0.108 .
图6 不同时刻|u|2沿y轴 (x=0,z=0) 变化曲线Fig.6.Curve of |u|2 alongy-axis (x=0,z=0) at different time.
图7 在3个不同时刻|u|2在不同截面上的等值线 (a)(0,y,z) 截面;(b) (x,y,0) 截面Fig.7.Contour of |u|2 along different profile at different time:(a)(0,y,z);(b)(x,y,0) .
为进一步体现运用本文粒子方法模拟高维GP问题时引入MPI并行算法以减少CPU消耗时间的必要性,对固定粒子数和增加粒子数两种情况采用不同CPU个数的计算效率进行了分析(见表6和表7).本文并行计算机采用Red Hat Enterprise Linux 5.8 × 86_64操作系统,MPI类型为Intel MPI Toolkits 4.0.3,总共有17个IBM BladeCenter HS22计算节点,每个节点包括12个两路六核CPU,CPU型号为Intel Xeon 6C X5650,主频为2.67 GHz.表6列出了固定粒子数 1613(约四百多万)增加CPU个数情况下运行不同步数时所消耗的CPU时间,表7列出了不同粒子数下不同CPU情况下,运行到1000步时平均每步所消耗的CPU时间.为了更加直观地看出并行计算对计算效率的提高,此处定义相对加速比S为单节点上并行算法的运行时间/N个节点上并行算法的运行时间(每个节点上12个CPU).选用表6中12,24,36,72个CPU在计算到1000步时的时间作为研究对象,分别对应着1,2,3,6个节点.
由表6和表7可以看到,随着CPU个数的增加,计算效率提高很快,但计算效率提高的比值是低于CPU个数增加的比值,这是因为CPU个数增加后不同CPU上得到结果相互通讯的时间也将增加.从加速比值上可以明显看出,在开始使用1,2,3个节点时,计算效率的提升是十分明显的,但略低于CPU增加的比值,这是由于不同节点之间通讯消耗一定的时间导致的,但是当节点数继续增加到6个节点时,通讯消耗时间也随之增加,使得计算效率增加减缓,明显低于CPU增加的比值,这与计算机相关计算理论也较为符合;计算机模拟中运行第一步消耗CPU时间比后续运行的平均步消耗CPU时间要长,且随粒子数增加这个消耗CPU时间的比值要变大,这是因在计算物理量循环更新前需要标定每个粒子的相邻粒子,此标定时间随粒子数增加而增加;在CPU个数不变的情况下,随着粒子数增加平均每个计算步消耗CPU时间也将变长,且该变长时间比值与粒子数增加比值是呈非线性的.由于本文采用的并行计算主要是通过增加CPU个数来提高计算效率,不同CPU数下的数值近似算法不变,使得多个CPU下的计算结果与单个CPU的计算结果是一致的,通过不同CPU下的实际模拟结果对比发现亦是如此,从而表明多CPU下的求解质量是可靠的.
表6 粒子数为 1613 时,不同CPU个数下运行到不同步数所需时间(单位:s)Table 6.Consumed CPU time (unit:s) of different calculated time step with particle number 1613 at different CPUs.
表7 在不同粒子数下不同CPU个数下,运行到1000步时平均每步所消耗时间(单位:s)Table 7.The average consumed CPU time (unit:s)of calculated time step 1000 with different particle number and different CPUs.
通过上述模拟分析得知,本文基于MPI并行计算给出的HSS-CPSPH方法模拟三维GP问题是高效、可靠的.
为进一步展示提出的HSS-CPSPH方法预测BEC下量子涡旋随时间演化过程的可靠性,本小节考虑区间 [-8,8]2上二维二分量BEC下带旋转项的Gross-Pitaevskii方程[8]
初边值条件为
图8 两个不同时刻下|u1|沿x轴(y = 0.5)的变化 (a)t = 0.05;(b)t = 0.25Fig.8.Curve of |u1| alongx-axis (y = 0.5) at two different time:(a)t = 0.05;(b)t = 0.25.
图9 两 个不同时刻 下t = 0 (第一列)和t = 0.25 (第二列)三个物理量等值线变化 (a1),(a2) Re(u1);(b1),(b2) I m(u1) ;(c1),(c2)|u1|Fig.9.Contours of three physical quantities at two different timest = 0 (the first row) andt = 0.25 (the second row):(a1),(a2) Re(u1) ;(b1),(b2) I m(u);(c1),(c2)|u|.
其中,wi(x,y)=1.5x2+0.5y2,i=1,2,Θ=0.7,σ=-100,ς=0.8 .
图8给出了两个时刻两种不同数值方法得到的波函数沿x轴(y= 0.5)的变化,图9给出了由HSS-CPSPH方法得到的两个时刻3个物理量(第一分量u1的实部、虚部和模)等值线.由图8和图9知,HSS-CPSPH结果与SS-FDM结果[7]相符,表明本文粒子法模拟二分量GP问题是可靠的;HSS-CPSPH方法能够准确预测出具有二分量BEC下带旋转项量子涡旋随时间的变化过程,进一步展示了所提方法高效、准确预测GP问题的能力.
本文为提高SPH方法模拟含孤立波非线性问题的数值精度和稳定性,将四阶精度时间分裂格式与修正SPH方法相结合,并引入基于粒子搜索的MPI并行计算技术,给出一种能够高效准确地模拟高维NLS/GP方程的HSS-CPSPH方法.数值模拟中,考虑了粒子分布均匀和非均匀情况下带有两种不同边界条件的二维和三维NLS/GP方程,并与解析解或其他数值结果做对比,分析了所提方法的数值精度、收敛阶及数值预测的可靠性.所有数值算例表明:
1)提出的HSS-CPSPH方法求解高维非线性薛定谔方程较已有粒子方法具有较高精度和较快收敛速度,且较网格类方法具有更好、更灵活的应用性;
2)无论在粒子分布均匀还是非均匀情况下,HSS-CPSPH方法模拟NLS方程都具有较高的数值精度;
3)给出的HSS-CPSPH方法成功地预测了周期边界下二维NLS方程描述的孤立波传播中的奇异特性,准确地展示了BEC下带外旋转项三维单分量和二维二分量GP方程中量子涡旋随时间演化过程.
值得注意的是,目前未见文献将四阶分裂格式与修正SPH方法耦合,并引入MPI并行技术对NLS/GP方程进行模拟研究.本文对不同边界下高维NLS方程的模拟给出的HSS-CPSPH法较已有粒子方法具有较高精度和较快收敛速度,较网格类方法具有更好、更灵活的拓展应用性,为高维NLS方程的数值模拟提供了一种高效准确的粒子方法.