GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis 111
Loading...
Searching...
No Matches
eri_sph_coord_gbl Module Reference

Functions/Subroutines

subroutine eri_sph_coord_final
subroutine olap_kei_sph (lena, xa, ya, za, acnorm, anorms, la, aexps, acoefs, ind_a, lenb, xb, yb, zb, bcnorm, bnorms, lb, bexps, bcoefs, ind_b, olap_column, kei_column, integrals, int_index)
subroutine allocate_cf_space (la, lb)
subroutine olap_kei_shell_sph (lena, xa, ya, za, acnorm, anorms, la, aexps, acoefs, lenb, xb, yb, zb, bcnorm, bnorms, lb, bexps, bcoefs, olap_column, kei_column, integrals)
subroutine ECP_atomic_integrals (nucleus, shell_a, shell_b, a, b, starting_index_a, starting_index_b, ecp_column, integrals, int_index)
 Calculates atomic ECP integrals. We assume that both shells are centered on the same atom, we don't check it here anymore.
real(kind=cfp) function atomic_ecp_GG_int (la, lb, m, a, b, g)
 Computes the integral \int_{0}^{\infty} r^{lA+lB+m}*exp[-(a+b+g)*r^2] = 1/2 * alp^{-1/2-n/2}*\Gamma[(1+n)/2], where n = lA+lB+m, alp = a+b+g.
subroutine eri_sph (lena, xa, ya, za, anorms, la, aexps, acoefs, ind_a, lenb, xb, yb, zb, bnorms, lb, bexps, bcoefs, ind_b, lenc, xc, yc, zc, cnorms, lc, cexps, ccoefs, ind_c, lend, xd, yd, zd, dnorms, ld, dexps, dcoefs, ind_d, two_el_column, int_index, keep_ab_cd_order, indexing_method, do_tails_for_this_quartet, ab_is_continuum, tgt_prop, tgt_pair, rmat_radius, sph_ints)
subroutine allocate_space (la, lb, lc, ld, lena, lenb, lenc, lend)
subroutine eri_shell_sph (lena, xa, ya, za, anorms, la, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, dexps, dcoefs, two_el_column, eri_ints)
subroutine contract_AB_CD (la, lb, n_ij, sum_ab, lc, ld, n_kl, sum_cd, cpl_abcd, eri_ints, two_el_column)
subroutine mat_T_mat_mul_special_blocking (a, b, c, m, n, k, stride_a, a_base, b_base, c_base)
 Form C := A**T*B (+ C)
subroutine mat_T_mat_mul_special (a, b, c, m, n, k, stride_a, a_base, b_base, c_base)
 Form C := A**T*B (+ C)
subroutine calculate_F_ij (la, lap, lb, lbp, n_ij, data_ab, solid_harmonics_ab, is_cd, ra_eq_rb, f_x)
subroutine sum_over_map_mbp_contract_i_j (la, lb, n_ij, solid_harmonics_ab, data_ab, sum_ab, is_cd, ra_eq_rb, lc_p_ld)
subroutine mat_mat_mul (a, b, c, m, n, k, add_to_c, c_base)
 Form C := A*B (+ C)
subroutine mat_T_mat_mul (a, b, c, m, n, k, add_to_c, c_base)
 Form C := A**T*B (+ C)
subroutine calculate_ABCD_coefficients (la_p_lb, lc_p_ld, n_ij, n_kl, l_ijkl_l_coefficients, solid_harmonics_abcd, cpl_abcd)
subroutine cfp_solh_1d (sh, x, y, z, l)
real(kind=cfp) function cnla (n, l, alp)
real(kind=cfp) function Lag_n_hlf_k (n, l, arg)
real(kind=cfp) function gen_binom (x, m)

Variables

real(kind=cfp), dimension(:), allocatable eri_tail_int

Function/Subroutine Documentation

◆ allocate_cf_space()

subroutine eri_sph_coord_gbl::allocate_cf_space ( integer, intent(in) la,
integer, intent(in) lb )
Here is the call graph for this function:

◆ allocate_space()

subroutine eri_sph_coord_gbl::allocate_space ( integer, intent(in) la,
integer, intent(in) lb,
integer, intent(in) lc,
integer, intent(in) ld,
integer, intent(in) lena,
integer, intent(in) lenb,
integer, intent(in) lenc,
integer, intent(in) lend )
Here is the call graph for this function:

◆ atomic_ecp_GG_int()

