Documentation for module semi_empirical_int_num

Integrals for semi-empiric methods

source: semi_empirical_int_num.F
Loading...

public Subroutines/Functions:

Computes the electrostatic core-core interactions only.
Computes the core-core interactions.
Calculates the nuclear attraction integrals CORE (main driver)
Numerical Derivatives for corecore
Numerical Derivatives for corecore
Numerical Derivatives for rotint
Numerical Derivatives for rotnuc
Calculates the nuclear attraction integrals involving d orbitals
...
Computes the two particle interactions in the lab frame
Computes the two-particle interactions.
Calculates the SSSS integrals (main driver)
Calculates the two-electron repulsion integrals - d shell only
Calculates the derivative pf two-electron repulsion integrals and the nuclear attraction integrals w.r.t. |r|
Calculates the two-electron repulsion integrals - sp shell only

SUBROUTINEcorecore_el_num(sepi, sepj, rijv, enuc, itype, se_int_control, se_taper)

Computes the electrostatic core-core interactions only.

Arguments:
POINTER
:: sepi Atomic parameters of first atom
POINTER
:: sepj Atomic parameters of second atom
REAL(dp),
INTENT(in)
:: rijv(3) Coordinate vector i -> j
REAL(dp),
INTENT(out)
:: enuc nuclear-nuclear repulsion term.
INTEGER,
INTENT(in)
:: itype ...
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
POINTER
:: se_taper ...

SUBROUTINEcorecore_num(sepi, sepj, rijv, enuc, itype, se_int_control, se_taper)

Computes the core-core interactions.

Arguments:
POINTER
:: sepi Atomic parameters of first atom
POINTER
:: sepj Atomic parameters of second atom
REAL(dp),
INTENT(in)
:: rijv(3) Coordinate vector i -> j
REAL(dp),
INTENT(out)
:: enuc nuclear-nuclear repulsion term.
INTEGER,
INTENT(in)
:: itype ...
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
POINTER
:: se_taper ...

SUBROUTINEcore_nucint_num(sepi, sepj, rij, core, itype, se_taper, se_int_control)

Calculates the nuclear attraction integrals CORE (main driver)

Arguments:
POINTER
:: sepi paramters of atom i
POINTER
:: sepj paramters of atom j
REAL(dp),
INTENT(in)
:: rij interatomic distance
REAL(dp),
INTENT(out)
:: core(10,2) derivative of 4 X 2 array of electron-core attraction integrals derivatives are intended w.r.t. rij
INTEGER,
INTENT(in)
:: itype type of semi_empirical model extension to the original routine to compute qm/mm integrals
POINTER
:: se_taper ...
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)

SUBROUTINEdcorecore_el_num(sepi, sepj, r, denuc, itype, delta, se_int_control, se_taper)

Numerical Derivatives for corecore

Arguments:
POINTER
:: sepi ...
POINTER
:: sepj ...
REAL(dp),
INTENT(in)
:: r(3) ...
REAL(dp),
INTENT(out)
:: denuc(3) ...
INTEGER,
INTENT(in)
:: itype ...
REAL(dp),
INTENT(in)
:: delta ...
INTENT(in)
:: se_int_control ...
POINTER
:: se_taper ...

SUBROUTINEdcorecore_num(sepi, sepj, r, denuc, itype, delta, se_int_control, se_taper)

Numerical Derivatives for corecore

Arguments:
POINTER
:: sepi ...
POINTER
:: sepj ...
REAL(dp),
INTENT(in)
:: r(3) ...
REAL(dp),
INTENT(out)
:: denuc(3) ...
INTEGER,
INTENT(in)
:: itype ...
REAL(dp),
INTENT(in)
:: delta ...
INTENT(in)
:: se_int_control ...
POINTER
:: se_taper ...

SUBROUTINEdrotint_num(sepi, sepj, r, dw, delta, se_int_control, se_taper)

Numerical Derivatives for rotint

Arguments:
POINTER
:: sepi ...
POINTER
:: sepj ...
REAL(dp),
INTENT(in)
:: r(3) ...
REAL(dp),
INTENT(out)
:: dw(3,2025) ...
REAL(dp),
INTENT(in)
:: delta ...
INTENT(in)
:: se_int_control ...
POINTER
:: se_taper ...

SUBROUTINEdrotnuc_num(sepi, sepj, r, de1b, de2a, itype, delta, se_int_control, se_taper)

Numerical Derivatives for rotnuc

Arguments:
POINTER
:: sepi ...
POINTER
:: sepj ...
REAL(dp),
INTENT(in)
:: r(3) ...
REAL(dp),
INTENT(out),
OPTIONAL
:: de1b(3,45) ...
REAL(dp),
INTENT(out),
OPTIONAL
:: de2a(3,45) ...
INTEGER,
INTENT(in)
:: itype ...
REAL(dp),
INTENT(in)
:: delta ...
INTENT(in)
:: se_int_control ...
POINTER
:: se_taper ...

