(git:3add494)
semi_empirical_int_utils Module Reference

Utilities for Integrals for semi-empiric methods. More...

Data Types

interface  check_dssss_nucint_ana
 Check Numerical Vs Analytical NUCINT ssss. More...
 
interface  check_dcore_nucint_ana
 Check Numerical Vs Analytical NUCINT core. More...
 
interface  check_drotnuc_ana
 Check Numerical Vs Analytical ROTNUC. More...
 
interface  check_dcorecore_ana
 Check Numerical Vs Analytical CORECORE. More...
 
interface  rot_2el_2c_first_debug
 Check Numerical Vs Analytical rot_2el_2c_first. More...
 
interface  check_dterep_ana
 Check Numerical Vs Analytical check_dterep_ana. More...
 
interface  check_rotint_ana
 Check Numerical Vs Analytical check_rotint_ana. More...
 
interface  eval_func_d
 ... More...
 

Functions/Subroutines

real(kind=dp) function, public ijkl_sp (sepi, sepj, ij, kl, li, lj, lk, ll, ic, r, se_int_control, se_int_screen, itype)
 General driver for computing semi-empirical integrals <ij|kl> with sp basis set. This code uses the old definitions of quadrupoles and therefore cannot be used for integrals involving d-orbitals (which require a definition of quadrupoles based on the rotational invariant property) More...
 
real(kind=dp) function, public d_ijkl_sp (sepi, sepj, ij, kl, li, lj, lk, ll, ic, r, se_int_control, se_int_screen, itype)
 General driver for computing derivatives of semi-empirical integrals <ij|kl> with sp basis set. This code uses the old definitions of quadrupoles and therefore cannot be used for integrals involving d-orbitals (which requires a definition of quadrupoles based on the rotational invariant property) More...
 
real(kind=dp) function, public ijkl_d (sepi, sepj, ij, kl, li, lj, lk, ll, ic, r, se_int_control, se_int_screen, itype)
 General driver for computing semi-empirical integrals <ij|kl> involving d-orbitals. The choice of the linear quadrupole was REALLY unhappy in the first development of the NDDO codes. That choice makes impossible the merging of the integral code with or without d-orbitals unless a reparametrization of all NDDO codes for s and p orbitals will be performed.. more over the choice of the linear quadrupole does not make calculations rotational invariants (of course the rotational invariant can be forced). The definitions of quadrupoles for d-orbitals is the correct one in order to have the rotational invariant property by construction.. More...
 
real(kind=dp) function, public d_ijkl_d (sepi, sepj, ij, kl, li, lj, lk, ll, ic, r, se_int_control, se_int_screen, itype)
 General driver for computing the derivatives of semi-empirical integrals <ij|kl> involving d-orbitals. The choice of the linear quadrupole was REALLY unhappy in the first development of the NDDO codes. That choice makes impossible the merging of the integral code with or without d-orbitals unless a reparametrization of all NDDO codes for s and p orbitals will be performed.. more over the choice of the linear quadrupole does not make calculations rotational invariants (of course the rotational invariant can be forced). The definitions of quadrupoles for d-orbitals is the correct one in order to have the rotational invariant property by construction.. More...
 
recursive subroutine, public rotmat (sepi, sepj, rjiv, r, ij_matrix, do_derivatives, do_invert, debug_invert)
 Computes the general rotation matrices for the integrals between I and J (J>=I) More...
 
recursive subroutine, public rot_2el_2c_first (sepi, sepj, rijv, se_int_control, se_taper, invert, ii, kk, rep, logv, ij_matrix, v, lgrad, rep_d, v_d, logv_d, drij)
 First Step of the rotation of the two-electron two-center integrals in SPD basis. More...
 
subroutine, public store_2el_2c_diag (limij, limkl, ww, w, ww_dx, ww_dy, ww_dz, dw)
 Store the two-electron two-center integrals in diagonal form. More...
 

Detailed Description

Utilities for Integrals for semi-empiric methods.

Author
Teodoro Laino (03.2008) [tlaino] - University of Zurich

