Hydrogenic initialization

There are two modes of hydrogenic initialization implemented, plain hydrogenics, where all orbitals are initialized to as eigenorbitals of the bare charge $Z$, and screened hydrogenics, where each orbital $i$ is initialized as the eigenorbital of an efficient charge $Z-\sigma_i$, where $\sigma_i$ to some extent accounts for the screening of orbital $i$ due to all the other electrons in the configuration.

Plain hydrogenics

AtomicStructure.hydrogenic!Function
hydrogenic!(atom[; find_lowest=false, find_lowest_ℓmax=Inf, kwargs...])

Initialize the radial orbitals of atom to their unscreened hydrogenic values. This is done via simple diagonalization of the one-body Hamiltonian for each angular symmetry. If find_lowest is true, only the orbital(s) with the lowest energy is kept (out of those with ℓ≤find_lowest_ℓmax). The kwargs are passed on to diagonalize_one_body and can be used to influence how the diagonalization is performed.

source

Screened hydrogenics

AtomicStructure.screened_hydrogenic!Function
screened_hydrogenic!(atom[; kwargs...])

Initialize the radial orbitals of atom to their screened hydrogenic values. This is done via simple diagonalization of the one-body Hamiltonian for each orbital with screening computed from all the other orbitals of the first configuration of atom. The kwargs are passed on to diagonalize_one_body and can be used to influence how the diagonalization is performed.

source
AtomicStructure.screeningFunction
screening(i, j)

Compute the amount of screening of orbital i due to orbital j, according to the formula

\[\sigma_{ij} = \left\{ 1 + \left[ \frac{3n_j^2 - \ell_j(\ell_j+1)}{3n_i^2 - \ell_i(\ell_i+1)} \right]^2 \right\}^{-3/2}\]

taken from Eq. (10) of

Bessis, N., & Bessis, G. (1981). Analytic Atomic Shielding
Parameters. The Journal of Chemical Physics, 74(6),
3628–3630. http://dx.doi.org/10.1063/1.441475
source
screening(i, c)

Compute the screening of orbital i due to all other orbitals of configuration c:

\[\sigma_i = \sum_j (w_j-\delta_{ij})\sigma_{ij}\]

where $w_j$ is the occupancy of orbital j.

Examples

julia> AtomicStructure.screening(o"1s", c"1s2 2s2")
0.3820869935387247

The 1s orbital is only slightly screened by the other 1s electron and the 2 2s electrons, whereas

julia> AtomicStructure.screening(o"2s", c"1s2 2s2")
2.179703979102134

shows that the 2s electron is screened by both the 1s electrons and a little bit of the the other 2s electron.

source