## Documentation for module generic_os_integrals

Calculation of contracted, spherical Gaussian integrals using the (OS) integral scheme. Routines for the following two-center integrals: i) (a|O(r12)|b) where O(r12) is the overlap, coulomb operator etc. ii) (aba) and (abb) s-overlaps

source: generic_os_integrals.F

#### public Subroutines/Functions:

Calcululates the two-center integrals of the type (a|O(r12)|b) using the OS scheme
calculate overlap integrals (aa,bb)
calculate integrals (a,b,fa)
calculate integrals (a,b,fb)
calculate overlap integrals (a,b)
calculate integrals (a|(r-Ra)^(2m)|b)

#### SUBROUTINEint_operators_r12_ab_os(r12_operator, vab, dvab, rab, fba, fbb, omega, calculate_forces)^

Calcululates the two-center integrals of the type (a|O(r12)|b) using the OS scheme

##### Arguments:
 INTEGER, INTENT(in) :: r12_operator the integral operator, which depends on r12=|r1-r2| REAL(dp), INTENT(inout) :: vab(:,:) integral matrix of spherical contracted Gaussian functions REAL(dp), INTENT(inout), OPTIONAL :: dvab(:,:,:) derivative of the integrals REAL(dp), INTENT(in) :: rab(3) distance vector between center A and B TYPE(gto_basis_set_type), POINTER :: fba basis at center A TYPE(gto_basis_set_type), POINTER :: fbb basis at center B REAL(dp), INTENT(in), OPTIONAL :: omega parameter in the operator LOGICAL, INTENT(in) :: calculate_forces ...

#### SUBROUTINEint_overlap_aabb_os(saabb, oba, obb, rab, debug, dmax)^

calculate overlap integrals (aa,bb)

##### Arguments:
 REAL(dp), POINTER :: saabb(:,:,:,:) integral (aa,bb) TYPE(gto_basis_set_type), POINTER :: oba orbital basis at center A TYPE(gto_basis_set_type), POINTER :: obb orbital basis at center B REAL(dp), INTENT(in) :: rab(3) ... LOGICAL, INTENT(in) :: debug integrals are debugged by recursive routines if requested REAL(dp), INTENT(inout) :: dmax maximal deviation between integrals when debugging

#### SUBROUTINEint_overlap_aba_os(abaint, dabdaint, rab, oba, obb, fba, calculate_forces, debug, dmax, screen)^

calculate integrals (a,b,fa)

##### Arguments:
 REAL(dp), ALLOCATABLE :: abaint(:,:,:) integral (a,b,fa) REAL(dp), ALLOCATABLE, OPTIONAL :: dabdaint(:,:,:,:) derivative of abaint with respect to A REAL(dp), INTENT(in) :: rab(3) distance vector between center A and B TYPE(gto_basis_set_type), POINTER :: oba orbital basis at center A TYPE(gto_basis_set_type), POINTER :: obb orbital basis at center B TYPE(gto_basis_set_type), POINTER :: fba auxiliary basis set at center A LOGICAL, INTENT(in) :: calculate_forces ... LOGICAL, INTENT(in) :: debug integrals are debugged by recursive routines if requested REAL(dp), INTENT(inout) :: dmax maximal deviation between integrals when debugging REAL(dp), INTENT(inout) :: screen(:) max value of (:,:, i) integrals

#### SUBROUTINEint_overlap_abb_os(abbint, dabbint, rab, oba, obb, fbb, calculate_forces, debug, dmax, screen)^

calculate integrals (a,b,fb)

##### Arguments:
 REAL(dp), ALLOCATABLE :: abbint(:,:,:) integral (a,b,fb) REAL(dp), ALLOCATABLE, OPTIONAL :: dabbint(:,:,:,:) derivative of abbint with respect to A REAL(dp), INTENT(in) :: rab(3) distance vector between center A and B TYPE(gto_basis_set_type), POINTER :: oba orbital basis at center A TYPE(gto_basis_set_type), POINTER :: obb orbital basis at center B TYPE(gto_basis_set_type), POINTER :: fbb auxiliary basis set at center B LOGICAL, INTENT(in) :: calculate_forces ... LOGICAL, INTENT(in) :: debug integrals are debugged by recursive routines if requested REAL(dp), INTENT(inout) :: dmax maximal deviation between integrals when debugging REAL(dp), INTENT(inout) :: screen(:) max value of (:,:, i) integrals

#### SUBROUTINEint_overlap_ab_os(sab, dsab, rab, fba, fbb, calculate_forces, debug, dmax)^

calculate overlap integrals (a,b)

##### Arguments:
 REAL(dp), INTENT(inout), ALLOCATABLE :: sab(:,:) integral (a,b) REAL(dp), INTENT(inout), ALLOCATABLE, OPTIONAL :: dsab(:,:,:) derivative of sab with respect to A REAL(dp), INTENT(in) :: rab(3) distance vector between center A and B TYPE(gto_basis_set_type), POINTER :: fba basis at center A TYPE(gto_basis_set_type), POINTER :: fbb basis at center B LOGICAL, INTENT(in) :: calculate_forces ... LOGICAL, INTENT(in) :: debug integrals are debugged by recursive routines if requested REAL(dp), INTENT(inout) :: dmax maximal deviation between integrals when debugging

#### SUBROUTINEint_ra2m_ab_os(sab, dsab, rab, fba, fbb, m, calculate_forces)^

calculate integrals (a|(r-Ra)^(2m)|b)

##### Arguments:
 REAL(dp), INTENT(inout) :: sab(:,:) integral (a|(r-Ra)^(2m)|b) REAL(dp), INTENT(inout), OPTIONAL :: dsab(:,:,:) derivative of sab with respect to A REAL(dp), INTENT(in) :: rab(3) distance vector between center A and B TYPE(gto_basis_set_type), POINTER :: fba fba basis at center A TYPE(gto_basis_set_type), POINTER :: fbb fbb basis at center B INTEGER, INTENT(in) :: m exponent m in operator (r-Ra)^(2m) LOGICAL, INTENT(in) :: calculate_forces ...