(git:3add494)
semi_empirical_int_num Module Reference

Integrals for semi-empiric methods. More...

Functions/Subroutines

subroutine, public rotint_num (sepi, sepj, rijv, w, se_int_control, se_taper)
 Computes the two particle interactions in the lab frame. More...
 
subroutine, public terep_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|. More...
 
subroutine, public terep_sp_num (sepi, sepj, rij, rep, se_int_control, se_int_screen, ft)
 Calculates the two-electron repulsion integrals - sp shell only. More...
 
subroutine, public terep_d_num (sepi, sepj, rij, rep, se_int_control, se_int_screen, ft)
 Calculates the two-electron repulsion integrals - d shell only. More...
 
subroutine, public rotnuc_num (sepi, sepj, rijv, e1b, e2a, itype, se_int_control, se_taper)
 Computes the two-particle interactions. More...
 
subroutine, public corecore_num (sepi, sepj, rijv, enuc, itype, se_int_control, se_taper)
 Computes the core-core interactions. More...
 
subroutine, public corecore_el_num (sepi, sepj, rijv, enuc, itype, se_int_control, se_taper)
 Computes the electrostatic core-core interactions only. More...
 
subroutine, public ssss_nucint_num (sepi, sepj, rij, ssss, itype, se_taper, se_int_control)
 Calculates the SSSS integrals (main driver) More...
 
subroutine, public core_nucint_num (sepi, sepj, rij, core, itype, se_taper, se_int_control)
 Calculates the nuclear attraction integrals CORE (main driver) More...
 
subroutine, public nucint_sp_num (sepi, sepj, rij, ssss, core, itype, se_int_control, se_int_screen)
 ... More...
 
subroutine, public nucint_d_num (sepi, sepj, rij, core, itype, se_int_control, se_int_screen)
 Calculates the nuclear attraction integrals involving d orbitals. More...
 
subroutine, public drotint_num (sepi, sepj, r, dw, delta, se_int_control, se_taper)
 Numerical Derivatives for rotint. More...
 
subroutine, public drotnuc_num (sepi, sepj, r, de1b, de2a, itype, delta, se_int_control, se_taper)
 Numerical Derivatives for rotnuc. More...
 
subroutine, public dcorecore_num (sepi, sepj, r, denuc, itype, delta, se_int_control, se_taper)
 Numerical Derivatives for corecore. More...
 
subroutine, public dcorecore_el_num (sepi, sepj, r, denuc, itype, delta, se_int_control, se_taper)
 Numerical Derivatives for corecore. More...
 

Detailed Description

Integrals for semi-empiric methods.

History
JGH (27.10.2004) : separate routine for nuclear attraction integrals JGH (13.03.2006) : tapering function Teodoro Laino (03.2008) [tlaino] - University of Zurich : new driver for computing integrals
Author
JGH (11.10.2004)

Function/Subroutine Documentation

◆ rotint_num()

subroutine, public semi_empirical_int_num::rotint_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  rijv,
real(dp), dimension(2025), intent(out)  w,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Computes the two particle interactions in the lab frame.

Parameters
sepiAtomic parameters of first atom
sepjAtomic parameters of second atom
rijvCoordinate vector i -> j
wArray of two-electron repulsion integrals.
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
se_taper...
Note
routine adapted from mopac7 (rotate) written by Ernest R. Davidson, Indiana University. Teodoro Laino [tlaino] - University of Zurich 04.2008 : major rewriting

Definition at line 76 of file semi_empirical_int_num.F.

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

◆ terep_num()

subroutine, public semi_empirical_int_num::terep_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), intent(in)  rij,
real(dp), dimension(491), intent(out)  rep,
type(se_taper_type), pointer  se_taper,
type(se_int_control_type), intent(in)  se_int_control 
)

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

Parameters
sepiparameters of atom i
sepjparameters of atom j
rijinteratomic distance
reparray of two-electron repulsion integrals
se_taper...
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
History
03.2008 created [tlaino]
Author
Teodoro Laino [tlaino] - Zurich University

Definition at line 225 of file semi_empirical_int_num.F.

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

◆ terep_sp_num()

subroutine, public semi_empirical_int_num::terep_sp_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), intent(in)  rij,
real(dp), dimension(491), intent(out)  rep,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen,
real(dp), intent(in)  ft 
)

