get_structures_ao_overlap_mod Module

@brief Module for calculating Atomic Orbital (AO) overlap between different geometries

@details This module provides functionality to compute overlap between basis sets (Atomic Orbitals) of two different geometries. It includes calculations for AO overlap and then Molecular Orbital (MO) overlap.

Note

The matrices mol.data["OQP::xyz_old"], mol.data["OQP::xyz"], mol.data["OQP::VEC_MO_A_old"], mol.data["OQP::VEC_MO_A"], mol.data["OQP::E_MO_A_old"], mol.data["OQP::E_MO_A"] must be defined in advance before running this program. Output AO overlap will be written to mol.data["OQP::overlap_ao_non_orthogonal"] Output MO overlap will be written to mol.data["OQP::overlap_mo_non_orthogonal"]

@data Aug 2024

@author Konstantin Komarov


Variables

Type Visibility Attributes Name Initial
character(len=*), public, parameter :: module_name = "get_structures_ao_overlap_mod"

Subroutines

public subroutine get_structures_ao_overlap_C(c_handle) bind(C, name="get_structures_ao_overlap")

@brief C-interoperable wrapper for get_states_overlap

Read more…

Arguments

Type IntentOptional Attributes Name
type(oqp_handle_t) :: c_handle

public subroutine get_structures_ao_overlap(infos)

@brief Calculate AO overlap between two different geometries @param[in,out] infos Information structure containing all necessary data

Read more…

Arguments

Type IntentOptional Attributes Name
type(information), intent(inout), target :: infos

Information structure containing all necessary data

public subroutine mo_overlap(overlap_mo, mo_a, mo_a_old, overlap_ao, nbf)

@brief Calculate Molecular Orbital (MO) overlap between two geometries

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out), dimension(:,:) :: overlap_mo
real(kind=dp), intent(in), dimension(:,:) :: mo_a
real(kind=dp), intent(in), dimension(:,:) :: mo_a_old
real(kind=dp), intent(in), dimension(:,:) :: overlap_ao
integer :: nbf

public subroutine print_results(overlap_mo, e, e_old, nbf, na, iw)

@brief Print results of MO overlap between two geometries

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: overlap_mo(:,:)
real(kind=dp), intent(in) :: e(:)
real(kind=dp), intent(in) :: e_old(:)
integer, intent(in) :: nbf
integer, intent(in) :: na
integer, intent(in) :: iw

public subroutine print_geo(basis, text)

@brief Print geometry information

Read more…

Arguments

Type IntentOptional Attributes Name
type(basis_set), intent(in) :: basis
character(len=*), intent(in) :: text