real(kind=cfp) function eri_sph_coord_gbl::atomic_ecp_GG_int ( integer, intent(in) la,
integer, intent(in) lb,
integer, intent(in) m,
real(kind=cfp), intent(in) a,
real(kind=cfp), intent(in) b,
real(kind=cfp), intent(in) g )

Computes the integral \int_{0}^{\infty} r^{lA+lB+m}*exp[-(a+b+g)*r^2] = 1/2 * alp^{-1/2-n/2}*\Gamma[(1+n)/2], where n = lA+lB+m, alp = a+b+g.

◆ calculate_ABCD_coefficients()

subroutine eri_sph_coord_gbl::calculate_ABCD_coefficients ( integer, intent(in) la_p_lb,
integer, intent(in) lc_p_ld,
integer, intent(in) n_ij,
integer, intent(in) n_kl,
real(kind=cfp), dimension(:), intent(in) l_ijkl_l_coefficients,
real(kind=cfp), dimension(:), intent(in) solid_harmonics_abcd,
real(kind=cfp), dimension(:), intent(inout), allocatable cpl_abcd )

◆ calculate_F_ij()

subroutine eri_sph_coord_gbl::calculate_F_ij ( integer, intent(in) la,
integer, intent(in) lap,
integer, intent(in) lb,
integer, intent(in) lbp,
integer, intent(in) n_ij,
real(kind=cfp), dimension(1:6,n_ij), intent(in) data_ab,
real(kind=cfp), dimension(:), intent(in) solid_harmonics_ab,
logical, intent(in) is_cd,
logical, intent(in) ra_eq_rb,
real(kind=cfp), dimension(:), intent(out) f_x )
Here is the call graph for this function:

◆ cfp_solh_1d()

subroutine eri_sph_coord_gbl::cfp_solh_1d ( real(kind=cfp), dimension(:), intent(out) sh,
real(kind=cfp), intent(in) x,
real(kind=cfp), intent(in) y,
real(kind=cfp), intent(in) z,
integer, intent(in) l )

◆ cnla()

real(kind=cfp) function eri_sph_coord_gbl::cnla ( integer, intent(in) n,
integer, intent(in) l,
real(kind=cfp), intent(in) alp )
Here is the call graph for this function:

◆ contract_AB_CD()

subroutine eri_sph_coord_gbl::contract_AB_CD ( integer, intent(in) la,
integer, intent(in) lb,
integer, intent(in) n_ij,
real(kind=cfp), dimension(:), intent(in) sum_ab,
integer, intent(in) lc,
integer, intent(in) ld,
integer, intent(in) n_kl,
real(kind=cfp), dimension(:), intent(in) sum_cd,
real(kind=cfp), dimension(:), intent(in) cpl_abcd,
real(kind=cfp), dimension(:,:), allocatable eri_ints,
integer, intent(in) two_el_column )

◆ ECP_atomic_integrals()

subroutine eri_sph_coord_gbl::ECP_atomic_integrals ( type(nucleus_type), intent(in) nucleus,
type(cgto_shell_data_obj), intent(in), target shell_a,
type(cgto_shell_data_obj), intent(in), target shell_b,
integer, intent(in) a,
integer, intent(in) b,
integer, intent(in) starting_index_a,
integer, intent(in) starting_index_b,
integer, intent(in) ecp_column,
real(kind=cfp), dimension(:,:), intent(out) integrals,
integer, dimension(:,:), intent(inout) int_index )

Calculates atomic ECP integrals. We assume that both shells are centered on the same atom, we don't check it here anymore.

Here is the call graph for this function:

◆ eri_shell_sph()

subroutine eri_sph_coord_gbl::eri_shell_sph ( integer, intent(in) lena,
real(kind=cfp), intent(in) xa,
real(kind=cfp), intent(in) ya,
real(kind=cfp), intent(in) za,
real(kind=cfp), dimension(:), intent(in) anorms,
integer, intent(in) la,
real(kind=cfp), dimension(:), intent(in) aexps,
real(kind=cfp), dimension(:), intent(in) acoefs,
integer, intent(in) lenb,
real(kind=cfp), intent(in) xb,
real(kind=cfp), intent(in) yb,
real(kind=cfp), intent(in) zb,
real(kind=cfp), dimension(:), intent(in) bnorms,
integer, intent(in) lb,
real(kind=cfp), dimension(:), intent(in) bexps,
real(kind=cfp), dimension(:), intent(in) bcoefs,
integer, intent(in) lenc,
real(kind=cfp), intent(in) xc,
real(kind=cfp), intent(in) yc,
real(kind=cfp), intent(in) zc,
real(kind=cfp), dimension(:), intent(in) cnorms,
integer, intent(in) lc,
real(kind=cfp), dimension(:), intent(in) cexps,
real(kind=cfp), dimension(:), intent(in) ccoefs,
integer, intent(in) lend,
real(kind=cfp), intent(in) xd,
real(kind=cfp), intent(in) yd,
real(kind=cfp), intent(in) zd,
real(kind=cfp), dimension(:), intent(in) dnorms,
integer, intent(in) ld,
real(kind=cfp), dimension(:), intent(in) dexps,
real(kind=cfp), dimension(:), intent(in) dcoefs,
integer, intent(in) two_el_column,
real(kind=cfp), dimension(:,:), allocatable eri_ints )
Here is the call graph for this function:

