(git:3add494)
ai_verfc Module Reference

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. More...
 

Detailed Description

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

Literature
S. Obara and A. Saika, J. Chem. Phys. 84, 3963 (1986)
Parameters
  • ax,ay,az : Angular momentum index numbers of orbital a.
  • bx,by,bz : Angular momentum index numbers of orbital b.
  • coset : Cartesian orbital set pointer.
  • dab : Distance between the atomic centers a and b.
  • dac : Distance between the atomic centers a and c.
  • dbc : Distance between the atomic centers b and c.
  • l{a,b} : Angular momentum quantum number of shell a or b.
  • l{a,b}_max: Maximum angular momentum quantum number of shell a or b.
  • l{a,b}_min: Minimum angular momentum quantum number of shell a or b.
  • ncoset : Number of orbitals in a Cartesian orbital set.
  • npgf{a,b} : Degree of contraction of shell a or b.
  • rab : Distance vector between the atomic centers a and b.
  • rab2 : Square of the distance between the atomic centers a and b.
  • rac : Distance vector between the atomic centers a and c.
  • rac2 : Square of the distance between the atomic centers a and c.
  • rbc2 : Square of the distance between the atomic centers b and c.
  • rpgf{a,b} : Radius of the primitive Gaussian-type function a or b.
  • zet{a,b} : Exponents of the Gaussian-type functions a or b.
  • zetp : Reciprocal of the sum of the exponents of orbital a and b.
  • zetw : Reciprocal of the sum of the exponents of orbital a, b and c. Indices for pVp matrices
  • ax,ay,az : Angular momentum index numbers of orbital a.
  • n{x1,y1,z1}{x2,y2,z2} : indices for the pVp matrix elements <p_{x1,y1,z1}a|V|p_{x2,y2,z2}>
  • co{a,b}{m,p}{x,y,z} : coefficients of the pVp matrix elements: co == coset(lx,ly,lz) m == li - 1; p == li +1; li= x,y,z (which l quantum number is modified); l = a,b coset ( ... -1 ...) = 1 , should be zero, lmi = 1.0 for li >=1 and lmi = 0.0 for li = 0 guarantees this as a prefactor
  • f{a,b}{x,y,z},ft{a,b},z : f(t)li: prefactors as a result of derivations of l with respect to i
  • pVpout : pVp matrix elements
  • pVp : local pVp matrix elements
  • lamin,lbmin : minimal angular quantum number used in pVp matrices _ vnucp : potential of the nuclei
  • vnuc : potential of the electrons _ pVpa, pVpb : pVpl=coset(lx,ly,lz)
  • na_pgf,nb_pgf : indices for primitive gaussian functions
History
10.2008 added pVp matrix elements (jens)
Author
Matthias Krack (04.10.2000)

Function/Subroutine Documentation

◆ verfc()

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.

Parameters
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...
Date
04.10.2000
Author
Matthias Krack
Version
1.0

Definition at line 138 of file ai_verfc.F.

Here is the caller graph for this function: