-
Notifications
You must be signed in to change notification settings - Fork 217
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
instant field ionization transitions #5218
instant field ionization transitions #5218
Conversation
039cf40
to
6261bd5
Compare
c1c99f6
to
76b746c
Compare
011bf68
to
1d575ce
Compare
4123851
to
ca661a4
Compare
@psychocoderHPC the failed CI-jobs got stuck somehow, please restart them |
ca661a4
to
0b0a9a5
Compare
ci: picongpu
0b0a9a5
to
a703665
Compare
return; | ||
|
||
using FieldEnergyCache = typename T_FieldEnergyUseCacheBox::ValueType; | ||
particles::atomicPhysics::localHelperFields::RejectionProbabilityCache_Cell<FieldEnergyCache::numberCells>& |
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.
I wrote it already in an other PR. It looks very dangerous to use a reference here.
If it is a pmacc box please take the return value always by copy. There is only one case where a reference is ok and this is if you use native alpaka to get shared memory.
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.
Could be that this should be change in other code parts too.
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.
The use of a reference is correct and necessary here, since the dataBox will return a reference to global device memory and we don't want to store a copy of the superCell's rejection probability cache for every worker due to its significant size, ~ 512 * 32-bit.
include/picongpu/particles/atomicPhysics/stage/CheckForFieldEnergyOverSubscription.hpp
Outdated
Show resolved
Hide resolved
include/picongpu/particles/atomicPhysics/stage/ChooseInstantTransition.hpp
Outdated
Show resolved
Hide resolved
short rule: if you write code like |
A general comment, most AtomicPhysics(FLYonPIC) sub stages still use the old |
ci: picongpu
6a8314b
to
5b182ae
Compare
63999f7
into
ComputationalRadiationPhysics:dev
implementation of instant field ionization transitions.
Also fixes a bug in the
FillRateCache
atomicPhysics(FLYonPIC) sub-stage and removes the unused probability estimator implementations, FLYonPIC currently always uses linear probability estimation only.Only commits after
refactor Record Changes kernel
are part of this PR, all other commits belong to a base PR.Attention! This PR breaks setups using custom
atomicPhysics.param
files. To fix a setup add the following new member to theRateSolverParam
struct.Attention! This PR breaks setups using custom
atomicPhysics_Debug.param
files. To fix an setup add the following to the old file.