-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add continuum contributions to
IonCollection.radiative_loss
(#282)
* update docstring for radiative_loss * update radiative loss method * add Li III to test to throw missing data exception * fix bug in test * add function to calculate total f-f gaunt factor * add f-f radiative loss function * start adding f-b rad loss * add note to f-b Gaunt factor - f1 is analytic * add g_fb_total -- needs to be checked * add fb rad loss + fix fb Gaunt * add new functions to full loss * small bug fixes * add units tests, remove collection test for the moment * pin numpy < 2.0 * fix recombined/recombining in fb radiative losses * add some tests * small edit to gaunt_fb * fix missing ions in f-b * fix up tests * add one more test * remove numpy version pin * refactor rad loss into three separate functions * handle possible overflows in gf exp term * add idl comparison tests for ff and fb rad losses * fix gf test * Update fiasco/ions.py Co-authored-by: Will Barnes <will.t.barnes@gmail.com> * Update fiasco/ions.py Co-authored-by: Will Barnes <will.t.barnes@gmail.com> * Update fiasco/ions.py Co-authored-by: Will Barnes <will.t.barnes@gmail.com> * Update fiasco/ions.py Co-authored-by: Will Barnes <will.t.barnes@gmail.com> * Update fiasco/ions.py Co-authored-by: Will Barnes <will.t.barnes@gmail.com> * Update fiasco/ions.py Co-authored-by: Will Barnes <will.t.barnes@gmail.com> * fix up small issues * fix zeta0 tests * add topic guide for f-b Gaunt factor * add collection tests + doc strings * fix typos in tests * remove li 3 from f-f and f-b tests -- doesn't do anything * fix refs; fix topic guide formatting * change method names to be consistent with ion methods * move two-photon description to topic guide; fix up refs * fix the tests --------- Co-authored-by: Jeffrey Reep <reep@atrcw30.ifa.hawaii.edu> Co-authored-by: Jeffrey Reep <reep@atrcw40.ifa.hawaii.edu> Co-authored-by: Jeffrey Reep <reep@kahiku.local> Co-authored-by: Will Barnes <will.t.barnes@gmail.com> Co-authored-by: Jeffrey Reep <reep@atrcw4.IfA.Hawaii.Edu>
- Loading branch information
1 parent
7cba8b8
commit 8ee514b
Showing
13 changed files
with
564 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
.. _fiasco-topic-guide-freebound-gaunt-factor: | ||
|
||
The implementation of the total free-bound Gaunt factor in fiasco | ||
================================================================= | ||
|
||
The calculation of the wavelength-averaged total free-bound Gaunt factor, :math:`G_{fb}`, | ||
as suggested by :cite:t:`mewe_calculated_1986` and used in CHIANTI to compute the total free-bound | ||
radiative losses (:meth:`fiasco.Ion.free_bound_radiative_loss`) makes an approximation to an infinite | ||
sum that can be improved upon. | ||
Specifically, Equation 14 of :cite:t:`mewe_calculated_1986` has a simple analytic solution. | ||
They make the approximation, | ||
|
||
.. math:: | ||
f_{1}(Z, n, n_{0} ) = \sum_{1}^{\infty} n^{-3} - \sum_{1}^{n_{0}} n^{-3} = \zeta(3) - \sum_{1}^{n_{0}} n^{-3} \approx 0.21 n_{0}^{-1.5} | ||
where :math:`\zeta(x)` is the Riemann zeta function. | ||
However, the second sum is analytic, | ||
|
||
.. math:: | ||
\sum_{1}^{n_{0}} n^{-3} = \zeta(3) + \frac{1}{2}\psi^{(2)}(n_{0}+1) | ||
where :math:`\psi^{n}(x)` is the :math:`n`-th derivative of the digamma function (or polygamma function). | ||
As such, we can write the full solution of Equation 14 as, | ||
|
||
.. math:: | ||
f_{1}(Z, n, n_{0}) = \zeta(3) - \sum_{1}^{n_{0}} n^{-3} = - \frac{1}{2}\psi^{(2)}(n_{0}+1) | ||
The final expression is therefore simplified and more accurate than the approximation used by :cite:t:`mewe_calculated_1986`. | ||
|
||
Note also that, unlike in :cite:t:`mewe_calculated_1986`, the calculation of the total free-bound Gaunt factor, | ||
used by :meth:`~fiasco.Ion.free_bound_radiative_loss`, does not include the abundances and ionization equilibria. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,3 +7,5 @@ Topic Guides | |
:maxdepth: 1 | ||
|
||
database_format | ||
freebound_gaunt_factor | ||
two_photon_continuum |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
.. _fiasco-topic-guide-two-photon-continuum: | ||
|
||
Calculating the two-photon continuum emission | ||
============================================= | ||
|
||
This topic guide provides a detailed description of the two-photon continuum emission calculation | ||
as implemented in :meth:`fiasco.Ion.two_photon`. | ||
|
||
In hydrogen-like ions, the transition :math:`2S_{1/2} \rightarrow 1S_{1/2} + h\nu` cannot occur | ||
as an electric dipole transition, but only as a much slower magnetic dipole transition. | ||
The dominant transition then becomes :math:`2S_{1/2} \rightarrow 1S_{1/2} + h\nu_{1} + h\nu_{2}`. | ||
|
||
In helium-like ions, the transition from :math:`1s2s ^{1}S_{0} \rightarrow 1s^{2}\ ^{1}S_{0} + h\nu` | ||
is forbidden under quantum selection rules since :math:`\Delta J = 0`. | ||
Similarly, the dominant transition becomes | ||
:math:`1s2s ^{1}S_{0} \rightarrow 1s^{2}\ ^{1}S_{0} + h\nu_{1} + h\nu_{2}`. | ||
|
||
In both cases, the energy of the two photons emitted equals the energy difference of the two levels. | ||
As a consequence, no photons can be emitted beneath the rest wavelength for a given transition. | ||
See the introduction of :cite:t:`drake_spontaneous_1986` for a concise description of the process. | ||
|
||
The emission is given by | ||
|
||
.. math:: | ||
C_{2p}(\lambda, T, n_{e}) = hc \frac{n_{j}(X^{+m}) A_{ji} \lambda_{0} \psi(\frac{\lambda_{0}}{\lambda})}{\psi_{\text{norm}}\lambda^{3}} | ||
where :math:`\lambda_{0}` is rest wavelength of the (disallowed) transition, | ||
:math:`A_{ji}` is the Einstein spontaneous emission coefficient, | ||
:math:`\psi` is so-called spectral distribution function, given approximately by | ||
|
||
.. math:: | ||
\psi(y) \approx 2.623 \sqrt{\cos{\Big(\pi(y-\frac{1}{2})\Big)}} | ||
according to :cite:p:`gronenschild_calculated_1978` and :math:`\psi_{\text{norm}}` is a normalization factor such that | ||
|
||
.. math:: | ||
\frac{1}{\psi_{\text{norm}}} \int_{0}^{1} \psi(y) dy = 2 | ||
for hydrogen-like ions and :math:`1` for helium-like ions. | ||
Finally, :math:`n_{j}(X^{+m})` is the density of ions with charge state :math:`m` of element :math:`X` | ||
in excited state :math:`j` and is given by | ||
|
||
.. math:: | ||
n_{j}(X^{+m}) = \frac{n_{j}(X^{+m})}{n(X^{+m})} \frac{n(X^{+m})}{n(X)} \frac{n(X)}{n_{H}} \frac{n_{H}}{n_{e}} n_{e}. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.