(git:374b731)
Loading...
Searching...
No Matches
ai_derivatives.F File Reference

Go to the source code of this file.

Modules

module  ai_derivatives
 Calculate the first derivative of an integral block.
 

Functions/Subroutines

subroutine, public ai_derivatives::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].
 
subroutine, public ai_derivatives::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].
 
subroutine, public ai_derivatives::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.