(git:58e3e09)
xas_tdp_integrals.F File Reference

Go to the source code of this file.

Modules

module  xas_tdp_integrals
 3-center integrals machinery for the XAS_TDP method
 

Functions/Subroutines

subroutine, public xas_tdp_integrals::create_pqx_tensor (pq_X, ab_nl, ac_nl, matrix_dist, blk_size_1, blk_size_2, blk_size_3, only_bc_same_center)
 Prepares a tensor to hold 3-center integrals (pq|X), where p,q are distributed according to the given 2d dbcsr distribution of the given . The third dimension of the tensor is iteslf not distributed (i.e. the t_pgrid's third dimension has size 1). The blocks are reserved according to the neighbor lists. More...
 
subroutine, public xas_tdp_integrals::fill_pqx_tensor (pq_X, ab_nl, ac_nl, basis_set_list_a, basis_set_list_b, basis_set_list_c, potential_parameter, qs_env, only_bc_same_center, eps_screen)
 Fills the given 3 dimensional (pq|X) tensor with integrals. More...
 
subroutine, public xas_tdp_integrals::build_xas_tdp_ovlp_nl (ab_list, basis_a, basis_b, qs_env, excited_atoms, ext_dist2d)
 Builds a neighbor lists set for overlaping 2-center S_ab, where b is restricted on a a given list of atoms. Used for Coulomb RI where (aI|P) = sum_b C_bI (ab|P), where contraction coeff C_bI is assumed to be non-zero only on excited atoms. More...
 
subroutine, public xas_tdp_integrals::build_xas_tdp_3c_nl (ac_list, basis_a, basis_c, op_type, qs_env, excited_atoms, x_range, ext_dist2d)
 Builds a neighbor lists set taylored for 3-center integral within XAS TDP, such that only excited atoms are taken into account for the list_c. More...
 
subroutine, public xas_tdp_integrals::get_opt_3c_dist2d (opt_3c_dist2d, ab_list, ac_list, basis_set_a, basis_set_b, basis_set_c, qs_env, only_bc_same_center)
 Returns an optimized distribution_2d for the given neighbor lists based on an evaluation of the cost of the corresponding 3-center integrals. More...
 
subroutine, public xas_tdp_integrals::compute_ri_3c_exchange (ex_atoms, xas_tdp_env, xas_tdp_control, qs_env)
 Computes the RI exchange 3-center integrals (ab|c), where c is from the RI_XAS basis and centered on excited atoms and kind. The operator used is that of the RI metric. More...
 
subroutine, public xas_tdp_integrals::compute_ri_3c_coulomb (xas_tdp_env, qs_env)
 Computes the RI Coulomb 3-center integrals (ab|c), where c is from the RI_XAS basis and centered on the excited atoms of xas_tdp_env. More...
 
subroutine, public xas_tdp_integrals::compute_ri_exchange2_int (ex_kind, xas_tdp_env, xas_tdp_control, qs_env)
 Computes the two-center Exchange integral needed for the RI in kernel calculation. Stores the integrals in the xas_tdp_env as global (small) arrays. Does that for a given excited kind. The quantity stored is M^-1 (P|Q) M^-1, where M is the RI metric. If the metric is the same as the exchange potential, then we end up with the V-approximation (P|Q)^-1 By default (if no metric), the ri_m_potential is a copy of the x_potential. More...
 
subroutine, public xas_tdp_integrals::compute_ri_coulomb2_int (ex_kind, xas_tdp_env, xas_tdp_control, qs_env)
 Computes the two-center Coulomb integral needed for the RI in kernel calculation. Stores the integrals (P|Q)^-1 in the xas_tdp_env as global (small) arrays. Does that for a given excited kind. More...