tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_wavefunction_mulliken Module Reference

Wavefunction analysis via Mulliken populations. More...

Functions/Subroutines

subroutine, public get_mulliken_shell_charges (bas, smat, pmat, n0sh, qsh, partition, columns)
 Mulliken shell charges from full or column-distributed matrices.
subroutine, public get_mulliken_atomic_multipoles (bas, mpmat, pmat, mpat, partition, columns)
 Atomic multipoles from full or column-distributed matrices.
subroutine, public get_mulliken_shell_multipoles (bas, mpmat, pmat, mpsh)
subroutine, public get_molecular_dipole_moment (mol, qat, dpat, dpmom)
subroutine, public get_molecular_quadrupole_moment (mol, qat, dpat, qpat, qpmom)
subroutine, public get_mayer_bond_orders (mol, bas, smat, pmat, mbo, partition)
 Evaluate Wiberg/Mayer bond orders including factor 2 scaling for open-shell cases.
subroutine, public contract_mayer_columns (bas, ps, pst, mbo, columns, transposed)
 Contract owned PS columns with the corresponding rows into atom pairs. Distributed callers supply the rows as columns of the transposed product.

Detailed Description

Wavefunction analysis via Mulliken populations.

Function/Subroutine Documentation

◆ contract_mayer_columns()

subroutine, public tblite_wavefunction_mulliken::contract_mayer_columns ( type(basis_type), intent(in) bas,
real(wp), dimension(:, :), intent(in) ps,
real(wp), dimension(:, :), intent(in) pst,
real(wp), dimension(:, :), intent(out) mbo,
integer, dimension(:), intent(in) columns,
logical, intent(in), optional transposed )

Contract owned PS columns with the corresponding rows into atom pairs. Distributed callers supply the rows as columns of the transposed product.

Parameters
[in]basBasis set information
[in]psOwned columns of the density-overlap product
[in]pstCorresponding rows of the product, optionally stored as transposed columns
[out]mboAtom-pair bond-order contributions from these columns
[in]columnsGlobal indices of the owned columns
[in]transposedWhether pst stores transposed columns; absent means ordinary rows

◆ get_mayer_bond_orders()

subroutine, public tblite_wavefunction_mulliken::get_mayer_bond_orders ( type(structure_type), intent(in) mol,
type(basis_type), intent(in) bas,
real(wp), dimension(:, :), intent(in) smat,
real(wp), dimension(:, :, :), intent(in) pmat,
real(wp), dimension(:, :, :), intent(out) mbo,
type(work_partition), intent(in), optional partition )

Evaluate Wiberg/Mayer bond orders including factor 2 scaling for open-shell cases.

Parameters
[in]molMolecular structure data
[in]basBasis set information
[in]smatOverlap matrix
[in]pmatDensity matrix
[out]mboWiberg/Mayer bond orders
[in]partitionOptional ownership of the outer atom of each unordered pair

◆ get_mulliken_atomic_multipoles()

subroutine, public tblite_wavefunction_mulliken::get_mulliken_atomic_multipoles ( type(basis_type), intent(in) bas,
real(wp), dimension(:, :, :), intent(in) mpmat,
real(wp), dimension(:, :, :), intent(in) pmat,
real(wp), dimension(:, :, :), intent(out) mpat,
type(work_partition), intent(in), optional partition,
integer, dimension(2), intent(in), optional columns )

Atomic multipoles from full or column-distributed matrices.

Parameters
[in]basBasis set information
[in]mpmatMultipole integrals [component, row, column] in full or local-column storage
[in]pmatDensity matrices in the same column layout as mpmat
[out]mpatPartial atomic multipoles per spin, additive across partitions
[in]partitionOptional ownership of output atoms; contributions add across partitions
[in]columnsInclusive global column range for local storage; overrides atom ownership

◆ get_mulliken_shell_charges()

subroutine, public tblite_wavefunction_mulliken::get_mulliken_shell_charges ( type(basis_type), intent(in) bas,
real(wp), dimension(:, :), intent(in) smat,
real(wp), dimension(:, :, :), intent(in) pmat,
real(wp), dimension(:), intent(in) n0sh,
real(wp), dimension(:, :), intent(out) qsh,
type(work_partition), intent(in), optional partition,
integer, dimension(2), intent(in), optional columns )

Mulliken shell charges from full or column-distributed matrices.

Parameters
[in]basBasis set information
[in]smatOverlap matrix in full or local-column storage
[in]pmatDensity matrices in the same column layout as smat
[in]n0shNeutral shell occupations
[out]qshPartial shell charges and magnetizations, additive across partitions
[in]partitionOptional ownership of output shells; contributions add across partitions
[in]columnsInclusive global column range for local storage; overrides shell ownership