什么时候应该在双曲PDE的集成中使用隐式方法?


16

用于求解PDE(或ODE)的数值方法分为两大类:显式方法和隐式方法。隐式方法允许较大的稳定时间步长,但每个步骤需要更多的工作。对于双曲线PDE,普遍的看法是,隐式方法通常不会奏效,因为使用比CFL条件允许的时间步长大的时间步长会导致非常不准确的结果。但是,在某些情况下会使用隐式方法。对于给定的应用程序,应该如何选择使用显式方法还是隐式方法?

Answers:


17

中心问题是,哪些物理过程(波动或源条件)具有您要解决的时标,并且您希望逐步解决。如果您对系统中最快的时间标尺不感兴趣,则这些方程式称为“刚度”。双曲守恒定律通常写为一阶系统

üŤ+Fü=Güü

其中包含守恒变量,为通量,称为“源项”。请注意,使用此术语,通量不包含导数,因此扩散项和色散项必须在。当源项很僵硬时(如许多化学反应问题)并且存在扩散或分散时,使用隐式或半隐式积分是很常见的。化学反应通常可以在每个元素中局部隐式解决,因为它不与相邻细胞偶联。üFGFG

为了计算波速,我们检查了通量雅可比矩阵的特征值。如果我们确定某些波的相位与物理无关,那么我们可能要跨过它们。一种=[F/ü]

例如,如果您正在模拟海洋的长期演变,则可能对地表重力波(例如海啸)不感兴趣。不幸的是,改变波速(要么减慢其速度以使用显式方法,要么将其加速至可以使用投影的“刚性盖”模型)会通过改变涡流的传播方式来改变物理性质。海洋中的涡旋是重力波几乎与对流平衡的效果,但并不完全。

另一个示例是可压缩的Euler,例如通过数据中心的气流。声波的速度比对流快得多,只有对流对传热很重要。如果您对声学不感兴趣,则可能需要使用隐式方法。

与可以与显式方法一起使用的步长相比,隐式方法的相对效率取决于在每个步骤/阶段求解代数系统的成本。有效地解决这样的代数系统是研究的活跃课题。(提出另一个问题,我将在此处回答并提供参考。)

在以下情况下,您可能还想使用隐式方法:

  • 您的方程式具有有意义的稳态,您想直接探索,也许可以用来描述稳定性
  • 您正在解决涉及历史悠久的逆/数据同化问题
  • 您想使用具有某些稳定性的超高阶时间积分方法来规避阶数障碍
  • 您正在使用时空自适应方法
  • 您正在使用已经需要求解代数系统的空间离散化(例如,具有一致质量矩阵的连续有限元方法)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.