◆ eri_sph()

subroutine eri_sph_coord_gbl::eri_sph ( integer, intent(in) lena,
real(kind=cfp), intent(in) xa,
real(kind=cfp), intent(in) ya,
real(kind=cfp), intent(in) za,
real(kind=cfp), dimension(:), allocatable anorms,
integer, intent(in) la,
real(kind=cfp), dimension(:), allocatable aexps,
real(kind=cfp), dimension(:), allocatable acoefs,
integer, intent(in) ind_a,
integer, intent(in) lenb,
real(kind=cfp), intent(in) xb,
real(kind=cfp), intent(in) yb,
real(kind=cfp), intent(in) zb,
real(kind=cfp), dimension(:), allocatable bnorms,
integer, intent(in) lb,
real(kind=cfp), dimension(:), allocatable bexps,
real(kind=cfp), dimension(:), allocatable bcoefs,
integer, intent(in) ind_b,
integer, intent(in) lenc,
real(kind=cfp), intent(in) xc,
real(kind=cfp), intent(in) yc,
real(kind=cfp), intent(in) zc,
real(kind=cfp), dimension(:), allocatable cnorms,
integer, intent(in) lc,
real(kind=cfp), dimension(:), allocatable cexps,
real(kind=cfp), dimension(:), allocatable ccoefs,
integer, intent(in) ind_c,
integer, intent(in) lend,
real(kind=cfp), intent(in) xd,
real(kind=cfp), intent(in) yd,
real(kind=cfp), intent(in) zd,
real(kind=cfp), dimension(:), allocatable dnorms,
integer, intent(in) ld,
real(kind=cfp), dimension(:), allocatable dexps,
real(kind=cfp), dimension(:), allocatable dcoefs,
integer, intent(in) ind_d,
integer, intent(in) two_el_column,
integer, dimension(:,:), allocatable int_index,
logical, intent(in) keep_ab_cd_order,
integer, intent(in) indexing_method,
logical, intent(in) do_tails_for_this_quartet,
logical, intent(in) ab_is_continuum,
real(kind=cfp), dimension(:,:), allocatable tgt_prop,
integer, intent(in) tgt_pair,
real(kind=cfp), intent(in) rmat_radius,
real(kind=cfp), dimension(:,:), allocatable sph_ints )
Here is the call graph for this function:

◆ eri_sph_coord_final()

subroutine eri_sph_coord_gbl::eri_sph_coord_final

◆ gen_binom()

real(kind=cfp) function eri_sph_coord_gbl::gen_binom ( real(kind=cfp), intent(in) x,
integer, intent(in) m )
Here is the call graph for this function:

◆ Lag_n_hlf_k()

real(kind=cfp) function eri_sph_coord_gbl::Lag_n_hlf_k ( integer, intent(in) n,
integer, intent(in) l,
real(kind=cfp), intent(in) arg )

◆ mat_mat_mul()

subroutine eri_sph_coord_gbl::mat_mat_mul ( real(kind=cfp), dimension(:), intent(in) a,
real(kind=cfp), dimension(:), intent(in) b,
real(kind=cfp), dimension(:), intent(inout) c,
integer, intent(in) m,
integer, intent(in) n,
integer, intent(in) k,
logical, intent(in) add_to_c,
integer, intent(in) c_base )

Form C := A*B (+ C)

◆ mat_T_mat_mul()

subroutine eri_sph_coord_gbl::mat_T_mat_mul ( real(kind=cfp), dimension(:), intent(in) a,
real(kind=cfp), dimension(:), intent(in) b,
real(kind=cfp), dimension(:), intent(inout) c,
integer, intent(in) m,
integer, intent(in) n,
integer, intent(in) k,
logical, intent(in) add_to_c,
integer, intent(in) c_base )

Form C := A**T*B (+ C)

◆ mat_T_mat_mul_special()

subroutine eri_sph_coord_gbl::mat_T_mat_mul_special ( real(kind=cfp), dimension(:), intent(in) a,
real(kind=cfp), dimension(:), intent(in) b,
real(kind=cfp), dimension(:), intent(inout) c,
integer, intent(in) m,
integer, intent(in) n,
integer, intent(in) k,
integer, intent(in) stride_a,
integer, intent(in) a_base,
integer, intent(in) b_base,
integer, intent(in) c_base )

Form C := A**T*B (+ C)

◆ mat_T_mat_mul_special_blocking()

subroutine eri_sph_coord_gbl::mat_T_mat_mul_special_blocking ( real(kind=cfp), dimension(:), intent(in) a,
real(kind=cfp), dimension(:), intent(in) b,
real(kind=cfp), dimension(:), intent(inout) c,
integer, intent(in) m,
integer, intent(in) n,
integer, intent(in) k,
integer, intent(in) stride_a,
integer, intent(in) a_base,
integer, intent(in) b_base,
integer, intent(in) c_base )

Form C := A**T*B (+ C)

◆ olap_kei_shell_sph()

subroutine eri_sph_coord_gbl::olap_kei_shell_sph ( integer, intent(in) lena,
real(kind=cfp), intent(in) xa,
real(kind=cfp), intent(in) ya,
real(kind=cfp), intent(in) za,
real(kind=cfp), intent(in) acnorm,
real(kind=cfp), dimension(:), intent(in) anorms,
integer, intent(in) la,
real(kind=cfp), dimension(:), intent(in) aexps,
real(kind=cfp), dimension(:), intent(in) acoefs,
integer, intent(in) lenb,
real(kind=cfp), intent(in) xb,
real(kind=cfp), intent(in) yb,
real(kind=cfp), intent(in) zb,
real(kind=cfp), intent(in) bcnorm,
real(kind=cfp), dimension(:), intent(in) bnorms,
integer, intent(in) lb,
real(kind=cfp), dimension(:), intent(in) bexps,
real(kind=cfp), dimension(:), intent(in) bcoefs,
integer, intent(in) olap_column,
integer, intent(in) kei_column,
real(kind=cfp), dimension(:,:), intent(out) integrals )
Here is the call graph for this function:

◆ olap_kei_sph()

subroutine eri_sph_coord_gbl::olap_kei_sph ( integer, intent(in) lena,
real(kind=cfp), intent(in) xa,
real(kind=cfp), intent(in) ya,
real(kind=cfp), intent(in) za,
real(kind=cfp), intent(in) acnorm,
real(kind=cfp), dimension(:), intent(in) anorms,
integer, intent(in) la,
real(kind=cfp), dimension(:), intent(in) aexps,
real(kind=cfp), dimension(:), intent(in) acoefs,
integer, intent(in) ind_a,
integer, intent(in) lenb,
real(kind=cfp), intent(in) xb,
real(kind=cfp), intent(in) yb,
real(kind=cfp), intent(in) zb,
real(kind=cfp), intent(in) bcnorm,
real(kind=cfp), dimension(:), intent(in) bnorms,
integer, intent(in) lb,
real(kind=cfp), dimension(:), intent(in) bexps,
real(kind=cfp), dimension(:), intent(in) bcoefs,
integer, intent(in) ind_b,
integer, intent(in) olap_column,
integer, intent(in) kei_column,
real(kind=cfp), dimension(:,:), intent(out) integrals,
integer, dimension(:,:), intent(inout) int_index )
Here is the call graph for this function:

◆ sum_over_map_mbp_contract_i_j()

subroutine eri_sph_coord_gbl::sum_over_map_mbp_contract_i_j ( integer, intent(in) la,
integer, intent(in) lb,
integer, intent(in) n_ij,
real(kind=cfp), dimension((la+lb+1)**2), intent(in) solid_harmonics_ab,
real(kind=cfp), dimension(1:6,n_ij), intent(in) data_ab,
real(kind=cfp), dimension(:), intent(out) sum_ab,
logical, intent(in) is_cd,
logical, intent(in) ra_eq_rb,
integer, intent(in) lc_p_ld )

Variable Documentation

◆ eri_tail_int

real(kind=cfp), dimension(:), allocatable eri_sph_coord_gbl::eri_tail_int