Skip to content

Commit

Permalink
fix IPD ionization cascade
Browse files Browse the repository at this point in the history
ci: picongpu
  • Loading branch information
BrianMarre committed Jan 7, 2025
1 parent f0d67c3 commit 19518ec
Showing 1 changed file with 14 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -204,9 +204,21 @@ namespace picongpu::particles::atomicPhysics::ionizationPotentialDepression::ker
// eV
float_X const ipdIonizationEnergy = ionizationEnergy - ipd;

if(ipdIonizationEnergy < 0._X)
bool const stateIsUnbound = (ipdIonizationEnergy < 0._X);

/** @details states that are unbound without an IPD contribution must relax via auto-ionization, electronic
* collisional ionization or deexcitation channels
*
* these states are typically low shell hole states, IPD-Ionization will not relax these states until
* very high charge states, causing:
* - numerical energy creation as the IPD actually lacks the energy required for ionization
* - instant ionization cascades, which are not consistent with the IPD equilibrium description
*/
bool const stateIsUnboundDueToIPDOnly = (ionizationEnergy >= 0._X);

if(stateIsUnbound && stateIsUnboundDueToIPDOnly)
{
/* we only update the atomic state since IPDIonization is not a regular transition and does not use
/* we only update the atomic state since IPD-Ionization is not a regular transition and does not use
* shared resources */

// update ion atomic state
Expand Down

0 comments on commit 19518ec

Please sign in to comment.