DensityFunctional - Maple Programming Help

Online Help

All Products    Maple    MapleSim


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

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

tcharges

-

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 = posint/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".

• 

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 1010.

• 

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 1013.

• 

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 -- 107.

• 

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.

• 

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).

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

withQuantumChemistry:

A DFT calculation of the hydrogen fluoride HF molecule

molecule  H,0,0,0,F,0,0,0.95;

moleculeH,0,0,0,F,0,0,0.95000000

(1)

output_hf  DensityFunctionalmolecule;

table%id=18446744671273842558

(2)

See Also

QuantumChemistry
HartreeFock
SearchFunctionals
Functionals