-
Notifications
You must be signed in to change notification settings - Fork 225
Fix effective principal quantum number nEff in ADK
#2011
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,3 +3,7 @@ recommonmark | |
| sphinx | ||
| breathe>=4.5 | ||
| sphinxcontrib.programoutput | ||
| # generate plots | ||
| matplotlib | ||
| scipy | ||
| numpy | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| .. _model-collisionalIonization: | ||
|
|
||
| Collisional Ionization | ||
| ====================== | ||
|
|
||
| LTE Models | ||
| ---------- | ||
|
|
||
| .. moduleauthor:: Marco Garten | ||
|
|
||
| Implemented LTE Model: Thomas-Fermi Ionization according to [More1985]_ | ||
|
|
||
| Get started here https://github.com/ComputationalRadiationPhysics/picongpu/wiki/Ionization-in-PIConGPU | ||
|
|
||
| NLTE Models | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OPTIONAL:
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this header is fine, line 6 needs capitalization |
||
| ----------- | ||
|
|
||
| .. moduleauthor:: Axel Huebl | ||
|
|
||
| in development | ||
|
|
||
| References | ||
| ---------- | ||
|
|
||
| .. [More1985] | ||
| R. M. More. | ||
| *Pressure Ionization, Resonances, and the Continuity of Bound and Free States*, | ||
| Advances in Atomic, Molecular and Optical Physics Vol. 21 C, 305-356 (1985), | ||
| https://dx.doi.org/10.1016/S0065-2199(08)60145-1 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,167 @@ | ||
| .. _model-fieldIonization: | ||
|
|
||
| Field Ionization | ||
| ================ | ||
|
|
||
| .. sectionauthor:: Marco Garten | ||
| .. moduleauthor:: Marco Garten | ||
|
|
||
| Get started here https://github.com/ComputationalRadiationPhysics/picongpu/wiki/Ionization-in-PIConGPU | ||
|
|
||
| PIConGPU features an adaptable ionization framework for arbitrary and combinable ionization models. | ||
|
|
||
| .. note:: | ||
|
|
||
| Most of the calculations and formulae in this section of the docs are done in the **Atomic Units (AU)** system. | ||
|
|
||
| .. math:: | ||
|
|
||
| \hbar = \mathrm{e} = m_\mathrm{e} = 1 | ||
|
|
||
| .. table:: **Atomic Unit System** | ||
| :widths: auto | ||
| :name: atomic_units | ||
|
|
||
| ================ ===== | ||
| AU SI | ||
| ================ ===== | ||
| length :math:`5.292 \cdot 10^{-11}\,\mathrm{m}` | ||
| time :math:`2.419 \cdot 10^{-17}\,\mathrm{s}` | ||
| energy :math:`4.360 \cdot 10^{-18}\,\mathrm{J}\quad` (= 27.21 eV = 1 Rydberg) | ||
| electrical field :math:`5.142 \cdot 10^{11}\,\frac{\mathrm{V}}{\mathrm{m}}` | ||
| ================ ===== | ||
|
|
||
| Overview: Implemented Models | ||
| ---------------------------- | ||
| .. table:: | ||
| :widths: auto | ||
| :name: implemented__field_ionization_models | ||
|
|
||
| +---------------------+-----------------------------+---------------------------+ | ||
| | ionization regime | implemented model | reference | | ||
| +=====================+=============================+===========================+ | ||
| | Multiphoton | None, yet | | | ||
| +---------------------+-----------------------------+---------------------------+ | ||
| | Tunneling | * ``Keldysh`` | * [BauerMulser1999]_ | | ||
| | | * ``ADKLinPol`` | * [DeloneKrainov]_ | | ||
| | | * ``ADKCircPol`` | * [DeloneKrainov]_ | | ||
| +---------------------+-----------------------------+---------------------------+ | ||
| | Barrier Suppression | * ``BSI`` | * [MulserBauer2010]_ | | ||
| | | * ``BSIEffectiveZ`` | * [ClementiRaimondi1963]_ | | ||
| | | | [ClementiRaimondi1967]_ | | ||
| | | * ``BSIStarkShifted`` (R&D) | * [BauerMulser1999]_ | | ||
| +---------------------+-----------------------------+---------------------------+ | ||
|
|
||
| .. attention:: | ||
|
|
||
| Models marked with "(R&D)" are under *research and development* and should be used with care. | ||
|
|
||
| Usage | ||
| ----- | ||
|
|
||
| Input for ionization models is defined in :ref:`speciesDefinition.param <usage-params-core>`, :ref:`ionizer.param and ionizationEnergies.param <usage-params-extensions>`. | ||
|
|
||
|
|
||
| Barrier Suppression Ionization | ||
| ------------------------------ | ||
|
|
||
| The so-called barrier-suppression ionization regime is reached for strong fields where the potential barrier binding an electron is completely suppressed. | ||
|
|
||
| Tunneling Ionization | ||
| -------------------- | ||
|
|
||
| Tunneling ionization describes the process during which an initially bound electron quantum-mechanically tunnels through a potential barrier of finite height. | ||
|
|
||
| Keldysh | ||
| """"""" | ||
|
|
||
| .. math:: | ||
|
|
||
| \Gamma_\mathrm{K} = \frac{\left(6 \pi\right)^{1/2}}{2^{5/4}} E_\mathrm{ip} \left( \frac{F}{(2 E_\mathrm{ip})^{3/2}} \right)^{1/2} \exp\left(-\frac{2 \left(2 E_\mathrm{ip}\right)^{3/2}}{3 F}\right) | ||
|
|
||
| The Keldysh ionization rate has been implemented according to the equation (9) in [BauerMulser1999]_. See also [Keldysh]_ for the original work. | ||
|
|
||
| .. note:: | ||
|
|
||
| Assumptions: | ||
|
|
||
| * low field - perturbation theory | ||
| * :math:`\omega_\mathrm{laser} \ll E_\mathrm{ip}` | ||
| * :math:`F \ll F_\mathrm{BSI}` | ||
| * tunneling is instantaneous | ||
|
|
||
|
|
||
| Ammosov-Delone-Krainov (ADK) | ||
| """""""""""""""""""""""""""" | ||
|
|
||
| .. math:: | ||
|
|
||
| \begin{align} | ||
| \Gamma_\mathrm{ADK} &= \underbrace{\sqrt{\frac{3 n^{*3} F}{\pi Z^3}}}_\text{lin. pol.} \frac{F D^2}{8 \pi Z} \exp\left(-\frac{2Z}{3n^{*3}F}\right) \\ | ||
| D &\equiv \left( \frac{4 \exp Z^3}{F n^{*4}} \right)^{n^*} \hspace{2cm} n^* = \frac{Z}{\sqrt{2 E_\mathrm{ip}}} | ||
| \end{align} | ||
|
|
||
| We implemented equation (7) from [DeloneKrainov]_ which is a *simplified result assuming s-states* (since we have no atomic structure implemented, yet). | ||
| Leaving out the pre-factor distinguishes ``ADKCircPol`` from ``ADKLinPol``. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OPTIONAL: |
||
| ``ADKLinPol`` results from replacing an instantaneous field strength :math:`F` by :math:`F \cos(\omega t)` and averaging over one laser period. | ||
|
|
||
| .. attention:: | ||
|
|
||
| Be aware that :math:`Z` denotes the **residual ion charge** and not the proton number of the nucleus! | ||
|
|
||
| In the following comparison one can see the ``ADKLinPol`` ionization rates for the transition from Carbon II to III (meaning 1+ to 2+). | ||
| For a reference the rates for Hydrogen as well as the barrier suppression field strengths :math:`F_\mathrm{BSI}` have been plotted. | ||
| They mark the transition from the tunneling to the barrier suppression regime. | ||
|
|
||
| .. figure:: field_ionization_comparison_c_ii_ionization.svg | ||
| :name: field_ionization_comparison_c_ii_ionization | ||
| :alt: Comparison of ADK ionization rates for Carbon-II and Hydrogen | ||
|
|
||
| Comparison of ADK ionization rates for Carbon-II and Hydrogen. | ||
|
|
||
| When we account for orbital structure in shielding of the ion charge :math:`Z` according to [ClementiRaimondi1963]_ in ``BSIEffectiveZ`` the barrier suppression field strengths of Hydrogen and Carbon-II are very close to one another. | ||
| One would expect much earlier ionization of Hydrogen due to lower ionization energy. The following image shows how this can be explained by the shape of the ion potential that is assumed in this model. | ||
|
|
||
| .. figure:: field_ionization_effective_potentials.svg | ||
| :name: field_ionization_effective_potentials | ||
| :alt: Effective atomic potentials of Carbon-II and Hydrogen in homogeneous electric field | ||
|
|
||
| Effective atomic potentials of Carbon-II and Hydrogen in homogeneous electric field :math:`F_\mathrm{BSI}` (C-II). | ||
|
|
||
| References | ||
| ---------- | ||
| .. [DeloneKrainov] | ||
| N. B. Delone and V. P. Krainov. | ||
| *Tunneling and barrier-suppression ionization of atoms and ions in a laser radiation field*, | ||
| Phys. Usp. 41 469–485 (1998), | ||
| http://dx.doi.org/10.1070/PU1998v041n05ABEH000393 | ||
|
|
||
| .. [BauerMulser1999] | ||
| D. Bauer and P. Mulser. | ||
| *Exact field ionization rates in the barrier-suppression regime from numerical time-dependent Schrödinger-equation calculations*, | ||
| Physical Review A 59, 569 (1999), | ||
| https://dx.doi.org/10.1103/PhysRevA.59.569 | ||
|
|
||
| .. [MulserBauer2010] | ||
| P. Mulser and D. Bauer. | ||
| *High Power Laser-Matter Interaction*, | ||
| Springer-Verlag Berlin Heidelberg (2010), | ||
| https://dx.doi.org/10.1007/978-3-540-46065-7 | ||
|
|
||
| .. [Keldysh] | ||
| L.V. Keldysh. | ||
| *Ionization in the field of a strong electromagnetic wave*, | ||
| Soviet Physics JETP 20, 1307-1314 (1965), | ||
| http://jetp.ac.ru/cgi-bin/dn/e_020_05_1307.pdf | ||
|
|
||
| .. [ClementiRaimondi1963] | ||
| E. Clementi and D. Raimondi. | ||
| *Atomic Screening Constant from SCF Functions*, | ||
| The Journal of Chemical Physics 38, 2686-2689 (1963) | ||
| https://dx.doi.org/10.1063/1.1733573 | ||
|
|
||
| .. [ClementiRaimondi1967] | ||
| E. Clementi and D. Raimondi. | ||
| *Atomic Screening Constant from SCF Functions. II. Atoms with 37 to 86 Electrons*, | ||
| The Journal of Chemical Physics 47, 1300-1307 (1967) | ||
| https://dx.doi.org/10.1063/1.1712084 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,103 @@ | ||
| import matplotlib as mpl | ||
| from matplotlib import pyplot as plt | ||
| from scipy.misc import factorial as mfac | ||
| from scipy.special import gamma as gam | ||
| import numpy as np | ||
|
|
||
|
|
||
| params = { | ||
| 'font.size': 20, | ||
| 'lines.linewidth': 3, | ||
| 'legend.fontsize': 20, | ||
| 'legend.frameon': False, | ||
| 'xtick.labelsize': 20, | ||
| 'ytick.labelsize': 20, | ||
| # RTD default textwidth: 800px | ||
| 'figure.figsize': [12, 8] | ||
| } | ||
| mpl.rcParams.update(params) | ||
|
|
||
|
|
||
| def ADK_rate_simple(Z, E_i, F): | ||
| """ | ||
| ADK tunneling rate from [DeloneKrainov1998] that has been simplified | ||
| for s-states. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. REQUIRED: |
||
|
|
||
| Args: | ||
| Z : residual ion charge | ||
| E_i : ionization energy of the state | ||
| F : electric field strength | ||
| """ | ||
| n_eff = Z / ((2.*E_i)**(1./2.)) # effective principal quantum number | ||
| D = ((4.*np.exp(1.)*Z**3.) / (F*n_eff**4.))**n_eff # some factor | ||
|
|
||
| # laser is circularly polarized | ||
| # pol_fac = 1. | ||
| # laser is lin. polarized | ||
| pol_fac = ((3*n_eff**3*F) / (np.pi*Z**3))**(1.0/2) | ||
| I_rate = pol_fac * (F*D**2.) / (8.*np.pi*Z) * \ | ||
| np.exp(-(2.*Z**3.) / (3.*n_eff**3.*F)) | ||
| return I_rate | ||
|
|
||
| if __name__ == "__main__": | ||
| """ | ||
| On execution this file produces the image | ||
| `field_ionization_comparison_c_ii_ionization.svg` | ||
| for the PIConGPU documentation. | ||
| """ | ||
|
|
||
| # Atomic units | ||
| E_AU = 27.2 # eV | ||
| F_AU = 5.1422e11 # V/m | ||
| I_AU = 3.5095e16 # W/cm^2 | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. QUESTION:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. that is the unit ^^
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Okay - I was confused by the relation but know it makes sense |
||
| T_AU = 150.e-18 / (2. * np.pi) | ||
|
|
||
| # Hydrogen | ||
| Z_H = 1. # proton number | ||
| E_H = .5 # ionization energy (AU) | ||
|
|
||
| # Carbon | ||
| Z_C = 6. | ||
| E_C_SI = np.array([11.26, 24.36, 47.89, 64.49, 392.09, 490.00]) | ||
| E_C = E_C_SI/E_AU | ||
|
|
||
| ymin = 1e6 | ||
| ymax = 1e20 | ||
|
|
||
| # electric field strengths in AU | ||
| fields = 10**np.linspace(-5, 3, 1000) | ||
|
|
||
| H = ADK_rate_simple(Z_H, E_H, fields)/T_AU | ||
|
|
||
| Csimple = ADK_rate_simple(2, E_C[1], fields) / T_AU | ||
| # with effective Z from shielding constants | ||
| Ceff = ADK_rate_simple(3.136, E_C[1], fields) / T_AU | ||
|
|
||
| plt.figure() | ||
|
|
||
| p_H = plt.plot(fields, H, label="ADK H") | ||
|
|
||
| p_Csimple = plt.plot(fields, Csimple, | ||
| label="ADK C $ \quad Z = 2\mathrm{+}$") | ||
| p_Ceff = plt.plot(fields, Ceff, | ||
| label="ADK C (eff) $ \quad Z = 3.136 = Z_\mathrm{eff}$") | ||
| plt.vlines(E_H**2./(4*1), ymin, ymax, | ||
| colors="{}".format(p_H[0].get_color()), | ||
| label="$F_\mathrm{BSI}$ H") | ||
|
|
||
| plt.vlines(E_C[1]**2. / (4*2), ymin, ymax, | ||
| colors="{}".format(p_Csimple[0].get_color()), | ||
| label="$F_\mathrm{BSI}$ C", linestyles="--") | ||
| plt.vlines(E_C[1]**2. / (4*3.136), ymin, ymax, | ||
| colors="{}".format(p_Ceff[0].get_color()), | ||
| label="$F_\mathrm{BSI}$ C (eff)", linestyles="--") | ||
|
|
||
| plt.ylim([ymin, ymax]) | ||
| plt.xlim([1e-2, 1e1]) | ||
| plt.yscale("log") | ||
| plt.xscale("log") | ||
| plt.ylabel("ionization rate $\Gamma$ [Hz]") | ||
| plt.xlabel("field strength $F$ [AU = 5.1422$\cdot 10^{11}$ V/m]") | ||
| plt.legend(loc="best") | ||
|
|
||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OPTIONAL:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. offline: @ax3l says no
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Okay |
||
| plt.savefig("field_ionization_comparison_c_ii_ionization.svg") | ||
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.
OPTIONAL:
Please remove capitalization
model,ionization