QuantumChemistry
HartreeFock
compute the ground state energy of a molecule with each electron in the mean field of the other electrons
Calling Sequence Description Outputs
Options References Examples
Calling Sequence
HartreeFock(molecule, options)
Parameters
molecule
-
list of lists; each list has 4 elements, the string of an atom's symbol and atom's x, y, and z coordinates
options
(optional) equation(s) of the form option = value where option is one of symmetry, unit, max_memory, conv_tol, diis, diis_space, diis_start_cycle, direct_scf, direct_scf_tol, level_shift_factor, max_cycle, nuclear_gradient, populations, excited_states, nstates
Description
The Hartree Fock (HF) method computes the energy of a many-electron atom or molecule with each electron in the mean field of the other electrons.
Formally, the many-electron wavefunction in HF is approximated as an antisymmetrized product of orbitals, known as a Slater determinant. The Hartree-Fock energy is an upper bound on the ground-state energy by the variational principle. It is the lowest energy possible from a trial wave function that is a single Slater determinant.
Practically, for an N-electron atom or molecule HF solves for a set of N orbitals that satisfy the Hartree-Fock equations that approximate the electron-electron repulsion as a effective one-electron potential. The effective one-electron potential contains two terms known as Coulomb and exchange terms.
Because wavefunction from the Hartree-Fock method can be expressed as a product of orbitals, it is said to be not correlated. The correlation energy of the Hartree-Fock method, by definition, is zero.
Excited states can be computed by setting the optional keyword excited_states to true (default is false) or one of the strings, "TDHF" or "CIS". When set to true or "TDHF", the excited states are computed by the time-dependent Hartree-Fock (TDHF) method; when set to "CIS", they are computed by the configuration interaction singles (CIS) method.
Outputs
The table of following contents:
te_tot
float -- total electronic energy of the system
tmo_coeff
Matrix -- coefficients expressing molecular orbitals (columns) in terms of atomic orbitals (rows)
tmo_occ
Vector -- molecular orbital occupations
tmo_energy
Vector -- energies of the molecular orbitals
tmo_symmetry
Vector -- string labels of the irreducible representations of the molecular orbitals
tgroup
string -- name of the molecule's point group symmetry
taolabels
Vector -- string label for each atomic orbital consisting of the atomic symbol and the orbital name
tconverged
integer -- 1 or 0, indicating whether the calculation is converged or not
trdm1
Matrix -- one-particle reduced density matrix (1-RDM) in the atomic-orbital basis set
tnuclear_gradient
Matrix -- analytical nuclear gradient
tdipole
Vector -- dipole moment according to its x, y and z components
tpopulations
Matrix -- atomic-orbital populations
tcharges
Vector -- atomic charges from the populations
texcited_state_energies
Vector -- energies of excited states
texcited_state_spins
Vector -- spin of excited states
ttransition_dipoles
Matrix -- transition dipoles
toscillator_strengths
Vector -- oscillator strengths
trtm1
Matrix -- 1-electron reduced transition matrices with each matrix stored as a column vector
Options
basis = string -- name of the basis set. See Basis for a list of available basis sets. Default is "sto-3g".
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.
excited_states = boolean/string -- options to compute excited states: true ("TDHF"), false (default), "TDHF", and "CIS".
nstates = posint/list -- number of excited states: integer n or list [p,q] where p is the number of singlets and q is the number of triplets and n is interpreted as [n,n] (default is 6).
ghost = list of lists -- each list has the string of an atom's symbol and the atom's x, y, and z coordinates. See Ghost Atoms.
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.
See Also
QuantumChemistry DensityFunctional
References
Examples
D. R. Hartree, Math. Proc. Camb. Phil. Soc. 24, 111-132 (1928). The wave mechanics of an atom with a non-Coulomb central field. Part II. Some results and discussion
V. Fock, Z. Physik 61, 126-148 (1930). Näherungsmethode zur lösung des quantenmechanischen mehrkörperproblems
C. C. J. Roothaan, Rev. Mod. Phys. 23, 69–89 (1951). "New developments in molecular orbital theory"
A. Szabo and N. S. Ostlund, Modern Quantum Chemistry: Introduction to Advanced Electronic Structure Theory (Dover Books, New York, 1996).
withQuantumChemistry:
A Hartree-Fock calculation of the hydrogen fluoride HF molecule
molecule ≔ H,0,0,0,F,0,0,0.95;
molecule≔H,0,0,0,F,0,0,0.95000000
output_hf ≔ HartreeFockmolecule;
output_hf≔table⁡mo_occ=2.000000002.000000002.000000002.000000002.000000000.,mo_symmetry=AAAAAA,mo_coeff=−0.005400820.15156915−0.532028010.0.1.059206450.99473932−0.25047347−0.078863870.0.0.081175240.022310820.945277250.414255900.0.−0.521789080.0.0.−0.626993210.779024720.0.0.0.0.779024720.626993210.−0.00271165−0.079827120.698595390.0.0.81757688,dipole=0.0.−1.25708793,populations=0.805206141.999116691.947657912.000000002.000000001.24801926,aolabels=0 H 1s1 F 1s1 F 2s1 F 2px1 F 2py1 F 2pz,group=C1,converged=1,rdm1=0.61211236−0.00275733−0.154482750.0.−0.76751400−0.002757332.11692558−0.494486500.0.−0.07559350−0.15448275−0.494486502.131309600.0.0.427756010.0.0.2.000000000.0.0.0.0.0.2.000000000.−0.76751400−0.075593500.427756010.0.0.98883047,e_tot=−98.57280829,mo_energy=−25.90300609−1.46136621−0.57530762−0.46324316−0.463243160.59526539,charges=0.19479386−0.19479386
Download Help Document