henry2004y / henry2004y/TestParticle.jl
Thoughts about particle pusher
- Dominant language
- Julia
- Stars
- 22
- Forks
- 5
- Avg merge
- 21h 17m
- Merged PRs (30d)
- 2
Description
As I am thinking about the further development of this package with a PIC model in mind, making the particle pusher part a standalone module is intriguing.
- For TestParticle.jl and PIC.jl, the particle pusher methods are shared. The difference is that in TestParticle.jl there would be no feedback from particles on the field, whereas in PIC.jl there is an extra field solver that needs particle information. Being it explicit or implicit, a generic particle pusher is always needed.
- Instead of creating a new package, we can simply come up with clean APIs from TestParticle.jl and utilize them directly in the PIC model.
- In the PIC model, by turning off the field update, we essentially fall back to the test particle model. Note that FLEKS is also using a Boris pusher with adaptive time step support. However, the adaptive time step is controlled by the maximum thermal velocity.
Contributor guide
Research direction
The issue names TestParticle.jl and a future PIC.jl model but no files or tests. Start by reviewing the existing particle-pusher methods and their APIs in TestParticle.jl, including Boris and adaptive time-step support. Done would require an agreed generic interface that can be reused by PIC.jl, with the field update optionally disabled for test-particle behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- hpc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100