Calculates the two-electron repulsion integrals - sp shell only.

Parameters
sepiparameters of atom i
sepjparameters of atom j
rij...
reparray of two-electron repulsion integrals
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
se_int_screencontains information for computing the screened integrals KDSO-D
ft...
History
Teodoro Laino (04.2008) [tlaino] - University of Zurich : new driver for computing integrals

Definition at line 267 of file semi_empirical_int_num.F.

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

◆ terep_d_num()

subroutine, public semi_empirical_int_num::terep_d_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), intent(in)  rij,
real(dp), dimension(491), intent(inout)  rep,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen,
real(dp), intent(in)  ft 
)

Calculates the two-electron repulsion integrals - d shell only.

Parameters
sepi...
sepj...
rijinteratomic distance
reparray of two-electron repulsion integrals
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
se_int_screencontains information for computing the screened integrals KDSO-D
ft...
History
Teodoro Laino (04.2008) [tlaino] - University of Zurich : new driver for computing integrals

Definition at line 328 of file semi_empirical_int_num.F.

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

◆ rotnuc_num()

subroutine, public semi_empirical_int_num::rotnuc_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  rijv,
real(dp), dimension(45), intent(out), optional  e1b,
real(dp), dimension(45), intent(out), optional  e2a,
integer, intent(in)  itype,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Computes the two-particle interactions.

Parameters
sepiAtomic parameters of first atom
sepjAtomic parameters of second atom
rijvCoordinate vector i -> j
e1bArray of electron-nuclear attraction integrals, e1b = Electron on atom ni attracting nucleus of nj.
e2aArray of electron-nuclear attraction integrals, e2a = Electron on atom nj attracting nucleus of ni.
itype...
se_int_control...
se_taper...
Note
routine adapted from mopac7 (rotate) written by Ernest R. Davidson, Indiana University. Teodoro Laino [tlaino] - University of Zurich 04.2008 : major rewriting Teodoro Laino [tlaino] - University of Zurich 04.2008 : removed the core-core part

Definition at line 393 of file semi_empirical_int_num.F.

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

◆ corecore_num()

subroutine, public semi_empirical_int_num::corecore_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  rijv,
real(dp), intent(out)  enuc,
integer, intent(in)  itype,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Computes the core-core interactions.

Parameters
sepiAtomic parameters of first atom
sepjAtomic parameters of second atom
rijvCoordinate vector i -> j
enucnuclear-nuclear repulsion term.
itype...
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
se_taper...
Note
routine adapted from mopac7 (rotate) written by Ernest R. Davidson, Indiana University. Teodoro Laino [tlaino] - University of Zurich 04.2008 : major rewriting Teodoro Laino [tlaino] - University of Zurich 04.2008 : splitted from rotnuc

Definition at line 499 of file semi_empirical_int_num.F.

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

◆ corecore_el_num()

subroutine, public semi_empirical_int_num::corecore_el_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  rijv,
real(dp), intent(out)  enuc,
integer, intent(in)  itype,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Computes the electrostatic core-core interactions only.

Parameters
sepiAtomic parameters of first atom
sepjAtomic parameters of second atom
rijvCoordinate vector i -> j
enucnuclear-nuclear repulsion term.
itype...
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
se_taper...
Author
Teodoro Laino [tlaino] - 05.2009

Definition at line 673 of file semi_empirical_int_num.F.

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

◆ ssss_nucint_num()

subroutine, public semi_empirical_int_num::ssss_nucint_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), intent(in)  rij,
real(dp), intent(out)  ssss,
integer, intent(in)  itype,
type(se_taper_type), pointer  se_taper,
type(se_int_control_type), intent(in)  se_int_control 
)

Calculates the SSSS integrals (main driver)

Parameters
sepiparameters of atom i
sepjparameters of atom j
rijinteratomic distance
ssssderivative of (ssss) integral derivatives are intended w.r.t. rij
itypetype of semi_empirical model extension to the original routine to compute qm/mm integrals
se_taper...
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
History
03.2008 created [tlaino]
Author
Teodoro Laino - Zurich University

Definition at line 722 of file semi_empirical_int_num.F.

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

◆ core_nucint_num()

subroutine, public semi_empirical_int_num::core_nucint_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), intent(in)  rij,
real(dp), dimension(10, 2), intent(out)  core,
integer, intent(in)  itype,
type(se_taper_type), pointer  se_taper,
type(se_int_control_type), intent(in)  se_int_control 
)

