(git:cd2a8c4)
Loading...
Searching...
No Matches
ai_moments Module Reference

Calculation of the moment integrals over Cartesian Gaussian-type functions. More...

Functions/Subroutines

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, ordered)
 ...
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 diff_momop (la_max, npgfa, zeta, rpgfa, la_min, lb_max, npgfb, zetb, rpgfb, lb_min, order, rac, rbc, difmab, mab_ext, deltar, lambda, iatom, jatom)
 This returns the derivative of the moment integrals [a|\mu|b]. By default, it differentiates the primitive on the right: [a|\mu|d/dR_bi] = 2*zetb*[a|\mu|b+1i] - Ni(b)[a|\mu|b-1i] A weighted derivative combines the left and right primitive derivatives using deltaR for the corresponding atom centers. 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].

Detailed Description

Calculation of the moment integrals over Cartesian Gaussian-type functions.

Literature
S. Obara and A. Saika, J. Chem. Phys. 84, 3963 (1986)
History
none
Author
J. Hutter (16.02.2005)

Function/Subroutine Documentation

◆ contract_cossin()

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,
logical, intent(in), optional ordered )

...

Parameters
cos_block...
sin_block...
iatom...
ncoa...
nsgfa...
sgfa...
sphi_a...
ldsa...
jatom...
ncob...
nsgfb...
sgfb...
sphi_b...
ldsb...
cosab...
sinab...
ldab...
work...
ldwork...
orderedretain the ordered atom pair instead of mapping to an upper block

Definition at line 74 of file ai_moments.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cossin()

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 )

...

Parameters
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 159 of file ai_moments.F.

Here is the caller graph for this function:

◆ moment()

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 )

...

Parameters
la_max...
npgfa...
zeta...
rpgfa...
la_min...
lb_max...
npgfb...
zetb...
rpgfb...
lc_max...
rac...
rbc...
mab...

Definition at line 806 of file ai_moments.F.

Here is the caller graph for this function:

◆ diff_momop()

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,
real(kind=dp), dimension(:, :), optional, pointer deltar,
integer, intent(in), optional lambda,
integer, intent(in), optional iatom,
integer, intent(in), optional jatom )

This returns the derivative of the moment integrals [a|\mu|b]. By default, it differentiates the primitive on the right: [a|\mu|d/dR_bi] = 2*zetb*[a|\mu|b+1i] - Ni(b)[a|\mu|b-1i] A weighted derivative combines the left and right primitive derivatives using deltaR for the corresponding atom centers. order indicates the max order of the moment operator to be calculated 1: dipole 2: quadrupole ...

Parameters
la_max...
npgfa...
zeta...
rpgfa...
la_min...
lb_max...
npgfb...
zetb...
rpgfb...
lb_min...
order...
rac...
rbc...
difmab...
mab_ext...
deltaRoptional weights for the left and right primitive derivatives
lambdaoptional atom selector for the factor (iatom == lambda) - (jatom == lambda)
iatomatom associated with the left basis function
jatomatom associated with the right basis function
Note

Definition at line 1352 of file ai_moments.F.

Here is the call graph for this function:

◆ dipole_force()

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].

Parameters
la_max...
npgfa...
zeta...
rpgfa...
la_min...
lb_max...
npgfb...
zetb...
rpgfb...
lb_min...
order...
rac...
rbc...
pab...
forcea...
forceb...
Note

Definition at line 1466 of file ai_moments.F.

Here is the call graph for this function:
Here is the caller graph for this function: