## Documentation for module ai_overlap

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

source: ai_overlap.F

#### 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