Calculates the nuclear attraction integrals CORE (main driver)

Parameters
sepiparameters of atom i
sepjparameters of atom j
rijinteratomic distance
corederivative of 4 X 2 array of electron-core attraction integrals derivatives are intended w.r.t. rij
itypetype of semi_empirical model extension to the original routine to compute qm/mm integrals
se_taper...
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
History
03.2008 created [tlaino]
Author
Teodoro Laino - Zurich University

Definition at line 773 of file semi_empirical_int_num.F.

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

◆ nucint_sp_num()

subroutine, public semi_empirical_int_num::nucint_sp_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), intent(in)  rij,
real(dp), intent(inout), optional  ssss,
real(dp), dimension(10, 2), intent(inout), optional  core,
integer, intent(in)  itype,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen 
)

...

Parameters
sepi...
sepj...
rij...
ssss...
core...
itype...
se_int_control...
se_int_screen...
History
Teodoro Laino (04.2008) [tlaino] - University of Zurich : new driver for computing integrals Teodoro Laino (04.2008) [tlaino] - Totally rewritten: nothing to do with the old version

Definition at line 837 of file semi_empirical_int_num.F.

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

◆ nucint_d_num()

subroutine, public semi_empirical_int_num::nucint_d_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), intent(in)  rij,
real(dp), dimension(10, 2), intent(inout)  core,
integer, intent(in)  itype,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen 
)

Calculates the nuclear attraction integrals involving d orbitals.

Parameters
sepiparameters of atom i
sepjparameters of atom j
rijinteratomic distance
core4 X 2 array of electron-core attraction integrals
    The storage of the nuclear attraction integrals  core(kl/ij) iS
    (SS/)=1,   (SP/)=2,   (PP/)=3,   (P+P+/)=4,   (SD/)=5,
    (DP/)=6,   (DD/)=7,   (D+P+)=8,  (D+D+/)=9,   (D#D#)=10

    where ij=1 if the orbitals centred on atom i,  =2 if on atom j.
itypetype of semi_empirical model extension to the original routine to compute qm/mm integrals
se_int_controlinput parameters that control the calculation of SE integrals (shortrange, R3 residual, screening type)
se_int_screencontains information for computing the screened integrals KDSO-D
Author
Teodoro Laino (03.2008) [tlaino] - University of Zurich

Definition at line 918 of file semi_empirical_int_num.F.

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

◆ drotint_num()

subroutine, public semi_empirical_int_num::drotint_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  r,
real(dp), dimension(3, 2025), intent(out)  dw,
real(dp), intent(in)  delta,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Numerical Derivatives for rotint.

Parameters
sepi...
sepj...
r...
dw...
delta...
se_int_control...
se_taper...

Definition at line 987 of file semi_empirical_int_num.F.

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

◆ drotnuc_num()

subroutine, public semi_empirical_int_num::drotnuc_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  r,
real(dp), dimension(3, 45), intent(out), optional  de1b,
real(dp), dimension(3, 45), intent(out), optional  de2a,
integer, intent(in)  itype,
real(dp), intent(in)  delta,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Numerical Derivatives for rotnuc.

Parameters
sepi...
sepj...
r...
de1b...
de2a...
itype...
delta...
se_int_control...
se_taper...

Definition at line 1027 of file semi_empirical_int_num.F.

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

◆ dcorecore_num()

subroutine, public semi_empirical_int_num::dcorecore_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  r,
real(dp), dimension(3), intent(out)  denuc,
integer, intent(in)  itype,
real(dp), intent(in)  delta,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Numerical Derivatives for corecore.

Parameters
sepi...
sepj...
r...
denuc...
itype...
delta...
se_int_control...
se_taper...

Definition at line 1076 of file semi_empirical_int_num.F.

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

◆ dcorecore_el_num()

subroutine, public semi_empirical_int_num::dcorecore_el_num ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(dp), dimension(3), intent(in)  r,
real(dp), dimension(3), intent(out)  denuc,
integer, intent(in)  itype,
real(dp), intent(in)  delta,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper 
)

Numerical Derivatives for corecore.

Parameters
sepi...
sepj...
r...
denuc...
itype...
delta...
se_int_control...
se_taper...

Definition at line 1111 of file semi_empirical_int_num.F.

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