![]() |
(git:b77b4be)
|
All the kernel specific subroutines for XAS TDP calculations. More...
Functions/Subroutines | |
subroutine, public | kernel_coulomb_xc (coul_ker, xc_ker, donor_state, xas_tdp_env, xas_tdp_control, qs_env) |
Computes, if asked for it, the Coulomb and XC kernel matrices, in the usuall matrix format. | |
subroutine, public | kernel_exchange (ex_ker, donor_state, xas_tdp_env, xas_tdp_control, qs_env) |
Computes the exact exchange kernel matrix using RI. Returns an array of 2 matrices, which are: 1) the on-diagonal kernel: (ab|I_sigma J_tau) * delta_sigma,tau 2) the off-diagonal spin-conserving kernel: (aJ_sigma|I_tau b) * delta_sigma,tau An internal analysis determines which of the above are computed (can range from 0 to 2),. | |
subroutine, public | reserve_contraction_blocks (matrices, ri_atom, qs_env) |
Reserves the blocks in of a dbcsr matrix as needed for RI 3-center contraction (aI|P) | |
subroutine, public | contract2_ao_to_domo (contr_int, op_type, donor_state, xas_tdp_env, xas_tdp_control, qs_env) |
Contract the ri 3-center integrals stored in a tensor with repect to the donor MOs coeffs, for a given excited atom k => (aI|k) = sum_b c_Ib (ab|k) | |
subroutine, public | ri_all_blocks_mm (contr_int, pq) |
Multiply all the blocks of a contracted RI integral (aI|P) by a matrix of type (P|...|Q) | |
All the kernel specific subroutines for XAS TDP calculations.
subroutine, public xas_tdp_kernel::kernel_coulomb_xc | ( | type(dbcsr_type), intent(inout) | coul_ker, |
type(dbcsr_p_type), dimension(:), pointer | xc_ker, | ||
type(donor_state_type), pointer | donor_state, | ||
type(xas_tdp_env_type), pointer | xas_tdp_env, | ||
type(xas_tdp_control_type), pointer | xas_tdp_control, | ||
type(qs_environment_type), pointer | qs_env | ||
) |
Computes, if asked for it, the Coulomb and XC kernel matrices, in the usuall matrix format.
coul_ker | pointer the the Coulomb kernel matrix (can be void pointer) |
xc_ker | array of pointer to the different xc kernels (5 of them): 1) the restricted closed-shell singlet kernel 2) the restricted closed-shell triplet kernel 3) the spin-conserving open-shell xc kernel 4) the on-diagonal spin-flip open-shell xc kernel |
donor_state | ... |
xas_tdp_env | ... |
xas_tdp_control | ... |
qs_env | ... |
Definition at line 80 of file xas_tdp_kernel.F.
subroutine, public xas_tdp_kernel::kernel_exchange | ( | type(dbcsr_p_type), dimension(:), pointer | ex_ker, |
type(donor_state_type), pointer | donor_state, | ||
type(xas_tdp_env_type), pointer | xas_tdp_env, | ||
type(xas_tdp_control_type), pointer | xas_tdp_control, | ||
type(qs_environment_type), pointer | qs_env | ||
) |
Computes the exact exchange kernel matrix using RI. Returns an array of 2 matrices, which are: 1) the on-diagonal kernel: (ab|I_sigma J_tau) * delta_sigma,tau 2) the off-diagonal spin-conserving kernel: (aJ_sigma|I_tau b) * delta_sigma,tau An internal analysis determines which of the above are computed (can range from 0 to 2),.
ex_ker | ... |
donor_state | ... |
xas_tdp_env | ... |
xas_tdp_control | ... |
qs_env | ... |
Definition at line 594 of file xas_tdp_kernel.F.
subroutine, public xas_tdp_kernel::reserve_contraction_blocks | ( | type(dbcsr_p_type), dimension(:), pointer | matrices, |
integer, intent(in) | ri_atom, | ||
type(qs_environment_type), pointer | qs_env | ||
) |
Reserves the blocks in of a dbcsr matrix as needed for RI 3-center contraction (aI|P)
matrices | the matrices for which blocks are reserved |
ri_atom | the index of the atom on which RI is done (= all coeffs of I are there, and P too) |
qs_env | ... |
Definition at line 902 of file xas_tdp_kernel.F.
subroutine, public xas_tdp_kernel::contract2_ao_to_domo | ( | type(dbcsr_p_type), dimension(:), pointer | contr_int, |
character(len=*), intent(in) | op_type, | ||
type(donor_state_type), pointer | donor_state, | ||
type(xas_tdp_env_type), pointer | xas_tdp_env, | ||
type(xas_tdp_control_type), pointer | xas_tdp_control, | ||
type(qs_environment_type), pointer | qs_env | ||
) |
Contract the ri 3-center integrals stored in a tensor with repect to the donor MOs coeffs, for a given excited atom k => (aI|k) = sum_b c_Ib (ab|k)
contr_int | the contracted integrals as array of dbcsr matrices |
op_type | for which operator type we contract (COULOMB or EXCHANGE) |
donor_state | ... |
xas_tdp_env | ... |
xas_tdp_control | ... |
qs_env | ... |
Definition at line 971 of file xas_tdp_kernel.F.
subroutine, public xas_tdp_kernel::ri_all_blocks_mm | ( | type(dbcsr_p_type), dimension(:) | contr_int, |
real(dp), dimension(:, :), intent(in) | pq | ||
) |
Multiply all the blocks of a contracted RI integral (aI|P) by a matrix of type (P|...|Q)
contr_int | the integral array |
PQ | the smaller matrix to multiply all blocks |
Definition at line 1262 of file xas_tdp_kernel.F.