Documentation for module ai_overlap

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

source: ai_overlap.F
Loading...

public Subroutines/Functions:

Purpose: Calculation of the two-center overlap integrals [a|b] over Cartesian Gaussian-type functions.
Calculation of the two-center overlap integrals [aa|b] over Cartesian Gaussian-type functions.
Calculation of the two-center overlap integrals [a|b] over Cartesian Gaussian-type functions. First and second derivatives
Calculation of the two-center overlap integrals [a|bb] over Cartesian Gaussian-type functions.
SUBROUTINE
overlap_ab_s (la, zeta, lb, zetb, rab, sab)
Calculation of the two-center overlap integrals [a|b] over Spherical Gaussian-type functions.
SUBROUTINE
overlap_ab_sp (la, zeta, lb, zetb, alat, sab)
Calculation of the overlap integrals [a|b] over cubic periodic Spherical Gaussian-type functions.

SUBROUTINEoverlap(la_max_set, la_min_set, npgfa, rpgfa, zeta, lb_max_set, lb_min_set, npgfb, rpgfb, zetb, rab, dab, sab, da_max_set, return_derivatives, s, lds, sdab, pab, force_a)

Purpose: Calculation of the two-center overlap integrals [a|b] over Cartesian Gaussian-type functions.

Arguments:
INTEGER,
INTENT(in)
:: la_max_set Max L on center A
INTEGER,
INTENT(in)
:: la_min_set Min L on center A
INTEGER,
INTENT(in)
:: npgfa Number of primitives on center A
REAL(dp),
INTENT(in)
:: rpgfa(:) Range of functions on A, used for screening
REAL(dp),
INTENT(in)
:: zeta(:) Exponents on center A
INTEGER,
INTENT(in)
:: lb_max_set Max L on center B
INTEGER,
INTENT(in)
:: lb_min_set Min L on center B
INTEGER,
INTENT(in)
:: npgfb Number of primitives on center B
REAL(dp),
INTENT(in)
:: rpgfb(:) Range of functions on B, used for screening
REAL(dp),
INTENT(in)
:: zetb(:) Exponents on center B
REAL(dp),
INTENT(in)
:: rab(3) Distance vector A-B
REAL(dp),
INTENT(in)
:: dab Distance A-B
REAL(dp),
INTENT(inout)
:: sab(:,:) Final Integrals, basic and derivatives
INTEGER,
INTENT(in)
:: da_max_set Some additional derivative information
LOGICAL,
INTENT(in)
:: return_derivatives Return integral derivatives
REAL(dp),
INTENT(inout)
:: s(lds,lds,*) Work space
INTEGER,
INTENT(in)
:: lds Leading dimension of s
REAL(dp),
INTENT(inout),
OPTIONAL
:: sdab(:,:,:) Return additional derivative integrals
REAL(dp),
INTENT(in),
OPTIONAL
:: pab(:,:) Density matrix block, used to calculate forces
REAL(dp),
INTENT(out),
OPTIONAL
:: force_a(3) Force vector [da/dR|b]

SUBROUTINEoverlap_aab(la1_max, la1_min, npgfa1, rpgfa1, zeta1, la2_max, la2_min, npgfa2, rpgfa2, zeta2, lb_max, lb_min, npgfb, rpgfb, zetb, rab, saab, daab, saba, daba)

Calculation of the two-center overlap integrals [aa|b] over Cartesian Gaussian-type functions.

Arguments:
INTEGER,
INTENT(in)
:: la1_max Max L on center A (basis 1)
INTEGER,
INTENT(in)
:: la1_min Min L on center A (basis 1)
INTEGER,
INTENT(in)
:: npgfa1 Number of primitives on center A (basis 1)
REAL(dp),
INTENT(in)
:: rpgfa1(:) Range of functions on A, used for screening (basis 1)
REAL(dp),
INTENT(in)
:: zeta1(:) Exponents on center A (basis 1)
INTEGER,
INTENT(in)
:: la2_max Max L on center A (basis 2)
INTEGER,
INTENT(in)
:: la2_min Min L on center A (basis 2)
INTEGER,
INTENT(in)
:: npgfa2 Number of primitives on center A (basis 2)
REAL(dp),
INTENT(in)
:: rpgfa2(:) Range of functions on A, used for screening (basis 2)
REAL(dp),
INTENT(in)
:: zeta2(:) Exponents on center A (basis 2)
INTEGER,
INTENT(in)
:: lb_max Max L on center B
INTEGER,
INTENT(in)
:: lb_min Min L on center B
INTEGER,
INTENT(in)
:: npgfb Number of primitives on center B
REAL(dp),
INTENT(in)
:: rpgfb(:) Range of functions on B, used for screening
REAL(dp),
INTENT(in)
:: zetb(:) Exponents on center B
REAL(dp),
INTENT(in)
:: rab(3) Distance vector A-B
REAL(dp),
INTENT(inout),
OPTIONAL
:: saab(:,:,:) Final overlap integrals
REAL(dp),
INTENT(inout),
OPTIONAL
:: daab(:,:,:,:) First derivative overlap integrals
REAL(dp),
INTENT(inout),
OPTIONAL
:: saba(:,:,:) Final overlap integrals; different order
REAL(dp),
INTENT(inout),
OPTIONAL
:: daba(:,:,:,:) First derivative overlap integrals; different order

SUBROUTINEoverlap_ab(la_max, la_min, npgfa, rpgfa, zeta, lb_max, lb_min, npgfb, rpgfb, zetb, rab, sab, dab, ddab)

Calculation of the two-center overlap integrals [a|b] over Cartesian Gaussian-type functions. First and second derivatives

Arguments:
INTEGER,
INTENT(in)
:: la_max Max L on center A
INTEGER,
INTENT(in)
:: la_min Min L on center A
INTEGER,
INTENT(in)
:: npgfa Number of primitives on center A
REAL(dp),
INTENT(in)
:: rpgfa(:) Range of functions on A, used for screening
REAL(dp),
INTENT(in)
:: zeta(:) Exponents on center A
INTEGER,
INTENT(in)
:: lb_max Max L on center B
INTEGER,
INTENT(in)
:: lb_min Min L on center B
INTEGER,
INTENT(in)
:: npgfb Number of primitives on center B
REAL(dp),
INTENT(in)
:: rpgfb(:) Range of functions on B, used for screening
REAL(dp),
INTENT(in)
:: zetb(:) Exponents on center B
REAL(dp),
INTENT(in)
:: rab(3) Distance vector A-B
REAL(dp),
INTENT(inout),
OPTIONAL
:: sab(:,:) Final overlap integrals
REAL(dp),
INTENT(inout),
OPTIONAL
:: dab(:,:,:) First derivative overlap integrals
REAL(dp),
INTENT(inout),
OPTIONAL
:: ddab(:,:,:) Second derivative overlap integrals

SUBROUTINEoverlap_abb(la_max, la_min, npgfa, rpgfa, zeta, lb1_max, lb1_min, npgfb1, rpgfb1, zetb1, lb2_max, lb2_min, npgfb2, rpgfb2, zetb2, rab, sabb, dabb)

Calculation of the two-center overlap integrals [a|bb] over Cartesian Gaussian-type functions.

Arguments:
INTEGER,
INTENT(in)
:: la_max Max L on center A
INTEGER,
INTENT(in)
:: la_min Min L on center A
INTEGER,
INTENT(in)
:: npgfa Number of primitives on center A
REAL(dp),
INTENT(in)
:: rpgfa(:) Range of functions on A, used for screening
REAL(dp),
INTENT(in)
:: zeta(:) Exponents on center A
INTEGER,
INTENT(in)
:: lb1_max Max L on center B (basis 1)
INTEGER,
INTENT(in)
:: lb1_min Min L on center B (basis 1)
INTEGER,
INTENT(in)
:: npgfb1 Number of primitives on center B (basis 1)
REAL(dp),
INTENT(in)
:: rpgfb1(:) Range of functions on B, used for screening (basis 1)
REAL(dp),
INTENT(in)
:: zetb1(:) Exponents on center B (basis 1)
INTEGER,
INTENT(in)
:: lb2_max Max L on center B (basis 2)
INTEGER,
INTENT(in)
:: lb2_min Min L on center B (basis 2)
INTEGER,
INTENT(in)
:: npgfb2 Number of primitives on center B (basis 2)
REAL(dp),
INTENT(in)
:: rpgfb2(:) Range of functions on B, used for screening (basis 2)
REAL(dp),
INTENT(in)
:: zetb2(:) Exponents on center B (basis 2)
REAL(dp),
INTENT(in)
:: rab(3) Distance vector A-B
REAL(dp),
INTENT(inout),
OPTIONAL
:: sabb(:,:,:) Final overlap integrals
REAL(dp),
INTENT(inout),
OPTIONAL
:: dabb(:,:,:,:) First derivative overlap integrals

SUBROUTINEoverlap_ab_s(la, zeta, lb, zetb, rab, sab)

Calculation of the two-center overlap integrals [a|b] over Spherical Gaussian-type functions.

Arguments:
INTEGER,
INTENT(in)
:: la Max L on center A
REAL(dp),
INTENT(in)
:: zeta Exponents on center A
INTEGER,
INTENT(in)
:: lb Max L on center B
REAL(dp),
INTENT(in)
:: zetb Exponents on center B
REAL(dp),
INTENT(in)
:: rab(3) Distance vector A-B
REAL(dp),
INTENT(inout)
:: sab(:,:) Final overlap integrals

SUBROUTINEoverlap_ab_sp(la, zeta, lb, zetb, alat, sab)

Calculation of the overlap integrals [a|b] over cubic periodic Spherical Gaussian-type functions.

Arguments:
INTEGER,
INTENT(in)
:: la Max L on center A
REAL(dp),
INTENT(in)
:: zeta Exponents on center A
INTEGER,
INTENT(in)
:: lb Max L on center B
REAL(dp),
INTENT(in)
:: zetb Exponents on center B
REAL(dp),
INTENT(in)
:: alat Lattice constant
REAL(dp),
INTENT(inout)
:: sab(:,:) Final overlap integrals