Properties
Shared helpers for method-level property work live here, including dipoles, natural-orbital rotations, and related post-processing that can be reused by SCF, correlated, and CI drivers.
ElemCo.Properties — Module
PropertiesShared property post-processing helpers for SCF, correlated, and CI methods.
Exported functions
ElemCo.Properties.add_dipole_entries — Method
add_dipole_entries(energies::OutDict, method::String, dipole; include_method_aliases=false)Merge dipole components and magnitude into an output dictionary using the standard DM* and mu* keys. When include_method_aliases=true, also add method-qualified aliases such as METHOD-DMX and METHOD-mu.
ElemCo.Properties.calc_dipole_moment — Method
calc_dipole_moment(EC::ECInfo, cMO::SpinMatrix, rdm::SpinMatrix; basis=nothing)Calculate total molecular dipole components in Debye from a MO-space 1-RDM. Returns (μx, μy, μz, |μ|) or nothing when the AO basis / geometry is unavailable.
For a restricted rdm, rdm.α is taken to be the total (spin-summed) density; for an unrestricted rdm, rdm.α and rdm.β are the per-spin densities.
ElemCo.Properties.natural_orbital_rotation — Method
natural_orbital_rotation(EC::ECInfo, rdm)Diagonalize a MO-space 1-RDM and return the descending occupations together with the rotation matrix that transforms the current orbitals into natural orbitals. For unrestricted densities, alpha and beta blocks are treated independently.
Internal functions
ElemCo.Properties._dipole_output_pairs — Method
_dipole_output_pairs(method::String, dipole; include_method_aliases=false)Build the standard dipole output key/value/description tuples for insertion into an OutDict, optionally including method-qualified aliases.
ElemCo.Properties._insert_before_last — Method
_insert_before_last(energies::OutDict, pairs...)Insert additional output entries immediately before the final element of an OutDict, preserving the convention that the last entry remains the primary energy.
ElemCo.Properties.dipole_mo_components — Method
dipole_mo_components(cMO::AbstractMatrix, Dx::AbstractMatrix,
Dy::AbstractMatrix, Dz::AbstractMatrix)Transform AO dipole integrals to the MO basis defined by cMO.
ElemCo.Properties.nuclear_dipole_components — Method
nuclear_dipole_components(system::MSystem)Compute the Cartesian nuclear dipole contribution in atomic units from the molecular geometry stored in system.
ElemCo.Properties.real_part_if_small — Method
real_part_if_small(EC::ECInfo, value, label::AbstractString)Return the real part of value when its imaginary contribution is below the configured SCF tolerance, otherwise emit a warning before dropping it.