波传播算法
一个空间维度
爪包可以用于求解以下形式的方程组
\[\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\).
容量功能
当容量发挥作用时\(\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:继续描述–二维和三维横向解算器。