(git:6a2e663)
s_contract_shg Module Reference

Routines for calculating the s-integrals and their scalar derivatives with respect to rab2 over solid harmonic Gaussian (SHG) functions + contraction routines for these integrals i) (s|O(r12)|s) where O(r12) is the overlap, coulomb operator etc. ii) (aba) and (abb) s-overlaps. More...

Functions/Subroutines

subroutine, public s_overlap_ab (la_max, npgfa, zeta, lb_max, npgfb, zetb, rab, s, calculate_forces)
 calculates the uncontracted, not normalized [s|s] overlap More...
 
subroutine, public s_overlap_abb (la_max, npgfa, zeta, lb_max, npgfb, zetb, lcb_max, npgfcb, zetcb, rab, s, calculate_forces)
 calculates [s|ra^n|s] integrals for [aba] and the [s|rb^n|s] integrals for [abb] More...
 
subroutine, public s_ra2m_ab (la_max, npgfa, zeta, lb_max, npgfb, zetb, m, rab, s, calculate_forces)
 calculates the uncontracted, not normalized [0a|ra^(2m)|0b] two-center integral, where ra = r-Ra and Ra center of a More...
 
subroutine, public s_coulomb_ab (la_max, npgfa, zeta, lb_max, npgfb, zetb, omega, rab, v, calculate_forces)
 calculates the uncontracted, not normalized [s|1/r12|s] two-center coulomb integral More...
 
subroutine, public s_verf_ab (la_max, npgfa, zeta, lb_max, npgfb, zetb, omega, rab, v, calculate_forces)
 calculates the uncontracted, not normalized [s|1/erf(omega*r12)/r12|s] two-center integral More...
 
subroutine, public s_verfc_ab (la_max, npgfa, zeta, lb_max, npgfb, zetb, omega, rab, v, calculate_forces)
 calculates the uncontracted, not normalized [s|1/erfc(omega*r12)/r12|s] two-center integral More...
 
subroutine, public s_vgauss_ab (la_max, npgfa, zeta, lb_max, npgfb, zetb, omega, rab, v, calculate_forces)
 calculates the uncontracted, not normalized [s|exp(-omega*r12**2)/r12|s] two-center integral More...
 
subroutine, public s_gauss_ab (la_max, npgfa, zeta, lb_max, npgfb, zetb, omega, rab, v, calculate_forces)
 calculates the uncontracted, not normalized [s|exp(-omega*r12**2)|s] two-center integral More...
 
subroutine, public contract_sint_ab_clow (la, npgfa, nshella, scona_shg, lb, npgfb, nshellb, sconb_shg, swork, swork_cont, calculate_forces)
 Contraction and normalization of the [s|O(r12)|s] integrals and their scalar derivatives; this routine is more efficient for uncontracted basis sets (clow), e.g. for ri basis sets. More...
 
subroutine, public contract_sint_ab_chigh (npgfa, nshella, scona, npgfb, nshellb, sconb, nds, swork, swork_cont)
 Contraction and normalization of the [s|O(r12)|s] integrals and their scalar derivatives; this routine is more efficient for highly contracted basis sets (chigh) More...
 
subroutine, public contract_s_ra2m_ab (npgfa, nshella, scon_ra2m, npgfb, nshellb, sconb, swork, swork_cont, m, nds_max)
 Contraction, normalization and combinatiorial combination of the [0a|(r-Ra)^(2m)|0b] integrals and their scalar derivatives. More...
 
subroutine, public contract_s_overlap_abb (la, npgfa, nshella, scona_shg, lb, npgfb, nshellb, lcb, npgfcb, nshellcb, orbb_index, rib_index, sconb_mix, nl_max, nds_max, swork, swork_cont, calculate_forces)
 Contraction and normalization of the (abb) overlap. More...
 
subroutine, public contract_s_overlap_aba (la, npgfa, nshella, lb, npgfb, nshellb, sconb_shg, lca, npgfca, nshellca, orba_index, ria_index, scona_mix, nl_max, nds_max, swork, swork_cont, calculate_forces)
 Contraction and normalization of the (aba) overlap. More...
 

Detailed Description

Routines for calculating the s-integrals and their scalar derivatives with respect to rab2 over solid harmonic Gaussian (SHG) functions + contraction routines for these integrals i) (s|O(r12)|s) where O(r12) is the overlap, coulomb operator etc. ii) (aba) and (abb) s-overlaps.

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

Function/Subroutine Documentation

◆ s_overlap_ab()

subroutine, public s_contract_shg::s_overlap_ab ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :), intent(inout)  s,
logical, intent(in)  calculate_forces 
)

calculates the uncontracted, not normalized [s|s] overlap

