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

Pusher: Structure-preserving, E-Field Compensating #2589

Closed
ax3l opened this issue May 2, 2018 · 4 comments
Closed

Pusher: Structure-preserving, E-Field Compensating #2589

ax3l opened this issue May 2, 2018 · 4 comments
Assignees
Labels
component: core in PIConGPU (core application) good first issue signal new contributors where they can start

Comments

@ax3l
Copy link
Member

ax3l commented May 2, 2018

Just found this new pusher from Higuera and Cary (2017): structure-preserving (phase-space volume, energy) like Boris' method and E-B-drift conserving (like Vay's method) for relativistic beams (in the lab frame).

Properties of the new pusher (all three 2nd order accurate):

  • Boris: energy conserving, NOT E + UxB
  • Vay: NOT energy conserving, but E + UxB
  • new: energy conserving AND E + UxB

Changes to Boris' method?
One line:

Gamma gamma;
const float_X gamma_reci = float_X(1.0) / gamma(mom_minus, mass);

Reference:
https://arxiv.org/abs/1701.05605 (DOI:10.1063/1.4979989)

@ax3l ax3l added component: core in PIConGPU (core application) good first issue signal new contributors where they can start labels May 2, 2018
@sbastrakov
Copy link
Member

The paper seems interesting. However, it seems unclear to me that the additional FLOPs required vs. the standard Boris are necessarily justified.

@ax3l
Copy link
Member Author

ax3l commented May 4, 2018

Flops for already loaded data are for free :)
(Yes, sqrt is not ideal, but hey.)

@sbastrakov
Copy link
Member

sbastrakov commented Sep 18, 2018

Was glancing through recent papers in arXiv and found this one
As far as I can see, picongpu only has the "standard" Boris scheme with approximate rotation, called Boris-B in the paper, and does not have a Boris scheme with exact rotation, also known as Boris with gyrophase correction (Boris-A in the paper). The paper also provides an alternative formulation for the latter rotating pusher and shows that both rotating schemes are volume-preserving. They also experimentally show their scheme is a little faster than Boris-A (though for me it is not clear why), and both should be just marginally slower than Boris-B in realistic scenarios.

Also two interesting papers in the references of this one:

@psychocoderHPC psychocoderHPC assigned steindev and aroeszler and unassigned steindev Oct 14, 2019
@steindev steindev mentioned this issue Jul 6, 2020
3 tasks
@steindev
Copy link
Member

steindev commented Oct 1, 2020

Can be closed. Implemented with #3280.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: core in PIConGPU (core application) good first issue signal new contributors where they can start
Projects
None yet
Development

No branches or pull requests

4 participants