![]() |
(git:b77b4be)
|
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). | |
Contraction of integrals over primitive Cartesian Gaussians based on the contraction matrix sphi which is part of the gto_basis_set_type.
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
abint | contracted, normalized integrals of spherical Gaussians |
sab | uncontracted, unnormalized integrals of primitive Cartesian Gaussians |
sphi_a | contraction matrix for center a |
sphi_b | contraction matrix for center b |
ncoa | number of cartesian orbitals on a |
ncob | number of cartesian orbitals on b |
nsgfa | number of spherical Gaussian functions on a |
nsgfb | number of spherical Gaussian functions on b |
Definition at line 51 of file ai_contraction_sphi.F.
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
abcint | contracted, normalized integrals of spherical Gaussians |
sabc | uncontracted, unnormalized integrals of primitive Cartesian Gaussians |
sphi_a | contraction matrix for center a |
sphi_b | contraction matrix for center b |
sphi_c | contraction matrix for center c |
ncoa | number of cartesian orbitals on a |
ncob | number of cartesian orbitals on b |
ncoc | number of cartesian orbitals on c |
nsgfa | number of spherical Gaussian functions on a |
nsgfb | number of spherical Gaussian functions on b |
nsgfc | number of spherical Gaussian functions on c |
Definition at line 103 of file ai_contraction_sphi.F.
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
abcdint | contracted, normalized integrals of spherical Gaussians |
sabcd | uncontracted, unnormalized integrals of primitive Cartesian Gaussians |
sphi_a | contraction matrix for center a |
sphi_b | contraction matrix for center b |
sphi_c | contraction matrix for center c |
sphi_d | contraction matrix for center d |
ncoa | number of cartesian orbitals on a |
ncob | number of cartesian orbitals on b |
ncoc | number of cartesian orbitals on c |
ncod | number of cartesian orbitals on d |
nsgfa | number of spherical Gaussian functions on a |
nsgfb | number of spherical Gaussian functions on b |
nsgfc | number of spherical Gaussian functions on c |
nsgfd | number of spherical Gaussian functions on d |
Definition at line 165 of file ai_contraction_sphi.F.
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).
abcint | contracted integrals |
sabc | uncontracted integrals |
sphi_a | assumed to have dimensions nsgfa x ncoa |
sphi_b | assumed to have dimensions ncob x nsgfb |
sphi_c | assumed to have dimensions ncoc x nsgfc |
ncoa | ... |
ncob | ... |
ncoc | ... |
nsgfa | ... |
nsgfb | ... |
nsgfc | ... |
cpp_buffer | Buffer used for intermediate results (automatically allocated). |
ccp_buffer | Buffer used for intermediate results (automatically allocated). |
prefac | Prefactor which is finally multiplied into abcint (default: 1.0). |
pstfac | Factor used to consider initial abcint (default: 0.0). |
Definition at line 253 of file ai_contraction_sphi.F.