Parameters
la_maxmaximal l quantum number on a
npgfanumber of primitive Gaussian on a
zetaset of exponents on a
lb_maxmaximal l quantum number on b
npgfbnumber of primitive Gaussian on a
zetbset of exponents on a
rabdistance vector between a and b
suncontracted overlap of s functions
calculate_forces...

Definition at line 57 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ s_overlap_abb()

subroutine, public s_contract_shg::s_overlap_abb ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
integer, intent(in)  lcb_max,
integer, intent(in)  npgfcb,
real(kind=dp), dimension(:), intent(in)  zetcb,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :, :, :), intent(inout)  s,
logical, intent(in)  calculate_forces 
)

calculates [s|ra^n|s] integrals for [aba] and the [s|rb^n|s] integrals for [abb]

Parameters
la_maxmaximal l quantum number on a, orbital basis
npgfanumber of primitive Gaussian on a, orbital basis
zetaset of exponents on a, orbital basis
lb_maxmaximal l quantum number on b, orbital basis
npgfbnumber of primitive Gaussian on a, orbital basis
zetbset of exponents on b, orbital basis
lcb_maxmaximal l quantum number of aux basis on b
npgfcbnumber of primitive Gaussian on b. aux basis
zetcbset of exponents on b, aux basis
rabdistance vector between a and b
suncontracted [s|r^n|s] integrals
calculate_forces...

Definition at line 114 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ s_ra2m_ab()

subroutine, public s_contract_shg::s_ra2m_ab ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
integer, intent(in)  m,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :, :), intent(inout)  s,
logical, intent(in)  calculate_forces 
)

calculates the uncontracted, not normalized [0a|ra^(2m)|0b] two-center integral, where ra = r-Ra and Ra center of a

Parameters
la_maxmaximal l quantum number on a
npgfanumber of primitive Gaussian on a
zetaset of exponents on a
lb_maxmaximal l quantum number on b
npgfbnumber of primitive Gaussian on a
zetbset of exponents on a
mexponent of the ra operator
rabdistance vector between a and b
s...
calculate_forces...

Definition at line 346 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ s_coulomb_ab()

subroutine, public s_contract_shg::s_coulomb_ab ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
real(kind=dp), intent(in)  omega,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :), intent(inout)  v,
logical, intent(in)  calculate_forces 
)

calculates the uncontracted, not normalized [s|1/r12|s] two-center coulomb integral

Parameters
la_maxmaximal l quantum number on a
npgfanumber of primitive Gaussian on a
zetaset of exponents on a
lb_maxmaximal l quantum number on b
npgfbnumber of primitive Gaussian on a
zetbset of exponents on a
omegaparameter not needed, but given for the sake of the abstract interface
rabdistance vector between a and b
vuncontracted coulomb integral of s functions
calculate_forces...

Definition at line 588 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ s_verf_ab()

subroutine, public s_contract_shg::s_verf_ab ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
real(kind=dp), intent(in)  omega,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :), intent(inout)  v,
logical, intent(in)  calculate_forces 
)

calculates the uncontracted, not normalized [s|1/erf(omega*r12)/r12|s] two-center integral

Parameters
la_maxmaximal l quantum number on a
npgfanumber of primitive Gaussian on a
zetaset of exponents on a
lb_maxmaximal l quantum number on b
npgfbnumber of primitive Gaussian on a
zetbset of exponents on a
omegaparameter in the operator
rabdistance vector between a and b
vuncontracted erf(r)/r integral of s functions
calculate_forces...

Definition at line 648 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ s_verfc_ab()

subroutine, public s_contract_shg::s_verfc_ab ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
real(kind=dp), intent(in)  omega,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :), intent(inout)  v,
logical, intent(in)  calculate_forces 
)

calculates the uncontracted, not normalized [s|1/erfc(omega*r12)/r12|s] two-center integral

Parameters
la_maxmaximal l quantum number on a
npgfanumber of primitive Gaussian on a
zetaset of exponents on a
lb_maxmaximal l quantum number on b
npgfbnumber of primitive Gaussian on a
zetbset of exponents on a
omegaparameter in the operator
rabdistance vector between a and b
vuncontracted erf(r)/r integral of s functions
calculate_forces...

Definition at line 710 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ s_vgauss_ab()

subroutine, public s_contract_shg::s_vgauss_ab ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
real(kind=dp), intent(in)  omega,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :), intent(inout)  v,
logical, intent(in)  calculate_forces 
)

calculates the uncontracted, not normalized [s|exp(-omega*r12**2)/r12|s] two-center integral

Parameters
la_maxmaximal l quantum number on a
npgfanumber of primitive Gaussian on a
zetaset of exponents on a
lb_maxmaximal l quantum number on b
npgfbnumber of primitive Gaussian on a
zetbset of exponents on a
omegaparameter in the operator
rabdistance vector between a and b
vuncontracted exp(-omega*r**2)/r integral of s functions
calculate_forces...

Definition at line 773 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ s_gauss_ab()

subroutine, public s_contract_shg::s_gauss_ab ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
real(kind=dp), intent(in)  omega,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :, :), intent(inout)  v,
logical, intent(in)  calculate_forces 
)

calculates the uncontracted, not normalized [s|exp(-omega*r12**2)|s] two-center integral

Parameters
la_maxmaximal l quantum number on a
npgfanumber of primitive Gaussian on a
zetaset of exponents on a
lb_maxmaximal l quantum number on b
npgfbnumber of primitive Gaussian on a
zetbset of exponents on a
omegaparameter in the operator
rabdistance vector between a and b
vuncontracted exp(-omega*r**2) integral of s functions
calculate_forces...

Definition at line 842 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ contract_sint_ab_clow()

subroutine, public s_contract_shg::contract_sint_ab_clow ( integer, dimension(:), intent(in)  la,
integer, intent(in)  npgfa,
integer, intent(in)  nshella,
real(kind=dp), dimension(:, :), intent(in)  scona_shg,
integer, dimension(:), intent(in)  lb,
integer, intent(in)  npgfb,
integer, intent(in)  nshellb,
real(kind=dp), dimension(:, :), intent(in)  sconb_shg,
real(kind=dp), dimension(:, :, :), intent(in)  swork,
real(kind=dp), dimension(:, :, :), intent(inout)  swork_cont,
logical, intent(in)  calculate_forces 
)

Contraction and normalization of the [s|O(r12)|s] integrals and their scalar derivatives; this routine is more efficient for uncontracted basis sets (clow), e.g. for ri basis sets.

Parameters
laset of l quantum numbers for a
npgfanumber of primitive Gaussian on a
nshellanumber of shells for a
scona_shgSHG contraction/normalization matrix for a
lbset of l quantum numbers for b
npgfbnumber of primitive Gaussian on b
nshellbnumber of shells for b
sconb_shgSHG contraction/normalization matrix for b
sworkmatrix storing the uncontracted and unnormalized s-integrals and derivatives
swork_contmatrix storing the contracted and normalized s-integrals and derivatives
calculate_forces...

Definition at line 905 of file s_contract_shg.F.

Here is the caller graph for this function:

◆ contract_sint_ab_chigh()

subroutine, public s_contract_shg::contract_sint_ab_chigh ( integer, intent(in)  npgfa,
integer, intent(in)  nshella,
real(kind=dp), dimension(:, :), intent(in)  scona,
integer, intent(in)  npgfb,
integer, intent(in)  nshellb,
real(kind=dp), dimension(:, :), intent(in)  sconb,
integer, intent(in)  nds,
real(kind=dp), dimension(:, :, :), intent(in)  swork,
real(kind=dp), dimension(:, :, :), intent(inout)  swork_cont 
)

Contraction and normalization of the [s|O(r12)|s] integrals and their scalar derivatives; this routine is more efficient for highly contracted basis sets (chigh)

Parameters
npgfanumber of primitive Gaussian on a
nshellanumber of shells for a
sconaSHG contraction/normalization matrix for a
npgfbnumber of primitive Gaussian on b
nshellbnumber of shells for b
sconbSHG contraction/normalization matrix for b
ndsmaximal derivative of [s|O(r12)|s] with respect to rab2
sworkmatrix storing the uncontracted and unnormalized s-integrals and derivatives
swork_contmatrix storing the contracted and normalized s-integrals and derivatives

Definition at line 959 of file s_contract_shg.F.

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

◆ contract_s_ra2m_ab()

subroutine, public s_contract_shg::contract_s_ra2m_ab ( integer, intent(in)  npgfa,
integer, intent(in)  nshella,
real(kind=dp), dimension(:, :, :), intent(in)  scon_ra2m,
integer, intent(in)  npgfb,
integer, intent(in)  nshellb,
real(kind=dp), dimension(:, :), intent(in)  sconb,
real(kind=dp), dimension(:, :, :, :), intent(inout)  swork,
real(kind=dp), dimension(:, :, :), intent(inout)  swork_cont,
integer, intent(in)  m,
integer, intent(in)  nds_max 
)

Contraction, normalization and combinatiorial combination of the [0a|(r-Ra)^(2m)|0b] integrals and their scalar derivatives.

Parameters
npgfanumber of primitive Gaussian on a
nshellanumber of shells for a
scon_ra2mcontraction matrix on a containg the combinatorial factors
npgfbnumber of primitive Gaussian on b
nshellbnumber of shells for b
sconbSHG contraction/normalization matrix for b
sworkmatrix storing the uncontracted and unnormalized s-integrals and derivatives
swork_contmatrix storing the contracted and normalized s-integrals and derivatives
mexponent in operator (r-Ra)^(2m)
nds_maxmaximal derivative with respect to rab2

