![]() |
(git:b77b4be)
|
Utilities for Integrals for semi-empiric methods. 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) | |
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) | |
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.. | |
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.. | |
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) | |
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. | |
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. | |
Utilities for Integrals for semi-empiric methods.
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)
sepi | ... |
sepj | ... |
ij | ... |
kl | ... |
li | ... |
lj | ... |
lk | ... |
ll | ... |
ic | ... |
r | ... |
se_int_control | ... |
se_int_screen | ... |
itype | ... |
Definition at line 308 of file semi_empirical_int_utils.F.
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)
sepi | ... |
sepj | ... |
ij | ... |
kl | ... |
li | ... |
lj | ... |
lk | ... |
ll | ... |
ic | ... |
r | ... |
se_int_control | ... |
se_int_screen | ... |
itype | ... |
Definition at line 357 of file semi_empirical_int_utils.F.
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..
sepi | ... |
sepj | ... |
ij | ... |
kl | ... |
li | ... |
lj | ... |
lk | ... |
ll | ... |
ic | ... |
r | ... |
se_int_control | ... |
se_int_screen | ... |
itype | ... |
Definition at line 1197 of file semi_empirical_int_utils.F.
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..
sepi | ... |
sepj | ... |
ij | ... |
kl | ... |
li | ... |
lj | ... |
lk | ... |
ll | ... |
ic | ... |
r | ... |
se_int_control | ... |
se_int_screen | ... |
itype | ... |
Definition at line 1252 of file semi_empirical_int_utils.F.
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)
sepi | ... |
sepj | ... |
rjiv | ... |
r | ... |
ij_matrix | ... |
do_derivatives | ... |
do_invert | ... |
debug_invert | ... |
Definition at line 1881 of file semi_empirical_int_utils.F.
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.
sepi | ... |
sepj | ... |
rijv | ... |
se_int_control | ... |
se_taper | ... |
invert | ... |
ii | ... |
kk | ... |
rep | ... |
logv | ... |
ij_matrix | ... |
v | ... |
lgrad | ... |
rep_d | ... |
v_d | ... |
logv_d | ... |
drij | ... |
Definition at line 2293 of file semi_empirical_int_utils.F.
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.
limij | ... |
limkl | ... |
ww | ... |
w | ... |
ww_dx | ... |
ww_dy | ... |
ww_dz | ... |
dw | ... |
Definition at line 2628 of file semi_empirical_int_utils.F.