我正在尝试以 Python 形式解决 PDE,
在哪里表示化学物质的浓度,和是常数,并且表示一些大点粒子(实际上是细菌模型)的密度场。这一切都是在 2D 中完成的。
问题是我正在模拟由作为在连续空间中移动的个体代理,而不是作为服从 PDE 的密度场。
我如何解决这个问题是获取所有粒子的位置并将其变成粗密度场,然后用它来求解 PDE。
到目前为止,我一直在手动执行此操作,将粒子位置分箱到笛卡尔网格上,然后使用有限差分迭代 PDE。到目前为止,这工作得很好。
但是现在我想在具有弯曲边界的更复杂的 2D 几何中求解 PDE,所以我认为我需要使用有限体积法而不是有限差分法。这超出了我的手工能力范围,所以我一直在研究像 FiPy 和 FEniCS 这样的包。
对我来说,似乎有两个问题我不知道他们是否可以处理:
- 有没有一种简单的方法可以确定特定点位于哪个体积元素中?如果是这样我可以计算在每个时间步手动,这样很好。
- 假设我可以计算,我可以将这样的变量字段提供给 PDE 求解器,然后它将用于迭代方程吗?