← 回到首页 Skip to main content

3.2 时间积分(Time Integration)

      考虑一般形式的方程:
$$ \frac{\partial\boldsymbol{U}}{\partial t}=\boldsymbol{G}\big(\boldsymbol{U}\big)\tag{3.18} $$
      对二维模拟,浅水方程与输运方程均可采用两种时间积分:低阶方法与高阶方法。低阶方法为一阶显式 Euler:
$$ \boldsymbol{U}_{n+1}=\boldsymbol{U}_{n}+\Delta t\,\boldsymbol{G}\big(\boldsymbol{U}_{n}\big)\tag{3.19} $$
其中 $\Delta t$ 为时间步长。高阶方法采用二阶 Runge–Kutta:
$$ \boldsymbol{U}_{n+\frac{1}{2}}=\boldsymbol{U}_{n}+\frac{1}{2}\Delta t\,\boldsymbol{G}\big(\boldsymbol{U}_{n}\big),\quad\boldsymbol{U}_{n+1}=\boldsymbol{U}_{n}+\Delta t\,\boldsymbol{G}\big(\boldsymbol{U}_{n+\frac{1}{2}}\big)\tag{3.20} $$
      对三维模拟,时间积分为半隐式(semi-implicit):水平项隐式处理;垂向项采用隐式或部分显式/部分隐式处理。将方程写为一般半隐式形式:
$$ \frac{\partial\boldsymbol{U}}{\partial t}=\boldsymbol{G}_{h}(\boldsymbol{U})+\boldsymbol{G}_{v}(B\boldsymbol{U})=\boldsymbol{G}_{h}(\boldsymbol{U})+\boldsymbol{G}_{v}^{I}(\boldsymbol{U})+\boldsymbol{G}_{v}^{V}(\boldsymbol{U})\tag{3.21} $$
其中下标 $h$ 与 $v$ 分别表示水平与垂向项;上标 $I$ 与 $V$ 分别表示无黏与黏性项。与二维类似,三维也有低阶与高阶两种时间积分方法。  
      三维浅水方程的低阶方法:
$$ \boldsymbol{U}_{n+1}-\frac{1}{2}\Delta t\Big(\boldsymbol{G}_{v}(\boldsymbol{U}_{n+1})+\boldsymbol{G}_{v}(\boldsymbol{U}_{n})\Big)=\boldsymbol{U}_{n}+\Delta t\,\boldsymbol{G}_{h}(\boldsymbol{U}_{n})\tag{3.22} $$
其中水平项用一阶显式 Euler,垂向项用二阶隐式梯形法(implicit trapezoidal rule)。  
      三维浅水方程的高阶方法:
$$ \boldsymbol{U}_{n+1/2}-\frac{1}{4}\Delta t\left(\boldsymbol{G}_{v}(\boldsymbol{U}_{n+1/2})+\boldsymbol{G}_{v}(\boldsymbol{U}_{n})\right)=\boldsymbol{U}_{n}+\frac{1}{2}\Delta t\,\boldsymbol{G}_{h}(\boldsymbol{U}_{n}),\quad\boldsymbol{U}_{n+1}-\frac{1}{2}\Delta t\left(\boldsymbol{G}_{v}(\boldsymbol{U}_{n+1})+\boldsymbol{G}_{v}(\boldsymbol{U}_{n})\right)=\boldsymbol{U}_{n}+\Delta t\,\boldsymbol{G}_{h}(\boldsymbol{U}_{n+1/2})\tag{3.23} $$
其中水平项用二阶 Runge–Kutta,垂向项用二阶隐式梯形法。
      三维输运方程的低阶方法:
$$ \boldsymbol{U}_{n+1}-\frac{1}{2}\Delta t\Big(\boldsymbol{G}_{v}^{V}(\boldsymbol{U}_{n+1})+\boldsymbol{G}_{v}^{V}(\boldsymbol{U}_{n})\Big)=\boldsymbol{U}_{n}+\Delta t\,\boldsymbol{G}_{h}(\boldsymbol{U}_{n})+\Delta t\,\boldsymbol{G}_{v}^{I}(\boldsymbol{U}_{n})\tag{3.24} $$
其中水平项与垂向对流项采用一阶显式 Euler,垂向黏性项采用二阶隐式梯形法。  
      三维输运方程的高阶方法:
$$ \boldsymbol{U}_{n+1/2}-\frac{1}{4}\Delta t\left(\boldsymbol{G}_{v}^{V}(\boldsymbol{U}_{n+1/2})+\boldsymbol{G}_{v}^{V}(\boldsymbol{U}_{n})\right)=\boldsymbol{U}_{n}+\frac{1}{2}\Delta t\,\boldsymbol{G}_{h}(\boldsymbol{U}_{n})+\frac{1}{2}\Delta t\,\boldsymbol{G}_{v}^{I}(\boldsymbol{U}_{n}),\quad\boldsymbol{U}_{n+1}-\frac{1}{2}\Delta t\left(\boldsymbol{G}_{v}^{V}(\boldsymbol{U}_{n+1})+\boldsymbol{G}_{v}^{V}(\boldsymbol{U}_{n})\right)=\boldsymbol{U}_{n}+\Delta t\,\boldsymbol{G}_{h}(\boldsymbol{U}_{n+1/2})+\Delta t\,\boldsymbol{G}_{v}^{I}(\boldsymbol{U}_{n+1/2})\tag{3.25} $$
其中水平项与垂向对流项采用二阶 Runge–Kutta,垂向黏性项采用二阶隐式梯形法。