tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_wavefunction_localization_type::localization_type Type Referenceabstract

Abstract base class for wavefunction orbital localization methods. More...

Inheritance diagram for tblite_wavefunction_localization_type::localization_type:
tblite_wavefunction_localization_fosterboys::fosterboys_localization_type

Public Member Functions

procedure guess (self, coeff_occ, overlap, guess_trafo)
 Construct a pivoted projected-AO guess for the occupied-space rotation.
procedure localize (self, mol, bas, overlap, dipole, coeff, emo, nel, accuracy, coeff_local, error)
 Localize the occupied molecular orbitals of a wavefunction.
procedure(prepare), deferred prepare (self, mol, bas, overlap, dipole, coeff_occ, opmat, error)
 Prepare the method-specific localization problem for one spin channel.
procedure(postprocess), deferred postprocess (self, emo_occ, trafo)
 Postprocess the optimized transformation regarding order.

Data Fields

type(jacobi_type) optimizer
 Optimizer used to solve the localization problem.

Detailed Description

Abstract base class for wavefunction orbital localization methods.

Member Function/Subroutine Documentation

◆ guess()

procedure tblite_wavefunction_localization_type::localization_type::guess ( class(localization_type), intent(in) self,
real(wp), dimension(:, :), intent(in) coeff_occ,
real(wp), dimension(:, :), intent(in) overlap,
real(wp), dimension(:, :), intent(out) guess_trafo )

Construct a pivoted projected-AO guess for the occupied-space rotation.

Parameters
[in]selfInstance of the localization method
[in]coeff_occCanonical occupied orbital coefficients
[in]overlapOverlap integrals
[out]guess_trafoOrthogonal occupied-space guess transformation

◆ localize()

procedure tblite_wavefunction_localization_type::localization_type::localize ( class(localization_type), intent(in) self,
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) emo,
real(wp), dimension(:), intent(in) nel,
real(wp), intent(in) accuracy,
real(wp), dimension(:, :, :), intent(out) coeff_local,
type(error_type), intent(out), allocatable error )

Localize the occupied molecular orbitals of a wavefunction.

Parameters
[in]selfInstance of the localization method
[in]molMolecular structure data
[in]basBasis set information
[in]overlapOverlap integral
[in]dipoleDipole integrals with moment operator centered on last index
[in]coeffCanonical orbital coefficients
[in]emoCanonical orbital energies
[in]nelNumber of electrons in each spin channel
[in]accuracyAccuracy setting of the calculation
[out]coeff_localLocalized orbital coefficients
[out]errorError handling

◆ postprocess()

procedure(postprocess), deferred tblite_wavefunction_localization_type::localization_type::postprocess ( class(localization_type), intent(in) self,
real(wp), dimension(:), intent(in) emo_occ,
real(wp), dimension(:, :), intent(inout) trafo )
pure virtual

Postprocess the optimized transformation regarding order.

Parameters
[in]selfInstance of the localization method
[in]emo_occCanonical occupied orbital energies
[in,out]trafoOccupied-space orthogonal transformation

◆ prepare()

procedure(prepare), deferred tblite_wavefunction_localization_type::localization_type::prepare ( class(localization_type), intent(in) self,
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_occ,
real(wp), dimension(:, :, :), intent(out), allocatable opmat,
type(error_type), intent(out), allocatable error )
pure virtual

Prepare the method-specific localization problem for one spin channel.

Parameters
[in]selfInstance of the localization method
[in]molMolecular structure data
[in]basBasis set information
[in]overlapOverlap integrals
[in]dipoleDipole integrals with moment operator centered on last index
[in]coeff_occGuess occupied orbital coefficients
[out]opmatOccupied-space operator matrices whose squared diagonal is maximized
[out]errorError handling

The documentation for this type was generated from the following file: