![]() |
(git:33f85d8)
|
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]. | |
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]. | |
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. | |
Calculate the first derivative of an integral block.
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].
la_max | ... |
npgfa | ... |
zeta | ... |
rpgfa | ... |
la_min | ... |
lb_max | ... |
npgfb | ... |
rpgfb | ... |
lb_min | ... |
dab | ... |
ab | ... |
dabdx | ... |
dabdy | ... |
dabdz | ... |
Definition at line 80 of file ai_derivatives.F.
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].
la_max | ... |
npgfa | ... |
rpgfa | ... |
la_min | ... |
lb_max | ... |
npgfb | ... |
zetb | ... |
rpgfb | ... |
lb_min | ... |
dab | ... |
ab | ... |
adbdx | ... |
adbdy | ... |
adbdz | ... |
Definition at line 229 of file ai_derivatives.F.
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.
la_max | ... |
npgfa | ... |
zeta | ... |
lb_max | ... |
npgfb | ... |
ab | ... |
dabdx | ... |
dabdy | ... |
dabdz | ... |
Definition at line 365 of file ai_derivatives.F.