Elements

ElemCo.ElementsModule
Elements

Module for handling elements and their electron configurations.

Exported constants, types, and functions

ElemCo.Elements.ELEMENTSConstant

Elements with corresponding atomic numbers, atomic masses, name, electron configuration, large core, small core (w/o semi-core).

ElemCo.Elements.electron_distribution4elementMethod
electron_distribution4element(elem::AbstractString, nsh4l::Vector{Int})

Distribute electrons among first atomic orbitals in nsh4l[1]s nsh4l[2]p nsh4l[3]d nsh4l[4]f... order considering the Hund's rule and electron configuration of the atom. Average occupations to account for the spin degeneracy and hybridization.

ElemCo.Elements.ncoreorbsFunction
ncoreorbs(elem::AbstractString, coretype::Symbol=:large)

Guess the number of core orbitals in the element.

coretype:

  • :large - large core (w/o semi-core)
  • :small - small core (w/ semi-core)
  • :none - no core

Internal constants, types, and functions

ElemCo.Elements.SubShellType

Occupation of the subshell with quantum numbers $n$ and $l$.

  • n::Int64: $n$-quantum number of the subshell.

  • l::Int64: $l$-quantum number of the subshell.

  • nel::Int64: Number of electrons in the subshell.

ElemCo.Elements.parse_electron_configurationMethod
parse_electron_configuration(e::AbstractString)

Parse the electron configuration string and return the number of electrons in each subshell. e.g. "[He] 2s^2 2p^6 3s^2 3p^6" -> [SubShell(1,0,2), SubShell(2,0,2), SubShell(2,1,6), SubShell(3,0,2), SubShell(3,1,6)]