Closed. This question is
off-topic。它当前不接受答案。
想改善这个问题吗?
Update the question,所以它是
on-topic,用于堆栈溢出。
5年前关闭。
我正在为我前面的任务构建自己的过程集,但是我目前仍停留在3D泊松方程中,无法解决由带电粒子运动产生的电势和磁场。
简而言之,“粒子进入细胞”包含4个核心过程:
运动粒子的积分(根据洛伦兹方程),
电荷密度向网格节点的分布(以及磁场的电流密度),
泊松方程的求解,以计算网格节点处的电势和电场/磁场,
电场/磁场向粒子的分布。
并且循环重复。我能够执行步骤(1),(2)和(4),但不能执行泊松部分。我正在按照Boris方案对粒子进行积分,将栅格简单地构造为
cell[i][j][k]
,尺寸为K xL x M,并且分配过程有些棘手,但毕竟不是很困难。
但是,令我大吃一惊的是,我找不到任何合适的库可以通过有限差分法(FDM)解决3D泊松方程。我开始认为我必须编写自己的求解器,但是求解偏微分方程本身就是一门科学,而且我被告知不要尝试这种解决方案,因为如果我做的不正确,结果可能会不稳定。 FFT可能也是一种解决方案,但即使边界条件不是周期性的,我也需要能够工作的方法。
我的问题是:
您是否知道任何适用于C ++的库,它将采用Poisson方程的右侧并计算出产生的电势?计算必须通过FDM完成。同样,泊松方程的右手边实际上是指K x L x M点的整个网格,该网格是在有限的差异上积分的-网格的边缘。
编写自己的泊松方程求解器难吗?您推荐什么算法?
您知道其他解决方案吗?免费软件,写得很好的论文或文档,论文论文等等。
预先谢谢您,由于我无法继续工作,这对我来说是一个非常严重的问题。