Picongpu: Implementing Thomas-Fermi pressure ionization

Created on 21 Apr 2016  路  7Comments  路  Source: ComputationalRadiationPhysics/picongpu

The field ionization framework that found its way into the code last year provides us with the opportunity to implement a first collisional ionization model into PIConGPU if the input parameters can be treated like fields.
In order to get closer to comparing our simulations to known results from iPICLS2D a fitted Thomas-Fermi pressure ionization model has been chosen.

general idea

Atoms in the Thomas-Fermi model consist of a core potential and an electron density. The dominating effects for ionization in the pressure ionization model are ion-ion and electron-electron collisions. Ionization potentials are being depressed due to an overlap of the core potentials while the bound electrons get kicked out of the atom by colliding with other electrons.

Ion mass density and electron temperature are the two defining input parameters of this model. It is based on the assumption that the process takes place in thermal equilibrium - which is an assumption that can never hold in a laser-matter interaction. Nevertheless it is a model that is relatively easy to implement. The model calculations result in an average charge state Z* that can be used to induce the ionization process. In order to neglect the fast electrons and only take the thermalized part a cutoff-momentum/energy is used before the temperature calculation.

For more info see

  • _"The Physics of Inertial Fusion"_ by Stefano Atzeni and J眉rgen Meyer-ter-Vehn
  • _"Pressure ionization, resonances, and the continuity of bound and free states"_ by R.M. More.
requirements
  • [ ] implement "temperature" functor that makes use of shapes and can interpolate over multiple orders update 2017-04-18 didn't need temperature functor because density and energy density were sufficient
    maybe in include/particles/particleToGrid/derivedAttributes
    (even though I will be whipped :fearful: for using the term "temperature" in a non-equilibrium case ... I'm not! It's just the model!)
  • [ ] test the "temperature" functor
  • [x] make FieldTmp handle "temperature" as well as density or implement two (n?) FieldTmps
  • [x] implement the model for calculation of the mean charge state in the existing ionization framework
    making use of the new input parameters

update 2017-04-18 the following two tasks have been relocated to issue #1967

  • [ ] implement a filter for excluding electrons above cutoff energy before "temperature"-calculation #1288
  • [ ] document all the assumptions and ionization conditions transparently
core

All 7 comments

@DrThomasKluge this might also be of interest to you

Yes, it is of interest to me. I would only soften two points from above:

  • The use of shapes in the "temperature" functor might for many use cases not be a requirement. So I would call it "very nice to have".
  • Same goes with handling two or n "FieldTmp". One could define a combined scalar of density and temperature united as required by the ionization model. But that would only be a workaround.
  • #1288 is absolutely crucial since we are in a non-equilibrium condition. I suggest renaming the "temperature" functor to "AverageBulkEnergy" functor or more generally "AverageEnergyInEnergyInterval" functor.

Yes, renaming it and not calling it "temperature" occured to me, too. It would then be more appropriately named throughout the code and only in the place where it will be used like a "temperature" the contradiction can be explained in a comment.

Is this THE @DrThomasKluge on GitHub? In case of the renaming: I'm for it!

@bussmann, it most certainly is the one!

Yay!

1754

@n01r can you please split out new issues in independent follow-up issues so we can close this as implemented in 0.3.0?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sbastrakov picture sbastrakov  路  3Comments

cbontoiu picture cbontoiu  路  3Comments

ax3l picture ax3l  路  4Comments

berceanu picture berceanu  路  4Comments

berceanu picture berceanu  路  4Comments