ao_one_e_integrals

All the one-electron integrals in the AO basis are here.

The most important providers for usual quantum-chemistry calculation are:

  • ao_kinetic_integrals which are the kinetic operator integrals on the AO basis

  • ao_integrals_n_e which are the nuclear-elctron operator integrals on the AO basis

  • ao_one_e_integrals which are the the h_core operator integrals on the AO basis

EZFIO parameters

ao_integrals_n_e

Nucleus-electron integrals in AO basis set

ao_integrals_n_e_imag

Imaginary part of the nucleus-electron integrals in AO basis set

io_ao_integrals_n_e

Read/Write AO nucleus-electron attraction integrals from/to disk [ Write | Read | None ]

Default: None

ao_integrals_kinetic

Kinetic energy integrals in AO basis set

ao_integrals_kinetic_imag

Imaginary part of the kinetic energy integrals in AO basis set

io_ao_integrals_kinetic

Read/Write AO kinetic integrals from/to disk [ Write | Read | None ]

Default: None

ao_integrals_pseudo

Pseudopotential integrals in AO basis set

ao_integrals_pseudo_imag

Imaginary part of the pseudopotential integrals in AO basis set

io_ao_integrals_pseudo

Read/Write AO pseudopotential integrals from/to disk [ Write | Read | None ]

Default: None

ao_integrals_overlap

Overlap integrals in AO basis set

ao_integrals_overlap_imag

Imaginary part of the overlap integrals in AO basis set

io_ao_integrals_overlap

Read/Write AO overlap integrals from/to disk [ Write | Read | None ]

Default: None

ao_one_e_integrals

Combined integrals in AO basis set

ao_one_e_integrals_imag

Imaginary part of the combined integrals in AO basis set

io_ao_one_e_integrals

Read/Write AO one-electron integrals from/to disk [ Write | Read | None ]

Default: None

lin_dep_cutoff

Remove linear dependencies when the eigenvalues of the overlap matrix are below this value

Default: 1.e-6

ao_one_e_integrals_threshold

If | (p|q) | < ao_one_e_integrals_threshold then (p|q) is zero

Default: 1.e-15

Providers

ao_cart_to_sphe_coef

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_cart_to_sphe_coef (ao_num,ao_num)
integer :: ao_cart_to_sphe_num

Coefficients to go from cartesian to spherical coordinates in the current basis set

Needs:

  • ao_l

  • ao_num

  • ao_power

  • cart_to_sphe_1

  • cart_to_sphe_2

  • cart_to_sphe_3

  • cart_to_sphe_4

  • cart_to_sphe_5

  • cart_to_sphe_6

  • cart_to_sphe_7

  • cart_to_sphe_8

  • cart_to_sphe_9

Needed by:

  • ao_cart_to_sphe_inv

  • ao_cart_to_sphe_overlap

  • ao_ortho_canonical_coef

ao_cart_to_sphe_inv

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_cart_to_sphe_inv  (ao_cart_to_sphe_num,ao_num)

Inverse of ao_cart_to_sphe_coef

Needs:

  • ao_cart_to_sphe_coef

  • ao_num

  • lin_dep_cutoff

ao_cart_to_sphe_num

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_cart_to_sphe_coef (ao_num,ao_num)
integer :: ao_cart_to_sphe_num

Coefficients to go from cartesian to spherical coordinates in the current basis set

Needs:

  • ao_l

  • ao_num

  • ao_power

  • cart_to_sphe_1

  • cart_to_sphe_2

  • cart_to_sphe_3

  • cart_to_sphe_4

  • cart_to_sphe_5

  • cart_to_sphe_6

  • cart_to_sphe_7

  • cart_to_sphe_8

  • cart_to_sphe_9

Needed by:

  • ao_cart_to_sphe_inv

  • ao_cart_to_sphe_overlap

  • ao_ortho_canonical_coef

ao_cart_to_sphe_overlap

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_cart_to_sphe_overlap      (ao_cart_to_sphe_num,ao_cart_to_sphe_num)

AO overlap matrix in the spherical basis set

Needs:

  • ao_cart_to_sphe_coef

  • ao_num

  • ao_overlap

Needed by:

  • ao_ortho_canonical_coef

ao_coef_cgtos_norm_ord_transp

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_coef_cgtos_norm_ord_transp        (ao_prim_num_max,ao_num)

Needs:

  • ao_coef_norm_cgtos_ord

  • ao_num

  • ao_prim_num_max

Needed by:

  • ao_2e_cgtos_schwartz

  • ao_deriv2_cgtos_x

  • ao_integrals_n_e_cgtos

  • ao_overlap_cgtos

ao_coef_norm_cgtos

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_coef_norm_cgtos   (ao_num,ao_prim_num_max)

Needs:

  • ao_coef

  • ao_expo

  • ao_expo_im

  • ao_expo_phase

  • ao_expo_pw

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • ao_prim_num_max

  • nucl_coord

  • primitives_normalized

Needed by:

  • ao_coef_norm_cgtos_ord

