波传播算法

一个空间维度

爪包可以用于求解以下形式的方程组

\[\kappa(x)q_t+f(q)_x=\psi(q,x,t),\]

哪里\(q=q(x,t)在{\cal R}^m中).均质的标准情况守恒定律\(\kappa\equiv 1)\(等于0),

(1)\[q_t+f(q)_x=0.\]

通量函数\(f(q)\)也可以显式依赖于\(x \)\(t\)以及上\(q\).非守恒形式的双曲系统,例如。,

\[q_t+A(x,t)q_x=0,\]

也可以解决。请参见[LeVeque FVMHP]有关这里简要描述的波传播算法。

齐次系统的基本要求是在对于任意两个状态,可以指定黎曼解算器的意义\(q{i-1}\)\(Q_i\),返回一组\(M_w\)波浪\({\cal W}^p_{i-1/2}\)和速度\(s^p_{i-1/2}\)令人满意的

\[\sum_{p=1}^{M_w}{\cal w}^p_{i-1/2}=Q_i-Q_{i-1}\equiv\Delta Q_{i-1/2}.\]

黎曼解算器还必须返回向左波动\({\cal A}^-\Delta Q_{i-1/2}\)向右波动\({\cal A}^+\Delta Q_{i-1/2}\).英寸标准保守案例(1)这些应该满足

(2)\[{\cal A}^-\ΔQ_{i-1/2}+{\cal A}^-\ΔQ_{i-1/2}=f(Q_i)-f(Q_{i-1})\]

然后波动定义了“通量差分裂”。

\[{\cal A}^-\Delta Q_{i-1/2}=\sum_p(s^p_{i-1/2})^-\cal W}^p__{i-2/2},\qquad{\cal A}^+\Delta Q_{i-1/2}=\sum_p(s^p_{i-1/2})^+\cal W}^p_}i-1/2{,\]

哪里\(s^-=\分钟(s,0)\)\(s^+=\最大(s,0)\)。在非保守情况eqn{claw1dnoncon},没有“通量函数”\(f(q)\),和约束(2)不需要满足。

戈杜诺夫方法

只有涨落用于一阶Godunov方法,即在表单中实现

\[Q_i^{n+1}=Q_i*n-\frac{\Delta t}{\Deltax}\left[{\cal A}^+\Delta Q_{i-1/2}+{\cal A}^-\Delta Q_{i+1/2}\右],\]

假设\(\kappa\equiv 1).

黎曼解算器必须由用户以子程序的形式提供转速1,如中所述指定Riemann解算器.

通常,黎曼解算器首先计算波浪和速度,然后使用这些要计算\({\cal A}^+Q_{i-1/2}\)\({\cal A}^-Q_{i-1/2}\)在Riemann解算器内部。

高分辨率方法

波浪和速度也必须由Riemann解算器返回,以便使用高分辨率中描述的方法[LeVeque FVMHP],减少到二阶不使用限制器时的精确Lax-Wendroff型方法。通过引入限波器,不连续性附近的非物理振荡或者可以避免溶液中的陡峭梯度。限制器基于非线性标量方程的TVD方法理论及在方程组的自然方法。

这些方法的形式如下

\[Q_i^{n+1}=Q_i^n-\frac{\Delta t}{\Delta x}\left[{\cal A}^+Q_{i-1/2}+{\cal A}^-Q_{i+1/2}\右]-\分数{\增量t}{\增量x}(\tilde F_{i+1/2}-\ tilde F_{i-1/2})\]

哪里

\[\tilde F_{i-1/2}=\frac 1 2\sum_{p=1}^{M_w}|s^p_{i-1/2}|\左(1-\frac{\Delta-t}{\Delta x}|s^p_{i-1/2}|\right)\波浪线{\cal W}_{i-1/2}^p.\]

在这里\(波浪线{\cal W}_{i-1/2}^p\)代表波浪的有限版本\({\cal W}_{i-1/2}^p\),通过比较获得\({\cal W}_{i-1/2}^p\)\({\cal W}_{i-3/2}^p\)如果\(s^p>0\)或至\({\cal W}_{i+1/2}^p\)如果\(s^p<0\).

f波公式

对于具有空间变量通量函数的方程,例如

(3)\[q_t+f(q,x)_x=0。\]

使用算法的f波公式通常很方便,因为提议于[BaleLevMitRoss02]。而不是分解跳跃\(Q_i-Q_{i-1}\)f波方法的思想是:分解通量差\(f(Q_i,x_i)-f(Q_{i-1},x_{i-1})\)进入之内f波使用雅可比矩阵的适当特征向量界面的侧面。请参见f波黎曼解算器了解更多详细信息。

容量功能

当容量发挥作用时\(\kappa(x)\)出现时,Godunov方法变为

\[Q_i^{n+1}=Q_i|n-\frac{\Delta t}{\kappa_i\Delta x}\左[{\cal A}^+Q_{i-1/2}+{\cal-A}^-Q_{i+1/2}\right],\]

请参见[LeVeque FVMHP]讨论该算法及其扩展高分辨率方法。容量函数特别适用于求解映射网格。

来源术语

如果方程有源项,例行程序src1型还必须提供求解源项方程\(q_t=磅/平方英寸)超过一个时间步长。使用分步方法将其与均匀解决方案,如中所述对源术语使用src.

边界条件

边界条件是通过每次在虚单元中设置值来施加的步骤,如中所述边界条件.

TODO:继续描述–二维和三维横向解算器。