工程师经常坚持使用局部保守方法,例如有限体积、保守有限差分或不连续 Galerkin 方法来求解偏微分方程。
使用非局部保守的方法时会出现什么问题?
好的,所以局部守恒对于双曲 PDE 很重要,那么椭圆 PDE 呢?
工程师经常坚持使用局部保守方法,例如有限体积、保守有限差分或不连续 Galerkin 方法来求解偏微分方程。
使用非局部保守的方法时会出现什么问题?
好的,所以局部守恒对于双曲 PDE 很重要,那么椭圆 PDE 呢?
在非线性双曲 PDE 的解中,即使初始条件是平滑的,也会出现不连续性(“冲击”)。在存在不连续性的情况下,解决方案的概念只能在弱的意义上定义。冲击的数值速度取决于所施加的正确的 Rankine-Hugoniot 条件,而这又取决于在数值上满足局部积分守恒定律。Lax-Wendroff 定理保证只有当方法是保守的时,收敛数值方法才会收敛到双曲守恒定律的弱解。
您不仅需要使用保守的方法,实际上您还需要使用保留正确数量的方法。 LeVeque 的“双曲问题的有限体积方法”第 11.12 节和第 12.9 节中有一个很好的例子解释了这一点。如果你离散 Burgers 方程
通过一致的离散化
无论您如何细化网格,您都会观察到冲击以错误的速度移动。也就是说,数值解不会收敛到真解。如果您改为使用保守离散化
基于通量差异,冲击将以正确的速度移动(对于这个方程,这是冲击左侧和右侧状态的平均值)。这个例子在我写的这个 IPython notebook中有说明。
对于线性双曲偏微分方程和其他通常具有平滑解的偏微分方程,局部守恒不是收敛的必要成分。然而,由于其他原因(例如,如果总质量是一个感兴趣的量),它可能很重要。
我认为您的问题的一个答案是某些社区总是简单地使用保守方案,因此它已成为“完成方式”的一部分。有人可能会争论这是否是最好的方法,但这与要求英国人靠右行驶一样富有成效,因为只在标准一侧行驶会更方便。
也就是说,我确实看到了它有用的情况。例如,考虑两相多孔介质流。这个问题通常以以下方式提出:
很多时候,要求解的方程代表一个物理守恒定律。例如,流体动力学的欧拉方程是质量、动量和能量守恒的表示。鉴于我们正在建模的潜在现实是保守的,选择同样保守的方法是有利的
您还可以看到与电磁场类似的东西。麦克斯韦定律包括磁场的无散度条件,但该方程并不总是用于磁场的演化。保留此条件的方法(例如:受约束的传输)有助于匹配现实的物理特性。
编辑:@hardmath 指出我忘了解决问题的“可能出什么问题”部分(谢谢!)。这个问题专门针对工程师,但我将提供一些来自我自己领域(天体物理学)的示例,并希望它们有助于说明这些想法,足以概括工程应用中可能出现的问题。
(1) 模拟超新星时,流体动力学与核反应网络(以及其他物理学,但我们将忽略)相关联。许多核反应强烈依赖于温度,温度(一阶近似)是能量的某种度量。如果你不能保存能量,你的温度要么太高(在这种情况下你的反应运行得太快,你会引入更多的能量,你会得到一个不应该存在的失控)或太低(在这种情况下你的反应运行太慢,你无法为超新星供电)。
(2) 在模拟双星时,需要将动量方程改写为角动量守恒。如果你未能保存角动量,那么你的恒星就无法正确地相互绕行。如果它们获得额外的角动量,它们就会分开并停止正确相互作用。如果失去角动量,它们就会相互碰撞。模拟星盘时也会出现类似的问题。(线性)动量守恒是可取的,因为物理定律守恒线性动量,但有时你必须放弃线性动量并守恒角动量,因为这对手头的问题更重要。
我不得不承认,尽管引用了磁场的无散度条件,但我对那里的知识并不了解。未能保持无发散条件可能会产生磁单极子(我们目前没有证据),但我没有任何很好的例子来说明可能在模拟中引起的问题。
今天我遇到了一篇论文The EMAC Scheme for Navier-Stokes Simulations, and Application to Flow Past Bluff Bodies并注意到它的第 1.2 节至少部分回答了 OP 的问题。相关部分是:
计算流体动力学 ( CFD ) 社区普遍认为,离散化中包含的物理越多,离散解越准确和稳定,尤其是在较长的时间间隔内。N. Phillips 在 1959 [42] 为正压非线性涡量方程构建了一个示例(使用有限差分方案),其中对流项的长时间积分导致任何时间步长的数值模拟失败。在 [4] Arakawa 表明,如果动能和熵(在二维中)通过离散化方案守恒,则可以避免长时间积分的不稳定性问题。…… 2004 年,Liu 和Wang 开发了三维流动的螺旋度和能量守恒。在 [35]中,他们提出了一种用于轴对称流动的能量和螺旋度保持方案。他们还表明,他们的双重守恒方案消除了对大的非物理数值粘度的需要。…
… 几十年来,CFD 中已经知道,有限元方案保存的物理量越多,预测就越准确,尤其是在较长的时间间隔内。因此,由更准确的方案提供的解决方案在物理上也更相关。如果可以提供完全解析的网格和无限小的时间步长,那么所有常用的有限元方案都可以提供相同的数值解。然而,在实践中,人们无法在 3D 模拟中提供完全解析的网格,尤其是对于时间相关问题。例如,在第 2 章中,我们需要 50-60,000 个时间步,其中每个时间步需要求解一个具有 400 万个未知数的稀疏线性系统。这需要 2-3 周的计算时间,在 5 个节点上使用高度并行的代码,每个节点有 24 个内核。