n01r / picongpu

PIConGPU - A particle-in-cell code for GPGPUs
http://picongpu.hzdr.de
Other
0 stars 0 forks source link

Implement Thomas-Fermi ionization model #12

Open n01r opened 7 years ago

n01r commented 7 years ago

Duplicate of #CRP/picongpu/1444 for own documentation.

Reference DOI:10.1016/S0065-2199(08)60145-1

n01r commented 7 years ago

This is what will be implemented into the code for now.

thomas-fermi_to_not_infringe_copyright

can be found in
R.M. More, Pressure Ionization, Resonances, and the Continuity of Bound and Free States, In: D.R. Bates and Benjamin Bederson, Editor(s), Advances in Atomic and Molecular Physics, Academic Press, 1985, Volume 21, Pages 305-356, ISSN 0065-2199, ISBN 9780120038213, http://dx.doi.org/10.1016/S0065-2199(08)60145-1. (http://www.sciencedirect.com/science/article/pii/S0065219908601451)

n01r commented 7 years ago

In #CRP/picongpu/1703 @ax3l and @psychocoderHPC improved FieldTmp towards having multiple slots which allows for storage of density and "temperature" data.

n01r commented 7 years ago

The implementation is running with two FieldTmp slots and shows the expected results when I pass fixed values for "temperature" and density to the particles.
Example:

expected charge state: Nitrogen 4+

checked the HDF5 output:
attribute boundElectrons = 3.0 for all ions.
Success!

n01r commented 7 years ago

Since today the simulation uses calculated and interpolated density and energy density values to calculate a temperature and then the average charge state. Small runtime tests meet the expectation:

expected charge state: Nitrogen 1+

HDF5 output shows boundElectrons = 6.0
Success!

Of course the ionization process is still instantaneous and a cut-off still has to be implemented but we're one step closer to putting certain other codes out of order! :crossed_swords: