compute the one- and two-electron integrals in the molecular-orbital basis set
list of lists; each list has 4 elements, the string of an atom's symbol and atom's x, y, and z coordinates
(optional) equation(s) of the form option = value where option is one of basis, active, initial_mo, spin, charge, symmetry, frozen, unit, max_memory, conv_tol, diis, diis_space, diis_start_cycle, direct_scf, direct_scf_tol, level_shift_factor, max_cycle, nuclear_gradient, populations
The MOIntegrals command generates the one- and two-electron integrals in the Hartree-Fock molecular-orbital basis set (default) or another molecular-orbital basis set specified by the optional keyword initial_mo.
If the active keyword is not specified, the output is a table of the following electron integrals: kinetic energy integrals, nuclear attraction integrals, overlap integrals, and electron repulsion integrals in chemistry notation ([ij,kl]) as well as the nuclear energy.
If the active keyword is specified, the output is a table of the following electron integrals: one-electron integrals and electron repulsion integrals in chemistry notation ([ij,kl]) as well as the nuclear and core energies. Note that the core energy contains the energy of the core electrons as well as the nuclear energy.
The nuclear attraction integrals, kinetic energy integrals, and overlap integrals are one-electron integrals, and hence, they are returned as r×r matrices where r is the number of orbitals.
The electron repulsion integrals are organized in chemistry notation ([ij,kl]) with only independent symmetric elements for both ij and kl pairs (i≥j and k≥l). For r orbitals the electron repulsion integrals are returned as a (r×(r+1)/2)×(r×(r+1)/2) Matrix M whose elements are given by M[k(k-1)/2+l,i(i-1)/2+j].
The table has the following contents:
Matrix -- electron repulsion integrals
Matrix -- nuclear attraction integrals
Matrix -- kinetic energy integrals
Matrix -- overlap integrals
float -- nuclear energy
or with the active keyword given
float -- core energy including nuclear energy
basis = string -- name of the basis set. See Basis for a list of available basis sets. Default is "sto-3g".
active = list -- [number of electrons, number of active orbitals]
initial_mo = list -- the basis of molecular orbitals (MOs) for the electron integrals can be specified as a list: [ t[mo_coeff], t[mo_symmetry] ] where t[mo_coeff] is the Matrix of MOs (columns) in terms of atomic orbitals (rows) and t[mo_symmetry] is the Vector of MO symmetries (see HartreeFock output). If the keyword initial_mo is not given, then the electron integrals are computed with the Hartree-Fock MOs.
spin = nonnegint -- twice the total spin S (= 2S). Default is 0.
charge = nonnegint -- net charge of the molecule. Default is 0.
symmetry = string/boolean -- is the Schoenflies symbol of the abelian point-group symmetry which can be one of the following: D2h, C2h, C2v, D2, Cs, Ci, C2, C1. true finds the appropriate symmetry while false (default) does not use symmetry.
unit = string -- "Angstrom" or "Bohr". Default is "Angstrom".
max_memory = posint -- allowed memory in MB. Default is 4000.
nuclear_gradient = boolean -- option to return the analytical nuclear gradient if available. Default is false.
populations = string -- atomic-orbital population analysis: "Mulliken" and "Mulliken/meta-Lowdin". Default is "Mulliken".
conv_tol = float -- converge threshold. Default is 10−10.
diis = boolean -- whether to employ diis. Default is true.
diis_space = posint -- diis's space size. By default, 8 Fock matrices and error vectors are stored.
diis_start_cycle = posint -- the step to start diis. Default is 1.
direct_scf = boolean -- direct SCF in which integrals are recomputed is used by default.
direct_scf_tol = float -- direct SCF cutoff threshold. Default is 10−13.
level_shift = float/int -- level shift (in au) for virtual space. Default is 0.
max_cycle = posint -- max number of iterations. Default is 50.
frozen = set -- set of Hartree-Fock molecular orbitals to be frozen.
Consider the hydrogen fluoride HF molecule
molecule ≔ H,0,0,0,F,0,0,0.95;
Compute the MO integrals
output_hf ≔ MOIntegralsmolecule,basis=dz;
Or using the active keyword to specify a set of active electrons and orbitals
output_hf ≔ MOIntegralsmolecule,basis=dz, active=6,4;
Download Help Document
What kind of issue would you like to report? (Optional)