![]() |
(git:b77b4be)
|
Build up the nuclear potential part of the core Hamiltonian matrix in the case of an allelectron calculation by computing the nuclear attraction integral matrix <a|-Z/r|b> and the integral matrix <a|Z*erf(r)/r|b>. The integrals <a|Z*erf(r)/r|b> can be rewritten as the three-center Coulomb integrals <ab||c> with a primitive s-type Gaussian function c multiplied by a factor N. More...
Functions/Subroutines | |
subroutine, public | verfc (la_max1, npgfa, zeta, rpgfa, la_min1, lb_max1, npgfb, zetb, rpgfb, lb_min1, zetc, rpgfc, zc, cerf, rab, rab2, rac, rac2, rbc2, vabc, verf, vnuc, f, maxder, vabc_plus, vnabc, pvp_sum, pvp, dkh_erfc) |
Calculation of the primitive three-center nuclear potential integrals <a|Z*erfc(r)/r|b> over Cartesian Gaussian-type functions. | |
Build up the nuclear potential part of the core Hamiltonian matrix in the case of an allelectron calculation by computing the nuclear attraction integral matrix <a|-Z/r|b> and the integral matrix <a|Z*erf(r)/r|b>. The integrals <a|Z*erf(r)/r|b> can be rewritten as the three-center Coulomb integrals <ab||c> with a primitive s-type Gaussian function c multiplied by a factor N.
erfc(r)
<a|V|b> = -Z*<a|------—|b> r
1 - erf(r) = -Z*<a|---------—|b> r
1 erf(r) = -Z*(<a|—|b> - <a|-----—|b>) r r
1 = -Z*(<a|—|b> - N*<ab||c>) r
1 = -Z*<a|—|b> + Z*N*<ab||c> r _______/ _____/ | | nuclear coulomb
subroutine, public ai_verfc::verfc | ( | integer, intent(in) | la_max1, |
integer, intent(in) | npgfa, | ||
real(kind=dp), dimension(:), intent(in) | zeta, | ||
real(kind=dp), dimension(:), intent(in) | rpgfa, | ||
integer, intent(in) | la_min1, | ||
integer, intent(in) | lb_max1, | ||
integer, intent(in) | npgfb, | ||
real(kind=dp), dimension(:), intent(in) | zetb, | ||
real(kind=dp), dimension(:), intent(in) | rpgfb, | ||
integer, intent(in) | lb_min1, | ||
real(kind=dp), intent(in) | zetc, | ||
real(kind=dp), intent(in) | rpgfc, | ||
real(kind=dp), intent(in) | zc, | ||
real(kind=dp), intent(in) | cerf, | ||
real(kind=dp), dimension(3), intent(in) | rab, | ||
real(kind=dp), intent(in) | rab2, | ||
real(kind=dp), dimension(3), intent(in) | rac, | ||
real(kind=dp), intent(in) | rac2, | ||
real(kind=dp), intent(in) | rbc2, | ||
real(kind=dp), dimension(:, :), intent(inout) | vabc, | ||
real(kind=dp), dimension(:, :, :) | verf, | ||
real(kind=dp), dimension(:, :, :) | vnuc, | ||
real(kind=dp), dimension(0:) | f, | ||
integer, intent(in), optional | maxder, | ||
real(kind=dp), dimension(:, :), optional | vabc_plus, | ||
real(kind=dp), dimension(:, :), optional | vnabc, | ||
real(kind=dp), dimension(:, :), optional | pvp_sum, | ||
real(kind=dp), dimension(:, :), optional | pvp, | ||
logical, optional | dkh_erfc | ||
) |
Calculation of the primitive three-center nuclear potential integrals <a|Z*erfc(r)/r|b> over Cartesian Gaussian-type functions.
la_max1 | ... |
npgfa | ... |
zeta | ... |
rpgfa | ... |
la_min1 | ... |
lb_max1 | ... |
npgfb | ... |
zetb | ... |
rpgfb | ... |
lb_min1 | ... |
zetc | ... |
rpgfc | ... |
zc | ... |
cerf | ... |
rab | ... |
rab2 | ... |
rac | ... |
rac2 | ... |
rbc2 | ... |
vabc | ... |
verf | ... |
vnuc | ... |
f | ... |
maxder | ... |
vabc_plus | ... |
vnabc | ... |
pVp_sum | ... |
pVp | ... |
dkh_erfc | ... |
Definition at line 138 of file ai_verfc.F.