-
Notifications
You must be signed in to change notification settings - Fork 225
fix skipped apply ipd ionization at end of FLYonPIC loop #5536
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
base: dev
Are you sure you want to change the base?
fix skipped apply ipd ionization at end of FLYonPIC loop #5536
Conversation
| */ | ||
| if(!stateIsGenerallyUnbound && stateIsUnbound) | ||
| if(stateIsUnbound) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removing the limitiation of IPD to not naturally unbound states
f9bb8a4 to
b87251a
Compare
b87251a to
dc9e235
Compare
PrometheusPi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks formally okay - just a few questions
| pmacc::DataSpace<picongpu::simDim> const superCellFieldIndex, | ||
| T_AdditionalStuff const...) | ||
| { | ||
| return false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a question: What is the purpose of this skipSuperCell function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is called at a predefined hook point in the ApplyIPDIonization-kernel and if it returns true, causes an early exit of the kernel, skipping the entire super cell in the kernel call, see here.
The ApplyIPDIonization-kernel is defined here and is an instance of the SpawnFromSourceSpecies-kernel framework, see here.
In general the SkipSuperCell-functor is a resource saving measure in the SpawnFromSourceSpecies-kernel framework, see here, which is a future replacement for the particle creation kernel, which among other things is more flexible and allows better code reuse.
The NeverSkipSuperCell implementation disables the skipping of super cells feature completely. This ensures that the IPD-ionization is applied to every super cell at the end of FLYonPIC step here, where every super cell is finished.
dc9e235 to
8ecb609
Compare
8ecb609 to
398afa2
Compare
Adds the ability to configure wether the applyIPD-Ionization sub-stage skips finished super cells. This fixes a bug where IPD-ionization was never applied at the end of the FLYonPIC stage.
Also removes the limitation of applying IPD only to states not ionized without any IPD.
only the last 2 commits are part of this PR