Atom types
AtomicStructure.Atom
— TypeAtom(radial_orbitals, orbitals, configurations, mix_coeffs, potential)
An atom constitutes a set of single-electron orbitals
with associated radial_orbitals
, configurations
which are ManyElectronWavefunction
:s, comprising of anti-symmetrized combinations of such orbitals. The expansion coefficients mix_coeffs
determine the linear combination of the configurations
for multi-configurational atoms.
The potential
can be used to model either the nucleus by itself (a point charge or a nucleus of finite extent) or the core orbitals (i.e. a pseudo-potential).
AtomicStructure.Atom
— MethodAtom(undef, ::Type{T}, R::AbstractQuasiMatrix, configurations, potential, ::Type{C}[, mix_coeffs])
Create an Atom
on the space spanned by R
, from the list of electronic configurations
, with a nucleus modelled by potential
, and leave the orbitals uninitialized. T
determines the eltype
of the radial orbitals and C
the mixing coefficients, which by default, are initialized to [1,0,0,...]
.
AtomicStructure.Atom
— MethodAtom(init, ::Type{T}, R::AbstractQuasiMatrix, configurations, potential, ::Type{C})
Create an Atom
on the space spanned by R
, from the list of electronic configurations
, with a nucleus modelled by potential
, and initialize the orbitals according to init
. T
determines the eltype
of the radial orbitals and C
the mixing coefficients.
AtomicStructure.Atom
— MethodAtom(init, R::AbstractQuasiMatrix, configurations, potential, ::Type{C})
Create an Atom
on the space spanned by R
, from the list of electronic configurations
, with a nucleus modelled by potential
, and initialize the orbitals according to init
. C
determines the eltype
of the mixing coefficients.
AtomicStructure.Atom
— MethodAtom(R::AbstractQuasiMatrix, configurations, potential[, ::Type{C}=eltype(R)])
Create an Atom
on the space spanned by R
, from the list of electronic configurations
, with a nucleus modelled by potential
, and initialize the orbitals to their hydrogenic values.
AtomicStructure.Atom
— MethodAtom(other_atom::Atom, configurations)
Create a new atom using the same basis and nuclear potential as other_atom
, but with a different set of configurations
. The orbitals of other_atom
are copied over as starting guess.
AtomicStructure.DiracAtom
— TypeDiracAtom
A DiracAtom
is a specialization of Atom
for the relativistic case.
Base.getindex
— Functiongetindex(atom, j)
Returns a copy of the j
:th radial orbital.
getindex(atom, orb)
Returns a copy of the radial orbital corresponding to orb
.
getindex(atom, js)
Returns a copy of all radial orbitals with index ∈ js
.
getindex(atom, orbs)
Returns a copy of the radial orbitals corresponding to orbs
.
Base.view
— Functionview(atom, j)
Returns a view
of the j
:th radial orbital.
view(atom, orb)
Returns a view
of the radial orbital corresponding to orb
.
view(atom, j)
Returns a view
of all radial orbitals with index ∈ js
.
AtomicLevels.num_electrons
— Functionnum_electrons(atom)
Return number of electrons in atom
.
Internals
AtomicStructure.ManyElectronWavefunction
— TypeManyElectronWavefunction
A many-electron wave function configuration can either be given as a CSF (summed over spins) or a configuration of spin-orbitals (where all quantum numbers are specified).
AtomicStructure.outsidecoremodel
— Functionoutsidecoremodel(configuration::Configuration, potential::P)
Return the part of the electronic configuration
that is not part of the the configuration modelled by the potential
. For a point charge, this is the same as the configuration
itself, but for pseudo-potentials, typically only the outer shells remain.
AtomicStructure.all_bound
— Functionall_bound(atom)
Returns true
if all orbitals in atom
are bound orbitals.
AtomicStructure.SCF.coefficients
— FunctionSCF.coefficients(atom)
Returns a view
of the mixing coefficients.
coefficients(quantum_system)
Retrieves the mixing coefficients of quantum_system
. Must return a view
that the scf!
routine can modify. To be overloaded by the implementation of AbstractQuantumSystem
.
AtomicStructure.SCF.orbitals
— FunctionSCF.orbitals(atom)
Returns a view
of the radial orbital coefficients (NB, it does not return the MulQuasiMatrix
, but the actual underlying expansion coefficients, since SCF
operates on them in the self-consistent iteration).
orbitals(quantum_system)
Retrieves the orbitals of quantum_system
. Must return a view
that the scf!
routine can modify. To be overloaded by the implementation of AbstractQuantumSystem
.