Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement particle pusher by Higuera and Cary #320

Closed
MaxThevenet opened this issue Sep 6, 2019 · 5 comments
Closed

Implement particle pusher by Higuera and Cary #320

MaxThevenet opened this issue Sep 6, 2019 · 5 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@MaxThevenet
Copy link
Member

It could be interesting to explore this particle pusher.
Here are the main references:
https://aip.scitation.org/doi/full/10.1063/1.4979989
http://accelconf.web.cern.ch/AccelConf/ipac2018/papers/thpml042.pdf
One could for instance mimic what is done for Boris and Vay pusher.

@MaxThevenet MaxThevenet added enhancement New feature or request good first issue Good for newcomers labels Sep 6, 2019
@jlvay
Copy link
Member

jlvay commented Sep 6, 2019

We want to implement for sure the one described in the Phys. Plasmas paper. A reference of the paper on arXiv is available at https://arxiv.org/abs/1701.05605v1
The conference paper describes a different pusher.

@RemiLehe
Copy link
Member

RemiLehe commented Oct 8, 2019

@Yin-YinjianZhao
Here is a bit more info on the implementation in WarpX:

@RemiLehe
Copy link
Member

RemiLehe commented Oct 9, 2019

@jlvay also pointed out a recent article that compares the different solvers:
https://iopscience.iop.org/article/10.3847/1538-4365/aab114/meta

@Yin-YinjianZhao
Copy link
Member

When reading the papers and implementing the methods, I found two typos in two papers, which made me suffer for some time before figuring them out...
So, I'd like to share them here. See the two photos below.

For testing, I followed Ripperda's paper and tested Boris's, Vay's, and Higuera's methods using five cases (uniform E, uniform B, force-free, E x B, magnetic mirror). Although I couldn't get exactly the same results as those shown in Ripperda's paper, my results are good enough to indicate that my implementation is correct.
The next step will be to add the Higuera's solver into WarpX.
And if we want to add some automated tests for WarpX for the pushers, the ones in Ripperda's paper are good candidates.

image

image

@Yin-YinjianZhao
Copy link
Member

The pusher has been added into WarpX, and one automatic test of the free-force field case is added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

4 participants