@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 |