SUBROUTINEnucint_d_num(sepi, sepj, rij, core, itype, se_int_control, se_int_screen)

Calculates the nuclear attraction integrals involving d orbitals

Arguments:
POINTER
:: sepi paramters of atom i
POINTER
:: sepj paramters of atom j
REAL(dp),
INTENT(in)
:: rij interatomic distance
REAL(dp),
INTENT(inout)
:: core(10,2) 4 X 2 array of electron-core attraction integrals
INTEGER,
INTENT(in)
:: itype type of semi_empirical model extension to the original routine to compute qm/mm integrals
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
INTENT(in)
:: se_int_screen contains information for computing the screened integrals KDSO-D

SUBROUTINEnucint_sp_num(sepi, sepj, rij, ssss, core, itype, se_int_control, se_int_screen)

...

Arguments:
POINTER
:: sepi ...
POINTER
:: sepj ...
REAL(dp),
INTENT(in)
:: rij ...
REAL(dp),
INTENT(inout),
OPTIONAL
:: ssss ...
REAL(dp),
INTENT(inout),
OPTIONAL
:: core(10,2) ...
INTEGER,
INTENT(in)
:: itype ...
INTENT(in)
:: se_int_control ...
INTENT(in)
:: se_int_screen ...

SUBROUTINErotint_num(sepi, sepj, rijv, w, se_int_control, se_taper)

Computes the two particle interactions in the lab frame

Arguments:
POINTER
:: sepi Atomic parameters of first atom
POINTER
:: sepj Atomic parameters of second atom
REAL(dp),
INTENT(in)
:: rijv(3) Coordinate vector i -> j
REAL(dp),
INTENT(out)
:: w(2025) Array of two-electron repulsion integrals.
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
POINTER
:: se_taper ...

SUBROUTINErotnuc_num(sepi, sepj, rijv, e1b, e2a, itype, se_int_control, se_taper)

Computes the two-particle interactions.

Arguments:
POINTER
:: sepi Atomic parameters of first atom
POINTER
:: sepj Atomic parameters of second atom
REAL(dp),
INTENT(in)
:: rijv(3) Coordinate vector i -> j
REAL(dp),
INTENT(out),
OPTIONAL
:: e1b(45) Array of electron-nuclear attraction integrals, e1b = Electron on atom ni attracting nucleus of nj.
REAL(dp),
INTENT(out),
OPTIONAL
:: e2a(45) Array of electron-nuclear attraction integrals, e2a = Electron on atom nj attracting nucleus of ni.
INTEGER,
INTENT(in)
:: itype ...
INTENT(in)
:: se_int_control ...
POINTER
:: se_taper ...

SUBROUTINEssss_nucint_num(sepi, sepj, rij, ssss, itype, se_taper, se_int_control)

Calculates the SSSS integrals (main driver)

Arguments:
POINTER
:: sepi paramters of atom i
POINTER
:: sepj paramters of atom j
REAL(dp),
INTENT(in)
:: rij interatomic distance
REAL(dp),
INTENT(out)
:: ssss derivative of (ssss) integral derivatives are intended w.r.t. rij
INTEGER,
INTENT(in)
:: itype type of semi_empirical model extension to the original routine to compute qm/mm integrals
POINTER
:: se_taper ...
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)

SUBROUTINEterep_d_num(sepi, sepj, rij, rep, se_int_control, se_int_screen, ft)

Calculates the two-electron repulsion integrals - d shell only

Arguments:
POINTER
:: sepi ...
POINTER
:: sepj ...
REAL(dp),
INTENT(in)
:: rij interatomic distance
REAL(dp),
INTENT(inout)
:: rep(491) array of two-electron repulsion integrals
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
INTENT(in)
:: se_int_screen contains information for computing the screened integrals KDSO-D
REAL(dp),
INTENT(in)
:: ft ...

SUBROUTINEterep_num(sepi, sepj, rij, rep, se_taper, se_int_control)

Calculates the derivative pf two-electron repulsion integrals and the nuclear attraction integrals w.r.t. |r|

Arguments:
POINTER
:: sepi paramters of atom i
POINTER
:: sepj paramters of atom j
REAL(dp),
INTENT(in)
:: rij interatomic distance
REAL(dp),
INTENT(out)
:: rep(491) array of two-electron repulsion integrals
POINTER
:: se_taper ...
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)

SUBROUTINEterep_sp_num(sepi, sepj, rij, rep, se_int_control, se_int_screen, ft)

Calculates the two-electron repulsion integrals - sp shell only

Arguments:
POINTER
:: sepi paramters of atom i
POINTER
:: sepj paramters of atom j
REAL(dp),
INTENT(in)
:: rij ...
REAL(dp),
INTENT(out)
:: rep(491) array of two-electron repulsion integrals
INTENT(in)
:: se_int_control input parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
INTENT(in)
:: se_int_screen contains information for computing the screened integrals KDSO-D
REAL(dp),
INTENT(in)
:: ft ...