Elements
ElemCo.Elements
— ModuleElements
Module for handling elements and their electron configurations.
Exported constants, types, and functions
ElemCo.Elements.ELEMENTS
— ConstantElements with corresponding atomic numbers, atomic masses, name, electron configuration, large core, small core (w/o semi-core).
ElemCo.Elements.SUBSHELLS_NAMES
— ConstantSUBSHELLS_NAMES
Names of the subshells (s,p,d,f,g,h,i,k,l,m).
ElemCo.Elements.electron_distribution4element
— Methodelectron_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.element_name_from_symbol
— Methodelement_name_from_symbol(elem::AbstractString)
Return the element name
ElemCo.Elements.ncoreorbs
— Functionncoreorbs(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
ElemCo.Elements.nuclear_charge_of_center
— Methodnuclear_charge_of_center(elem::AbstractString)
Return the nuclear charge of the element.
Internal constants, types, and functions
ElemCo.Elements.SubShell
— TypeOccupation 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.n_orbitals_in_subshell
— Methodn_orbitals_in_subshell(shell::Char)
Return the number of orbitals in the subshell.
ElemCo.Elements.parse_electron_configuration
— Methodparse_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)]