|
CP2K 2.5 (Revision 12981)
|
Calculate the first derivative of an integral block. More...
Functions | |
| 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]. | |
Calculate the first derivative of an integral block.
| 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].
Definition at line 199 of file ai_derivatives.f90.
References orbital_pointers::coset.
Referenced by ai_moments::diff_momop().
Here is the caller graph for this function:| 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].
Definition at line 64 of file ai_derivatives.f90.
References orbital_pointers::coset.
Referenced by ai_angmom::angmom2(), and scp_dispersion::scp_qs_dispersion().
Here is the caller graph for this function:
1.7.3