get_state_overlap_mod Module

@brief Module for calculating state overlaps and derivative coupling matrix elements

@date Aug 2024

@author Konstantin Komarov


Variables

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

Functions

public function comp_det(array, n) result(det)

This routine calculates the determinate of a square matrix. Gauss Elimination Method array the matrix of order norder which is to be evaluated. this subprogram destroys the matrix array norder the order of the square matrix to be evaluated.

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout), dimension(n,n) :: array
integer, intent(in) :: n

Return Value real(kind=dp)


Subroutines

public subroutine get_state_overlap_C(c_handle) bind(C, name="get_states_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_states_overlap(infos)

@brief Main subroutine for calculating state overlaps and derivative coupling matrix elements

Read more…

Arguments

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

public subroutine check_states_phase(Bvec, Bvec_old, td_states_phase)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), dimension(:,:) :: Bvec
real(kind=dp), dimension(:,:) :: Bvec_old
real(kind=dp), dimension(:) :: td_states_phase

public subroutine compute_states_overlap(infos, s_mo, s_st, mo_a, mo_a_old, nbf, noca, nocb, nstates, ndtlf)

@brief Compute overlap integrals between MRSF response states at different MD time steps

Read more…

Arguments

Type IntentOptional Attributes Name
type(information) :: infos
real(kind=dp), dimension(:,:) :: s_mo
real(kind=dp), intent(inout), dimension(:,:) :: s_st
real(kind=dp), dimension(noca,nbf-nocb,*) :: mo_a
real(kind=dp), dimension(noca,nbf-nocb,*) :: mo_a_old
integer :: nbf
integer :: noca
integer :: nocb
integer :: nstates
integer :: ndtlf

public subroutine mrsf_tlf(infos, s_mo, s_ij, s_ab, s_ia, ndtlf)

@brief Compute overlap integrals between CSFs of MRSF-TDDFT using TLF approximation

Read more…

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(in), dimension(:,:) :: s_mo
real(kind=dp), intent(out), dimension(:,:) :: s_ij
real(kind=dp), intent(out), dimension(:,:) :: s_ab
real(kind=dp), intent(out), dimension(:,:) :: s_ia
integer, intent(in) :: ndtlf

public subroutine ov_exact(temp1, i1, i2, ia1, ia2, s_mo, ilow, noc, itype)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(out) :: temp1
integer, intent(in) :: i1
integer, intent(in) :: i2
integer, intent(in) :: ia1
integer, intent(in) :: ia2
real(kind=dp), intent(in), dimension(:,:) :: s_mo
integer, intent(in) :: ilow
integer, intent(in) :: noc
integer, intent(in) :: itype

public subroutine tlf_exp(ov, itype, i1, i2, s_mo, precomp, noca, nbf)

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: ov
integer :: itype
integer :: i1
integer :: i2
real(kind=dp), dimension(nbf,nbf) :: s_mo
real(kind=dp) :: precomp
integer :: noca
integer :: nbf

public subroutine get_dcv(nact, s_st, nstates)

@brief Compute derivative coupling vectors (DCV) using the finite difference method, typically denoted as d_IJ between states I and J.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=dp), dimension(nstates,*) :: nact
real(kind=dp), dimension(nstates,*) :: s_st
integer :: nstates

public subroutine print_nac(infos, state_overlap, nac)

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos
real(kind=dp), intent(in), dimension(:,:) :: state_overlap
real(kind=dp), intent(in), dimension(:,:) :: nac