Routines to calculate cross sections in the Coulomb-Born approximation
Calculates the integral via the expression given in "Electromagnetic Excitation: Theory of Coulomb Excitation with Heavy Ions " by Kurt Alder and Aage Winther, Chapter IX, section 2, page 244, equation 14. for λ = 1, where . There is an expression for λ = 2 in "Study of Nuclear Structure by Electromagnetic Excitation with Accelerated Ions" by K. Alder, A. Bohr, T. Huus, B. Mottelson, and A. Winther, but only the dipole is used (at least for now).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | l | |||
| real(kind=dp), | intent(in) | :: | ki | |||
| real(kind=dp), | intent(in) | :: | kf | |||
| integer, | intent(in) | :: | Z |
Calculate only the Einstein A coefficeints for a transition
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | einsta |
The Einstein coefficient for the transition |
||
| integer, | intent(in) | :: | nlo |
the angular momentum quantum number |
||
| integer, | intent(in) | :: | nup |
the angular momentum quantum number |
||
| real(kind=dp), | intent(in) | :: | elo |
The energy (hartrees) of the initial state |
||
| real(kind=dp), | intent(in) | :: | eup |
The energy (hartrees) of the final state |
||
| complex(kind=dp), | intent(in), | allocatable | :: | eigveclo(:) |
Eigenvector of the initial state in the basis of symmetric top wavefunctions; the coefficients (c^{N,\tau}_K) |
|
| complex(kind=dp), | intent(in), | allocatable | :: | eigvecup(:) |
Eigenvector of the final state in the basis of symmetric top wavefunctions; the coefficients (c^{N',\tau'}_{K}) |
|
| logical, | intent(in) | :: | use_CDMS |
Whether to calculate the Einstein A coefficients ourselves (.true.) or to use values obtained from the CDMS catalogue (.false.) |
||
| logical, | intent(in) | :: | do_dipole | |||
| logical, | intent(in) | :: | do_quadrupole | |||
| complex(kind=dp), | intent(in), | target | :: | dipole_moments(3) |
The spherical dipole moments |
|
| complex(kind=dp), | intent(in), | target | :: | quadrupole_moments(5) |
The spherical quadrupole moments |
Calculate the excitation and de-excitation cross sections (xs) for an asymmetric top up. The sum over partial waves is either truncated to or determined analytically. The summation over the angular momentum components, multipole terms, and partial waves are separable for each value of λ as summation = (sum over angular momentum and multipole moments) (sum overpartial waves).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | energies(:) |
Array of scattering energies to consider |
||
| real(kind=dp), | intent(out), | allocatable | :: | sigma(:) |
Cross sections calculated on a grid of scattering energies for
Returned with the same size as |
|
| integer, | intent(in) | :: | Z |
Target charge |
||
| character(len=1), | intent(in) | :: | rotor_kind |
The kind of rotor we're dealing with: a(symmetric top), s(ymmetric top), l(inear rotor) |
||
| integer, | intent(in) | :: | N |
the angular momentum quantum number |
||
| integer, | intent(in) | :: | Np |
the angular momentum quantum number |
||
| real(kind=dp), | intent(in) | :: | E |
The energy (hartrees) of the initial state |
||
| real(kind=dp), | intent(in) | :: | Ep |
The energy (hartrees) of the final state |
||
| complex(kind=dp), | intent(in) | :: | eigvec(:) |
Eigenvector of the initial state in the basis of symmetric top wavefunctions; the coefficients (c^{N,\tau}_K) |
||
| complex(kind=dp), | intent(in) | :: | eigvecp(:) |
Eigenvector of the final state in the basis of symmetric top wavefunctions; the coefficients (c^{N',\tau'}_{K}) |
||
| real(kind=dp), | intent(inout) | :: | einsta |
The Einstein coefficient for the transition |
||
| logical, | intent(in) | :: | use_CDMS |
Whether to calculate the Einstein A coefficients ourselves (.true.) or to use values obtained from the CDMS catalogue (.false.) |
||
| logical, | intent(in) | :: | do_dipole | |||
| logical, | intent(in) | :: | do_quadrupole | |||
| complex(kind=dp), | intent(in), | target | :: | dipole_moments(3) |
The spherical dipole moments |
|
| complex(kind=dp), | intent(in), | target | :: | quadrupole_moments(5) |
The spherical quadrupole moments |
|
| logical, | intent(in) | :: | analytic_total_cb(:) |
Array of values telling us whether we want to use the analytic expression for lmax -> infintiy |
||
| integer, | intent(in) | :: | lmax |
The max value of the orbital angular momentum quantum number l to consider |
Extrapolate an excitation/de-excitation cross section to its excitation threshold. Use a power law scaling by fitting the first 2 points. Re-allocates Eel and xs to contain the extrapolated values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | Ei_xtrap |
Extrapolate down Ethresh + Ei_xtrap |
||
| real(kind=dp), | intent(in) | :: | Ethresh |
The excitation threshold |
||
| integer, | intent(in) | :: | nE_xtrap |
Number of extrapolation energies |
||
| real(kind=dp), | intent(inout), | allocatable | :: | Eel(:) |
On input, the electron energy grid. On output, the electron energy grid with extrapolated energies prepended |
|
| real(kind=dp), | intent(inout), | allocatable | :: | xs_pcb(:) |
On input, the partial Coulomb-Born cross sections. On output, the partial Coulomb-Born cross sections with extrapolated cross sections prepended |
|
| real(kind=dp), | intent(inout), | allocatable | :: | xs_tcb(:) |
On input, the total Coulomb-Born cross sections. On output, the total Coulomb-Born cross sections with extrapolated cross sections prepended |