我正在尝试使用FiPy解决复杂的PDE问题。似乎FiPY不支持复杂的论证,一般的建议似乎是拆分PDE,单独解决然后重新组合。这仍然是这样吗?
其次,我看不出任何设置非常量初始条件的方法。假设我想让我的网格在每个单元格中没有相同的值,除了使用setValue之外,还有更简单的方法吗?
谢谢。
答案 0 :(得分:5)
FiPy不支持复杂的参数,但它支持求解向量,这可能会简化您的任务。
见this coupled Cahn-Hilliard simulation的后半部分。
当然可以设置不均匀的初始条件。请参阅:examples/cahnHilliard/mesh2DCoupled.py了解如何将初始条件设置为随机字段或examples/diffusion/electrostatics.py和 以及examples/phase/中关于如何根据坐标设置初始条件的任何内容。正如您在这些示例中所看到的,有几种不同的语法可以使用,但setValue()是完全合法的方法。