嘿嘿,
我想模拟一个偏微分方程(修改后的 Cahn-Hilliard 方程,但细节并不重要。这些问题也适用于扩散方程)。我正在寻找一个很好的框架来处理繁重的数字。我的要求是:
- 没有许可证成本(matlab 是没有选择的,因为我们没有足够的许可证来在我们的集群上运行许多作业)
- 快速代码(理想情况下它将是编译代码。在运行时使用像 python 这样的解释语言可能太慢了)
- 灵活的几何形状。事实上,我想模拟一个圆柱对称的三维问题。为了计算效率,我想将我的浓度场表示为半径和 z 坐标的函数,这当然使拉普拉斯算子更难以实现。
- Neumann 边界条件(周期性边界条件也可以,但它们不能用于上述圆柱几何)。Neumann 边界条件必须确保边界处的无通量条件,从而系统中的材料总量是守恒的。
- 理想情况下,将支持多处理。
目前,我正在使用XMDS2,这是一个很棒的工具集。我用它来自动生成 C 代码,我可以编译然后运行。它就像一个魅力,除了边界条件。不幸的是,XMDS 仅支持圆柱几何的狄利克雷边界条件,这对我的情况没有多大帮助。
有谁知道支持我的要求并且易于使用的替代框架?如果一切都失败了,我必须开发自己的代码,但恐怕我无法编写像有经验的人那样高效的代码。