Function/Subroutine Documentation

◆ ijkl_sp()

real(kind=dp) function, public semi_empirical_int_utils::ijkl_sp ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
integer, intent(in)  ij,
integer, intent(in)  kl,
integer, intent(in)  li,
integer, intent(in)  lj,
integer, intent(in)  lk,
integer, intent(in)  ll,
integer, intent(in)  ic,
real(kind=dp), intent(in)  r,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen,
integer, intent(in)  itype 
)

General driver for computing semi-empirical integrals <ij|kl> with sp basis set. This code uses the old definitions of quadrupoles and therefore cannot be used for integrals involving d-orbitals (which require a definition of quadrupoles based on the rotational invariant property)

Parameters
sepi...
sepj...
ij...
kl...
li...
lj...
lk...
ll...
ic...
r...
se_int_control...
se_int_screen...
itype...
Returns
...
Date
04.2008 [tlaino]
Author
Teodoro Laino [tlaino] - University of Zurich

Definition at line 308 of file semi_empirical_int_utils.F.

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

◆ d_ijkl_sp()

real(kind=dp) function, public semi_empirical_int_utils::d_ijkl_sp ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
integer, intent(in)  ij,
integer, intent(in)  kl,
integer, intent(in)  li,
integer, intent(in)  lj,
integer, intent(in)  lk,
integer, intent(in)  ll,
integer, intent(in)  ic,
real(kind=dp), intent(in)  r,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen,
integer, intent(in)  itype 
)

General driver for computing derivatives of semi-empirical integrals <ij|kl> with sp basis set. This code uses the old definitions of quadrupoles and therefore cannot be used for integrals involving d-orbitals (which requires a definition of quadrupoles based on the rotational invariant property)

Parameters
sepi...
sepj...
ij...
kl...
li...
lj...
lk...
ll...
ic...
r...
se_int_control...
se_int_screen...
itype...
Returns
...
Date
05.2008 [tlaino]
Author
Teodoro Laino [tlaino] - University of Zurich

Definition at line 357 of file semi_empirical_int_utils.F.

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

◆ ijkl_d()

real(kind=dp) function, public semi_empirical_int_utils::ijkl_d ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
integer, intent(in)  ij,
integer, intent(in)  kl,
integer, intent(in)  li,
integer, intent(in)  lj,
integer, intent(in)  lk,
integer, intent(in)  ll,
integer, intent(in)  ic,
real(kind=dp), intent(in)  r,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen,
integer, intent(in)  itype 
)

General driver for computing semi-empirical integrals <ij|kl> involving d-orbitals. The choice of the linear quadrupole was REALLY unhappy in the first development of the NDDO codes. That choice makes impossible the merging of the integral code with or without d-orbitals unless a reparametrization of all NDDO codes for s and p orbitals will be performed.. more over the choice of the linear quadrupole does not make calculations rotational invariants (of course the rotational invariant can be forced). The definitions of quadrupoles for d-orbitals is the correct one in order to have the rotational invariant property by construction..

Parameters
sepi...
sepj...
ij...
kl...
li...
lj...
lk...
ll...
ic...
r...
se_int_control...
se_int_screen...
itype...
Returns
...
Date
03.2008 [tlaino]
Author
Teodoro Laino [tlaino] - University of Zurich

Definition at line 1197 of file semi_empirical_int_utils.F.

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

◆ d_ijkl_d()

real(kind=dp) function, public semi_empirical_int_utils::d_ijkl_d ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
integer, intent(in)  ij,
integer, intent(in)  kl,
integer, intent(in)  li,
integer, intent(in)  lj,
integer, intent(in)  lk,
integer, intent(in)  ll,
integer, intent(in)  ic,
real(kind=dp), intent(in)  r,
type(se_int_control_type), intent(in)  se_int_control,
type(se_int_screen_type), intent(in)  se_int_screen,
integer, intent(in)  itype 
)

