(git:6a2e663)
generic_shg_integrals Module Reference

Calculation of contracted, spherical Gaussian integrals using the solid harmonic Gaussian (SHG) integral scheme. Routines for the following two-center integrals: i) (a|O(r12)|b) where O(r12) is the overlap, coulomb operator etc. ii) (aba) and (abb) s-overlaps. More...

Functions/Subroutines

subroutine, public int_operators_r12_ab_shg (r12_operator, vab, dvab, rab, fba, fbb, scona_shg, sconb_shg, omega, calculate_forces)
 Calcululates the two-center integrals of the type (a|O(r12)|b) using the SHG scheme. More...
 
subroutine, public int_overlap_ab_shg (vab, dvab, rab, fba, fbb, scona_shg, sconb_shg, calculate_forces)
 calculate overlap integrals (a,b) More...
 
subroutine, public int_ra2m_ab_shg (vab, dvab, rab, fba, fbb, scon_ra2m, sconb_shg, m, calculate_forces)
 Calcululates the two-center integrals of the type (a|(r-Ra)^(2m)|b) using the SHG scheme. More...
 
subroutine, public int_overlap_aba_shg (saba, dsaba, rab, oba, obb, fba, scon_obb, scona_mix, oba_index, fba_index, cg_coeff, cg_none0_list, ncg_none0, calculate_forces)
 calculate integrals (a,b,fa) More...
 
subroutine, public int_overlap_abb_shg (sabb, dsabb, rab, oba, obb, fbb, scon_oba, sconb_mix, obb_index, fbb_index, cg_coeff, cg_none0_list, ncg_none0, calculate_forces)
 calculate integrals (a,b,fb) More...
 
subroutine, public int_overlap_ab_shg_low (sab, dsab, rab, fba, fbb, scona_shg, sconb_shg, Waux_mat, dWaux_mat, calculate_ints, calculate_forces, contraction_high)
 calculate overlap integrals (a,b); requires angular-dependent part as input More...
 
subroutine, public int_ra2m_ab_shg_low (vab, dvab, rab, fba, fbb, sconb_shg, scon_ra2m, m, Waux_mat, dWaux_mat, calculate_forces)
 calculate integrals (a|ra^2m)|b); requires angular-dependent part as input More...
 
subroutine, public int_overlap_abb_shg_low (abbint, dabbint, rab, oba, obb, fbb, scon_oba, sconb_mix, obb_index, fbb_index, cg_coeff, cg_none0_list, ncg_none0, Waux_mat, dWaux_mat, calculate_ints, calculate_forces)
 calculate integrals (a,b,fb); requires angular-dependent part as input More...
 
subroutine, public get_abb_same_kind (abbint, dabbint, abaint, dabdaint, rab, oba, fba, calculate_ints, calculate_forces)
 obtain integrals (a,b,fb) by symmetry relations from (a,b,fa) if basis sets at a and b are of the same kind, i.e. a and b are same atom type More...
 
subroutine, public int_overlap_aba_shg_low (abaint, dabdaint, rab, oba, obb, fba, scon_obb, scona_mix, oba_index, fba_index, cg_coeff, cg_none0_list, ncg_none0, Waux_mat, dWaux_mat, calculate_ints, calculate_forces)
 calculate integrals (a,b,fa); requires angular-dependent part as input More...
 
subroutine, public lri_precalc_angular_shg_part (oba, obb, fba, fbb, rab, Waux_mat, dWaux_mat, calculate_forces)
 precalculates the angular part of the SHG integrals for the matrices (fa,fb), (a,b), (a,b,fa) and (b,fb,a); the same Waux_mat can then be used for all for integrals; specific for LRIGPW More...
 

Detailed Description

Calculation of contracted, spherical Gaussian integrals using the solid harmonic Gaussian (SHG) integral scheme. Routines for the following two-center integrals: i) (a|O(r12)|b) where O(r12) is the overlap, coulomb operator etc. ii) (aba) and (abb) s-overlaps.

Literature
T.J. Giese and D. M. York, J. Chem. Phys, 128, 064104 (2008) T. Helgaker, P Joergensen, J. Olsen, Molecular Electronic-Structure Theory, Wiley
History
created [05.2016]
Author
Dorothea Golze

Function/Subroutine Documentation

◆ int_operators_r12_ab_shg()

subroutine, public generic_shg_integrals::int_operators_r12_ab_shg ( integer, intent(in)  r12_operator,
real(kind=dp), dimension(:, :), intent(inout)  vab,
real(kind=dp), dimension(:, :, :), intent(inout), optional  dvab,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  fba,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(:, :, :), pointer  scona_shg,
real(kind=dp), dimension(:, :, :), pointer  sconb_shg,
real(kind=dp), intent(in), optional  omega,
logical, intent(in)  calculate_forces 
)

Calcululates the two-center integrals of the type (a|O(r12)|b) using the SHG scheme.

Parameters
r12_operatorthe integral operator, which depends on r12=|r1-r2|
vabintegral matrix of spherical contracted Gaussian functions
dvabderivative of the integrals
rabdistance vector between center A and B
fbabasis at center A
fbbbasis at center B
scona_shgSHG contraction matrix for A
sconb_shgSHG contraction matrix for B
omegaparameter in the operator
calculate_forces...

Definition at line 98 of file generic_shg_integrals.F.

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

◆ int_overlap_ab_shg()

subroutine, public generic_shg_integrals::int_overlap_ab_shg ( real(kind=dp), dimension(:, :), intent(inout), allocatable  vab,
real(kind=dp), dimension(:, :, :), intent(inout), allocatable  dvab,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  fba,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(:, :, :), intent(in)  scona_shg,
real(kind=dp), dimension(:, :, :), intent(in)  sconb_shg,
logical, intent(in)  calculate_forces 
)

calculate overlap integrals (a,b)

Parameters
vabintegral (a,b)
dvabderivative of sab
rabdistance vector
fbabasis at center A
fbbbasis at center B
scona_shgcontraction matrix A
sconb_shgcontraxtion matrix B
calculate_forces...

Definition at line 163 of file generic_shg_integrals.F.

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

◆ int_ra2m_ab_shg()

subroutine, public generic_shg_integrals::int_ra2m_ab_shg ( real(kind=dp), dimension(:, :), intent(inout)  vab,
real(kind=dp), dimension(:, :, :), intent(inout)  dvab,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  fba,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(:, :, :, :), intent(in)  scon_ra2m,
real(kind=dp), dimension(:, :, :), intent(in)  sconb_shg,
integer, intent(in)  m,
logical, intent(in)  calculate_forces 
)

Calcululates the two-center integrals of the type (a|(r-Ra)^(2m)|b) using the SHG scheme.

Parameters
vabintegral matrix of spherical contracted Gaussian functions
dvabderivative of the integrals
rabdistance vector between center A and B
fbabasis at center A
fbbbasis at center B
scon_ra2mcontraction matrix for A including the combinatorial factors
sconb_shgSHG contraction matrix for B
mexponent in (r-Ra)^(2m) operator
calculate_forces...

Definition at line 203 of file generic_shg_integrals.F.

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

◆ int_overlap_aba_shg()

subroutine, public generic_shg_integrals::int_overlap_aba_shg ( real(kind=dp), dimension(:, :, :), intent(inout), allocatable  saba,
real(kind=dp), dimension(:, :, :, :), intent(inout), allocatable  dsaba,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  oba,
type(gto_basis_set_type), pointer  obb,
type(gto_basis_set_type), pointer  fba,
real(kind=dp), dimension(:, :, :), intent(in)  scon_obb,
real(kind=dp), dimension(:, :, :, :), intent(in)  scona_mix,
integer, dimension(:, :, :), intent(in)  oba_index,
integer, dimension(:, :, :), intent(in)  fba_index,
real(kind=dp), dimension(:, :, :), intent(in)  cg_coeff,
integer, dimension(:, :, :), intent(in)  cg_none0_list,
integer, dimension(:, :), intent(in)  ncg_none0,
logical, intent(in)  calculate_forces 
)

calculate integrals (a,b,fa)

Parameters
sabaintegral [aba]
dsabaderivative of [aba]
rabdistance vector between A and B
obaorbital basis at center A
obborbital basis at center B
fbaauxiliary basis set at center A
scon_obbcontraction matrix for orb bas on B
scona_mixmixed contraction matrix orb + ri basis on A
oba_indexorbital basis index for scona_mix
fba_indexri basis index for scona_mix
cg_coeffClebsch-Gordon coefficients
cg_none0_listlist of none-zero Clebsch-Gordon coefficients
ncg_none0number of non-zero Clebsch-Gordon coefficients
calculate_forces...

Definition at line 247 of file generic_shg_integrals.F.

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

◆ int_overlap_abb_shg()

subroutine, public generic_shg_integrals::int_overlap_abb_shg ( real(kind=dp), dimension(:, :, :), intent(inout), allocatable  sabb,
real(kind=dp), dimension(:, :, :, :), intent(inout), allocatable  dsabb,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  oba,
type(gto_basis_set_type), pointer  obb,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(:, :, :), intent(in)  scon_oba,
real(kind=dp), dimension(:, :, :, :), intent(in)  sconb_mix,
integer, dimension(:, :, :), intent(in)  obb_index,
integer, dimension(:, :, :), intent(in)  fbb_index,
real(kind=dp), dimension(:, :, :), intent(in)  cg_coeff,
integer, dimension(:, :, :), intent(in)  cg_none0_list,
integer, dimension(:, :), intent(in)  ncg_none0,
logical, intent(in)  calculate_forces 
)

