Density Functional Theory calculation

If you have not already done so, you should take a look at the eT_launch page to get an understanding of how the launch script works.

Setting up a DFT calculation

A Density Functional Theory (DFT) calculation is performed by specifying the keyword dft in the method section of the input file. At the moment, only restricted DFT calculations are available (dft). E.g., for a RDFT calculation we write

- method
  dft

The DFT method is defined by specifying the DFT functional. This can be done in the dft functional section of the input file. Please, refer to the available functionals specified in dft functional section E.g., for a hybrid B3LYP calculation we write

- dft functional
  functional: b3lyp

The DFT calculation requires the definition of a molecular grid. A molecular grid is automatically generated by eT. If can also be specified by including the grid info section in the input file. E.g., for a grid with a quadrature of 30th order and a radial threshold set to 1.0E-6 we write:

- grid info
  radial : 1.0e-6
  angular : 30

At the DFT level, single-point calculation can be performed. To select one of them, specify either ground state in the do section. E.g., for a single-point calculation

- do
  ground state

A minimal working example for an hybrid B3LYP RDFT single-point calculation on water:

- do
  ground state

- method
  dft

- dft functional
  functional: b3lyp

- geometry
  basis: cc-pVDZ
  O          0.00000        0.00000        0.11779
  H          0.00000        0.75545       -0.47116
  H          0.00000       -0.75545       -0.47116

Save this as h2o.inp and invoke the launch script.

path/to/eT_launch.py h2o.inp

After the calculation finished you should find h2o.out and h2o.timing.out in your working directory. If the calculation exited successfully (look for eT terminated successfully! at the bottom of the file), the output file should show iteration information for the solver converging the Density Functional Theory equations. The table with the iteration information should end with something like this:

...
 7           -76.420393564026     0.1575E-06     0.2373E-10
 8           -76.420393564027     0.2269E-07     0.4832E-12
 9           -76.420393564026     0.1009E-08     0.8527E-13
10           -76.420393564027     0.5342E-10     0.8527E-13
---------------------------------------------------------------
Convergence criterion met in 10 iterations!

Including the solver scf section in the input allows to specify the settings of the DFT calculation, as e.g. the energy or residual thresholds, in more detail. You may want to loosen the thresholds for the DFT calculation as the default energy and residual thresholds (\(10^{-7}\)) are chosen to be rather tight. If you also want to get the molecular orbital coefficients, the write orbitals keyword has to be specified in this section.

- solver scf
  energy threshold:   1.0d-4
  residual threshold: 1.0d-4
  write orbitals

The orbital coefficients are written to a separate file which is automatically copied to the output directory by the launch script. The orbital coefficient file would be called h2o.mo_coefficients.out in this example.

If you wish to compute Mulliken or Loewdin (or both) population analysis you need to add the keyword population analysis: in the solver scf and then specify mulliken, loewdin or all. The population analysis will be saved in separate files, which in this example would be called h2o.Mulliken_population_analysis.out and h2o.Loewdin_population_analysis.out where you can find the atomic charges and reduced orbital charges.

- solver scf
  population analysis: mulliken

Relevant input sections

Solver SCF

DFT Functional

Grid Info

System section