Empirical computations

JenaAtomicCalculator.Empirical.AbstractEmpiricalApproximationType

abstract type Empirical.AbstractEmpiricalApproximation ... defines an abstract and a number of singleton types to deal with different line profiles, for instance, in a plasma.

+ GaussianProfile       ... assumes a Gaussian line profile L^Gaussian (omega)
+ LorentzianProfile     ... assumes a Lorentzian line profile L^Lorentzian (omega)
source
JenaAtomicCalculator.Empirical.ComputationType

struct Empirical.Computation ... defines a type for an empirical computation of various ionization and charge exchange processes.

+ name                   ::String                           ... A name associated to the computation.
+ nuclearModel           ::Nuclear.Model                    ... Model, charge and parameters of the nucleus.
+ grid                   ::Radial.Grid                      ... The radial grid to be used for the computation.
+ configs                ::Array{Configuration,1}           ... A list of non-relativistic configurations.
+ settings               ::Basics.AbstractEmpiricalSettings ... Provides the settings for the selected computations.
source
JenaAtomicCalculator.Empirical.ComputationMethod

Empirical.Computation(comp::Empirical.Computation;

name=..,                nuclearModel=..,            grid=..,                    configs=..,                   settings=..,  
printout::Bool=false)
                
... constructor for modifying the given Empirical.Computation by 'overwriting' the previously selected parameters.
source
JenaAtomicCalculator.Empirical.GivenEinsteinAType

struct GivenEinsteinA <: Empirical.AbstractEmpiricalApproximation ... to communicate an externally given Einstein-A value, together with the multipole and energy of the transition i –> f.

+ multipole   ::EmMultipole     ... Multipole of the transition.
+ energy      ::Float64         ... Energy of transition.
+ rate        ::Float64         ... Einstein-A value.
source
JenaAtomicCalculator.Basics.performMethod

Basics.perform(computation::Empirical.Computation) ... to set-up and perform an empirical computation that starts from a given nuclear model and set of configurations, and which is mainly controlled by its settings. The results are printed to screen but nothing is returned otherwise.

Basics.perform(computation::Empirical.Computation; output=true) ... to perform the same but to return the complete output in a dictionary; the particular output depends on the kind and specifications of the empirical computation but can easily accessed by the keys of this dictionary.

source
JenaAtomicCalculator.Empirical.bindingEnergyMethod

Empirical.bindingEnergy(Z::Int64, sh::Shell; data::PeriodicTable.AbstractEnergyData=Williams2000() ) ... to estimate the binding) energy of the given shell for a neutral atom; these binding energies are taken from semi-empirical tabulations due to data by different data sets. An energy::Float64 > 0. is returned. ...... Perhaps, introduce an optional argument scaleLast::Bool to scale values, if no explicit binding energies are available.

source
JenaAtomicCalculator.Empirical.bindingEnergyMethod

Empirical.bindingEnergy(Z::Int64, sh::Shell, conf::Configuration; data::PeriodicTable.AbstractEnergyData=Williams2000()) ... to evaluate the binding) energy of a shell electron if part of the given configuration. This procedure assumes that each missing electron (compared with the neutral system) adds 0.3 / n Hartree to the binding energy, where n is the principal quantum number of the shell. It also requires that shell is occupied in the given configuration. An energy::Float64 is returned.

source
JenaAtomicCalculator.Empirical.bindingEnergyMethod

Empirical.bindingEnergy(Z::Int64, subsh::Subshell; data::PeriodicTable.AbstractEnergyData=Williams2000() ) ... to estimate the binding) energy of the given subshell for a neutral atom; these binding energies are taken from semi-empirical tabulations due to data by different data sets. An energy::Float64 > 0. is returned.

source
JenaAtomicCalculator.Empirical.meanChargeMethod

Empirical.meanCharge(Z::Int64, subshell::Subshell, conf::Configuration) ... to estimate the mean charge Z as seen by an electron in subshell for an ion with the given configuation. An charge::Float64 is returned.

source
JenaAtomicCalculator.Empirical.photodeexcitationPlasmaRatePerIonMethod

Empirical.photodeexcitationPlasmaRatePerIon(dist::Distribution.AbstractPhotonDistribution, iConf::Configuration, fConf::Configuration; approx::Empirical.AbstractEmpiricalApproximation=UsingJAC(), printout::Bool=false)

... to estimate the total photodeexcitation plasma rate R^(PD: total, per ion) (T; i -> f) for a transition from 
    iConf -> fConf by applying a given photon distribution dist. A rate::Float64 is returned.
source
JenaAtomicCalculator.Empirical.photoemissionEinsteinAMethod

Empirical.photoemissionEinsteinA(iConf::Configuration, fConf::Configuration, approx::Empirical.ScaledHydrogenic; printout::Bool=false) ... to estimate empirically the Einstein-A value for a transition from iConf -> fConf by using a simple hydrogenic scaling with an effective nuclear charge. A named triple (multipole::EmMultipole=, energy::Float64=, rate::Float64=) is returned.

source
JenaAtomicCalculator.Empirical.photoemissionEinsteinAMethod

