We present the formulation and optimization of a Runge-Kutta-type time-stepping scheme for solving the shallow water equations, aimed at substantially increasing the effective allowable time-step over that of comparable methods. This scheme, called FB-RK(3,2), uses weighted forward-backward averaging of thickness data to advance the momentum equation. The weights for this averaging are chosen with an optimization process that employs a von Neumann-type analysis, ensuring that the weights maximize the admittable Courant number. Through a simplified local truncation error analysis and numerical experiments, we show that the method is at least second order in time for any choice of weights and exhibits low dispersion and dissipation errors for well-resolved waves. Further, we show that an optimized FB-RK(3,2) can take time-steps up to 2.8 times as large as a popular three-stage, third-order strong stability preserving Runge-Kutta method in a quasi-linear test case. In fully nonlinear shallow water test cases relevant to oceanic and atmospheric flows, FB-RK(3,2) outperforms SSPRK3 in admittable time-step by factors between roughly between 1.6 and 2.2, making the scheme approximately twice as computationally efficient with little to no effect on solution quality.
翻译:我们提出了一种用于求解浅水方程的龙格-库塔型时间推进格式的构造与优化方法,旨在显著提高与同类方法相比的有效允许时间步长。该格式称为FB-RK(3,2),采用加权的前向-后向厚度数据平均方法来推进动量方程。通过采用冯·诺依曼型分析的优化过程确定该平均的权重,确保权重最大化可允许的库朗数。通过简化局部截断误差分析和数值实验,我们证明该方法对任意权重选择在时间上至少具有二阶精度,且对充分分辨的波动展现出低色散和低耗散误差。此外,我们证明在准线性测试算例中,优化后的FB-RK(3,2)可采取的时间步长可达流行的三阶强稳定性保持龙格-库塔方法的2.8倍。在与海洋和大气流动相关的完全非线性浅水测试算例中,FB-RK(3,2)在允许时间步长方面比SSPRK3优势约1.6至2.2倍,使该格式的计算效率提高约两倍,且对解质量几乎没有影响。