(git:f2099e5)
Loading...
Searching...
No Matches
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.
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.

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 71 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 275 of file eri_mme_integrate.F.

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