首页> 中国专利> 一种保持强稳定性的变步长多步法时间离散算法

一种保持强稳定性的变步长多步法时间离散算法

摘要

本发明提出了一种保持强稳定性的变步长多步法时间离散算法,其包括半离散Hermite本质无振荡有限体积算法的构造,初始步使用了三阶保强稳定的Runge-Kutta算法;本发明给出了两类时间离散的接口处理,特别是初始步的时间步长的选取。本发明的优点在于变时间步长和保强稳定性。通过实例展示了这个新算法在实例中的计算机模拟的高精度、高分辨率以及时间高效性等优势。这种技术还可以与多种空间算法组合,适用于可压缩流体模拟,最终能够推广到实际复杂流场的模拟等大规模科学计算问题。

著录项

  • 公开/公告号CN104699909A

    专利类型发明专利

  • 公开/公告日2015-06-10

    原文格式PDF

  • 申请/专利权人 厦门大学;

    申请/专利号CN201510132095.7

  • 发明设计人 邱建贤;张凤燕;孙纯鹏;

    申请日2015-03-25

  • 分类号G06F17/50(20060101);

  • 代理机构35204 厦门市首创君合专利事务所有限公司;

  • 代理人张松亭;林燕玲

  • 地址 361000 福建省厦门市思明南路422号

  • 入库时间 2023-12-18 09:18:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-17

    未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20181102 终止日期:20190325 申请日:20150325

    专利权的终止

  • 2018-11-02

    授权

    授权

  • 2015-07-08

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20150325

    实质审查的生效

  • 2015-06-24

    著录事项变更 IPC(主分类):G06F17/50 变更前: 变更后: 申请日:20150325

    著录事项变更

  • 2015-06-10

    公开

    公开

说明书

技术领域

本发明涉及计算流体力学数值方法领域,特别是一种保持强稳定性的变步长多步法时间离散算法。

背景技术

在可压缩流体计算中,欲模拟的物理量通常快速变化,在狭窄区域内以大梯度变化,为准确计算机模拟流场的细节,许多高分辨技术被不断地提出和完善。

目前,求解的双曲守恒律的主流的高精度技术为间断Galerkin有限元方法,有限体积或者有限差分加权本质无振荡方法等技术,通常的这些技术在求解欧拉方程组时需要与保强稳定性Runge-Kutta方法,或者Lax-Wendroff方法相结合。最近,有人给出Lax-Wendroff方法与间断Galerkin有限元方法等高精度方法相结合的高精度算法设计,这些算法在计算时间效率上优于保强稳定性Runge-Kutta方法,然而算法实现比保强稳定性Runge-Kutta方法复杂。

又有人提出易于算法实现的总变差稳定多步法离散技术,与保强稳定性Runge-Kutta方法相比,总变差稳定多步法离散技术在计算效率上可以设计出比保强稳定性Runge-Kutta方法更高效率的方法,然而现有的保强稳定性的多步法时间离散技术基于等步长,不能用于实际问题计算。

发明内容

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种应用于计算流体力学的实际问题的模拟的保持强稳定性的变步长多步法时间离散算法。

本发明采用如下技术方案:

一种保持强稳定性的变步长多步法时间离散算法,令现有的半离散有限体积Hermite加权本质无振荡算法表示为L(Q),并得到其对应的半离散方程其特征在于:令tn为时间节点,n为时间步,Δtn=tn-tn-1;给出对于所述半离散方程的以下离散算法

>Qn+1=(1+λ2+λ3-2λ4)(1+λ2+λ3+λ4)2(1+λ2+λ3)3Qn+(1+λ2+λ3+λ4)2(1+λ2+λ3)2h4L(Qn)+λ42(3+3λ2+3λ3+2λ4)(1+λ2+λ3)3Qn-3+λ42(1+λ2+λ3+λ4)(1+λ2+λ3)2h1L(Qn-3);>其中h1=Δtn-2,h2=Δtn-1,h3=Δtn,h4=Δtn+1CFL数可取为1/3。

优选的,还包括另一离散算法