calculate integrals (a,b,fb)

Parameters
sabbintegral [abb]
dsabbderivative of [abb]
rabdistance vector between A and B
obaorbital basis at center A
obborbital basis at center B
fbbauxiliary basis set at center B
scon_obacontraction matrix for orb bas on A
sconb_mixmixed contraction matrix orb + ri basis on B
obb_indexorbital basis index for sconb_mix
fbb_indexri basis index for sconb_mix
cg_coeffClebsch-Gordon coefficients
cg_none0_listlist of none-zero Clebsch-Gordon coefficients
ncg_none0number of non-zero Clebsch-Gordon coefficients
calculate_forces...

Definition at line 303 of file generic_shg_integrals.F.

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

◆ int_overlap_ab_shg_low()

subroutine, public generic_shg_integrals::int_overlap_ab_shg_low ( real(kind=dp), dimension(:, :), intent(inout), allocatable  sab,
real(kind=dp), dimension(:, :, :), intent(inout), allocatable  dsab,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  fba,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(:, :, :), intent(in)  scona_shg,
real(kind=dp), dimension(:, :, :), intent(in)  sconb_shg,
real(kind=dp), dimension(:, :, :), intent(in)  Waux_mat,
real(kind=dp), dimension(:, :, :, :), intent(in)  dWaux_mat,
logical, intent(in)  calculate_ints,
logical, intent(in)  calculate_forces,
logical, intent(in), optional  contraction_high 
)

calculate overlap integrals (a,b); requires angular-dependent part as input

Parameters
sabintegral (a,b)
dsabderivative of sab
rabdistance vector
fbabasis at center A
fbbbasis at center B
scona_shgcontraction matrix A
sconb_shgcontraxtion matrix B
Waux_matW matrix that contains the angular-dependent part
dWaux_matderivative of the W matrix
calculate_ints...
calculate_forces...
contraction_high...

Definition at line 524 of file generic_shg_integrals.F.

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

◆ int_ra2m_ab_shg_low()

subroutine, public generic_shg_integrals::int_ra2m_ab_shg_low ( real(kind=dp), dimension(:, :), intent(inout)  vab,
real(kind=dp), dimension(:, :, :), intent(inout)  dvab,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  fba,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(:, :, :), intent(in)  sconb_shg,
real(kind=dp), dimension(:, :, :, :), intent(in)  scon_ra2m,
integer, intent(in)  m,
real(kind=dp), dimension(:, :, :), intent(in)  Waux_mat,
real(kind=dp), dimension(:, :, :, :), intent(in)  dWaux_mat,
logical, intent(in)  calculate_forces 
)

calculate integrals (a|ra^2m)|b); requires angular-dependent part as input

Parameters
vabintegral matrix of spherical contracted Gaussian functions
dvabderivative of the integrals
rabdistance vector between center A and B
fbabasis at center A
fbbbasis at center B
sconb_shgSHG contraction matrix for B
scon_ra2mcontraction matrix for A including the combinatorial factors
mexponent in (r-Ra)^(2m) operator
Waux_matW matrix that contains the angular-dependent part
dWaux_matderivative of the W matrix
calculate_forces...

Definition at line 652 of file generic_shg_integrals.F.

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

◆ int_overlap_abb_shg_low()

subroutine, public generic_shg_integrals::int_overlap_abb_shg_low ( real(kind=dp), dimension(:, :, :), intent(inout), allocatable  abbint,
real(kind=dp), dimension(:, :, :, :), intent(inout), allocatable  dabbint,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  oba,
type(gto_basis_set_type), pointer  obb,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(:, :, :), intent(in)  scon_oba,
real(kind=dp), dimension(:, :, :, :), intent(in)  sconb_mix,
integer, dimension(:, :, :), intent(in)  obb_index,
integer, dimension(:, :, :), intent(in)  fbb_index,
real(kind=dp), dimension(:, :, :), intent(in)  cg_coeff,
integer, dimension(:, :, :), intent(in)  cg_none0_list,
integer, dimension(:, :), intent(in)  ncg_none0,
real(kind=dp), dimension(:, :, :), intent(in)  Waux_mat,
real(kind=dp), dimension(:, :, :, :), intent(in)  dWaux_mat,
logical, intent(in)  calculate_ints,
logical, intent(in)  calculate_forces 
)

calculate integrals (a,b,fb); requires angular-dependent part as input

