DensityFunctional - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

# Online Help

###### All Products    Maple    MapleSim

Home : Support : Online Help : Toolboxes : Quantum Chemistry : DensityFunctional

QuantumChemistry

 DensityFunctional
 compute the ground state energy of a molecule as a functional of the one-electron density

 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 ψ(, ..., ${\mathrm{r}}_{\mathrm{N}}$).
 • 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:

 ${t}\left[{\mathrm{e_tot}}\right]$ - float -- total electronic energy of the system ${t}\left[{\mathrm{mo_coeff}}\right]$ - Matrix -- coefficients expressing molecular orbitals (columns) in terms of atomic orbitals (rows) ${t}\left[{\mathrm{mo_occ}}\right]$ - Vector -- molecular orbital occupations ${t}\left[{\mathrm{mo_energy}}\right]$ - Vector -- energies of the molecular orbitals ${t}\left[{\mathrm{mo_symmetry}}\right]$ - Vector -- string labels of the irreducible representations of the molecular orbitals ${t}\left[{\mathrm{group}}\right]$ - string -- name of the molecule's point group symmetry ${t}\left[{\mathrm{aolabels}}\right]$ - Vector -- string label for each atomic orbital consisting of the atomic symbol and the orbital name ${t}\left[{\mathrm{converged}}\right]$ - integer -- 1 or 0, indicating whether the calculation is converged or not ${t}\left[{\mathrm{rdm1}}\right]$ - Matrix -- one-particle reduced density matrix (1-RDM) in the atomic-orbital basis set ${t}\left[{\mathrm{nuclear_gradient}}\right]$ - Matrix -- analytical nuclear gradient ${t}\left[{\mathrm{dipole}}\right]$ - Vector -- dipole moment according to its x, y and z components ${t}\left[{\mathrm{populations}}\right]$ - Matrix -- atomic-orbital populations ${t}\left[{\mathrm{charges}}\right]$ - Vector -- atomic charges from the populations ${t}\left[{\mathrm{excited_state_energies}}\right]$ - Vector -- energies of excited states ${t}\left[{\mathrm{excited_state_spins}}\right]$ - Vector -- spin of excited states ${t}\left[{\mathrm{transition_dipoles}}\right]$ - Matrix -- transition dipoles ${t}\left[{\mathrm{oscillator_strengths}}\right]$ - Vector -- oscillator strengths ${t}\left[{\mathrm{rtm1}}\right]$ - Matrix -- 1-electron reduced transition matrices with each matrix stored as a column vector ${t}\left[{\mathrm{charges}}\right]$ - Vector -- atomic charges from the populations

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 ("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).
 • 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

 1 R. G. Parr and W. Yang, Density Functional Theory of Atoms and Molecules (Oxford University Press, New York, 1989).
 2 P. Hohenberg and W. Kohn, Phys. Rev. 136, B864 (1964). "Inhomogeneous electron gas"
 3 R. O. Jones, Rev. Mod. Phys. 87, 897 (2015). "Density functional theory: Its origins, rise to prominence, and future"
 4 C. Ullrich, Time-Dependent Density-Functional Theory: Concepts and Applications (Oxford University Press, New York, 2012).

Examples

 > $\mathrm{with}\left(\mathrm{QuantumChemistry}\right):$

A DFT calculation of the  molecule

 >
 ${\mathrm{molecule}}{≔}\left[\left[{"H"}{,}{0}{,}{0}{,}{0}\right]{,}\left[{"F"}{,}{0}{,}{0}{,}{0.95000000}\right]\right]$ (1)
 >
 ${\mathrm{table}}{}\left({\mathrm{%id}}{=}{18446744671273842558}\right)$ (2)
 > 

 See Also