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! — Functionhydrogenic!(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.
Screened hydrogenics
AtomicStructure.screened_hydrogenic! — Functionscreened_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.
AtomicStructure.screening — Functionscreening(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.441475screening(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.3820869935387247The 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.179703979102134shows that the 2s electron is screened by both the 1s electrons and a little bit of the the other 2s electron.