QuantumChemistry
DensityFunctional
compute the ground state energy of a molecule as a functional of the one-electron density
Calling Sequence Description Outputs
Options References Examples
Calling Sequence
DensityFunctional(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, xc, nuclear_gradient, populations, conv_tol, diis, diis_space, diis_start_cycle, direct_scf, direct_scf_tol, level_shift_factor, max_cycle, max_rho_cutoff, small_rho_cutoff, grids_atomic_radii, grids_becke_scheme, grids_level, grids_prune, grids_radi_method, grids_radii_adjust, grids_symmetry, excited_states, nstates
Description
Density Functional Theory (DFT) computes the energy of a many-electron atom or molecule as a functional of the one-electron density ρ rather than the many-electron wavefunction ψ(r1, r2, ..., rN).
Formally, DFT relies upon the Hohenberg-Kohn theorem (1964) which states that the energy of any many-electron quantum system can be expressed as an exact functional of the one-electron density.
Practically, DFT solves for a set of N orbitals that satisfy the Kohn-Sham equations containing a one-electron exchange-correlation potential whose dependence upon the one-electron density is approximated by various DFT functionals.
DensityFunctional employs "B3LYP" as its default exchange-correlation (xc) functional. The full list of available functionals is provided in the help page Functionals. Furthermore, the available functionals can be searched with the SearchFunctionals command.
Excited states can be computed by setting the optional keyword excited_states to true (default is false) or one of the strings, "TDDFT" or "TDA". When set to true or "TDDFT", the excited states are computed by the time-dependent density functional theory (TDDFT) method; when set to "TDA", they are computed by the Tamm-Dancoff approximation (TDA) 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 = "Angstrom" or "Bohr". Default is "Angstrom".
max_memory = posint -- allowed memory in MB.
xc = string -- The full list of available functionals is provided in the help page Functionals. Default functional is "B3LYP".
excited_states = boolean/string -- options to compute excited states: true ("TDDFT"), false (default), "TDDFT", and "TDA".
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).
solvent = string -- name of the solvent. See Solvent. Default is "None".
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 errors vector are stored.
diis_start_cycle = posint -- the step to start diis. Default is 1.
direct_scf = boolean -- direct SCF is used by default.
direct_scf_tol = float -- direct SCF cutoff threshold. Default is 10−13.
level_shift_factor = float/int -- level shift (in au) for virtual space. Default is 0.
max_cycle = posint -- max number of iterations. Default is 50.
max_rho_cutoff = float -- 10−7.
small_rho_cutoff = float -- 0.
grids_atomic_radii = string -- "radi.BRAGG_RADII" (default), "radi.COVALENT_RADII", or "None".
grids_becke_scheme = string -- "gen_grid.original_becke" (default) or "gen_grid.stratmann".
grids_level = (0-9) -- big number for large mesh grids. Default is 3.
grids_prune = "gen_grid.nwchem_prune" (default), "gen_grid.sg1_prune", "gen_grid.treutler_prune", or "None".
grids_radi_method = "radi.treutler" (default), "radi.delley", "radi.mura_knowles", or "radi.gauss_chebyshev".
grids_radii_adjust = "radi.treutler_atomic_radii_adjust" (default), "radi.becke_atomic_radii_adjust", or "None".
grids_symmetry = boolean -- true or false to symmetrize mesh grids.
References
R. G. Parr and W. Yang, Density Functional Theory of Atoms and Molecules (Oxford University Press, New York, 1989).
P. Hohenberg and W. Kohn, Phys. Rev. 136, B864 (1964). "Inhomogeneous electron gas"
R. O. Jones, Rev. Mod. Phys. 87, 897 (2015). "Density functional theory: Its origins, rise to prominence, and future"
C. Ullrich, Time-Dependent Density-Functional Theory: Concepts and Applications (Oxford University Press, New York, 2012).
Examples
withQuantumChemistry:
A DFT 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 ≔ DensityFunctionalmolecule;
output_hf≔table⁡group=C1,dipole=,converged=1,mo_coeff=,rdm1=,aolabels=,populations=,e_tot=−98.88613132,mo_symmetry=,charges=,mo_energy=,mo_occ=
See Also
QuantumChemistry HartreeFock SearchFunctionals Functionals
Download Help Document