# 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.

## 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.

`AtomicStructure.screening`

— Function`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
```

`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.