使龙格库塔法

2024-06-06 13:50:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在给定二维流场的情况下,试图加速拉格朗日轨迹的计算。你知道吗

到目前为止,使用4阶RK,得到:

    for n in range(tau):

        t=2*n
        [x1,z1]=[x+0.5*U_xz[t](x0,z0),z+0.5*W_xz[t](x0,z0)]

        t+=1
        [x2,z2]=[x+0.5*U_xz[t](x1,z1),z+0.5*W_xz[t](x1,z1)]
        [x3,z3]=[x+U_xz[t](x2,z2),z+W_xz[t](x2,z2)]

        t+=1
        [x4,z4]=[x+U_xz[t](x3,z3),z+W_xz[t](x3,z3)]
        [x0,z0]=[(x1+2*x2+2*x3+x4)/6.0,(z1+2*z2+2*z3+z4)/6.0]

        x=x%nx

最后几行没那么重要。 U_xz和W_xz是函数(从离散时间步的数据中线性插值)。你知道吗

想把事情加快一点,有什么建议吗,@jit?你知道吗


Tags: 轨迹情况rkx1x2xz流场z3