General driver for computing the derivatives of semi-empirical integrals <ij|kl> involving d-orbitals. The choice of the linear quadrupole was REALLY unhappy in the first development of the NDDO codes. That choice makes impossible the merging of the integral code with or without d-orbitals unless a reparametrization of all NDDO codes for s and p orbitals will be performed.. more over the choice of the linear quadrupole does not make calculations rotational invariants (of course the rotational invariant can be forced). The definitions of quadrupoles for d-orbitals is the correct one in order to have the rotational invariant property by construction..

Parameters
sepi...
sepj...
ij...
kl...
li...
lj...
lk...
ll...
ic...
r...
se_int_control...
se_int_screen...
itype...
Returns
...
Date
03.2008 [tlaino]
Author
Teodoro Laino [tlaino] - University of Zurich

Definition at line 1252 of file semi_empirical_int_utils.F.

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

◆ rotmat()

recursive subroutine, public semi_empirical_int_utils::rotmat ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(kind=dp), dimension(3), intent(in)  rjiv,
real(kind=dp), intent(in)  r,
type(rotmat_type), pointer  ij_matrix,
logical, intent(in)  do_derivatives,
logical, intent(out), optional  do_invert,
logical, intent(in), optional  debug_invert 
)

Computes the general rotation matrices for the integrals between I and J (J>=I)

Parameters
sepi...
sepj...
rjiv...
r...
ij_matrix...
do_derivatives...
do_invert...
debug_invert...
Date
04.2008 [tlaino]
Author
Teodoro Laino [tlaino] - University of Zurich

Definition at line 1881 of file semi_empirical_int_utils.F.

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

◆ rot_2el_2c_first()

recursive subroutine, public semi_empirical_int_utils::rot_2el_2c_first ( type(semi_empirical_type), pointer  sepi,
type(semi_empirical_type), pointer  sepj,
real(kind=dp), dimension(3), intent(in)  rijv,
type(se_int_control_type), intent(in)  se_int_control,
type(se_taper_type), pointer  se_taper,
logical, intent(in)  invert,
integer, intent(in)  ii,
integer, intent(in)  kk,
real(kind=dp), dimension(491), intent(in)  rep,
logical, dimension(45, 45), intent(out)  logv,
type(rotmat_type), pointer  ij_matrix,
real(kind=dp), dimension(45, 45), intent(out)  v,
logical, intent(in)  lgrad,
real(kind=dp), dimension(491), intent(in), optional  rep_d,
real(kind=dp), dimension(3, 45, 45), intent(out), optional  v_d,
logical, dimension(45, 45), intent(out), optional  logv_d,
real(kind=dp), dimension(3), intent(in), optional  drij 
)

First Step of the rotation of the two-electron two-center integrals in SPD basis.

Parameters
sepi...
sepj...
rijv...
se_int_control...
se_taper...
invert...
ii...
kk...
rep...
logv...
ij_matrix...
v...
lgrad...
rep_d...
v_d...
logv_d...
drij...
Date
04.2008 [tlaino]
Author
Teodoro Laino [tlaino] - University of Zurich

Definition at line 2293 of file semi_empirical_int_utils.F.

Here is the caller graph for this function:

◆ store_2el_2c_diag()

subroutine, public semi_empirical_int_utils::store_2el_2c_diag ( integer, intent(in)  limij,
integer, intent(in)  limkl,
real(kind=dp), dimension(limkl, limij), intent(in), optional  ww,
real(kind=dp), dimension(:), intent(inout), optional  w,
real(kind=dp), dimension(limkl, limij), intent(in), optional  ww_dx,
real(kind=dp), dimension(limkl, limij), intent(in), optional  ww_dy,
real(kind=dp), dimension(limkl, limij), intent(in), optional  ww_dz,
real(kind=dp), dimension(:, :), intent(inout), optional  dw 
)

Store the two-electron two-center integrals in diagonal form.

Parameters
limij...
limkl...
ww...
w...
ww_dx...
ww_dy...
ww_dz...
dw...
Date
04.2008 [tlaino]
Author
Teodoro Laino [tlaino] - University of Zurich

Definition at line 2628 of file semi_empirical_int_utils.F.

Here is the caller graph for this function: