![]() |
(git:b77b4be)
|
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. | |
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.
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.
param | ... |
la_min | ... |
la_max | ... |
lb_min | ... |
lb_max | ... |
zeta | ... |
zetb | ... |
rab | ... |
hab | ... |
o1 | ... |
o2 | ... |
G_count | ... |
R_count | ... |
normalize | calculate integrals w.r.t. normalized Hermite-Gaussians |
potential | use exact potential instead of minimax approx. (for testing only) |
pot_par | potential parameter |
Definition at line 70 of file eri_mme_integrate.F.
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.
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.