Empirical.photoemissionEinsteinA(iConf::Configuration, fConf::Configuration, approx::Empirical.UsingJAC; printout::Bool=false) ... to estimate empirically the Einstein-A value for a transition from iConf -> fConf by using simple JAC computations of transition and Einstein rates. A named triple (multipole::EmMultipole=, energy::Float64=, rate::Float64=) is returned.

source
JenaAtomicCalculator.Empirical.photoemissionEinsteinAMethod

Empirical.photoemissionEinsteinA(approx::Empirical.GivenEinsteinA; printout::Bool=false) ... to simply return the Einstein-A value for the given transition. A named (multipole::EmMultipole=, energy::Float64=, rate::Float64=) is returned.

source
JenaAtomicCalculator.Empirical.photoexcitationPlasmaRatePerIonMethod

Empirical.photoexcitationPlasmaRatePerIon(dist::Distribution.AbstractPhotonDistribution, iConf::Configuration, fConf::Configuration; approx::Empirical.AbstractEmpiricalApproximation=UsingJAC(), printout::Bool=false)

... to estimate the photoexcitation plasma rate per ion R^(PX: per ion) (T; i -> f) for a transition from 
    iConf -> fConf by applying a given photon distribution dist. A rate::Float64 is returned.
source
JenaAtomicCalculator.Empirical.photoionizationCrossSectionMethod

Empirical.photoionizationCrossSection(omega::Float64, iConf::Configuration, fConf::Configuration; approx::Empirical.AbstractEmpiricalApproximation=ScaledHydrogenic(), printout::Bool=false)

... to estimate empirically the PI cross section for a transition from iConf -> fConf by applying some simple approximation 
    as determined by approx. For printout=true, basic information are printed about the input parameters, approximation 
    as well as the results in user-defined units. A cs::Float64 [in a.u.] is returned.
source
JenaAtomicCalculator.Empirical.photoionizationCrossSectionMethod

Empirical.photoionizationCrossSection(omegas::Array{Float64,1}, iConf::Configuration, fConf::Configuration, approx::Empirical.ScaledHydrogenic; printout::Bool=false) ... to estimate empirically the photoionization cross sections for a transition from iConf -> fConf by using the binding energy (ionization potential) of the ionized shell from JAC and Kramer's (1923) empirical formula. A css::Array{Float64,1} [a.u.] is returned.

source
JenaAtomicCalculator.Empirical.photoionizationCrossSectionMethod

Empirical.photoionizationCrossSection(omegas::Array{Float64,1}, iConf::Configuration, fConf::Configuration, approx::Empirical.UsingJAC; printout::Bool=false) ... to estimate empirically the photoionization cross section for a transition from iConf -> fConf by using the binding energy (ionization potential) of the ionized shell from JAC and Kramer's (1923) empirical formula. A cs::Float64 is returned.

source
JenaAtomicCalculator.Empirical.photoionizationPlasmaAlphaMethod

Empirical.photoionizationPlasmaAlpha(dist::Distribution.AbstractPhotonDistribution, iConf::Configuration, fConf::Configuration; approx::Empirical.AbstractEmpiricalApproximation=ScaledHydrogenic(), printout::Bool=false)

... to estimate empirically the PI plasma rate coefficient alpha^(PI) for a transition from iConf -> fConf by applying some simple
    approximation as determined by approx. For printout=true, basic information are printed about the approximation as well
    as the results. An alpha::Float64 is returned.
source
JenaAtomicCalculator.Empirical.photorecombinationCrossSectionMethod

Empirical.photorecombinationCrossSection(energy::Float64, iConf::Configuration, fConf::Configuration; approx::Empirical.AbstractEmpiricalApproximation=ScaledHydrogenic(), printout::Bool=false)

... to estimate empirically the PR cross section for a transition from iConf -> fConf by applying some simple approximation 
    as determined by approx. For printout=true, basic information are printed about the input parameters, approximation 
    as well as the results in user-defined units. A cs::Float64 [in a.u.] is returned.
source
JenaAtomicCalculator.Empirical.photorecombinationCrossSectionMethod

Empirical.photorecombinationCrossSection(energies::Array{Float64,1}, iConf::Configuration, fConf::Configuration, approx::Empirical.ScaledHydrogenic; printout::Bool=false) ... to estimate empirically the (spontaneous) photorecombination cross section for a transition from iConf -> fConf by using the Einstein-Milne relation and the binding energy (ionization potential) of the ionized shell from JAC and Kramer's (1923) empirical formula.A css::Array{Float64,1} [a.u.] is returned.

source
JenaAtomicCalculator.Empirical.photorecombinationCrossSectionMethod

Empirical.photorecombinationCrossSection(energies::Array{Float64,1}, iConf::Configuration, fConf::Configuration, approx::Empirical.UsingJAC; printout::Bool=false) ... to estimate empirically the (spontaneous) photorecombination cross section for a transition from iConf -> fConf by using the Einstein-Milne relation and the binding energy (ionization potential) of the ionized shell from JAC and Kramer's (1923) empirical formula.A css::Array{Float64,1} [a.u.] is returned.