ao_coef_norm_cgtos_ord

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_coef_norm_cgtos_ord       (ao_num,ao_prim_num_max)
complex*16, allocatable :: ao_expo_cgtos_ord    (ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_pw_ord       (4,ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_phase_ord    (4,ao_num,ao_prim_num_max)

Needs:

  • ao_coef_norm_cgtos

  • ao_expo

  • ao_expo_im

  • ao_expo_phase

  • ao_expo_pw

  • ao_num

  • ao_prim_num

  • ao_prim_num_max

Needed by:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

ao_coef_norm_cosgtos

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_coef_norm_cosgtos (ao_num,ao_prim_num_max)

Needs:

  • ao_coef

  • ao_expo

  • ao_expoim_cosgtos

  • ao_num

  • ao_power

  • ao_prim_num

  • ao_prim_num_max

  • primitives_normalized

Needed by:

  • ao_coef_norm_ord_cosgtos

ao_coef_norm_ord_cosgtos

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_coef_norm_ord_cosgtos     (ao_num,ao_prim_num_max)
complex*16, allocatable :: ao_expo_ord_cosgtos  (ao_num,ao_prim_num_max)

Needs:

  • ao_coef_norm_cosgtos

  • ao_expo

  • ao_expoim_cosgtos

  • ao_num

  • ao_prim_num

  • ao_prim_num_max

Needed by:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

ao_coef_norm_ord_transp_cosgtos

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_coef_norm_ord_transp_cosgtos      (ao_prim_num_max,ao_num)

Needs:

  • ao_coef_norm_ord_cosgtos

  • ao_num

  • ao_prim_num_max

Needed by:

  • ao_2e_cosgtos_schwartz

  • ao_deriv2_cosgtos_x

  • ao_integrals_n_e_cosgtos

  • ao_overlap_cosgtos

ao_deriv2_cgtos_x

File : ao_one_e_ints/one_e_kin_integrals_cgtos.irp.f

double precision, allocatable   :: ao_deriv2_cgtos_x    (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cgtos_y    (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cgtos_z    (ao_num,ao_num)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_deriv2_x

  • ao_kinetic_integrals_cgtos

ao_deriv2_cgtos_y

File : ao_one_e_ints/one_e_kin_integrals_cgtos.irp.f

double precision, allocatable   :: ao_deriv2_cgtos_x    (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cgtos_y    (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cgtos_z    (ao_num,ao_num)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_deriv2_x

  • ao_kinetic_integrals_cgtos

ao_deriv2_cgtos_z

File : ao_one_e_ints/one_e_kin_integrals_cgtos.irp.f

double precision, allocatable   :: ao_deriv2_cgtos_x    (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cgtos_y    (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cgtos_z    (ao_num,ao_num)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_deriv2_x

  • ao_kinetic_integrals_cgtos

ao_deriv2_cosgtos_x

File : ao_one_e_ints/one_e_kin_integrals_cosgtos.irp.f

double precision, allocatable   :: ao_deriv2_cosgtos_x  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cosgtos_y  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cosgtos_z  (ao_num,ao_num)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_deriv2_x

  • ao_kinetic_integrals_cosgtos

ao_deriv2_cosgtos_y

File : ao_one_e_ints/one_e_kin_integrals_cosgtos.irp.f

double precision, allocatable   :: ao_deriv2_cosgtos_x  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cosgtos_y  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cosgtos_z  (ao_num,ao_num)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_deriv2_x

  • ao_kinetic_integrals_cosgtos

ao_deriv2_cosgtos_z

File : ao_one_e_ints/one_e_kin_integrals_cosgtos.irp.f

double precision, allocatable   :: ao_deriv2_cosgtos_x  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cosgtos_y  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_cosgtos_z  (ao_num,ao_num)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_deriv2_x

  • ao_kinetic_integrals_cosgtos

ao_deriv2_x

File : ao_one_e_ints/kin_ao_ints.irp.f

double precision, allocatable   :: ao_deriv2_x  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_y  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_z  (ao_num,ao_num)

Second derivative matrix elements in the AO basis.

\[{\tt ao\_deriv2\_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle\]

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_deriv2_cgtos_x

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

  • use_cgtos

Needed by:

  • ao_kinetic_integrals

ao_deriv2_y

File : ao_one_e_ints/kin_ao_ints.irp.f

double precision, allocatable   :: ao_deriv2_x  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_y  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_z  (ao_num,ao_num)

Second derivative matrix elements in the AO basis.

\[{\tt ao\_deriv2\_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle\]

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_deriv2_cgtos_x

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

  • use_cgtos

Needed by:

  • ao_kinetic_integrals

ao_deriv2_z

File : ao_one_e_ints/kin_ao_ints.irp.f

double precision, allocatable   :: ao_deriv2_x  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_y  (ao_num,ao_num)
double precision, allocatable   :: ao_deriv2_z  (ao_num,ao_num)

Second derivative matrix elements in the AO basis.

\[{\tt ao\_deriv2\_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle\]

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_deriv2_cgtos_x

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

  • use_cgtos

Needed by:

  • ao_kinetic_integrals

ao_deriv_1_x

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_deriv_1_x (ao_num,ao_num)
double precision, allocatable   :: ao_deriv_1_y (ao_num,ao_num)
double precision, allocatable   :: ao_deriv_1_z (ao_num,ao_num)
  • array of the integrals of AO_i * d/dx AO_j

  • array of the integrals of AO_i * d/dy AO_j

  • array of the integrals of AO_i * d/dz AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_deriv_1_x

ao_deriv_1_y

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_deriv_1_x (ao_num,ao_num)
double precision, allocatable   :: ao_deriv_1_y (ao_num,ao_num)
double precision, allocatable   :: ao_deriv_1_z (ao_num,ao_num)
  • array of the integrals of AO_i * d/dx AO_j

  • array of the integrals of AO_i * d/dy AO_j

  • array of the integrals of AO_i * d/dz AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_deriv_1_x

ao_deriv_1_z

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_deriv_1_x (ao_num,ao_num)
double precision, allocatable   :: ao_deriv_1_y (ao_num,ao_num)
double precision, allocatable   :: ao_deriv_1_z (ao_num,ao_num)
  • array of the integrals of AO_i * d/dx AO_j

  • array of the integrals of AO_i * d/dy AO_j

  • array of the integrals of AO_i * d/dz AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_deriv_1_x

ao_dipole_x

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_dipole_x  (ao_num,ao_num)
double precision, allocatable   :: ao_dipole_y  (ao_num,ao_num)
double precision, allocatable   :: ao_dipole_z  (ao_num,ao_num)
  • array of the integrals of AO_i * x AO_j

  • array of the integrals of AO_i * y AO_j

  • array of the integrals of AO_i * z AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_dipole_x

ao_dipole_y

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_dipole_x  (ao_num,ao_num)
double precision, allocatable   :: ao_dipole_y  (ao_num,ao_num)
double precision, allocatable   :: ao_dipole_z  (ao_num,ao_num)
  • array of the integrals of AO_i * x AO_j

  • array of the integrals of AO_i * y AO_j

  • array of the integrals of AO_i * z AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_dipole_x

ao_dipole_z

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_dipole_x  (ao_num,ao_num)
double precision, allocatable   :: ao_dipole_y  (ao_num,ao_num)
double precision, allocatable   :: ao_dipole_z  (ao_num,ao_num)
  • array of the integrals of AO_i * x AO_j

  • array of the integrals of AO_i * y AO_j

  • array of the integrals of AO_i * z AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_dipole_x

ao_expo_cgtos_ord

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_coef_norm_cgtos_ord       (ao_num,ao_prim_num_max)
complex*16, allocatable :: ao_expo_cgtos_ord    (ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_pw_ord       (4,ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_phase_ord    (4,ao_num,ao_prim_num_max)

Needs:

  • ao_coef_norm_cgtos

  • ao_expo

  • ao_expo_im

  • ao_expo_phase

  • ao_expo_pw

  • ao_num

  • ao_prim_num

  • ao_prim_num_max

Needed by:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

ao_expo_cgtos_ord_transp

File : ao_one_e_ints/aos_cgtos.irp.f

complex*16, allocatable :: ao_expo_cgtos_ord_transp     (ao_prim_num_max,ao_num)
double precision, allocatable   :: ao_expo_pw_ord_transp        (4,ao_prim_num_max,ao_num)
double precision, allocatable   :: ao_expo_phase_ord_transp     (4,ao_prim_num_max,ao_num)

Needs:

  • ao_coef_norm_cgtos_ord

  • ao_num

  • ao_prim_num_max

Needed by:

  • ao_2e_cgtos_schwartz

  • ao_deriv2_cgtos_x

  • ao_integrals_n_e_cgtos

  • ao_overlap_cgtos

  • use_pw

ao_expo_ord_cosgtos

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_coef_norm_ord_cosgtos     (ao_num,ao_prim_num_max)
complex*16, allocatable :: ao_expo_ord_cosgtos  (ao_num,ao_prim_num_max)

Needs:

  • ao_coef_norm_cosgtos

  • ao_expo

  • ao_expoim_cosgtos

  • ao_num

  • ao_prim_num

  • ao_prim_num_max

Needed by:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

ao_expo_ord_transp_cosgtos

File : ao_one_e_ints/aos_cosgtos.irp.f

complex*16, allocatable :: ao_expo_ord_transp_cosgtos   (ao_prim_num_max,ao_num)

Needs:

  • ao_coef_norm_ord_cosgtos

  • ao_num

  • ao_prim_num_max

Needed by:

  • ao_2e_cosgtos_schwartz

  • ao_deriv2_cosgtos_x

  • ao_integrals_n_e_cosgtos

  • ao_overlap_cosgtos

ao_expo_phase_ord

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_coef_norm_cgtos_ord       (ao_num,ao_prim_num_max)
complex*16, allocatable :: ao_expo_cgtos_ord    (ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_pw_ord       (4,ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_phase_ord    (4,ao_num,ao_prim_num_max)

Needs:

  • ao_coef_norm_cgtos

  • ao_expo

  • ao_expo_im

  • ao_expo_phase

  • ao_expo_pw

  • ao_num

  • ao_prim_num

  • ao_prim_num_max

Needed by:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

ao_expo_phase_ord_transp

File : ao_one_e_ints/aos_cgtos.irp.f

complex*16, allocatable :: ao_expo_cgtos_ord_transp     (ao_prim_num_max,ao_num)
double precision, allocatable   :: ao_expo_pw_ord_transp        (4,ao_prim_num_max,ao_num)
double precision, allocatable   :: ao_expo_phase_ord_transp     (4,ao_prim_num_max,ao_num)

Needs:

  • ao_coef_norm_cgtos_ord

  • ao_num

  • ao_prim_num_max

Needed by:

  • ao_2e_cgtos_schwartz

  • ao_deriv2_cgtos_x

  • ao_integrals_n_e_cgtos

  • ao_overlap_cgtos

  • use_pw

ao_expo_pw_ord

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_coef_norm_cgtos_ord       (ao_num,ao_prim_num_max)
complex*16, allocatable :: ao_expo_cgtos_ord    (ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_pw_ord       (4,ao_num,ao_prim_num_max)
double precision, allocatable   :: ao_expo_phase_ord    (4,ao_num,ao_prim_num_max)

Needs:

  • ao_coef_norm_cgtos

  • ao_expo

  • ao_expo_im

  • ao_expo_phase

  • ao_expo_pw

  • ao_num

  • ao_prim_num

  • ao_prim_num_max

Needed by:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

ao_expo_pw_ord_transp

File : ao_one_e_ints/aos_cgtos.irp.f

complex*16, allocatable :: ao_expo_cgtos_ord_transp     (ao_prim_num_max,ao_num)
double precision, allocatable   :: ao_expo_pw_ord_transp        (4,ao_prim_num_max,ao_num)
double precision, allocatable   :: ao_expo_phase_ord_transp     (4,ao_prim_num_max,ao_num)

Needs:

  • ao_coef_norm_cgtos_ord

  • ao_num

  • ao_prim_num_max

Needed by:

  • ao_2e_cgtos_schwartz

  • ao_deriv2_cgtos_x

  • ao_integrals_n_e_cgtos

  • ao_overlap_cgtos

  • use_pw

ao_integrals_n_e

File : ao_one_e_ints/pot_ao_ints.irp.f

double precision, allocatable   :: ao_integrals_n_e     (ao_num,ao_num)

Nucleus-electron interaction, in the AO basis set.

\(\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle\)

These integrals also contain the pseudopotential integrals.

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_integrals_n_e_cgtos

  • ao_integrals_pt_chrg

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • ao_pseudo_integrals

  • do_pseudo

  • n_pt_max_integrals

  • nucl_charge

  • nucl_coord

  • nucl_num

  • point_charges

  • read_ao_integrals_n_e

  • use_cgtos

Needed by:

  • ao_one_e_integrals

  • ao_ortho_canonical_nucl_elec_integrals

  • ao_ortho_lowdin_nucl_elec_integrals

  • hf_kinetic_energy

  • mo_integrals_n_e

ao_integrals_n_e_cgtos

File : ao_one_e_ints/one_e_coul_integrals_cgtos.irp.f

double precision, allocatable   :: ao_integrals_n_e_cgtos       (ao_num,ao_num)

Nucleus-electron interaction, in the cgtos AO basis set.

\(\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle\)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • n_pt_max_integrals

  • nucl_charge

  • nucl_coord

  • nucl_num

  • use_pw

Needed by:

  • ao_integrals_n_e

ao_integrals_n_e_cosgtos

File : ao_one_e_ints/one_e_Coul_integrals_cosgtos.irp.f

double precision, allocatable   :: ao_integrals_n_e_cosgtos     (ao_num,ao_num)

Nucleus-electron interaction, in the cosgtos AO basis set.

\(\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle\)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • n_pt_max_integrals

  • nucl_charge

  • nucl_coord

  • nucl_num

Needed by:

  • ao_integrals_n_e

ao_integrals_n_e_imag

File : ao_one_e_ints/pot_ao_ints.irp.f

double precision, allocatable   :: ao_integrals_n_e_imag        (ao_num,ao_num)

Nucleus-electron interaction, in the AO basis set.

\(\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle\)

Needs:

  • ao_num

  • read_ao_integrals_n_e

ao_integrals_n_e_per_atom

File : ao_one_e_ints/pot_ao_ints.irp.f

double precision, allocatable   :: ao_integrals_n_e_per_atom    (ao_num,ao_num,nucl_num)

Nucleus-electron interaction in the AO basis set, per atom A.

\(\langle \chi_i | -\frac{1}{|r-R_A|} | \chi_j \rangle\)

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • n_pt_max_integrals

  • nucl_coord

  • nucl_num

Needed by:

  • mo_integrals_n_e_per_atom

ao_integrals_pt_chrg

File : ao_one_e_ints/pot_pt_charges.irp.f

   double precision, allocatable   :: ao_integrals_pt_chrg (ao_num,ao_num)


Point charge-electron interaction, in the |AO| basis set.

:math:`\langle \chi_i | -\sum_charge charge * \frac{1}{|r-R_charge|} | \chi_j \rangle`

Notice the minus sign convention as it is supposed to be for electrons.

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • n_pt_max_integrals

  • n_pts_charge

  • nucl_coord

  • pts_charge_coord

  • pts_charge_z

Needed by:

  • ao_integrals_n_e

ao_kinetic_integrals

File : ao_one_e_ints/kin_ao_ints.irp.f

double precision, allocatable   :: ao_kinetic_integrals (ao_num,ao_num)

Kinetic energy integrals in the AO basis.

\(\langle \chi_i |\hat{T}| \chi_j \rangle\)

Needs:

  • ao_deriv2_x

  • ao_num

  • read_ao_integrals_kinetic

Needed by:

  • ao_one_e_integrals

  • hf_kinetic_energy

  • mo_kinetic_integrals

ao_kinetic_integrals_cgtos

File : ao_one_e_ints/one_e_kin_integrals_cgtos.irp.f

double precision, allocatable   :: ao_kinetic_integrals_cgtos   (ao_num,ao_num)

Kinetic energy integrals in the cgtos AO basis.

\(\langle \chi_i |\hat{T}| \chi_j \rangle\)

Needs:

  • ao_deriv2_cgtos_x

  • ao_num

ao_kinetic_integrals_cosgtos

File : ao_one_e_ints/one_e_kin_integrals_cosgtos.irp.f

double precision, allocatable   :: ao_kinetic_integrals_cosgtos (ao_num,ao_num)

Kinetic energy integrals in the cosgtos AO basis.

\(\langle \chi_i |\hat{T}| \chi_j \rangle\)

Needs:

  • ao_deriv2_cosgtos_x

  • ao_num

ao_kinetic_integrals_imag

File : ao_one_e_ints/kin_ao_ints.irp.f

double precision, allocatable   :: ao_kinetic_integrals_imag    (ao_num,ao_num)

Kinetic energy integrals in the AO basis.

\(\langle \chi_i |\hat{T}| \chi_j \rangle\)

Needs:

  • ao_num

  • read_ao_integrals_kinetic

ao_one_e_integrals

File : ao_one_e_ints/ao_one_e_ints.irp.f

double precision, allocatable   :: ao_one_e_integrals   (ao_num,ao_num)
double precision, allocatable   :: ao_one_e_integrals_diag      (ao_num)

One-electron Hamiltonian in the AO basis.

Needs:

  • ao_integrals_n_e

  • ao_kinetic_integrals

  • ao_num

  • read_ao_one_e_integrals

Needed by:

  • fock_matrix_ao_alpha

  • hf_energy

  • scf_energy

ao_one_e_integrals_diag

File : ao_one_e_ints/ao_one_e_ints.irp.f

double precision, allocatable   :: ao_one_e_integrals   (ao_num,ao_num)
double precision, allocatable   :: ao_one_e_integrals_diag      (ao_num)

One-electron Hamiltonian in the AO basis.

Needs:

  • ao_integrals_n_e

  • ao_kinetic_integrals

  • ao_num

  • read_ao_one_e_integrals

Needed by:

  • fock_matrix_ao_alpha

  • hf_energy

  • scf_energy

ao_one_e_integrals_imag

File : ao_one_e_ints/ao_one_e_ints.irp.f

double precision, allocatable   :: ao_one_e_integrals_imag      (ao_num,ao_num)

One-electron Hamiltonian in the AO basis.

Needs:

  • ao_num

  • read_ao_one_e_integrals

ao_ortho_canonical_coef

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_ortho_canonical_coef      (ao_num,ao_num)
integer :: ao_ortho_canonical_num

matrix of the coefficients of the mos generated by the orthonormalization by the S^{-1/2} canonical transformation of the aos ao_ortho_canonical_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_canonical orbital

Needs:

  • ao_cart_to_sphe_coef

  • ao_cart_to_sphe_overlap

  • ao_cartesian

  • ao_num

  • ao_overlap

  • lin_dep_cutoff

  • mpi_master

Needed by:

  • ao_ortho_canonical_coef_inv

  • ao_ortho_canonical_nucl_elec_integrals

  • ao_ortho_canonical_overlap

  • mo_coef

  • mo_coef_aux

  • mo_num

ao_ortho_canonical_coef_inv

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_ortho_canonical_coef_inv  (ao_num,ao_num)

ao_ortho_canonical_coef^(-1)

Needs:

  • ao_num

  • ao_ortho_canonical_coef

Needed by:

  • mo_coef_in_ao_ortho_basis

ao_ortho_canonical_num

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_ortho_canonical_coef      (ao_num,ao_num)
integer :: ao_ortho_canonical_num

matrix of the coefficients of the mos generated by the orthonormalization by the S^{-1/2} canonical transformation of the aos ao_ortho_canonical_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_canonical orbital

Needs:

  • ao_cart_to_sphe_coef

  • ao_cart_to_sphe_overlap

  • ao_cartesian

  • ao_num

  • ao_overlap

  • lin_dep_cutoff

  • mpi_master

Needed by:

  • ao_ortho_canonical_coef_inv

  • ao_ortho_canonical_nucl_elec_integrals

  • ao_ortho_canonical_overlap

  • mo_coef

  • mo_coef_aux

  • mo_num

ao_ortho_canonical_overlap

File : ao_one_e_ints/ao_ortho_canonical.irp.f

double precision, allocatable   :: ao_ortho_canonical_overlap   (ao_ortho_canonical_num,ao_ortho_canonical_num)

overlap matrix of the ao_ortho_canonical. Expected to be the Identity

Needs:

  • ao_num

  • ao_ortho_canonical_coef

  • ao_overlap

ao_overlap

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: ao_overlap   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_z (ao_num,ao_num)

Overlap between atomic basis functions:

\(\int \chi_i(r) \chi_j(r) dr\)

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_overlap_cgtos

  • ao_power

  • ao_prim_num

  • nucl_coord

  • read_ao_integrals_overlap

  • use_cgtos

Needed by:

  • ao_cart_to_sphe_overlap

  • ao_ortho_canonical_coef

  • ao_ortho_canonical_overlap

  • ao_ortho_lowdin_coef

  • ao_ortho_lowdin_overlap

  • ao_overlap_complex

  • fps_spf_matrix_ao

  • mo_overlap

  • s_half

  • s_half_inv

  • s_inv

  • s_mo_coef

ao_overlap_abs

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: ao_overlap_abs       (ao_num,ao_num)

Overlap between absolute values of atomic basis functions:

\(\int |\chi_i(r)| |\chi_j(r)| dr\)

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_overlap_complex

  • ao_power

  • ao_prim_num

  • is_periodic

  • nucl_coord

Needed by:

  • ao_two_e_integral_alpha

  • cholesky_ao_num

ao_overlap_cgtos

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_overlap_cgtos     (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_x   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_y   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_z   (ao_num,ao_num)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_cgtos_x

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_overlap_cgtos     (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_x   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_y   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_z   (ao_num,ao_num)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_cgtos_y

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_overlap_cgtos     (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_x   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_y   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_z   (ao_num,ao_num)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_cgtos_z

File : ao_one_e_ints/aos_cgtos.irp.f

double precision, allocatable   :: ao_overlap_cgtos     (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_x   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_y   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cgtos_z   (ao_num,ao_num)

Needs:

  • ao_coef_cgtos_norm_ord_transp

  • ao_expo_cgtos_ord_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_complex

File : ao_one_e_ints/ao_overlap.irp.f

complex*16, allocatable :: ao_overlap_complex   (ao_num,ao_num)

Overlap for complex AOs

Needs:

  • ao_num

  • ao_overlap

  • ao_overlap_imag

Needed by:

  • ao_overlap_abs

  • s_inv_complex

ao_overlap_cosgtos

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_overlap_cosgtos   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_z (ao_num,ao_num)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_cosgtos_x

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_overlap_cosgtos   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_z (ao_num,ao_num)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_cosgtos_y

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_overlap_cosgtos   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_z (ao_num,ao_num)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_cosgtos_z

File : ao_one_e_ints/aos_cosgtos.irp.f

double precision, allocatable   :: ao_overlap_cosgtos   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_cosgtos_z (ao_num,ao_num)

Needs:

  • ao_coef_norm_ord_transp_cosgtos

  • ao_expo_ord_transp_cosgtos

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • ao_overlap

ao_overlap_imag

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: ao_overlap_imag      (ao_num,ao_num)

Imaginary part of the overlap

Needs:

  • ao_num

Needed by:

  • ao_overlap_complex

ao_overlap_x

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: ao_overlap   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_z (ao_num,ao_num)

Overlap between atomic basis functions:

\(\int \chi_i(r) \chi_j(r) dr\)

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_overlap_cgtos

  • ao_power

  • ao_prim_num

  • nucl_coord

  • read_ao_integrals_overlap

  • use_cgtos

Needed by:

  • ao_cart_to_sphe_overlap

  • ao_ortho_canonical_coef

  • ao_ortho_canonical_overlap

  • ao_ortho_lowdin_coef

  • ao_ortho_lowdin_overlap

  • ao_overlap_complex

  • fps_spf_matrix_ao

  • mo_overlap

  • s_half

  • s_half_inv

  • s_inv

  • s_mo_coef

ao_overlap_y

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: ao_overlap   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_z (ao_num,ao_num)

Overlap between atomic basis functions:

\(\int \chi_i(r) \chi_j(r) dr\)

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_overlap_cgtos

  • ao_power

  • ao_prim_num

  • nucl_coord

  • read_ao_integrals_overlap

  • use_cgtos

Needed by:

  • ao_cart_to_sphe_overlap

  • ao_ortho_canonical_coef

  • ao_ortho_canonical_overlap

  • ao_ortho_lowdin_coef

  • ao_ortho_lowdin_overlap

  • ao_overlap_complex

  • fps_spf_matrix_ao

  • mo_overlap

  • s_half

  • s_half_inv

  • s_inv

  • s_mo_coef

ao_overlap_z

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: ao_overlap   (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_x (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_y (ao_num,ao_num)
double precision, allocatable   :: ao_overlap_z (ao_num,ao_num)

Overlap between atomic basis functions:

\(\int \chi_i(r) \chi_j(r) dr\)

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_overlap_cgtos

  • ao_power

  • ao_prim_num

  • nucl_coord

  • read_ao_integrals_overlap

  • use_cgtos

Needed by:

  • ao_cart_to_sphe_overlap

  • ao_ortho_canonical_coef

  • ao_ortho_canonical_overlap

  • ao_ortho_lowdin_coef

  • ao_ortho_lowdin_overlap

  • ao_overlap_complex

  • fps_spf_matrix_ao

  • mo_overlap

  • s_half

  • s_half_inv

  • s_inv

  • s_mo_coef

ao_pseudo_integrals

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: ao_pseudo_integrals  (ao_num,ao_num)

Pseudo-potential integrals in the AO basis set.

Needs:

  • ao_num

  • ao_pseudo_integrals_local

  • ao_pseudo_integrals_non_local

  • do_pseudo

  • pseudo_klocmax

  • pseudo_kmax

  • read_ao_integrals_pseudo

Needed by:

  • ao_integrals_n_e

  • mo_pseudo_integrals

ao_pseudo_integrals_local

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: ao_pseudo_integrals_local    (ao_num,ao_num)

Local pseudo-potential

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_charge

  • nucl_coord

  • nucl_num

  • pseudo_v_k_transp

  • pseudo_klocmax

  • pseudo_v_k_transp

  • pseudo_v_k_transp

Needed by:

  • ao_pseudo_integrals

  • mo_pseudo_integrals_local

ao_pseudo_integrals_non_local

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: ao_pseudo_integrals_non_local        (ao_num,ao_num)

Non-local pseudo-potential

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_charge

  • nucl_coord

  • nucl_num

  • pseudo_v_kl_transp

  • pseudo_kmax

  • pseudo_lmax

  • pseudo_v_kl_transp

  • pseudo_v_kl_transp

Needed by:

  • ao_pseudo_integrals

  • mo_pseudo_integrals_non_local

ao_spread_x

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_spread_x  (ao_num,ao_num)
double precision, allocatable   :: ao_spread_y  (ao_num,ao_num)
double precision, allocatable   :: ao_spread_z  (ao_num,ao_num)
  • array of the integrals of AO_i * x^2 AO_j

  • array of the integrals of AO_i * y^2 AO_j

  • array of the integrals of AO_i * z^2 AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_spread_x

ao_spread_y

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_spread_x  (ao_num,ao_num)
double precision, allocatable   :: ao_spread_y  (ao_num,ao_num)
double precision, allocatable   :: ao_spread_z  (ao_num,ao_num)
  • array of the integrals of AO_i * x^2 AO_j

  • array of the integrals of AO_i * y^2 AO_j

  • array of the integrals of AO_i * z^2 AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_spread_x

ao_spread_z

File : ao_one_e_ints/spread_dipole_ao.irp.f

double precision, allocatable   :: ao_spread_x  (ao_num,ao_num)
double precision, allocatable   :: ao_spread_y  (ao_num,ao_num)
double precision, allocatable   :: ao_spread_z  (ao_num,ao_num)
  • array of the integrals of AO_i * x^2 AO_j

  • array of the integrals of AO_i * y^2 AO_j

  • array of the integrals of AO_i * z^2 AO_j

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_num

  • ao_power

  • ao_prim_num

  • nucl_coord

Needed by:

  • mo_spread_x

give_cpolynomial_mult_center_one_e:

File : ao_one_e_ints/one_e_coul_integrals_cgtos.irp.f

subroutine give_cpolynomial_mult_center_one_e(A_center, B_center, alpha, beta, &
                                      power_A, power_B, C_center, n_pt_in, d, n_pt_out)

Returns the explicit polynomial in terms of the “t” variable of the following

$I_{x1}(a_x, d_x,p,q) times I_{x1}(a_y, d_y,p,q) times I_{x1}(a_z, d_z,p,q)$.

Called by:

  • nai_pol_mult_cgtos()

Calls:

  • i_x1_pol_mult_one_e_cgtos()

  • multiply_cpoly()

i_x1_pol_mult_one_e:

File : ao_one_e_ints/pot_ao_ints.irp.f

recursive subroutine I_x1_pol_mult_one_e(a,c,R1x,R1xp,R2x,d,nd,n_pt_in)

Recursive routine involved in the electron-nucleus potential

Called by:

  • give_polynomial_mult_center_one_e()

  • give_polynomial_mult_center_one_e_erf()

  • give_polynomial_mult_center_one_e_erf_opt()

  • i_x1_pol_mult_one_e()

  • i_x2_pol_mult_one_e()

Calls:

  • i_x1_pol_mult_one_e()

  • i_x2_pol_mult_one_e()

  • multiply_poly_c2()

i_x1_pol_mult_one_e_cgtos:

File : ao_one_e_ints/one_e_coul_integrals_cgtos.irp.f

recursive subroutine I_x1_pol_mult_one_e_cgtos(a, c, R1x, R1xp, R2x, d, nd, n_pt_in)

Recursive routine involved in the electron-nucleus potential

Called by:

  • give_cpolynomial_mult_center_one_e()

  • i_x1_pol_mult_one_e_cgtos()

  • i_x2_pol_mult_one_e_cgtos()

Calls:

  • i_x1_pol_mult_one_e_cgtos()

  • i_x2_pol_mult_one_e_cgtos()

  • multiply_cpoly()

i_x1_pol_mult_one_e_cosgtos:

File : ao_one_e_ints/one_e_Coul_integrals_cosgtos.irp.f

recursive subroutine I_x1_pol_mult_one_e_cosgtos(a, c, R1x, R1xp, R2x, d, nd, n_pt_in)

Recursive routine involved in the electron-nucleus potential

Called by:

  • give_cpolynomial_mult_center_one_e()

  • i_x1_pol_mult_one_e_cosgtos()

  • i_x2_pol_mult_one_e_cosgtos()

Calls:

  • i_x1_pol_mult_one_e_cosgtos()

  • i_x2_pol_mult_one_e_cosgtos()

  • multiply_cpoly()

i_x2_pol_mult_one_e:

File : ao_one_e_ints/pot_ao_ints.irp.f

recursive subroutine I_x2_pol_mult_one_e(c,R1x,R1xp,R2x,d,nd,dim)

Recursive routine involved in the electron-nucleus potential

Called by:

  • i_x1_pol_mult_one_e()

Calls:

  • i_x1_pol_mult_one_e()

  • multiply_poly_c2()

i_x2_pol_mult_one_e_cgtos:

File : ao_one_e_ints/one_e_coul_integrals_cgtos.irp.f

recursive subroutine I_x2_pol_mult_one_e_cgtos(c, R1x, R1xp, R2x, d, nd, dim)

Recursive routine involved in the electron-nucleus potential

Called by:

  • i_x1_pol_mult_one_e_cgtos()

Calls:

  • i_x1_pol_mult_one_e_cgtos()

  • multiply_cpoly()

i_x2_pol_mult_one_e_cosgtos:

File : ao_one_e_ints/one_e_Coul_integrals_cosgtos.irp.f

recursive subroutine I_x2_pol_mult_one_e_cosgtos(c, R1x, R1xp, R2x, d, nd, dim)

Recursive routine involved in the electron-nucleus potential

Called by:

  • i_x1_pol_mult_one_e_cosgtos()

Calls:

  • i_x1_pol_mult_one_e_cosgtos()

  • multiply_cpoly()

nai_pol_mult_cgtos:

File : ao_one_e_ints/one_e_coul_integrals_cgtos.irp.f

complex*16 function NAI_pol_mult_cgtos(Ae_center, Be_center, power_A, power_B, alpha, beta, &
                               Ap_center, Bp_center, C_center, n_pt_in)

Computes the electron-nucleus attraction with two primitves cgtos.

\(\langle g_i | \frac{1}{|r-R_c|} | g_j \rangle\)

Needs:

  • use_pw

Calls:

  • give_cpolynomial_mult_center_one_e()

nai_pol_mult_erf_with1s:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

double precision function NAI_pol_mult_erf_with1s( A1_center, A2_center, power_A1, power_A2, alpha1, alpha2 &
                                         , beta, B_center, C_center, n_pt_in, mu_in )

Computes the following integral :

\[\int dx (x - A1_x)^a_1 (x - B1_x)^a_2 \exp(-\alpha_1 (x - A1_x)^2 - \alpha_2 (x - A2_x)^2) \int dy (y - A1_y)^b_1 (y - B1_y)^b_2 \exp(-\alpha_1 (y - A1_y)^2 - \alpha_2 (y - A2_y)^2) \int dz (x - A1_z)^c_1 (z - B1_z)^c_2 \exp(-\alpha_1 (z - A1_z)^2 - \alpha_2 (z - A2_z)^2) \exp(-\beta (r - B)^2) \frac{\erf(\mu |r - R_C|)}{|r - R_C|}$.\]

Calls:

  • give_polynomial_mult_center_one_e_erf_opt()

pseudo_dz_k_transp

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: pseudo_v_k_transp    (pseudo_klocmax,nucl_num)
integer, allocatable    :: pseudo_n_k_transp    (pseudo_klocmax,nucl_num)
double precision, allocatable   :: pseudo_dz_k_transp   (pseudo_klocmax,nucl_num)

Transposed arrays for pseudopotentials

Needs:

  • nucl_num

  • pseudo_dz_k

  • pseudo_klocmax

  • pseudo_n_k

  • pseudo_v_k

Needed by:

  • ao_pseudo_integrals_local

pseudo_dz_kl_transp

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: pseudo_v_kl_transp   (pseudo_kmax,0:pseudo_lmax,nucl_num)
integer, allocatable    :: pseudo_n_kl_transp   (pseudo_kmax,0:pseudo_lmax,nucl_num)
double precision, allocatable   :: pseudo_dz_kl_transp  (pseudo_kmax,0:pseudo_lmax,nucl_num)

Transposed arrays for pseudopotentials

Needs:

  • nucl_num

  • pseudo_dz_kl

  • pseudo_kmax

  • pseudo_lmax

  • pseudo_n_kl

  • pseudo_v_kl

Needed by:

  • ao_pseudo_integrals_non_local

pseudo_n_k_transp

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: pseudo_v_k_transp    (pseudo_klocmax,nucl_num)
integer, allocatable    :: pseudo_n_k_transp    (pseudo_klocmax,nucl_num)
double precision, allocatable   :: pseudo_dz_k_transp   (pseudo_klocmax,nucl_num)

Transposed arrays for pseudopotentials

Needs:

  • nucl_num

  • pseudo_dz_k

  • pseudo_klocmax

  • pseudo_n_k

  • pseudo_v_k

Needed by:

  • ao_pseudo_integrals_local

pseudo_n_kl_transp

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: pseudo_v_kl_transp   (pseudo_kmax,0:pseudo_lmax,nucl_num)
integer, allocatable    :: pseudo_n_kl_transp   (pseudo_kmax,0:pseudo_lmax,nucl_num)
double precision, allocatable   :: pseudo_dz_kl_transp  (pseudo_kmax,0:pseudo_lmax,nucl_num)

Transposed arrays for pseudopotentials

Needs:

  • nucl_num

  • pseudo_dz_kl

  • pseudo_kmax

  • pseudo_lmax

  • pseudo_n_kl

  • pseudo_v_kl

Needed by:

  • ao_pseudo_integrals_non_local

pseudo_v_k_transp

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: pseudo_v_k_transp    (pseudo_klocmax,nucl_num)
integer, allocatable    :: pseudo_n_k_transp    (pseudo_klocmax,nucl_num)
double precision, allocatable   :: pseudo_dz_k_transp   (pseudo_klocmax,nucl_num)

Transposed arrays for pseudopotentials

Needs:

  • nucl_num

  • pseudo_dz_k

  • pseudo_klocmax

  • pseudo_n_k

  • pseudo_v_k

Needed by:

  • ao_pseudo_integrals_local

pseudo_v_kl_transp

File : ao_one_e_ints/pot_ao_pseudo_ints.irp.f

double precision, allocatable   :: pseudo_v_kl_transp   (pseudo_kmax,0:pseudo_lmax,nucl_num)
integer, allocatable    :: pseudo_n_kl_transp   (pseudo_kmax,0:pseudo_lmax,nucl_num)
double precision, allocatable   :: pseudo_dz_kl_transp  (pseudo_kmax,0:pseudo_lmax,nucl_num)

Transposed arrays for pseudopotentials

Needs:

  • nucl_num

  • pseudo_dz_kl

  • pseudo_kmax

  • pseudo_lmax

  • pseudo_n_kl

  • pseudo_v_kl

Needed by:

  • ao_pseudo_integrals_non_local

s_half

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: s_half       (ao_num,ao_num)

\(S^{1/2}\)

Needs:

  • ao_num

  • ao_overlap

s_half_inv

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: s_half_inv   (AO_num,AO_num)

\(X = S^{-1/2}\) obtained by SVD

Needs:

  • ao_num

  • ao_overlap

Needed by:

  • eigenvalues_fock_matrix_ao

s_inv

File : ao_one_e_ints/ao_overlap.irp.f

double precision, allocatable   :: s_inv        (ao_num,ao_num)

Inverse of the overlap matrix

Needs:

  • ao_num

  • ao_overlap

  • lin_dep_cutoff

s_inv_complex

File : ao_one_e_ints/ao_overlap.irp.f

complex*16, allocatable :: s_inv_complex        (ao_num,ao_num)

Inverse of the overlap matrix

Needs:

  • ao_num

  • ao_overlap_complex

  • lin_dep_cutoff

use_pw

File : ao_one_e_ints/aos_cgtos.irp.f

logical :: use_pw

Needs:

  • ao_expo_cgtos_ord_transp

  • ao_expo_cgtos_ord_transp

Needed by:

  • ao_2e_cgtos_schwartz

  • ao_integrals_n_e_cgtos

Subroutines / functions

ao_one_e_integral_zero:

File : ao_one_e_ints/screening.irp.f

logical function ao_one_e_integral_zero(i,k)

Needs:

  • ao_one_e_integrals_threshold

  • ao_overlap_abs

  • io_ao_integrals_overlap

  • is_periodic

  • use_cgtos

give_all_erf_kl_ao:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

subroutine give_all_erf_kl_ao(integrals_ao,mu_in,C_center)

Subroutine that returns all integrals over $r$ of type $frac{ erf(mu * | r - R_C | ) }{ | r - R_C | }$

Needs:

  • ao_num

give_polynomial_mult_center_one_e:

File : ao_one_e_ints/pot_ao_ints.irp.f

subroutine give_polynomial_mult_center_one_e(A_center,B_center,alpha,beta,power_A,power_B,C_center,n_pt_in,d,n_pt_out)

Returns the explicit polynomial in terms of the “t” variable of the following

$I_{x1}(a_x, d_x,p,q) times I_{x1}(a_y, d_y,p,q) times I_{x1}(a_z, d_z,p,q)$.

Called by:

  • nai_pol_mult()

Calls:

  • i_x1_pol_mult_one_e()

  • multiply_poly()

give_polynomial_mult_center_one_e_erf:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

subroutine give_polynomial_mult_center_one_e_erf(A_center,B_center,alpha,beta,power_A,power_B,C_center,n_pt_in,d,n_pt_out,mu_in)

Returns the explicit polynomial in terms of the $t$ variable of the following polynomial:

$I_{x1}(a_x, d_x,p,q) times I_{x1}(a_y, d_y,p,q) times I_{x1}(a_z, d_z,p,q)$.

Calls:

  • i_x1_pol_mult_one_e()

  • multiply_poly()

give_polynomial_mult_center_one_e_erf_opt:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

subroutine give_polynomial_mult_center_one_e_erf_opt(A_center, B_center, power_A, power_B, C_center, n_pt_in, d, n_pt_out, p_inv_2, p_new, P_center)

Returns the explicit polynomial in terms of the $t$ variable of the following polynomial:

$I_{x1}(a_x, d_x,p,q) times I_{x1}(a_y, d_y,p,q) times I_{x1}(a_z, d_z,p,q)$.

Called by:

  • nai_pol_mult_erf()

  • nai_pol_mult_erf_v()

  • nai_pol_mult_erf_with1s()

  • nai_pol_mult_erf_with1s_v()

Calls:

  • i_x1_pol_mult_one_e()

  • multiply_poly()

int_gaus_pol:

File : ao_one_e_ints/pot_ao_ints.irp.f

double precision function int_gaus_pol(alpha,n)

Computes the integral:

$int_{-infty}^{infty} x^n exp(-alpha x^2) dx$.

nai_pol_mult:

File : ao_one_e_ints/pot_ao_ints.irp.f

double precision function NAI_pol_mult(A_center,B_center,power_A,power_B,alpha,beta,C_center,n_pt_in)

Computes the electron-nucleus attraction with two primitves.

\(\langle g_i | \frac{1}{|r-R_c|} | g_j \rangle\)

Calls:

  • give_polynomial_mult_center_one_e()

nai_pol_mult_cosgtos:

File : ao_one_e_ints/one_e_Coul_integrals_cosgtos.irp.f

complex*16 function NAI_pol_mult_cosgtos(A_center, B_center, power_A, power_B, alpha, beta, C_center, n_pt_in)

Computes the electron-nucleus attraction with two primitves cosgtos.

\(\langle g_i | \frac{1}{|r-R_c|} | g_j \rangle\)

Calls:

  • give_cpolynomial_mult_center_one_e()

nai_pol_mult_erf:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

double precision function NAI_pol_mult_erf(A_center, B_center, power_A, power_B, alpha, beta, C_center, n_pt_in, mu_in)

Computes the following integral :

\[\int dr (x-A_x)^a (x-B_x)^b \exp(-\alpha (x-A_x)^2 - \beta (x-B_x)^2 ) \frac{\erf(\mu |r - R_C |)}{| r - R_C |}$.\]

Calls:

  • give_polynomial_mult_center_one_e_erf_opt()

nai_pol_mult_erf_ao:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

double precision function NAI_pol_mult_erf_ao(i_ao, j_ao, mu_in, C_center)

Computes the following integral : $int_{-infty}^{infty} dr chi_i(r) chi_j(r) frac{erf(mu |r - R_C|)}{|r - R_C|}$.

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_power

  • ao_prim_num

  • n_pt_max_integrals

  • nucl_coord

nai_pol_mult_erf_ao_with1s:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

double precision function NAI_pol_mult_erf_ao_with1s(i_ao, j_ao, beta, B_center, mu_in, C_center)

Computes the following integral : $int_{-infty}^{infty} dr chi_i(r) chi_j(r) e^{-beta (r - B_center)^2} frac{erf(mu |r - R_C|)}{|r - R_C|}$.

Needs:

  • ao_coef_normalized_ordered_transp

  • ao_expo_ordered_transp

  • ao_nucl

  • ao_power

  • ao_prim_num

  • n_pt_max_integrals

  • nucl_coord

nai_pol_mult_erf_v:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

subroutine NAI_pol_mult_erf_v(A_center, B_center, power_A, power_B, alpha, beta, C_center, LD_C, n_pt_in, mu_in, res_v, LD_resv, n_points)

Computes the following integral :

\[\int dr (x-A_x)^a (x-B_x)^b \exp(-\alpha (x-A_x)^2 - \beta (x-B_x)^2 ) \frac{\erf(\mu |r - R_C |)}{| r - R_C |}$.\]

Calls:

  • give_polynomial_mult_center_one_e_erf_opt()

nai_pol_mult_erf_with1s_v:

File : ao_one_e_ints/pot_ao_erf_ints.irp.f

subroutine NAI_pol_mult_erf_with1s_v(A1_center, A2_center, power_A1, power_A2, alpha1, alpha2, beta, B_center, LD_B, C_center, LD_C, n_pt_in, mu_in, res_v, LD_resv, n_points)

Computes the following integral :

Calls:

  • give_polynomial_mult_center_one_e_erf_opt()

overlap_bourrin_deriv_x:

File : ao_one_e_ints/spread_dipole_ao.irp.f

subroutine overlap_bourrin_deriv_x(i_component,A_center,B_center,alpha,beta,power_A,power_B,dx,lower_exp_val,overlap_x,nx)

Called by:

  • ao_deriv_1_x

Calls:

  • overlap_bourrin_x()

overlap_bourrin_dipole:

File : ao_one_e_ints/spread_dipole_ao.irp.f

subroutine overlap_bourrin_dipole(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx)

Called by:

  • ao_dipole_x

overlap_bourrin_spread:

File : ao_one_e_ints/spread_dipole_ao.irp.f

subroutine overlap_bourrin_spread(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx)
Computes the following integral :

int [-infty ; +infty] of [(x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) * x^2 ] needed for the dipole and those things

Called by:

  • ao_spread_x

overlap_bourrin_x:

File : ao_one_e_ints/spread_dipole_ao.irp.f

subroutine overlap_bourrin_x(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx)

Called by:

  • overlap_bourrin_deriv_x()

v_n_e:

File : ao_one_e_ints/pot_ao_ints.irp.f

double precision function V_n_e(a_x,a_y,a_z,b_x,b_y,b_z,alpha,beta)

Primitve nuclear attraction between the two primitves centered on the same atom.

$p_1 = x^{a_x} y^{a_y} z^{a_z} exp(-alpha r^2)$

$p_2 = x^{b_x} y^{b_y} z^{b_z} exp(-beta r^2)$

v_n_e_cgtos:

File : ao_one_e_ints/one_e_coul_integrals_cgtos.irp.f

complex*16 function V_n_e_cgtos(a_x, a_y, a_z, b_x, b_y, b_z, alpha, beta)

Primitve nuclear attraction between the two primitves centered on the same atom.

$p_1 = x^{a_x} y^{a_y} z^{a_z} exp(-alpha r^2)$

$p_2 = x^{b_x} y^{b_y} z^{b_z} exp(-beta r^2)$

v_n_e_cosgtos:

File : ao_one_e_ints/one_e_Coul_integrals_cosgtos.irp.f

complex*16 function V_n_e_cosgtos(a_x, a_y, a_z, b_x, b_y, b_z, alpha, beta)

Primitve nuclear attraction between the two primitves centered on the same atom.

$p_1 = x^{a_x} y^{a_y} z^{a_z} exp(-alpha r^2)$

$p_2 = x^{b_x} y^{b_y} z^{b_z} exp(-beta r^2)$

v_r:

File : ao_one_e_ints/pot_ao_ints.irp.f

double precision function V_r(n,alpha)

Computes the radial part of the nuclear attraction integral:

$int_{0}^{infty} r^n exp(-alpha r^2) dr$

v_r_cgtos:

File : ao_one_e_ints/one_e_coul_integrals_cgtos.irp.f

complex*16 function V_r_cgtos(n, alpha)

Computes the radial part of the nuclear attraction integral:

$int_{0}^{infty} r^n exp(-alpha r^2) dr$

v_r_cosgtos:

File : ao_one_e_ints/one_e_Coul_integrals_cosgtos.irp.f

complex*16 function V_r_cosgtos(n, alpha)

Computes the radial part of the nuclear attraction integral:

$int_{0}^{infty} r^n exp(-alpha r^2) dr$