Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | multipass | = | .false. | ||
integer, | public | :: | num_passes | = | 1 | ||
integer, | public | :: | cur_pass | = | 1 | ||
real(kind=dp), | public | :: | scale_coulomb | = | 1.0d0 | ||
real(kind=dp), | public | :: | scale_exchange | = | 1.0d0 | ||
type(par_env_t), | public | :: | pe | ||||
integer, | public | :: | nshells | = | 0 | ||
integer, | public | :: | fockdim | = | 0 | ||
integer, | public | :: | nthreads | = | 1 | ||
integer, | public | :: | nfocks | = | 1 | ||
real(kind=dp), | public, | allocatable | :: | f(:,:,:) | |||
real(kind=dp), | public, | allocatable | :: | dsh(:,:) | |||
real(kind=dp), | public | :: | max_den | = | 1.0d0 | ||
real(kind=dp), | public, | pointer | :: | d(:,:) | => | null() | |
real(kind=dp), | public, | allocatable | :: | apb(:,:,:,:) | |||
real(kind=dp), | public, | allocatable | :: | amb(:,:,:,:) | |||
real(kind=dp), | public, | pointer | :: | d2(:,:,:) | => | null() | |
logical, | public | :: | int_apb | = | .true. | ||
logical, | public | :: | int_amb | = | .false. | ||
logical, | public | :: | tamm_dancoff | = | .false. | ||
logical, | public | :: | tamm_dancoff_coulomb | = | .false. |
generic, public :: screen => screen_ij, screen_ijkl | |
procedure, public :: screen_ij => int2_fock_data_t_screen_ij | |
procedure, public :: screen_ijkl => int2_fock_data_t_screen_ijkl | |
procedure, public :: int2_fock_data_t_parallel_start | |
procedure, public :: int2_fock_data_t_parallel_stop | |
procedure, public :: parallel_start => int2_td_data_t_parallel_start | |
procedure, public :: parallel_stop => int2_td_data_t_parallel_stop | |
procedure, public :: init_screen => int2_td_data_t_init_screen | |
procedure, public :: update => int2_td_data_t_update | |
procedure, public :: clean => int2_td_data_t_clean |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | multipass | = | .false. | ||
integer, | public | :: | num_passes | = | 1 | ||
integer, | public | :: | cur_pass | = | 1 | ||
real(kind=dp), | public | :: | scale_coulomb | = | 1.0d0 | ||
real(kind=dp), | public | :: | scale_exchange | = | 1.0d0 | ||
type(par_env_t), | public | :: | pe | ||||
integer, | public | :: | nshells | = | 0 | ||
integer, | public | :: | fockdim | = | 0 | ||
integer, | public | :: | nthreads | = | 1 | ||
integer, | public | :: | nfocks | = | 1 | ||
real(kind=dp), | public, | allocatable | :: | f(:,:,:) | |||
real(kind=dp), | public, | allocatable | :: | dsh(:,:) | |||
real(kind=dp), | public | :: | max_den | = | 1.0d0 | ||
real(kind=dp), | public, | pointer | :: | d(:,:) | => | null() | |
real(kind=dp), | public, | allocatable | :: | apb(:,:,:,:) | |||
real(kind=dp), | public, | allocatable | :: | amb(:,:,:,:) | |||
real(kind=dp), | public, | pointer | :: | d2(:,:,:) | => | null() | |
logical, | public | :: | int_apb | = | .true. | ||
logical, | public | :: | int_amb | = | .false. | ||
logical, | public | :: | tamm_dancoff | = | .false. | ||
logical, | public | :: | tamm_dancoff_coulomb | = | .false. |
generic, public :: screen => screen_ij, screen_ijkl | |
procedure, public :: screen_ij => int2_fock_data_t_screen_ij | |
procedure, public :: screen_ijkl => int2_fock_data_t_screen_ijkl | |
procedure, public :: int2_fock_data_t_parallel_start | |
procedure, public :: int2_fock_data_t_parallel_stop | |
procedure, public :: parallel_start => int2_td_data_t_parallel_start | |
procedure, public :: parallel_stop => int2_td_data_t_parallel_stop | |
procedure, public :: init_screen => int2_td_data_t_init_screen | |
procedure, public :: clean => int2_td_data_t_clean | |
procedure, public :: update => int2_tdgrd_data_t_update |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | multipass | = | .false. | ||
integer, | public | :: | num_passes | = | 1 | ||
integer, | public | :: | cur_pass | = | 1 | ||
real(kind=dp), | public | :: | scale_coulomb | = | 1.0d0 | ||
real(kind=dp), | public | :: | scale_exchange | = | 1.0d0 | ||
type(par_env_t), | public | :: | pe | ||||
integer, | public | :: | nshells | = | 0 | ||
integer, | public | :: | fockdim | = | 0 | ||
integer, | public | :: | nthreads | = | 1 | ||
integer, | public | :: | nfocks | = | 1 | ||
real(kind=dp), | public, | allocatable | :: | f(:,:,:) | |||
real(kind=dp), | public, | allocatable | :: | dsh(:,:) | |||
real(kind=dp), | public | :: | max_den | = | 1.0d0 | ||
real(kind=dp), | public, | pointer | :: | d(:,:) | => | null() | |
real(kind=dp), | public, | allocatable | :: | hpp(:,:,:,:,:) | |||
real(kind=dp), | public, | allocatable | :: | hpt(:,:,:,:,:) | |||
real(kind=dp), | public, | allocatable | :: | hmm(:,:,:,:,:) | |||
real(kind=dp), | public, | pointer | :: | xpy(:,:,:,:) | => | null() | |
real(kind=dp), | public, | pointer | :: | xmy(:,:,:,:) | => | null() | |
real(kind=dp), | public, | pointer | :: | t(:,:,:,:) | => | null() | |
integer, | public | :: | np | = | 0 | ||
integer, | public | :: | nm | = | 0 | ||
integer, | public | :: | nt | = | 0 | ||
integer, | public | :: | nspin | = | 0 | ||
integer, | public | :: | nbf | = | 0 | ||
logical, | public | :: | tamm_dancoff | = | .false. |
generic, public :: screen => screen_ij, screen_ijkl | |
procedure, public :: screen_ij => int2_fock_data_t_screen_ij | |
procedure, public :: screen_ijkl => int2_fock_data_t_screen_ijkl | |
procedure, public :: int2_fock_data_t_parallel_start | |
procedure, public :: int2_fock_data_t_parallel_stop | |
procedure, public :: parallel_start => int2_rpagrd_data_t_parallel_start | |
procedure, public :: parallel_stop => int2_rpagrd_data_t_parallel_stop | |
procedure, public :: init_screen => int2_rpagrd_data_t_init_screen | |
procedure, public :: update => int2_rpagrd_data_t_update | |
procedure, public :: clean => int2_rpagrd_data_t_clean | |
procedure, public, non_overridable :: hplus => int2_rpagrd_data_t_update_hplus | |
procedure, public, non_overridable :: hminus => int2_rpagrd_data_t_update_hminus |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_td_data_t), | intent(inout), | target | :: | this | ||
type(basis_set), | intent(in) | :: | basis | |||
integer, | intent(in) | :: | nthreads |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_td_data_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_td_data_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_td_data_t), | intent(inout), | target | :: | this | ||
type(basis_set), | intent(in) | :: | basis |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_td_data_t), | intent(inout) | :: | this | |||
type(int2_storage_t), | intent(inout) | :: | buf |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_tdgrd_data_t), | intent(inout) | :: | this | |||
type(int2_storage_t), | intent(inout) | :: | buf |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out) | :: | dsh(:,:) | |||
real(kind=dp), | intent(in), | dimension(:,:,:) | :: | da | ||
type(basis_set), | intent(in) | :: | basis |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in), | dimension(:) | :: | eiga | ||
real(kind=dp), | intent(in), | dimension(:) | :: | eigb | ||
real(kind=dp), | intent(out), | dimension(:,:) | :: | bvec_mo | ||
real(kind=dp), | intent(out), | dimension(:) | :: | xm | ||
integer, | intent(in) | :: | nocca | |||
integer, | intent(in) | :: | noccb | |||
integer, | intent(in) | :: | nvec |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in), | contiguous, target | :: | pv(:) | ||
real(kind=dp), | intent(out) | :: | av(:,:) | |||
integer, | intent(in) | :: | nocca | |||
integer, | intent(in) | :: | noccb |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in), | dimension(:,:) | :: | pao | ||
real(kind=dp), | intent(out), | dimension(*) | :: | pmo | ||
real(kind=dp), | intent(in), | target, dimension(:,:) | :: | va | ||
real(kind=dp), | intent(in), | target, dimension(:,:) | :: | vb | ||
integer, | intent(in) | :: | nocca | |||
integer, | intent(in) | :: | noccb |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in), | dimension(:,:) | :: | b | ||
real(kind=dp), | intent(in), | dimension(:,:) | :: | ap_b | ||
real(kind=dp), | intent(in), | dimension(:,:) | :: | am_b | ||
real(kind=dp), | intent(out), | dimension(:,:) | :: | xm_p | ||
real(kind=dp), | intent(out), | dimension(:,:) | :: | xm_m | ||
integer, | intent(in) | :: | nvec | |||
logical | :: | tamm_dancoff |
@brief Diagonalize small reduced RPA matrix
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out), | dimension(:) | :: | ee | ||
real(kind=dp), | intent(out), | dimension(:,:) | :: | vl | ||
real(kind=dp), | intent(out), | dimension(:,:) | :: | vr | ||
real(kind=dp), | intent(in), | dimension(:,:) | :: | apb | ||
real(kind=dp), | intent(inout), | dimension(:,:) | :: | amb | ||
real(kind=dp), | intent(inout), | dimension(:) | :: | scr | ||
logical, | intent(in) | :: | tamm_dancoff |
@brief Normalize V1
and V2
by biorthogonality condition
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out), | dimension(:,:) | :: | vr | ||
real(kind=dp), | intent(out), | dimension(:,:) | :: | vl | ||
logical, | intent(in) | :: | tamm_dancoff |
@brief Remove negative eigenvalues
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout), | dimension(:) | :: | ee | ||
integer, | intent(in) | :: | nvec | |||
integer, | intent(in) | :: | ndsr | |||
integer, | intent(inout) | :: | imax | |||
logical, | intent(in) | :: | tamm_dancoff |
@brief Print current excitation energies and errors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | ee(:) | |||
real(kind=dp), | intent(in) | :: | err(:) | |||
real(kind=dp), | intent(in) | :: | cnvtol | |||
integer, | intent(in) | :: | iter | |||
integer, | intent(in) | :: | imax | |||
integer, | intent(in) | :: | ndsr | |||
logical, | optional | :: | do_neg |
@brief Expand reduced vectors to real size space
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | vr(:,:) | |||
real(kind=dp), | intent(in) | :: | vl(:,:) | |||
real(kind=dp), | intent(out) | :: | vro(:,:) | |||
real(kind=dp), | intent(out) | :: | vlo(:,:) | |||
real(kind=dp), | intent(in) | :: | br(:,:) | |||
real(kind=dp), | intent(in) | :: | bl(:,:) | |||
integer, | intent(in) | :: | ndsr | |||
logical, | intent(in) | :: | tamm_dancoff |
@brief Construct residual vectors and check convergence
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out), | dimension(ubound(w_l,1),ndsr,*) | :: | q | ||
real(kind=dp), | intent(inout), | dimension(:,:) | :: | w_l | ||
real(kind=dp), | intent(inout), | dimension(:,:) | :: | w_r | ||
real(kind=dp), | intent(inout), | dimension(:,:) | :: | v_l | ||
real(kind=dp), | intent(inout), | dimension(:,:) | :: | v_r | ||
real(kind=dp), | intent(in), | dimension(:) | :: | ee | ||
real(kind=dp), | intent(in), | dimension(:) | :: | abd | ||
integer, | intent(in) | :: | ndsr | |||
real(kind=dp), | intent(inout) | :: | errors(:) | |||
real(kind=dp), | intent(in) | :: | tol | |||
integer, | intent(in) | :: | imax | |||
logical | :: | tamm_dancoff |
@brief Orthonormalize q(xvec_dim,ndsr*2) and append to bvec
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ndsr | |||
real(kind=dp), | intent(out), | dimension(:,:) | :: | bvec | ||
real(kind=dp), | intent(inout), | dimension(:,:) | :: | q | ||
integer, | intent(inout) | :: | novec | |||
integer, | intent(inout) | :: | nvec | |||
integer, | intent(out) | :: | ick | |||
logical, | intent(in) | :: | tamm_dancoff |
@breif Add (E_a-E_i)*Z_ai to Pmo
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | e(:) | |||
real(kind=dp), | intent(inout) | :: | pmo(:,:) | |||
real(kind=dp), | intent(in) | :: | z(:,:) | |||
integer, | intent(in) | :: | nocc | |||
integer, | intent(in) | :: | ivec |
@brief Compute unrelaxed difference density matrix for R-TDDFT
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | xmy(*) | |||
real(kind=dp), | intent(in) | :: | xpy(*) | |||
real(kind=dp), | intent(in) | :: | mo(:,:) | |||
real(kind=dp), | intent(out) | :: | t(*) | |||
integer, | intent(in) | :: | nocc | |||
logical, | intent(in) | :: | tda |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_rpagrd_data_t), | intent(inout), | target | :: | this | ||
type(basis_set), | intent(in) | :: | basis | |||
integer, | intent(in) | :: | nthreads |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_rpagrd_data_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_rpagrd_data_t), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_rpagrd_data_t), | intent(inout), | target | :: | this | ||
type(basis_set), | intent(in) | :: | basis |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_rpagrd_data_t), | intent(inout) | :: | this | |||
type(int2_storage_t), | intent(inout) | :: | buf |
@brief Compute H^+[V] over a set of integrals
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_rpagrd_data_t), | intent(inout) | :: | this | |||
type(int2_storage_t), | intent(inout) | :: | buf | |||
real(kind=dp), | intent(inout) | :: | hp(:,:,:) | |||
real(kind=dp), | intent(in) | :: | v(:,:,:) |
@brief Compute H^-[V] over a set of integrals
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(int2_rpagrd_data_t), | intent(inout) | :: | this | |||
type(int2_storage_t), | intent(inout) | :: | buf | |||
real(kind=dp), | intent(inout) | :: | hm(:,:,:) | |||
real(kind=dp), | intent(in) | :: | v(:,:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out) | :: | dsh(:,:) | |||
real(kind=dp), | intent(in), | dimension(:,:,:,:) | :: | d | ||
type(basis_set), | intent(in) | :: | basis |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | a(lda,lda,*) | |||
integer, | intent(in) | :: | lda | |||
integer, | intent(in) | :: | nmtx |