>Qn+1=(1+λ2+λ3+λ4-2λ5)(1+λ2+λ3+λ4+λ5)2(1+λ2+λ3+λ4)3Qn+(1+λ2+λ3+λ4+λ5)2(1+λ2+λ3+λ4)2h5L(Qn)+λ52(3+3λ2+3λ3+3λ4+2λ5)(1+λ2+λ3+λ4)3Qn-4+λ52(1+λ2+λ3+λ4+λ5)(1+λ2+λ3+λ4)2h1L(Qn-4);>其中

h1=Δtn-3,h2=Δtn-2,h3=Δtn-1,h4=Δtn,h5=Δtn+1

>λ2=h2h1,λ3=h3h1,λ4=h4h1,λ5=h5h1;>CFL数可取为0.5。

优选的,还包括另一离散算法

>Qn+1=(1+λ2+λ3+λ4-2λ5-2λ6)(1+λ2+λ3+λ4+λ5+λ6)2(1+λ2+λ3+λ4+λ5)3Qn+(1+λ2+λ3+λ4+λ5+λ6)2(1+λ2+λ3+λ4+λ5)2h6L(Qn)+λ62(3+3λ2+3λ3+3λ4+3λ5+2λ6)(1+λ2+λ3+λ4+λ5)3Qn-5+λ62(1+λ2+λ3+λ4+λ5+λ6)(1+λ2+λ3+λ4+λ5)2h1L(Qn-5);>

其中h1=Δtn-4,,h2=Δtn-3,h3=Δtn-2,h4=Δtn-1,h5=Δtn,h6=Δtn+1

>λ2=h2h1,λ3=h3h1,λ4=h4h1,λ5=h5h1,λ6=h6h1;>CFL数可取为0.567。

优选的,所述离散算法的初始步使用经典保强稳定的Runge-Kutta时间离散技术,即:

>Q(1)=Qn+ΔtL(Q(n))Q(2)=34Qn+14(Q(1)+ΔtL(Q(1)))Qn+1=13Qn+23(Q(2)+ΔtL(Q(2)))>

初始步的时间步长可以选取正常计算的时间步长,其中n为整数。

由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:

本发明算法的时间步长可以根据发展方程的情况来自动调整时间步长;其中提供三种离散算法以供选择,而方法二和方法三的CFL数比方法一大,数值计算中CFL数越大,计算效率越高,因此这两种技术还具有更高的计算效率。另外,本发明所提出的算法可以与其它主流的守恒律的高精度技术结合。

附图说明

图1是30°斜坡示意图;

图2是本发明算法的整体流程示意图;

图3是本发明算法模拟双马赫问题的数值结果(网格2400*600等分的数值结果);

图4是图3的局部放大图。

具体实施方式

以下通过具体实施方式对本发明作进一步的描述。

本发明对于现有的半离散有限体积Hermite加权本质无振荡算法,我们用记号L(Q)表示这部分算法,记号解释L是一种算法,而Q是算法L所要处理的变量。

一、我们叙述L的算法过程:

算法L用于模拟无粘绝热空气动力学,为了清楚描述所模拟的空气动力学物理过程,我们以二维气体动力学问题为例,我们知道问题必然满足三大物理基本定律,其数学模型为

Ut+F(U)x+G(U)y=0;

其中

>U=ρρuρvE,F(U)=ρuρuu+Pρuvu(E+P),G(U)=ρvρvuρvv+Pv(E+P).>

上述方程组中第一方程为质量守恒定律,第二个和第三个方程为动量守恒定律,第四个方程为能量守恒定律。相应的变量符号说明:单位体积的总能ρ,(u,v),P分别为流体的密度,速度,压强;γ=1.4为理想气体状态系数。

为了方便地描述模拟上述物理过程的算法,将其方程组用下面一般的符号描述双曲守恒律

符号说明:div(ab)=ax+by