Definition at line 999 of file s_contract_shg.F.

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

◆ contract_s_overlap_abb()

subroutine, public s_contract_shg::contract_s_overlap_abb ( integer, dimension(:), intent(in)  la,
integer, intent(in)  npgfa,
integer, intent(in)  nshella,
real(kind=dp), dimension(:, :), intent(in)  scona_shg,
integer, dimension(:), intent(in)  lb,
integer, intent(in)  npgfb,
integer, intent(in)  nshellb,
integer, dimension(:), intent(in)  lcb,
integer, intent(in)  npgfcb,
integer, intent(in)  nshellcb,
integer, dimension(:, :), intent(in)  orbb_index,
integer, dimension(:, :), intent(in)  rib_index,
real(kind=dp), dimension(:, :, :, :), intent(in)  sconb_mix,
integer, intent(in)  nl_max,
integer, intent(in)  nds_max,
real(kind=dp), dimension(:, :, :, :, :), intent(in)  swork,
real(kind=dp), dimension(:, 0:, :, :, :), intent(inout)  swork_cont,
logical, intent(in)  calculate_forces 
)

Contraction and normalization of the (abb) overlap.

Parameters
laset of l quantum numbers on a
npgfanumber of primitive Gaussians functions on a; orbital basis
nshellanumber of shells for a; orbital basis
scona_shgSHG contraction/normalization matrix for a; orbital basis
lbset of l quantum numbers on b; orbital basis
npgfbnumber of primitive Gaussians functions on b; orbital basis
nshellbnumber of shells for b; orbital basis
lcbset of l quantum numbers on b; ri basis
npgfcbnumber of primitive Gaussians functions on b; ri basis
nshellcbnumber of shells for b; ri basis
orbb_indexindex for orbital basis at B for sconb_mix
rib_indexindex for ri basis at B for sconb_mix
sconb_mixmixed contraction matrix for orbital and ri basis at B
nl_maxrelated to the parameter m in (a|rb^(2m)|b)
nds_maxderivative with respect to rab**2
sworkmatrix of storing the uncontracted and unnormalized s-integrals and derivatives
swork_contmatrix storing the contracted and normalized s-integrals and derivatives
calculate_forces...

Definition at line 1050 of file s_contract_shg.F.

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

◆ contract_s_overlap_aba()

subroutine, public s_contract_shg::contract_s_overlap_aba ( integer, dimension(:), intent(in)  la,
integer, intent(in)  npgfa,
integer, intent(in)  nshella,
integer, dimension(:), intent(in)  lb,
integer, intent(in)  npgfb,
integer, intent(in)  nshellb,
real(kind=dp), dimension(:, :), intent(in)  sconb_shg,
integer, dimension(:), intent(in)  lca,
integer, intent(in)  npgfca,
integer, intent(in)  nshellca,
integer, dimension(:, :), intent(in)  orba_index,
integer, dimension(:, :), intent(in)  ria_index,
real(kind=dp), dimension(:, :, :, :), intent(in)  scona_mix,
integer, intent(in)  nl_max,
integer, intent(in)  nds_max,
real(kind=dp), dimension(:, :, :, :, :), intent(in)  swork,
real(kind=dp), dimension(:, 0:, :, :, :), intent(inout)  swork_cont,
logical, intent(in)  calculate_forces 
)

Contraction and normalization of the (aba) overlap.

Parameters
laset of l quantum numbers on a; orbital basis
npgfanumber of primitive Gaussians functions on a; orbital basis
nshellanumber of shells for a; orbital basis
lbset of l quantum numbers on b; orbital basis
npgfbnumber of primitive Gaussians functions on b; orbital basis
nshellbnumber of shells for b; orbital basis
sconb_shgSHG contraction/normalization matrix for b; orbital basis
lcaset of l quantum numbers on a; ri basis
npgfcanumber of primitive Gaussians functions on a; ri basis
nshellcanumber of shells for a; ri basis
orba_indexindex for orbital basis at A for scona_mix
ria_indexindex for ri basis at A for scona_mix
scona_mixmixed contraction matrix for orbital and ri basis at A
nl_maxrelated to the parameter m in (a|ra^(2m)|b)
nds_maxmaximal derivative with respect to rab**2
sworkmatrix of storing the uncontracted and unnormalized s-integrals and derivatives
swork_contmatrix storing the contracted and normalized s-integrals and derivatives
calculate_forces...

Definition at line 1139 of file s_contract_shg.F.

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