(缺乏)简单二维 PDE 的有限差分库的可用性

计算科学 有限差分 Python r 八度 科学实验室
2021-12-04 22:47:58

我想解决两种简单的二维问题,即像这样的 L 形几何上的固定热方程:

在此处输入图像描述

并计算以下几何形状的气隙中的趋磁场:

在此处输入图像描述

由于重新发明轮子并不聪明,因此我搜索了一个可以处理此类问题的开源库。据我所知,在 Python、Octave、Scilab 或 R 中都没有可以处理这种类型的几何图形的有限差分 (FD) 库,它不是矩形的,但仍然应该适合矩形网格(如果我记得从 Incropera 的“热传递”中正确读取,内部和外部节点可以由 FD 处理)

这种缺乏可用性让我感到奇怪。Python、Octave、Scilab 和 R 都具有用于求解 ODE 的内置库,但为什么没有用于 PDE 的 FD?是否得出结论认为专注于有限元 (FE) 就足够/更好了?我想继续使用 FD 有两个原因:简单,并且我希望将来解决其他类型的 PDE,这可能在 FE 求解器上不可用。

考虑开发这样一个库是否有意义?FD(对简单几何形状)的限制不值得努力吗?

提前谢谢了!

2个回答

编写一个具有广泛适用性的足够通用的 FD 库似乎很难,因为 FD 方法对于一般领域并不容易编写,这与使用非结构化网格的 FEM 不同,后者有一个标准方法。

我知道两个可能对您有用的库

Overture:用于求解复杂几何中的偏微分方程的面向对象工具包 http://www.overtureframework.org

OpenSBLI:从高级问题描述中自动推导有限差分求解器的框架。 https://opensbli.github.io

我知道这有点晚了,但是 Python 中有一个第三方库可以使用 FD 解决 PDE,它被称为findiff看看这个。