(git:6a2e663)
qs_tddfpt2_stda_utils Module Reference

Simplified Tamm Dancoff approach (sTDA). More...

Functions/Subroutines

subroutine, public stda_init_matrices (qs_env, stda_kernel, sub_env, work, tddfpt_control)
 Calculate sTDA matrices. More...
 
subroutine, public setup_gamma (qs_env, stda_env, sub_env, gamma_matrix, ndim)
 Calculate sTDA exchange-type contributions. More...
 
subroutine, public get_lowdin_mo_coefficients (qs_env, sub_env, work)
 Calculate Lowdin MO coefficients. More...
 
subroutine, public get_lowdin_x (shalf, xvec, xt)
 Calculate Lowdin transformed Davidson trial vector X shalf (dbcsr), xvec, xt (fm) are defined in the same sub_env. More...
 
subroutine, public stda_calculate_kernel (qs_env, stda_control, stda_env, sub_env, work, is_rks_triplets, X, res)
 ...Calculate the sTDA kernel contribution by contracting the Lowdin MO coefficients – transition charges with the Coulomb-type or exchange-type integrals More...
 

Detailed Description

Simplified Tamm Dancoff approach (sTDA).

Function/Subroutine Documentation

◆ stda_init_matrices()

subroutine, public qs_tddfpt2_stda_utils::stda_init_matrices ( type(qs_environment_type), pointer  qs_env,
type(stda_env_type)  stda_kernel,
type(tddfpt_subgroup_env_type), intent(in)  sub_env,
type(tddfpt_work_matrices)  work,
type(tddfpt2_control_type), pointer  tddfpt_control 
)

Calculate sTDA matrices.

Parameters
qs_env...
stda_kernel...
sub_env...
work...
tddfpt_control...

Definition at line 102 of file qs_tddfpt2_stda_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setup_gamma()

subroutine, public qs_tddfpt2_stda_utils::setup_gamma ( type(qs_environment_type), pointer  qs_env,
type(stda_env_type)  stda_env,
type(tddfpt_subgroup_env_type), intent(in)  sub_env,
type(dbcsr_p_type), dimension(:), pointer  gamma_matrix,
integer, intent(in), optional  ndim 
)

Calculate sTDA exchange-type contributions.

Parameters
qs_env...
stda_env...
sub_env...
gamma_matrixsTDA exchange-type contributions
ndim...
Note
Note the specific sTDA notation exchange-type integrals (ia|jb) refer to Coulomb interaction

Computes the short-range gamma parameter from Nataga-Mishimoto-Ohno-Klopman formula equivalently as it is done for xTB

Computes the short-range gamma parameter from Nataga-Mishimoto-Ohno-Klopman formula equivalently as it is done for xTB Derivatives

Definition at line 160 of file qs_tddfpt2_stda_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_lowdin_mo_coefficients()

subroutine, public qs_tddfpt2_stda_utils::get_lowdin_mo_coefficients ( type(qs_environment_type), pointer  qs_env,
type(tddfpt_subgroup_env_type), intent(in)  sub_env,
type(tddfpt_work_matrices)  work 
)

Calculate Lowdin MO coefficients.

Parameters
qs_env...
sub_env...
work...

Definition at line 328 of file qs_tddfpt2_stda_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_lowdin_x()

subroutine, public qs_tddfpt2_stda_utils::get_lowdin_x ( type(dbcsr_type)  shalf,
type(cp_fm_type), dimension(:), intent(in)  xvec,
type(cp_fm_type), dimension(:), intent(in)  xt 
)

Calculate Lowdin transformed Davidson trial vector X shalf (dbcsr), xvec, xt (fm) are defined in the same sub_env.

Parameters
shalf...
xvec...
xt...

Definition at line 469 of file qs_tddfpt2_stda_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ stda_calculate_kernel()

subroutine, public qs_tddfpt2_stda_utils::stda_calculate_kernel ( type(qs_environment_type), pointer  qs_env,
type(stda_control_type)  stda_control,
type(stda_env_type)  stda_env,
type(tddfpt_subgroup_env_type)  sub_env,
type(tddfpt_work_matrices)  work,
logical, intent(in)  is_rks_triplets,
type(cp_fm_type), dimension(:), intent(in)  X,
type(cp_fm_type), dimension(:), intent(in)  res 
)

...Calculate the sTDA kernel contribution by contracting the Lowdin MO coefficients – transition charges with the Coulomb-type or exchange-type integrals

Parameters
qs_env...
stda_control...
stda_env...
sub_env...
work...
is_rks_triplets...
X...
res... vector AX with A being the sTDA matrix and X the Davidson trial vector of the eigenvalue problem A*X = omega*X

Definition at line 506 of file qs_tddfpt2_stda_utils.F.

Here is the call graph for this function:
Here is the caller graph for this function: