(git:6a2e663)
eri_mme_integrate Module Reference

Minimax-Ewald (MME) method for calculating 2-center and 3-center electron repulsion integrals (ERI) of periodic systems using a Hermite Gaussian basis. The method relies on analytical Fourier transforms of Cartesian and Hermite Gaussian functions and Poisson summation formula to represent ERIs as a discrete sum over direct lattice vectors or reciprocal lattice vectors. The reciprocal space potential 1/G^2 is approximated by a linear combination of Gaussians employing minimax approximation. Not yet implemented: 3c ERIs for nonorthogonal cells. More...

Functions/Subroutines

subroutine, public eri_mme_2c_integrate (param, la_min, la_max, lb_min, lb_max, zeta, zetb, rab, hab, o1, o2, G_count, R_count, normalize, potential, pot_par)
 Low-level integration routine for 2-center ERIs. More...
 
subroutine, public eri_mme_3c_integrate (param, la_min, la_max, lb_min, lb_max, lc_min, lc_max, zeta, zetb, zetc, RA, RB, RC, habc, o1, o2, o3, GG_count, GR_count, RR_count)
 Low-level integration routine for 3-center ERIs. More...
 

Detailed Description

Minimax-Ewald (MME) method for calculating 2-center and 3-center electron repulsion integrals (ERI) of periodic systems using a Hermite Gaussian basis. The method relies on analytical Fourier transforms of Cartesian and Hermite Gaussian functions and Poisson summation formula to represent ERIs as a discrete sum over direct lattice vectors or reciprocal lattice vectors. The reciprocal space potential 1/G^2 is approximated by a linear combination of Gaussians employing minimax approximation. Not yet implemented: 3c ERIs for nonorthogonal cells.

History
2015 09 created
Author
Patrick Seewald

Function/Subroutine Documentation

◆ eri_mme_2c_integrate()

subroutine, public eri_mme_integrate::eri_mme_2c_integrate ( type(eri_mme_param), intent(in)  param,
integer, intent(in)  la_min,
integer, intent(in)  la_max,
integer, intent(in)  lb_min,
integer, intent(in)  lb_max,
real(kind=dp), intent(in)  zeta,
real(kind=dp), intent(in)  zetb,
real(kind=dp), dimension(3), intent(in)  rab,
real(kind=dp), dimension(:, :), intent(inout)  hab,
integer, intent(in)  o1,
integer, intent(in)  o2,
integer, intent(inout), optional  G_count,
integer, intent(inout), optional  R_count,
logical, intent(in), optional  normalize,
integer, intent(in), optional  potential,
real(kind=dp), intent(in), optional  pot_par 
)

Low-level integration routine for 2-center ERIs.

Parameters
param...
la_min...
la_max...
lb_min...
lb_max...
zeta...
zetb...
rab...
hab...
o1...
o2...
G_count...
R_count...
normalizecalculate integrals w.r.t. normalized Hermite-Gaussians
potentialuse exact potential instead of minimax approx. (for testing only)
pot_parpotential parameter

Definition at line 70 of file eri_mme_integrate.F.

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

◆ eri_mme_3c_integrate()

subroutine, public eri_mme_integrate::eri_mme_3c_integrate ( type(eri_mme_param), intent(in)  param,
integer, intent(in)  la_min,
integer, intent(in)  la_max,
integer, intent(in)  lb_min,
integer, intent(in)  lb_max,
integer, intent(in)  lc_min,
integer, intent(in)  lc_max,
real(kind=dp), intent(in)  zeta,
real(kind=dp), intent(in)  zetb,
real(kind=dp), intent(in)  zetc,
real(kind=dp), dimension(3), intent(in)  RA,
real(kind=dp), dimension(3), intent(in)  RB,
real(kind=dp), dimension(3), intent(in)  RC,
real(kind=dp), dimension(:, :, :), intent(inout)  habc,
integer, intent(in)  o1,
integer, intent(in)  o2,
integer, intent(in)  o3,
integer, intent(inout), optional  GG_count,
integer, intent(inout), optional  GR_count,
integer, intent(inout), optional  RR_count 
)

Low-level integration routine for 3-center ERIs.

Parameters
param...
la_min...
la_max...
lb_min...
lb_max...
lc_min...
lc_max...
zeta...
zetb...
zetc...
RA...
RB...
RC...
habc...
o1...
o2...
o3...
GG_count...
GR_count...
RR_count...

Definition at line 272 of file eri_mme_integrate.F.

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