![]() |
(git:e68414f)
|
Calculation of the moment integrals over Cartesian Gaussian-type functions. More...
Functions/Subroutines | |
| subroutine, public | diff_momop_velocity (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lb_min, order, rac, rbc, difmab, lambda, iatom, jatom) |
| This returns the derivative of the moment integrals [a|\mu|b], with respect to the primitive on the right difmab(:, :, beta, alpha) = < a | r_beta | ∂_alpha b > * (iatom - jatom) | |
| subroutine, public | diff_momop2 (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lb_min, order, rac, rbc, difmab, mab_ext, deltar, iatom, jatom) |
| This returns the derivative of the moment integrals [a|\mu|b], with respect to the position of the primitive on the left and right, i.e. [da/dR_ai|\mu|b] + [a|\mu|d/dR_bi] [da/dR_ai|\mu|b] = 2*zeta*[a+1i|\mu|b] - Ni(a)[a-1i|\mu|b] [a|\mu|d/dR_bi] = 2*zetb*[a|\mu|b+1i] - Ni(b)[a|\mu|b-1i] order indicates the max order of the moment operator to be calculated 1: dipole 2: quadrupole ... | |
| subroutine, public | contract_cossin (cos_block, sin_block, iatom, ncoa, nsgfa, sgfa, sphi_a, ldsa, jatom, ncob, nsgfb, sgfb, sphi_b, ldsb, cosab, sinab, ldab, work, ldwork) |
| ... | |
| subroutine, public | cossin (la_max_set, npgfa, zeta, rpgfa, la_min_set, lb_max, npgfb, zetb, rpgfb, lb_min, rac, rbc, kvec, cosab, sinab, dcosab, dsinab) |
| ... | |
| subroutine, public | moment (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lc_max, rac, rbc, mab) |
| ... | |
| subroutine, public | diffop (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lb_min, rab, difab) |
| This returns the derivative of the overlap integrals [a|b], with respect to the position of the primitive on the left, i.e. [da/dR_ai|b] = 2*zeta*[a+1i|b] - Ni(a)[a-1i|b]. | |
| subroutine, public | diff_momop (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lb_min, order, rac, rbc, difmab, mab_ext) |
| This returns the derivative of the moment integrals [a|\mu|b], with respect to the position of the primitive on the left, i.e. [da/dR_ai|\mu|b] = 2*zeta*[a+1i|\mu|b] - Ni(a)[a-1i|\mu|b] order indicates the max order of the moment operator to be calculated 1: dipole 2: quadrupole ... | |
| subroutine, public | dipole_force (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lb_min, order, rac, rbc, pab, forcea, forceb) |
| This returns the derivative of the dipole integrals [a|x|b], with respect to the position of the primitive on the left and right, i.e. [da/dR_ai|\mu|b] = 2*zeta*[a+1i|\mu|b] - Ni(a)[a-1i|\mu|b]. | |
Calculation of the moment integrals over Cartesian Gaussian-type functions.
| subroutine, public ai_moments::diff_momop_velocity | ( | 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) | zetb, | ||
| real(kind=dp), dimension(:), intent(in) | rpgfb, | ||
| integer, intent(in) | lb_min, | ||
| integer, intent(in) | order, | ||
| real(kind=dp), dimension(3), intent(in) | rac, | ||
| real(kind=dp), dimension(3), intent(in) | rbc, | ||
| real(kind=dp), dimension(:, :, :, :), intent(out) | difmab, | ||
| integer, intent(in) | lambda, | ||
| integer, intent(in), optional | iatom, | ||
| integer, intent(in), optional | jatom | ||
| ) |
This returns the derivative of the moment integrals [a|\mu|b], with respect to the primitive on the right difmab(:, :, beta, alpha) = < a | r_beta | ∂_alpha b > * (iatom - jatom)
| la_max | ... |
| npgfa | ... |
| zeta | ... |
| rpgfa | ... |
| la_min | ... |
| lb_max | ... |
| npgfb | ... |
| zetb | ... |
| rpgfb | ... |
| lb_min | ... |
| order | ... |
| rac | ... |
| rbc | ... |
| difmab | ... |
| lambda | The atom on which we take the derivative |
| iatom | ... |
| jatom | ... |
Definition at line 76 of file ai_moments.F.
| subroutine, public ai_moments::diff_momop2 | ( | 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) | zetb, | ||
| real(kind=dp), dimension(:), intent(in) | rpgfb, | ||
| integer, intent(in) | lb_min, | ||
| integer, intent(in) | order, | ||
| real(kind=dp), dimension(3), intent(in) | rac, | ||
| real(kind=dp), dimension(3), intent(in) | rbc, | ||
| real(kind=dp), dimension(:, :, :, :), intent(out) | difmab, | ||
| real(kind=dp), dimension(:, :, :), optional, pointer | mab_ext, | ||
| real(kind=dp), dimension(:, :), intent(in), optional, pointer | deltar, | ||
| integer, intent(in), optional | iatom, | ||
| integer, intent(in), optional | jatom | ||
| ) |
This returns the derivative of the moment integrals [a|\mu|b], with respect to the position of the primitive on the left and right, i.e. [da/dR_ai|\mu|b] + [a|\mu|d/dR_bi] [da/dR_ai|\mu|b] = 2*zeta*[a+1i|\mu|b] - Ni(a)[a-1i|\mu|b] [a|\mu|d/dR_bi] = 2*zetb*[a|\mu|b+1i] - Ni(b)[a|\mu|b-1i] order indicates the max order of the moment operator to be calculated 1: dipole 2: quadrupole ...
| la_max | ... |
| npgfa | ... |
| zeta | ... |
| rpgfa | ... |
| la_min | ... |
| lb_max | ... |
| npgfb | ... |
| zetb | ... |
| rpgfb | ... |
| lb_min | ... |
| order | ... |
| rac | ... |
| rbc | ... |
| difmab | ... |
| mab_ext | ... |
| deltaR | needed for weighted derivative |
| iatom | ... |
| jatom | ... SL August 2015, ED 2021 |
Definition at line 161 of file ai_moments.F.
| subroutine, public ai_moments::contract_cossin | ( | real(dp), dimension(:, :), pointer | cos_block, |
| real(dp), dimension(:, :), pointer | sin_block, | ||
| integer, intent(in) | iatom, | ||
| integer, intent(in) | ncoa, | ||
| integer, intent(in) | nsgfa, | ||
| integer, intent(in) | sgfa, | ||
| real(dp), dimension(:, :), intent(in) | sphi_a, | ||
| integer, intent(in) | ldsa, | ||
| integer, intent(in) | jatom, | ||
| integer, intent(in) | ncob, | ||
| integer, intent(in) | nsgfb, | ||
| integer, intent(in) | sgfb, | ||
| real(dp), dimension(:, :), intent(in) | sphi_b, | ||
| integer, intent(in) | ldsb, | ||
| real(dp), dimension(:, :), intent(in) | cosab, | ||
| real(dp), dimension(:, :), intent(in) | sinab, | ||
| integer, intent(in) | ldab, | ||
| real(dp), dimension(:, :) | work, | ||
| integer, intent(in) | ldwork | ||
| ) |
...
| cos_block | ... |
| sin_block | ... |
| iatom | ... |
| ncoa | ... |
| nsgfa | ... |
| sgfa | ... |
| sphi_a | ... |
| ldsa | ... |
| jatom | ... |
| ncob | ... |
| nsgfb | ... |
| sgfb | ... |
| sphi_b | ... |
| ldsb | ... |
| cosab | ... |
| sinab | ... |
| ldab | ... |
| work | ... |
| ldwork | ... |
Definition at line 257 of file ai_moments.F.
| subroutine, public ai_moments::cossin | ( | integer, intent(in) | la_max_set, |
| integer, intent(in) | npgfa, | ||
| real(kind=dp), dimension(:), intent(in) | zeta, | ||
| real(kind=dp), dimension(:), intent(in) | rpgfa, | ||
| integer, intent(in) | la_min_set, | ||
| 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), dimension(3), intent(in) | rac, | ||
| real(kind=dp), dimension(3), intent(in) | rbc, | ||
| real(kind=dp), dimension(3), intent(in) | kvec, | ||
| real(kind=dp), dimension(:, :), intent(inout) | cosab, | ||
| real(kind=dp), dimension(:, :), intent(inout) | sinab, | ||
| real(kind=dp), dimension(:, :, :), intent(inout), optional | dcosab, | ||
| real(kind=dp), dimension(:, :, :), intent(inout), optional | dsinab | ||
| ) |
...
| la_max_set | ... |
| npgfa | ... |
| zeta | ... |
| rpgfa | ... |
| la_min_set | ... |
| lb_max | ... |
| npgfb | ... |
| zetb | ... |
| rpgfb | ... |
| lb_min | ... |
| rac | ... |
| rbc | ... |
| kvec | ... |
| cosab | ... |
| sinab | ... |
| dcosab | ... |
| dsinab | ... |
Definition at line 336 of file ai_moments.F.
| subroutine, public ai_moments::moment | ( | 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) | zetb, | ||
| real(kind=dp), dimension(:), intent(in) | rpgfb, | ||
| integer, intent(in) | lc_max, | ||
| real(kind=dp), dimension(3), intent(in) | rac, | ||
| real(kind=dp), dimension(3), intent(in) | rbc, | ||
| real(kind=dp), dimension(:, :, :), intent(inout) | mab | ||
| ) |
...
| la_max | ... |
| npgfa | ... |
| zeta | ... |
| rpgfa | ... |
| la_min | ... |
| lb_max | ... |
| npgfb | ... |
| zetb | ... |
| rpgfb | ... |
| lc_max | ... |
| rac | ... |
| rbc | ... |
| mab | ... |
Definition at line 983 of file ai_moments.F.
| subroutine, public ai_moments::diffop | ( | 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) | zetb, | ||
| real(kind=dp), dimension(:), intent(in) | rpgfb, | ||
| integer, intent(in) | lb_min, | ||
| real(kind=dp), dimension(3), intent(in) | rab, | ||
| real(kind=dp), dimension(:, :, :), intent(out) | difab | ||
| ) |
This returns the derivative of the overlap integrals [a|b], with respect to the position of the primitive on the left, i.e. [da/dR_ai|b] = 2*zeta*[a+1i|b] - Ni(a)[a-1i|b].
| la_max | ... |
| npgfa | ... |
| zeta | ... |
| rpgfa | ... |
| la_min | ... |
| lb_max | ... |
| npgfb | ... |
| zetb | ... |
| rpgfb | ... |
| lb_min | ... |
| rab | ... |
| difab | ... |
Definition at line 1515 of file ai_moments.F.
| subroutine, public ai_moments::diff_momop | ( | 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) | zetb, | ||
| real(kind=dp), dimension(:), intent(in) | rpgfb, | ||
| integer, intent(in) | lb_min, | ||
| integer, intent(in) | order, | ||
| real(kind=dp), dimension(3), intent(in) | rac, | ||
| real(kind=dp), dimension(3), intent(in) | rbc, | ||
| real(kind=dp), dimension(:, :, :, :), intent(out) | difmab, | ||
| real(kind=dp), dimension(:, :, :), optional, pointer | mab_ext | ||
| ) |
This returns the derivative of the moment integrals [a|\mu|b], with respect to the position of the primitive on the left, i.e. [da/dR_ai|\mu|b] = 2*zeta*[a+1i|\mu|b] - Ni(a)[a-1i|\mu|b] order indicates the max order of the moment operator to be calculated 1: dipole 2: quadrupole ...
| la_max | ... |
| npgfa | ... |
| zeta | ... |
| rpgfa | ... |
| la_min | ... |
| lb_max | ... |
| npgfb | ... |
| zetb | ... |
| rpgfb | ... |
| lb_min | ... |
| order | ... |
| rac | ... |
| rbc | ... |
| difmab | ... |
| mab_ext | ... |
Definition at line 1580 of file ai_moments.F.
| subroutine, public ai_moments::dipole_force | ( | 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) | zetb, | ||
| real(kind=dp), dimension(:), intent(in) | rpgfb, | ||
| integer, intent(in) | lb_min, | ||
| integer, intent(in) | order, | ||
| real(kind=dp), dimension(3), intent(in) | rac, | ||
| real(kind=dp), dimension(3), intent(in) | rbc, | ||
| real(kind=dp), dimension(:, :), intent(in) | pab, | ||
| real(kind=dp), dimension(:, :), intent(inout) | forcea, | ||
| real(kind=dp), dimension(:, :), intent(inout) | forceb | ||
| ) |
This returns the derivative of the dipole integrals [a|x|b], with respect to the position of the primitive on the left and right, i.e. [da/dR_ai|\mu|b] = 2*zeta*[a+1i|\mu|b] - Ni(a)[a-1i|\mu|b].
| la_max | ... |
| npgfa | ... |
| zeta | ... |
| rpgfa | ... |
| la_min | ... |
| lb_max | ... |
| npgfb | ... |
| zetb | ... |
| rpgfb | ... |
| lb_min | ... |
| order | ... |
| rac | ... |
| rbc | ... |
| pab | ... |
| forcea | ... |
| forceb | ... |
Definition at line 1664 of file ai_moments.F.