我正在研究 1D EM-PIC(使用细胞内粒子的电磁学)模拟。我想同时对电场/磁场加上由于静电/洛伦兹力引起的自由电荷运动进行时间积分。我研究了 PIC 仿真算法,我想通过使用简单模型为 1D-PIC 编写自己的代码来练习。但是,当我搜索有关 PIC 的论文和源代码时,只有复杂的模型。
我的目标是将其应用于我实验室的相对论高次谐波产生实验。但是在申请之前,通过一些示例来练习制作我自己的 PIC 代码似乎就足够了。我不知道如何研究这个领域。
任何帮助和意见将不胜感激。
我正在研究 1D EM-PIC(使用细胞内粒子的电磁学)模拟。我想同时对电场/磁场加上由于静电/洛伦兹力引起的自由电荷运动进行时间积分。我研究了 PIC 仿真算法,我想通过使用简单模型为 1D-PIC 编写自己的代码来练习。但是,当我搜索有关 PIC 的论文和源代码时,只有复杂的模型。
我的目标是将其应用于我实验室的相对论高次谐波产生实验。但是在申请之前,通过一些示例来练习制作我自己的 PIC 代码似乎就足够了。我不知道如何研究这个领域。
任何帮助和意见将不胜感激。
我不知道该方法,但查看维基百科的文章似乎这些方法涉及两个阶段,一个接一个地重复执行:
粒子移动器:根据网格中给定的场计算粒子的运动;和
场求解器:根据粒子的(新)位置计算场。
对于第一阶段,您需要集成 ODE。对于第二个,您需要求解 PDE。
我找到了一个解释它的网站,并提供了Matlab 的示例(参考 1)。它似乎使用有限差分法进行场解和Verlet 积分来更新粒子的位置。
此外, ZPIC的创建似乎是为了教授这一点。引用网站(参考2):
我们在 IST 的合作者一直在开发一种用于教育用途的新 PIC 代码:ZPIC,一种 1D/2D 独立的完全相对论电磁代码,运行光谱和有限不同求解器。ZPIC 的努力旨在创建一个开源计算工具包,用于在可以离线运行的虚拟实验室内进行等离子体物理教育。ZPIC 教育套件具有最低的安装要求(ZPIC 的 C 编译器,以及运行笔记本的 python3 和 jupyter)。由于其简单性,我们还鼓励您浏览 ZPIC 源代码并进行自己的更改。
他们甚至有Jupyter Notebooks 教授不同的课程。
Matlab 中单元格代码中的简单粒子。https://www.particleincell.com/2011/particle-in-cell-example/。访问时间:2020 年 4 月 7 日。
“ZPIC”。PICKSC,https: //picksc.idre.ucla.edu/software/educational/zpic/ 。访问时间:2020 年 4 月 7 日。