(git:6a2e663)
ai_derivatives Module Reference

Calculate the first derivative of an integral block. More...

Functions/Subroutines

subroutine, public dabdr (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, rpgfb, lb_min, dab, ab, dabdx, dabdy, dabdz)
 Calculate the first derivative of an integral block. This takes the derivative with respect to the atomic position Ra, i.e. the center of the primitive on the left. To get the derivative of the left primitive with respect to r (orbital coordinate), take the opposite sign. To get the derivative with respect to the center of the primitive on the right Rb, take the opposite sign. To get the derivative of the right primitive with respect to r, do not change the sign. [da/dRi|O|b] = 2*zeta*[a+1i|O|b] - Ni(a)[a-1i|O|b]. More...
 
subroutine, public adbdr (la_max, npgfa, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lb_min, dab, ab, adbdx, adbdy, adbdz)
 Calculate the first derivative of an integral block. This takes the derivative with respect to the atomic position Rb, i.e. the center of the primitive on the right. To get the derivative of the left primitive with respect to r (orbital coordinate), take the opposite sign. [a|O|db/dRi] = 2*zetb*[a|O|b+1i] - Ni(b)[a|O|b-1i]. More...
 
subroutine, public dabdr_noscreen (la_max, npgfa, zeta, lb_max, npgfb, ab, dabdx, dabdy, dabdz)
 Calculate the first derivative of an integral block. This takes the derivative with respect to the atomic position Ra, i.e. the center of the primitive on the left. Difference to routine dabdr: employs no (!!) screening, which is relevant when calculating the derivatives of Coulomb integrals. More...
 

Detailed Description

Calculate the first derivative of an integral block.

Author
Matthias Krack
Date
05.10.2000
Version
1.0
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.
  • 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.
  • rbc : Distance vector between the atomic centers b 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.

Function/Subroutine Documentation

◆ dabdr()

subroutine, public ai_derivatives::dabdr ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
real(kind=dp), dimension(:), intent(in)  rpgfa,
integer, intent(in)  la_min,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  rpgfb,
integer, intent(in)  lb_min,
real(kind=dp), intent(in)  dab,
real(kind=dp), dimension(:, :), intent(in)  ab,
real(kind=dp), dimension(:, :), intent(out)  dabdx,
real(kind=dp), dimension(:, :), intent(out)  dabdy,
real(kind=dp), dimension(:, :), intent(out)  dabdz 
)

Calculate the first derivative of an integral block. This takes the derivative with respect to the atomic position Ra, i.e. the center of the primitive on the left. To get the derivative of the left primitive with respect to r (orbital coordinate), take the opposite sign. To get the derivative with respect to the center of the primitive on the right Rb, take the opposite sign. To get the derivative of the right primitive with respect to r, do not change the sign. [da/dRi|O|b] = 2*zeta*[a+1i|O|b] - Ni(a)[a-1i|O|b].

Parameters
la_max...
npgfa...
zeta...
rpgfa...
la_min...
lb_max...
npgfb...
rpgfb...
lb_min...
dab...
ab...
dabdx...
dabdy...
dabdz...
Date
05.10.2000
Author
Matthias Krack
Version
1.0

Definition at line 80 of file ai_derivatives.F.

Here is the caller graph for this function:

◆ adbdr()

subroutine, public ai_derivatives::adbdr ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  rpgfa,
integer, intent(in)  la_min,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:), intent(in)  zetb,
real(kind=dp), dimension(:), intent(in)  rpgfb,
integer, intent(in)  lb_min,
real(kind=dp), intent(in)  dab,
real(kind=dp), dimension(:, :), intent(in)  ab,
real(kind=dp), dimension(:, :), intent(out)  adbdx,
real(kind=dp), dimension(:, :), intent(out)  adbdy,
real(kind=dp), dimension(:, :), intent(out)  adbdz 
)

Calculate the first derivative of an integral block. This takes the derivative with respect to the atomic position Rb, i.e. the center of the primitive on the right. To get the derivative of the left primitive with respect to r (orbital coordinate), take the opposite sign. [a|O|db/dRi] = 2*zetb*[a|O|b+1i] - Ni(b)[a|O|b-1i].

Parameters
la_max...
npgfa...
rpgfa...
la_min...
lb_max...
npgfb...
zetb...
rpgfb...
lb_min...
dab...
ab...
adbdx...
adbdy...
adbdz...
Date
05.10.2000
Author
Matthias Krack
Version
1.0

Definition at line 229 of file ai_derivatives.F.

Here is the caller graph for this function:

◆ dabdr_noscreen()

subroutine, public ai_derivatives::dabdr_noscreen ( integer, intent(in)  la_max,
integer, intent(in)  npgfa,
real(kind=dp), dimension(:), intent(in)  zeta,
integer, intent(in)  lb_max,
integer, intent(in)  npgfb,
real(kind=dp), dimension(:, :), intent(in)  ab,
real(kind=dp), dimension(:, :), intent(out)  dabdx,
real(kind=dp), dimension(:, :), intent(out)  dabdy,
real(kind=dp), dimension(:, :), intent(out)  dabdz 
)

Calculate the first derivative of an integral block. This takes the derivative with respect to the atomic position Ra, i.e. the center of the primitive on the left. Difference to routine dabdr: employs no (!!) screening, which is relevant when calculating the derivatives of Coulomb integrals.

Parameters
la_max...
npgfa...
zeta...
lb_max...
npgfb...
ab...
dabdx...
dabdy...
dabdz...

Definition at line 365 of file ai_derivatives.F.

Here is the caller graph for this function: