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

Declaration of the abstract orbital localization method. More...

Data Types

type  localization_type
 Abstract base class for wavefunction orbital localization methods. More...
interface  prepare
 Prepare the localization objective to be maximized by the optimizer. More...

Functions/Subroutines

subroutine, public get_common_origin_position (mol, bas, overlap, dipole, position)
 Construct the Cartesian position operators in a common origin.
subroutine, public get_orbital_centers (mol, bas, overlap, dipole, coeff, nel, centers)
 Compute charge center position of each occupied orbital of a given coefficient set.
subroutine, public get_localization_id (name, id, error)
 Translate a localization method name to its integer identifier.

Variables

type(enum_localization_method), parameter, public localization_method = enum_localization_method()
 Actual enumerator for orbital localization methods.

Detailed Description

Declaration of the abstract orbital localization method.

Function/Subroutine Documentation

◆ get_common_origin_position()

subroutine, public tblite_wavefunction_localization_type::get_common_origin_position ( type(structure_type), intent(in) mol,
type(basis_type), intent(in) bas,
real(wp), dimension(:, :), intent(in) overlap,
real(wp), dimension(:, :, :), intent(in) dipole,
real(wp), dimension(:, :, :), intent(out), allocatable position )

Construct the Cartesian position operators in a common origin.

Parameters
[in]molMolecular structure data
[in]basBasis set information
[in]overlapOverlap integrals
[in]dipoleDipole integrals with moment operator centered on last index
[out]positionCommon-origin Cartesian position operators

◆ get_localization_id()

subroutine, public tblite_wavefunction_localization_type::get_localization_id ( character(len=*), intent(in) name,
integer, intent(out) id,
type(error_type), intent(out), allocatable error )

Translate a localization method name to its integer identifier.

Parameters
[in]nameName of the localization method
[out]idInteger identifier of the localization method
[out]errorError handling

◆ get_orbital_centers()

subroutine, public tblite_wavefunction_localization_type::get_orbital_centers ( type(structure_type), intent(in) mol,
type(basis_type), intent(in) bas,
real(wp), dimension(:, :), intent(in) overlap,
real(wp), dimension(:, :, :), intent(in) dipole,
real(wp), dimension(:, :, :), intent(in) coeff,
real(wp), dimension(:), intent(in) nel,
real(wp), dimension(:, :, :), intent(out) centers )

Compute charge center position of each occupied orbital of a given coefficient set.

Parameters
[in]molMolecular structure data
[in]basBasis set information
[in]overlapOverlap integrals
[in]dipoleDipole integrals with moment operator centered on last index
[in]coeffOrbital coefficients
[in]nelNumber of electrons in each spin channel
[out]centersOrbital centers with virtual columns left at zero