对上面的守恒律方程组作一个梯度grad(我们用在直角坐标下说明这个符号,>grada=axay,>得到

其中的含义为>a1a2b1b2=a1b1a1b2a2b1a2b2.>

而Hermite有限体积算法的控制方程由上面两个方程(1)和(2)组成

Qt+div H(Q)=0,

其中Q=(U,grad U)T

对上面的控制方程组在小区域Ωj(物理表面记为)上积分,

>1|Ωj|ΩjQt+1|Ωj|ΩjdivH(Q)=0;>

再通过Gauss公式,把积分转化为带方向的积分可以得到半离散有限体积方法

>ddtQΩj=-1|Ωj|ΩjH(Q)·nds---(3)>

其中|Ωj|是区域Ωj的体积,ds可以理解为对某一物体表面细分后的面,对应的这个面的向外的方向为n。

由S个组成,即那么对上面方程右端的积分就可以用在各个上的离散点数为q的高斯积分离散

>ΩjH(Q)·ndsΣs=1S|Ωjs|Σl=1qωlH(Q(Gsl,t))·n;>

其中:Gsl和ωl是相应的高斯积分点和权重。(q点高斯积分离散指的是>ΩjsH(Q)·nds|Ωjs|Σl=1qωlH(Q(Gsl,t))·n>)

对于在某一高斯点的数值流通量H(Q(Gsl,t))·n可由近似或者精确Riemann解代替(这是由不同之间按照某一公式计算得到,这里算法不是本发明所要考虑的,不再详细叙述)。

到此为止,这部分关于算法L(L就是公式(3)中)叙述完了,这是因为上述过程中其实是基于的公式过程。因此这里我们记为简记为L(Q)。叙述完算法L,得到一个半离散方程

二、对于本发明提出的一种保持强稳定性的变步长多步法时间离散算法,给出了这类方法中的3种技术:

记号说明:tn是时间节点,n为时间步,Δtn=tn-tn-1

方法一、保强稳定性的变步长多步法时间离散技术:

>Qn+1=(1+λ2+λ3-2λ4)(1+λ2+λ3+λ4)2(1+λ2+λ3)3Qn+(1+λ2+λ3+λ4)2(1+λ2+λ3)2h4L(Qn)+λ42(3+3λ2+3λ3+2λ4)(1+λ2+λ3)3Qn-3+λ42(1+λ2+λ3+λ4)(1+λ2+λ3)2h1L(Qn-3).---(4)>

其中h1=Δtn-2,h2=Δtn-1,h3=Δtn,h4=Δtn+1可以看到上面的时间步长h为变时间,如果Δtn=Δt,那么这一个方法变为等时间步长多步法

>Qn+1=1627Qn+169ΔtL(Qn)+1127Qn-3+49L(Qn-3).>

这个方法的CFL数为1/3,因此本发明的多步法技术的CFL数也取为1/3。

CFL数是算法稳定相关的参数,CFL数越大,则计算时间效率越好。

方法二、保强稳定性的变步长多步法时间离散技术:

>Qn+1=(1+λ2+λ3+λ4-2λ5)(1+λ2+λ3+λ4+λ5)2(1+λ2+λ3+λ4)3Qn+(1+λ2+λ3+λ4+λ5)2(1+λ2+λ3+λ4)2h5L(Qn)+λ52(3+3λ2+3λ3+3λ4+2λ5)(1+λ2+λ3+λ4)3Qn-4+λ52(1+λ2+λ3+λ4+λ5)(1+λ2+λ3+λ4)2h1L(Qn-4)---(5)>

其中h1=Δtn-3,h2=Δtn-2,h3=Δtn-1,h4=Δtn,h5=Δtn+1这种技术的CFL数可取为1/2,同样选取相对应等步长方法的CFL数。

方法三、保强稳定性的变步长多步法时间离散技术:

>Qn+1=(1+λ2+λ3+λ4-2λ5-2λ6)(1+λ2+λ3+λ4+λ5+λ6)2(1+λ2+λ3+λ4+λ5)3Qn+(1+λ2+λ3+λ4+λ5+λ6)2(1+λ2+λ3+λ4+λ5)2h6L(Qn)+λ62(3+3λ2+3λ3+3λ4+3λ5+2λ6)(1+λ2+λ3+λ4+λ5)3Qn-5+λ62(1+λ2+λ3+λ4+λ5+λ6)(1+λ2+λ3+λ4+λ5)2h1L(Qn-5)---(6)>

其中h1=Δtn-4,h2=Δtn-3,h3=Δtn-2,h4=Δtn-1,h5=Δtn,h6=Δtn+1这种技术的CFL数可取为0.567,同样选取相对应等步长方法的CFL数。

如上面所述的方法一公式中得到Qn+1时需要Qn和Qn-3。我们计算从n=0开始,因此无法直接使用多步法,需要使用以下的保强稳定性Runge-Kutta方法开得到Q0,Q1,Q2,Q3

>Q(1)=Qn+ΔtL(Q(n))Q(2)=34Qn+14(Q(1)+ΔtL(Q(1)))Qn+1=13Qn+23(Q(2)+ΔtL(Q(2)))---(7)>

初始步的时间步长可以选取正常计算的时间步长,符号说明本说明书中n作为上下标表示为整数。

以下使用本发明算法模拟计算流体力学中的双马赫问题:

1.问题描述:

这是二维气体动力学间断解问题,其数学模型为

Ut+F(U)x+G(U)y=0,

其中

>U=ρρuρvE,F(U)=ρuρuu+Pρuvu(E+P),G(U)=ρvρvuρvv+Pv(E+P).>

而单位体积的总能其中ρ,(u,v),P分别为流体的密度,流体速度,压强,理想气体状态系数γ=1.4。

初始时刻,Mach 10的正激波撞向一个30°斜坡,如图1。那么激波与斜坡之间成60°夹角。使用所发明的离散技术计算流场的演化,模拟出tprint=0.2时刻流场的密度分布。

2.计算机模拟参数及边界条件:

斜坡平面作为x轴,建立平面直角坐标系,计算区域取为[0,4]×[0,1],反射壁面处于计算区域的内部,一个Mach数为10的斜强激波放置在处,并与x轴成60°夹角。在之前的底边壁面采用准确的激波波后条件,其他壁面采用反射边界条件。左侧波后区域的边界条件为入流边界条件,右侧为出流边界条件。上边界为精确边界条件即给出斜激波。

3.算法L过程:

如图2整体流程图的第一步,初值条件的赋值,时间层nnt=0,tnum=0:

1)对计算区域划分:

把计算区域[0,4]×[0,1]作在x轴和y轴上分别做2400等分和600等分,对划分单元编号,x轴和y轴的编号分别为i和j,则这些划分后的单元可用Iij表示,单元关于坐标轴的长高分别为Δx,Δy。

2)赋初始条件,即赋计算量当y>(x-1/6)tan(π/3)时,赋波后条件,否则赋波前条件。

每一步时间计算的边界条件:

3)赋边界条件:边界条件给定见上面2的描述。例如上边界条件,当时,赋波后条件,否则赋波前条件。

赋初始条件和边界条件后,求近似或者精确Riemann解,即说明中的公式(3);到此完成了算法L(L(Q))。

4.多步法时间离散算法过程,这里叙述方法一的过程,方法二和方法三的过程与方法一一样,不一样之处在于他们的计算公式不同:

若采取上文中方法一,初始步数nnt为4,即需要保强稳定性Runge-Kutta方法(4)求出Q1,Q2,Q3,如图2,当步数nnt<初始步数,保强稳定性Runge-Kutta方法执行初始步。nnt为时间计算步,tnum为计算时间,dt为计算步长度,tprint为最后的计算时间。

注意每执行完保强稳定性Runge-Kutta方法的中间步后要赋3)中的边界条件,时间更新tnum=tnum+dt,其中dt为Δt。

执行完初始步后,进行方法一

>Qn+1=(1+λ2+λ3-2λ4)(1+λ2+λ3+λ4)2(1+λ2+λ3)3Qn+(1+λ2+λ3+λ4)2(1+λ2+λ3)2h4L(Qn)+λ42(3+3λ2+3λ3+2λ4)(1+λ2+λ3)3Qn-3+λ42(1+λ2+λ3+λ4)(1+λ2+λ3)2h1L(Qn-3).>

其中h1=Δtn-2,h2=Δtn-1,h3=Δtn,h4=Δtn+1

反复通过上面公式计算从Qn到Qn+1,直到达到指定时间tprint=0.2,注意每执行完公式(7)就要赋3)中的边界条件,时间更新tnum=tnum+dt,其中dt为Δtn+1

结果性能分析:

图3、图4为网格2400*600等分的数值结果,从图3可以看出发明的技术很好的捕捉了激波,从图4可以看出发明可以模拟出详细的涡结构。

本发明的优点在于变时间步长和保强稳定性。通过实例展示了这个新算法在实例中的计算机模拟的高精度、高分辨率以及时间高效性等优势。这种技术还可以与多种空间算法组合,适用于可压缩流体模拟,最终能够推广到实际复杂流场的模拟等大规模科学计算问题。

上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号