@brief Module for calculating state overlaps and derivative coupling matrix elements
@date Aug 2024
@author Konstantin Komarov
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=*), | public, | parameter | :: | module_name | = | "get_state_overlap_mod" |
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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout), | dimension(n,n) | :: | array | ||
integer, | intent(in) | :: | n |
@brief C-interoperable wrapper for get_states_overlap
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(oqp_handle_t) | :: | c_handle |
@brief Main subroutine for calculating state overlaps and derivative coupling matrix elements
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(information), | intent(inout), | target | :: | infos |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | dimension(:,:) | :: | Bvec | |||
real(kind=dp), | dimension(:,:) | :: | Bvec_old | |||
real(kind=dp), | dimension(:) | :: | td_states_phase |
@brief Compute overlap integrals between MRSF response states at different MD time steps
Type | Intent | Optional | 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 |
@brief Compute overlap integrals between CSFs of MRSF-TDDFT using TLF approximation
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
Type | Intent | Optional | 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 |
@brief Compute derivative coupling vectors (DCV) using the finite difference method, typically denoted as d_IJ between states I and J.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | dimension(nstates,*) | :: | nact | |||
real(kind=dp), | dimension(nstates,*) | :: | s_st | |||
integer | :: | nstates |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(information), | intent(in) | :: | infos | |||
real(kind=dp), | intent(in), | dimension(:,:) | :: | state_overlap | ||
real(kind=dp), | intent(in), | dimension(:,:) | :: | nac |