(git:c5411e0)
Loading...
Searching...
No Matches
ai_contraction_sphi Module Reference

Contraction of integrals over primitive Cartesian Gaussians based on the contraction matrix sphi which is part of the gto_basis_set_type. More...

Functions/Subroutines

subroutine, public ab_contract (abint, sab, sphi_a, sphi_b, ncoa, ncob, nsgfa, nsgfb)
 contract overlap integrals (a,b) and transfer to spherical Gaussians
 
subroutine, public abc_contract (abcint, sabc, sphi_a, sphi_b, sphi_c, ncoa, ncob, ncoc, nsgfa, nsgfb, nsgfc)
 contract three-center overlap integrals (a,b,c) and transfer to spherical Gaussians
 
subroutine, public abcd_contract (abcdint, sabcd, sphi_a, sphi_b, sphi_c, sphi_d, ncoa, ncob, ncoc, ncod, nsgfa, nsgfb, nsgfc, nsgfd)
 contract four-center overlap integrals (a,b,c,d) and transfer to spherical Gaussians
 
subroutine, public abc_contract_xsmm (abcint, sabc, sphi_a, sphi_b, sphi_c, ncoa, ncob, ncoc, nsgfa, nsgfb, nsgfc, cpp_buffer, ccp_buffer, prefac, pstfac)
 3-center contraction routine from primitive cartesian Gaussians to spherical Gaussian functions; can use LIBXSMM (falls back to BLAS otherwise). Requires pre-transposition of the sphi_a array. The call-side shall DEALLOCATE buffers end of scope or after last use. This function ALLOCATEs or grows the work buffers as necessary. LIBXSMM may be initialized upfront (elsewhere).
 

Detailed Description

Contraction of integrals over primitive Cartesian Gaussians based on the contraction matrix sphi which is part of the gto_basis_set_type.

History
-added abc_contract_xsmm routine, A. Bussy (04.2020)
Author
Dorothea Golze (05.2016)

Function/Subroutine Documentation

◆ ab_contract()

subroutine, public ai_contraction_sphi::ab_contract ( real(kind=dp), dimension(:, :), intent(inout)  abint,
real(kind=dp), dimension(:, :), intent(in)  sab,
real(kind=dp), dimension(:, :), intent(in)  sphi_a,
real(kind=dp), dimension(:, :), intent(in)  sphi_b,
integer, intent(in)  ncoa,
integer, intent(in)  ncob,
integer, intent(in)  nsgfa,
integer, intent(in)  nsgfb 
)

contract overlap integrals (a,b) and transfer to spherical Gaussians

Parameters
abintcontracted, normalized integrals of spherical Gaussians
sabuncontracted, unnormalized integrals of primitive Cartesian Gaussians
sphi_acontraction matrix for center a
sphi_bcontraction matrix for center b
ncoanumber of cartesian orbitals on a
ncobnumber of cartesian orbitals on b
nsgfanumber of spherical Gaussian functions on a
nsgfbnumber of spherical Gaussian functions on b

Definition at line 51 of file ai_contraction_sphi.F.

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

◆ abc_contract()

subroutine, public ai_contraction_sphi::abc_contract ( real(kind=dp), dimension(:, :, :)  abcint,
real(kind=dp), dimension(:, :, :)  sabc,
real(kind=dp), dimension(:, :)  sphi_a,
real(kind=dp), dimension(:, :)  sphi_b,
real(kind=dp), dimension(:, :)  sphi_c,
integer, intent(in)  ncoa,
integer, intent(in)  ncob,
integer, intent(in)  ncoc,
integer, intent(in)  nsgfa,
integer, intent(in)  nsgfb,
integer, intent(in)  nsgfc 
)

contract three-center overlap integrals (a,b,c) and transfer to spherical Gaussians

Parameters
abcintcontracted, normalized integrals of spherical Gaussians
sabcuncontracted, unnormalized integrals of primitive Cartesian Gaussians
sphi_acontraction matrix for center a
sphi_bcontraction matrix for center b
sphi_ccontraction matrix for center c
ncoanumber of cartesian orbitals on a
ncobnumber of cartesian orbitals on b
ncocnumber of cartesian orbitals on c
nsgfanumber of spherical Gaussian functions on a
nsgfbnumber of spherical Gaussian functions on b
nsgfcnumber of spherical Gaussian functions on c

Definition at line 103 of file ai_contraction_sphi.F.

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

◆ abcd_contract()

subroutine, public ai_contraction_sphi::abcd_contract ( real(kind=dp), dimension(:, :, :, :), intent(inout)  abcdint,
real(kind=dp), dimension(:, :, :, :), intent(in)  sabcd,
real(kind=dp), dimension(:, :), intent(in)  sphi_a,
real(kind=dp), dimension(:, :), intent(in)  sphi_b,
real(kind=dp), dimension(:, :), intent(in)  sphi_c,
real(kind=dp), dimension(:, :), intent(in)  sphi_d,
integer, intent(in)  ncoa,
integer, intent(in)  ncob,
integer, intent(in)  ncoc,
integer, intent(in)  ncod,
integer, intent(in)  nsgfa,
integer, intent(in)  nsgfb,
integer, intent(in)  nsgfc,
integer, intent(in)  nsgfd 
)

contract four-center overlap integrals (a,b,c,d) and transfer to spherical Gaussians

Parameters
abcdintcontracted, normalized integrals of spherical Gaussians
sabcduncontracted, unnormalized integrals of primitive Cartesian Gaussians
sphi_acontraction matrix for center a
sphi_bcontraction matrix for center b
sphi_ccontraction matrix for center c
sphi_dcontraction matrix for center d
ncoanumber of cartesian orbitals on a
ncobnumber of cartesian orbitals on b
ncocnumber of cartesian orbitals on c
ncodnumber of cartesian orbitals on d
nsgfanumber of spherical Gaussian functions on a
nsgfbnumber of spherical Gaussian functions on b
nsgfcnumber of spherical Gaussian functions on c
nsgfdnumber of spherical Gaussian functions on d

Definition at line 165 of file ai_contraction_sphi.F.

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

◆ abc_contract_xsmm()

subroutine, public ai_contraction_sphi::abc_contract_xsmm ( real(kind=dp), dimension(:, :, :)  abcint,
real(kind=dp), dimension(*), intent(in)  sabc,
real(kind=dp), dimension(:, :), intent(in)  sphi_a,
real(kind=dp), dimension(:, :), intent(in)  sphi_b,
real(kind=dp), dimension(:, :), intent(in)  sphi_c,
integer, intent(in)  ncoa,
integer, intent(in)  ncob,
integer, intent(in)  ncoc,
integer, intent(in)  nsgfa,
integer, intent(in)  nsgfb,
integer, intent(in)  nsgfc,
real(kind=dp), dimension(:), allocatable  cpp_buffer,
real(kind=dp), dimension(:), allocatable  ccp_buffer,
real(kind=dp), intent(in), optional  prefac,
real(kind=dp), intent(in), optional  pstfac 
)

3-center contraction routine from primitive cartesian Gaussians to spherical Gaussian functions; can use LIBXSMM (falls back to BLAS otherwise). Requires pre-transposition of the sphi_a array. The call-side shall DEALLOCATE buffers end of scope or after last use. This function ALLOCATEs or grows the work buffers as necessary. LIBXSMM may be initialized upfront (elsewhere).

Parameters
abcintcontracted integrals
sabcuncontracted integrals
sphi_aassumed to have dimensions nsgfa x ncoa
sphi_bassumed to have dimensions ncob x nsgfb
sphi_cassumed to have dimensions ncoc x nsgfc
ncoa...
ncob...
ncoc...
nsgfa...
nsgfb...
nsgfc...
cpp_bufferBuffer used for intermediate results (automatically allocated).
ccp_bufferBuffer used for intermediate results (automatically allocated).
prefacPrefactor which is finally multiplied into abcint (default: 1.0).
pstfacFactor used to consider initial abcint (default: 0.0).

Definition at line 253 of file ai_contraction_sphi.F.

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