模拟有限差分方法的示例

计算科学 pde 有限差分
2021-12-24 00:55:34

尽管我试图在互联网上找到一个简明的解释,但我似乎无法掌握模拟有限差分的概念,或者它甚至与标准有限差分的关系。看到一些简单的例子来说明它们是如何为经典的线性 PDE(双曲线、椭圆和抛物线)实现的,这将非常有帮助。

4个回答

不确定这是否是您想要的答案,但由于没有人回答,我可以提及 GPL 的MATLAB Reservoir Toolbox,它在油藏模拟中使用模拟求解器来求解压力方程。看到这个方程,

Kμp=q
简化为典型的椭圆测试方程, Δp=0(泊松)对于恒定的渗透率/粘度比,你可能会得到一些了解 MRST 求解器。MRST 支持使用不同模拟方法的完全非结构化网格,这里的模拟是指模拟建立质量平衡方程所需的内积。您可能不需要对油藏模拟有任何了解即可理解这一点。

此处描述了一个很好的示例包含的示例使用 MATLAB 的块脚本功能,您可以在其中使用 shift-enter 逐步完成这些步骤并检查每个步骤的数据。

相关文章可以在这里找到。第一篇论文介绍了模拟内积的公式,因此您可以阅读代码。如果您没有 MATLAB 或不熟悉该语言,这可能不是很有帮助 - 但我认为简单的示例也应该与 Octave 兼容。

支持算子方法 (SOM) 利用了这样一个事实,即大多数偏微分方程是根据微分算子散度、梯度和 curl来制定的。SOM 通过构造上述微分算子的离散模拟来提供空间差分方法。离散算子满足连续统算子所满足的重要微分和积分恒等式的离散版本。本质上,SOM 构建了微分算子演算的离散版本。×

离散微积分的构建分两步进行。首先,我们为基本算子之一选择一种离散形式,称为算子。然后,基于我们选择维护的一些微分和积分恒等式的子集,我们构造了其他基本算子,称为派生算子。主要算子的选择取决于应用和离散化。在某种意义上,主算子“支持”派生算子的构造。微分算子之间的守恒定律、解对称性和伴随关系是我们希望离散算子模拟的属性的示例。

例如,模拟离散化将模拟的线性扩散方程的 SOM 离散化

  1. 执行局部守恒定律的高斯-格林定理
  2. 通量和散度算子之间的负伴随关系,K=()
  3. 保证离散散度和离散通量乘积的对称性和正性
  4. 离散通量算子的零空间是常数函数。

有关扩散方程模拟离散化的完整详细信息可在1D2D中获得。

有一篇硕士论文“PEBI 网格上的模拟和两点通量逼近方案之间的比较”介绍了一些细节,特别是第 7.3 节通过一个小例子进行了手工操作。

请参阅 Jerome Bonelle 的论文,该论文可在他的网站上或直接在此处获得。我发现他的第 2 - 4 章很容易阅读并给出了很好的介绍。他还谈到了两个例子,一个是椭圆 PDE 和斯托克斯方程。