测试粒子模型 OSPP 2022

出于个人专业兴趣,我尝试搭了一个很简单的测试粒子包,并申请了一个OSPP 2022的暑期项目。

测试粒子方法是电磁学中一种基础研究方法。从高中时候开始,我们就接触了用于描述带电粒子在电磁场中的受力情况的洛伦茨定律。这套看似简单的方法,却能产生十分复杂的群体效应。
TestParticles.jl是一个针对测试粒子的常微分方程求解器,直接对接DifferentialEquations.jl提供的接口。
文档中已有一些目前能够实现的例子,并且完整提供了相关的物理背景理论(源自Francis F.Chen, Introduction to Plasma Physics and Controlled Fusion)。

目前该项目有一个基础框架和少量测试例子,有待进一步完善。 如果你

  • 对其中的物理感兴趣
  • 对常微分方程数值计算的实现有兴趣
  • 对定制可视化实现(plotting recipes)有兴趣
  • 想尝试应用在自己的数据或者模型中

随时欢迎私信我讨论!通过实践,我们将熟悉Julia中常微分方程求解的成熟方法,并可以深入探索和挖掘DifferentialEquations.jl的功能。

3 个赞

看到楼主引用了F.F.Chen的书,楼主是做等离子体物理工作的吗?目前等离子体物理中用Julia完成的工作多吗?

是的,我是从事等离子相关工作的。目前Julia社区中并没有成熟的专门针对等离子体工作设计的包,大都是处于初始阶段或者个别组内的应用。想有一个完整的生态链需要时间。比如TestParticle就可以成为其中一部分。

最近TestParticle.jl刚升级到了0.9.0版本: Home · TestParticle.jl (henry2004y.github.io)。我们已经积累了相当规模的例子供参考: Examples · TestParticle.jl (henry2004y.github.io)

由于上游DifferentialEquation最新的绘图Makie recipe有些功能还有缺失 scale! and attributes have no effects for PlotSpec · Issue #3623 · MakieOrg/Makie.jl (github.com), 部分绘图功能比原来还麻烦一些,并且目前暂不支持交互操作。

有兴趣的同学可以尝试玩一玩~