Parameters
abbintintegral (a,b,fb)
dabbintderivative of abbint
rabdistance vector between A and B
obaorbital basis at center A
obborbital basis at center B
fbbauxiliary basis set at center B
scon_obacontraction matrix for orb bas on A
sconb_mixmixed contraction matrix orb + ri basis on B
obb_indexorbital basis index for sconb_mix
fbb_indexri basis index for sconb_mix
cg_coeffClebsch-Gordon coefficients
cg_none0_listlist of none-zero Clebsch-Gordon coefficients
ncg_none0number of non-zero Clebsch-Gordon coefficients
Waux_matW matrix that contains the angular-dependent part
dWaux_matderivative of the W matrix
calculate_ints...
calculate_forces...

Definition at line 769 of file generic_shg_integrals.F.

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

◆ get_abb_same_kind()

subroutine, public generic_shg_integrals::get_abb_same_kind ( real(kind=dp), dimension(:, :, :), intent(inout), allocatable  abbint,
real(kind=dp), dimension(:, :, :, :), intent(inout), allocatable  dabbint,
real(kind=dp), dimension(:, :, :), intent(inout), allocatable  abaint,
real(kind=dp), dimension(:, :, :, :), intent(inout), allocatable  dabdaint,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  oba,
type(gto_basis_set_type), pointer  fba,
logical, intent(in)  calculate_ints,
logical, intent(in)  calculate_forces 
)

obtain integrals (a,b,fb) by symmetry relations from (a,b,fa) if basis sets at a and b are of the same kind, i.e. a and b are same atom type

Parameters
abbintintegral (a,b,fb)
dabbintderivative of abbint
abaintintegral (a,b,fa)
dabdaintderivative of abaint
rabdistance vector between A and B
obaorbital basis at center A
fbaauxiliary basis set at center A
calculate_ints...
calculate_forces...

Definition at line 933 of file generic_shg_integrals.F.

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

◆ int_overlap_aba_shg_low()

subroutine, public generic_shg_integrals::int_overlap_aba_shg_low ( real(kind=dp), dimension(:, :, :), intent(inout), allocatable  abaint,
real(kind=dp), dimension(:, :, :, :), intent(inout), allocatable  dabdaint,
real(kind=dp), dimension(3), intent(in)  rab,
type(gto_basis_set_type), pointer  oba,
type(gto_basis_set_type), pointer  obb,
type(gto_basis_set_type), pointer  fba,
real(kind=dp), dimension(:, :, :), intent(in)  scon_obb,
real(kind=dp), dimension(:, :, :, :), intent(in)  scona_mix,
integer, dimension(:, :, :), intent(in)  oba_index,
integer, dimension(:, :, :), intent(in)  fba_index,
real(kind=dp), dimension(:, :, :), intent(in)  cg_coeff,
integer, dimension(:, :, :), intent(in)  cg_none0_list,
integer, dimension(:, :), intent(in)  ncg_none0,
real(kind=dp), dimension(:, :, :), intent(in)  Waux_mat,
real(kind=dp), dimension(:, :, :, :), intent(in)  dWaux_mat,
logical, intent(in)  calculate_ints,
logical, intent(in)  calculate_forces 
)

calculate integrals (a,b,fa); requires angular-dependent part as input

Parameters
abaintintegral (a,b,fa)
dabdaint...
rabdistance vector between A and B
obaorbital basis at center A
obborbital basis at center B
fbaauxiliary basis set at center A
scon_obbcontraction matrix for orb bas on B
scona_mixmixed contraction matrix orb + ri basis on A
oba_indexorbital basis index for scona_mix
fba_indexri basis index for scona_mix
cg_coeffClebsch-Gordon coefficients
cg_none0_listlist of none-zero Clebsch-Gordon coefficients
ncg_none0number of non-zero Clebsch-Gordon coefficients
Waux_matW matrix that contains the angular-dependent part
dWaux_matderivative of the W matrix
calculate_ints...
calculate_forces...

Definition at line 1075 of file generic_shg_integrals.F.

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

◆ lri_precalc_angular_shg_part()

subroutine, public generic_shg_integrals::lri_precalc_angular_shg_part ( type(gto_basis_set_type), pointer  oba,
type(gto_basis_set_type), pointer  obb,
type(gto_basis_set_type), pointer  fba,
type(gto_basis_set_type), pointer  fbb,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :), intent(out), allocatable  Waux_mat,
real(kind=dp), dimension(:, :, :, :), intent(out), allocatable  dWaux_mat,
logical, intent(in)  calculate_forces 
)

precalculates the angular part of the SHG integrals for the matrices (fa,fb), (a,b), (a,b,fa) and (b,fb,a); the same Waux_mat can then be used for all for integrals; specific for LRIGPW

Parameters
obaorbital basis on a
obborbital basis on b
fbaaux basis on a
fbbaux basis on b
rabdistance vector between a and b
Waux_matW matrix that contains the angular-dependent part
dWaux_matderivative of the W matrix
calculate_forces...

Definition at line 1241 of file generic_shg_integrals.F.

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