source
JenaAtomicCalculator.Empirical.photorecombinationPlasmaAlphaMethod

Empirical.photorecombinationPlasmaAlpha(dist::Distribution.AbstractElectronDistribution, iConf::Configuration, fConf::Configuration; approx::Empirical.AbstractEmpiricalApproximation=ScaledHydrogenic(), printout::Bool=false) ... to estimate empirically the spontaneous PR plasma rate coefficient alpha^(PR: spontaneous) for a transition from iConf -> fConf by applying some simple approximation as determined by approx. For printout=true, basic information are printed about the approximation as well as the results. An alpha::Float64 is returned.

source
JenaAtomicCalculator.Empirical.stoppingPowerElectronBethe1931Method

Empirical.stoppingPowerElectronBethe1931(energy::Float64, nRatio::Float64, omegaPlasma::Float64; printout::Bool=false) ... to evaluate the stopping power - d E / dx of an electron with kinetic energy in a plasma with nRatio = nelectrons / nions and for the plasma frequency omegaPlasma. A sPower::Float64 is returned. If printout = true, the value is printed in user-defined values along with short other explanations.

source
JenaAtomicCalculator.Empirical.stoppingPowerElectronBohr1913Method

Empirical.stoppingPowerElectronBohr1913(energy::Float64, nRatio::Float64, omegaPlasma::Float64; printout::Bool=false) ... to evaluate the stopping power - d E / dx of an electron with kinetic energy in a plasma with nRatio = nelectrons / nions and for the plasma frequency omegaPlasma. A sPower::Float64 is returned. If printout = true, the value is printed in user-defined values along with short other explanations.

source
JenaAtomicCalculator.Empirical.totalEnergyMethod

Empirical.totalEnergy(Z::Int64, conf::Configuration; data::PeriodicTable.AbstractEnergyData=Nist2025() ) ... to estimate the total energy of the given configuration for an atom or ions with nuclear charge Z; this total energy is determined either from the (negative) sum of all binding energies or the (negative) sum of ionization potentials that are needed to remove the remaining electrons from the configuration. A warning is issued if electrons occur in excited shells with regard to the ground configuration of the neutral atom. An energy::Float64 is returned.

    Note: This is an estimate of the total energy which need not to be so accurate.
source

Semi-empirical estimates

JenaAtomicCalculator.Semiempirical.estimateMethod

Semiempirical.estimate("binding energy: ...", Z::Float64, conf::Configuration) ... to provide an approximate binding energy of a given electron configuration. This estimate adds the binding energies of all subshell, taken frogm a semi-empirical tabulations by Williams et al., https://userweb.jlab.org/~gwyn/ebindene.html. If no binding energy is provided by this table, it simply scales the binding energies (e/ 12.) from the next lower shell of the same symmetry No relaxation effects are included if several hole states occur with regard to the neutral atom. An energy::Float64 in Hartree is returned.

source
JenaAtomicCalculator.Semiempirical.estimateMethod

Semiempirical.estimate("binding energy", Z::Int64, sh::Subshell; useLarkins::Bool=false) ... to provide the binding energy of a subshell electron, taken from a semi-empirical tabulations by Williams et al. (2000), https://userweb.jlab.org/~gwyn/ebindene.html or Larkins (1977). A energy::Float64 in Hartree is returned.

source
JenaAtomicCalculator.Semiempirical.estimateMethod

Semiempirical.estimate("ionization potential: inner-shell", shell::Shell, Z::Int64) ... to estimate the ionization potential = mean binding energy of an electron in the given shell; an energy value::Float64 is returned. These ionization potentials are taken from the tabulation ....

source
JenaAtomicCalculator.Semiempirical.estimateBindingEnergiesMethod

Semiempirical.estimateBindingEnergies(Z::Float64, coreConf::Configuration, nRange::UnitRange{Int64}, l::Int64) ... to estimate the binding energies of the high-n shells with n = nRange and orbital angular momentum l for a (multiply-charged) ion with nuclear charge Z and core configuration coreConfiguration. A list of energies::Array{Float64} [in Hartree] is returned.

source
JenaAtomicCalculator.Semiempirical.estimateBindingEnergiesMethod

Semiempirical.estimateBindingEnergies(Z::Float64, coreConf::Configuration, nRange::UnitRange{Int64}) ... to estimate the binding energies of the high-n shells with n = nRange for a (multiply-charged) ion with nuclear charge Z and core configuration coreConfiguration. A list of energies::Array{Float64} [in Hartree] is returned.

source
JenaAtomicCalculator.Semiempirical.estimateRadialExpectationMethod

Semiempirical.estimateRadialExpectation(Z::Float64, coreConf::Configuration, nRange::UnitRange{Int64}, l::Int64) ... to estimate the radial extent (r-expectation value) of the high-n shells with n = nRange and orbital angular momentum l for a (multiply-charged) ion with nuclear charge Z and core configuration coreConfiguration. A list of radii::Array{Float64} [in a_o] is returned.

source