DFTB Manual

Table of Contents

DFTB Manual
Table of Contents
Introduction
Release 2012
DFTB-GUI
Input
Specification of the System
Specification of the computational Task
Changing the default Units
Setting DFTB Calculation details
Geometry optimization
Restart
Molecular Dynamics
Available Thermostats
Additional Periodicity Data
Examples
Parameter files
Installing additional DFTB.org parameter files
Third Order parameter files
References
DFTB: general description
DFTB: elements
Dresden
DFTB.org
ThirdOrder
Keywords

Introduction

Our implementation of the DFTB method can perform single point calculations, geometry optimizations, transition state searches, frequency calculations, and molecular dynamics. Molecules as well as periodic systems can be handled ensuring a smooth link with our full DFT codes ADF and BAND. It can be used as a stand-alone command line program, or from the graphical interface.

The DFTB program is orders of magnitude faster than DFT, but requires parameter files to be installed for all pair-wise combinations of atoms in a molecule. Many elements can be handled with the Dresden parameter set included in the distribution, while many other parameter sets (from DFTB.org) can be enabled, free of charge for non-profit users. Alternatively, sets of parameters in the SKF format can be downloaded and used from third party sources.

Release 2012

The 2012 release of our DFTB program features major updates:

Method improvements

Functionality

DFTB-GUI

Note that the graphical user interface DFTB-GUI enables all users to set up complicated calculations with a few mouse clicks, and provides graphical representations of calculated data fields, see the DFTB-GUI tutorials.

Input

The input for DFTB slightly differs from the one found in ADF, and from the input for previous version of DFTB. For this reason, old DFTB input files will not be usable by the current version. Nevertheless, although layout and keywords are organized differently, general nomenclature and structure are unchanged. We refer to the ADF User Guide for more information on this topic. In the following sections, a list of the relevant Keys and the contained sub-keys will be presented.

After the run, results of the computation are written to standard output. Binary information about the evaluation are also written to a keyed-file dftb.rkf.

Specification of the System

The input of the initial structure can be given with the key System. This key is generally mandatory, but for molecular dynamics restarts, it can be omitted. In that case, the molecular configuration of the last recorded iteration will be used.

System
    {Atoms
        Atom Coords
    End}
    {Charge NetQ}
    {Lattice
        Vectors
    End}

    {LatticeStrain
         eps1 value
         eps2 value
         eps3 value
         eps4 value
         eps5 value
         eps6 value
    }
    {FractionalCoords} 
End

The System key accepts a set of sub-keys to specify various details of the chemical system under evaluation

Atoms

Specifies the geometry of the molecular system as a list of rows, one row per atom.

Atom

The name of an atom type. It must be the standard one- or two-characters symbol for the chemical element: H, He, Li, and so on.

Coords

This specifies the coordinates of the atom. The x, y, z values of the Cartesian coordinates are by default interpreted in Angstrom.

Charge

The net charge of the molecule can be controlled with the optional sub-key CHARGE. If this sub-key is omitted the net total charge of the molecule is by default zero.

NetQ

The net total charge of the molecule.

Lattice

Information about the periodicity of the system is given through this sub-key. Its presence is optional, and it implies a periodic system. The subsequent computation will therefore evaluate the system accordingly. A list of up to three vectors (one per row) for the cell must be specified.

Vector

Three floating point values defining the periodicity vector along a given direction. One, two, or three vectors can be specified (each on a different row) to express linear, planar or bulk periodicity, respectively. If one vector is specified, periodicity must develop along the x axis. If two vectors are specified, periodicity must develop along the xy plane. The unit is the same of the Atoms section.

LatticeStrain

Allows the application of a strain tensor to the lattice. The values of eps1 to eps6 represent the unique elements of the strain tensor, as follows

eps1eps6eps5
eps6eps2eps4
eps5eps4eps3

FractionalCoords

This optional keyword modifies how the ATOMS coordinates are interpreted. When the keyword is present, coordinates will be interpreted as fractions of the periodicity lattice vectors, instead of absolute geometric positions in 3D space. Necessarily, the presence of this sub-key requires LATTICE to be specified.

Specification of the computational Task

The Task section is mandatory and allows to specify the computational task to perform. It accepts only one mandatory sub-key, runType.

Task
 runType type
End

type

The type of evaluation to perform.

It can be:
- SinglePoint or SP
- GeometryOptimization or GO
- TransitionState or TS
- Frequencies or F
- MolecularDynamics or MD
- Phonons

Changing the default Units

The Units key is optional. It allows to specify different units for Length and Time, in place of the default ones.

Units
 {length    angstrom|bohr}
 {time      femtosec|au}
End

Setting DFTB Calculation details

DFTB
 ResourcesDir  relativepath
 {RadialExtrapolation  none|linear|improved|original|bezier}
 {SCC
    {iterations NIter}
    {thirdOrder}
    {converge charge=QDiff}
 End}
 {UseSymmetry  yes|no}
 {Repulsion
    forcePolynomial
 End}
 {Occupation hund|fermi {temperature=FermiTemp}}
End

This mandatory key allows to specify and control different aspects of the DFTB evaluation engine.

ResourcesDir

Allows to specify the path (relative to $ADFRESOURCES/DFTB) of the directory containing DFTB parameter files. Different parameters may be suitable for different DFTB evaluations. It is important to choose the appropriate parameter set for the type of calculation and molecular system under study.

RadialExtrapolation

Advanced control option. Overrides the extrapolation method for Slater-Koster grid values between the end of the tabulated grid and the cutoff distance (value for which atoms are considered too far to interact). Depending on the structure of your Slater Koster tables, a different radial extrapolation method may be needed in order to guarantee correct behavior, in particular for large and periodic systems. Five different extrapolation strategies are available:

none

Performs no extrapolation, the value being forced to zero at distances greater than the grid last position.

linear

performs a linear interpolation between the last point of the grid and the value of zero, at cutoff distance.

improved (default)

Perform a 9th grade polynomial interpolation between 6 points of the grid and three zeros. This interpolation may prove unstable for particular Slater Koster data

original

same as improved, but reproducing behavior of previous reference programs. Should not be used in general.

bezier

Uses a bezier curve passing through the last grid point and the cutoff point, guaranteeing continuity and smoothness. This is the suggested method in case of unexpected behavior.

SCC

The SCC key is optional. Its presence enables the Self Consistent Charge iterative procedure in DFTB. If the key is not present, DFTB will perform a non-Self Consistent Charge evaluation. SCC is not available for periodic evaluations. Additional optional keys can be used to control the SCC procedure

iterations NIter

Allows to specify the maximum number of SCC iterations. Default is 100 iterations, which is a very high number. Most computations will converge in less iterations. Lack of convergence within this limit may be due to use of hund Occupation. fermi occupation may improve convergence. See the Occupation key below.

thirdOrder

When this optional keyword is specified, a third order correction will be applied to the SCC evaluation.

converge charge=QDiff

Specifies the tolerance for convergence on the variation of the atomic charges. The default is 1.0e-8.

UseSymmetry yes|no

Enables or disables the use of symmetry during the evaluation. The key is optional, and in its absence the default is yes.

Repulsion

This key allows to specify some details about the Repulsion contribute evaluation. It accepts only one sub-key "forcePolynomial", which forces the use of polynomials as defined in the Slater Koster parameter files, in place of the Spline description.

Occupation

This optional key allows to specify the fill strategy to use for the orbitals. It can be either "hund", to fill the orbitals according to the hund rule, or "fermi", to perform electronic charge distribution over the orbitals. If "fermi" is specified, a further "temperature" option must be present, specifying the fermi temperature in kelvin. If this key is absent, the default is fermi occupation with a temperature of 5 kelvin.

Geometry optimization

Geometry
 {Optim       Cartesian|Delocal|Primitive|Internal}
 {Iterations  Niter}
 {Converge    {E=TolE} {Grad=TolG} {Rad=TolR}}
 {Step        {TrustRadius=MaxRadius}}
 {OptimizeLattice}
End

Geometry allows to specify information about the geometry optimization strategy. The keyword must be specified only for those Task runTypes requiring a geometry optimization (GeometryOptimization and TransitionState).

Optim

Cartesian|Delocal|Primitive|Internal

Optimization in delocalized coordinates (Delocal) can only be used in geometry optimizations or transition state searches.

Iterations

Niter

The maximum number of geometry iterations allowed to locate the desired structure. The default is 50.
This is a fairly large number. If the geometry has not converged (at least to a reasonable extent) within that many iterations, there may be an underlying cause to consider, instead of simply increasing the allowed number of cycles.

Converge

Convergence is monitored for two items: the energy and the Cartesian gradients. Convergence criteria can be specified separately for each of these items:

TolE

The criterion for changes in the energy, in hartrees. Default: 1e-5.

TolG

Applies to gradients, in hartree/angstrom. Default: 1e-3.

TolR

The maximum Cartesian step allowed for a converged geometry, in angstrom. Default: 0.001 angstrom.

Step

Controls that changes in geometry from one cycle to another are not too large:

MaxRadius

By default, the trust radius is set to 0.2. Using the key, the user can override this, setting a constant value. A conservative value is 0.2. A large system (eg 100 atoms) typically needs a larger trust radius (eg 0.8).

OptimizeLattice

Enables optimization of the Lattice parameters, in addition to the molecular geometry. This can only be applied to periodic systems.

Restart

Restart
      {RestartFile}
      {RestartMulliken}
      {RestartOrbitals}
End

Molecular Dynamics

MD
 Steps      NSteps
 TimeStep   TStep
 {Restart  file=path}
 {Checkpoint frequency=ChkFreq}
 {Trajectory samplingFreq=SFreq}
 {Preserve   [TotalMomentum AngularMomentum CenterOfMass All None]}
 {InitialVelocities zero|inline|random {temperature=InitTemp}}
 {InlineVelocities
   velocityVector
 End} 
 {Thermostat type=ThermoType {thermostat options}}
End

The DFTB program supports molecular dynamics (with Velocity Verlet) with and without thermostats. This key, used with Task runType is set to MD, allows to specify the information needed by the molecular dynamics evaluation. This implementation of MD supports periodic systems.

Steps NSteps

Specifies the number of steps to be taken in the MD simulations. It accepts a simple integer number NSteps.

TimeStep TStep

Specifies the time for each step. By default, the unit is femtoseconds. Through the Units key, it can be changed to atomic units of time.

Restart file=path

Triggers a restart procedure, recovering the latest known information from the specified file (either a final .rkf file, or a checkpoint .chk file). When this keyword is present, System, Velocity, previous average values and energy transfers will be recovered from the file, ignoring any redundant specification made in the input file. This is the only situation where the System keyword can be omitted.

Checkpoint frequency=ChkFreq

Sets the frequency (in steps) for checkpoint the current status to a file. This allows to restart from an intermediate configuration in case of a crash of the program or the system. The keyword is optional; if not specified, by default is equal to the number of steps divided by 4. Only the most recent checkpoint is preserved. In case of crash, the checkpoint may be found in the execution temporary directory, instead of the working path. Checkpoint files can be inspected with the GUI for the latest configuration.

Trajectory samplingFreq=SFreq

Sets the frequency for printing to stdout and storing the molecular configuration on the .rkf file. This keyword is optional, and the default is the number of steps divided by 1000 (minimum one).

Preserve [TotalMomentum AngularMomentum CenterOfMass All None]

Constrains the molecular dynamics simulation to preserve different whole-system parameters. Note that this option has poor meaning for periodic systems. The keys can be given as a sequence out of the allowed list, with words separated by spaces

TotalMomentum

removes the overall velocity of the system from the atomic velocities.

AngularMomentum

removes the overall angular velocity of the system from the atomic velocities.

CenterOfMass

keeps the molecular system centered on the current center of mass.

All

Specifying "All" is equivalent of specifying all of the above keywords

None

None of the above options will be enabled. This is the default setup if the Preserve keyword is not specified.

InitialVelocities zero|inline|random {temperature=InitTemp}

Specifies the initial velocities to assign to the atoms. Three methods to assign velocities are available

zero

All atom's velocities are set to zero

inline

Atom's velocities are set to the values specified in the key InlineVelocities (see below)

random temperature=InitTemp

Atom's velocities are set to random values according to the specified temperature InitTemp, in kelvin. The temperature keyword is mandatory for this choice.

InlineVelocities

This optional key is read when InitialVelocities inline option is used. It allows to specify the velocities for each atom. Each row must contain three floating point values (corresponding to the x,y,z component of the velocity vector) and a number of rows equal to the number of atoms must be present, given in the same order as the System Atoms specification.

Available Thermostats

The key Thermostat allows to specify the use of a thermostat during the simulation. Depending on the selected thermostat type, different additional options may be needed to characterize the specific thermostat behavior. At the moment, the following choices for the type parameter are available

None

No thermostat applied. This is the default if no Thermostat key is present.

Scale

Applies a scaling of the velocities in agreement to the specified temperature. The following options are required for this thermostat

frequency=NSteps

This parameter is optional. If specified, the thermostat will be applied every NSteps, using that step's ensemble temperature and the specified thermostat temperature to compute the scaling factor. If not specified, the thermostat will be applied at every step, using the mean temperature of the ensemble and the specified thermostat temperature to compute the scaling factor.

temperature=Temp

Specifies the temperature of the thermostat, in kelvin. This parameter is mandatory.

Berendsen

Applies the Berendsen thermostat. The following options are required for this thermostat

tau

Specifies the initial tau parameter for the Berendsen thermostat, in femtoseconds (can be changed via Units key).

apply=local|global

Defines the scope of application of the scaling correction, either per-atom-velocity (option local) or on the molecular system as a whole (option global)

temperature=Temp

Specifies the temperature of the thermostat, in kelvin. This parameter is mandatory.

Additional Periodicity Data

Periodic
    {KSpace NK}
    {BZStruct {enabled=yes|no} {automatic=yes|no} {interpol=intVal}}
    {Phonon reorderatoms=yes|no interpol=N rcelx=N stepsize=N}
    {BZPath
        KMesh NMesh
        {Path
        End}
    End}
    {SuperCell
    End}
    {LatticeStepSize}
    {stressTensor}
    {Screening}
End

KSpace

This parameter controls the number of k-points used in the calculation. For very small unit cells (one atom wide) a value of 5 is advised. For medium sized unit cells 3 is adequate. For very large ones (10 atoms wide) kspace=1 suffices. (Default is 5)

BZStruct

This controls the path taken through the Brillouin zone (for plotting purposes). It has no effect on the calculated energy. Specifying intVal the band structure is interpolated along the path (so extra k-points are generated). You can also specify a path by hand, setting automatic to no. The points in the path should be entered in the BZPath key.

enabled

By default this feature is enabled.

automatic

Whether of not to use the automatic path generation.

interpol

Level of interpolation to use along the path

Phonon

This enables a phonon run. One should start from a completely optimized system. Next one should choose a super cell. The phonon spectrum converges with super cell size. How big it should be depends on the system.

reorderatoms

Technical option: put atoms of the same type after each other.

stepsize

Step size to be taken to obtain the force constants (second derivative) from the analytical gradients.

BZPath

Allows the user to specify manually a path through the BZ. The points are in terms of reciprocal lattice vectors.

KMesh

The amount of points on each line segment

Path

Each path consists of a number of points, which are assumed to be connected.

SuperCell

Used for the phonon run. The super lattice is expressed in the lattice vectors. Most people will find a diagonal matrix easiest to understand.

Examples

Many helpful examples of DFTB calculations can be found in the $ADFHOME/examples/dftb directory. Here is a run script for one such example:

$ADFBIN/dftb << eor

Task
  RunType GO
End

System
    Atoms
        C         0.000000  0.000000  0.000000
        C         1.402231  0.000000  0.000000
        C         2.091015  1.220378  0.000000
        C         1.373539  2.425321  0.004387
        C        -0.034554  2.451759  0.016301
        C        -0.711248  1.213529  0.005497
        O        -0.709522  3.637718  0.019949
        C        -2.141910  1.166077 -0.004384
        O        -2.727881  2.161939 -0.690916
        C        -0.730162  4.530447  1.037168
        C        -0.066705  4.031914  2.307663
        H        -0.531323 -0.967191 -0.007490
        H         1.959047 -0.952181 -0.004252
        H         3.194073  1.231720 -0.005862
        H         1.933090  3.376356 -0.002746
        O        -2.795018  0.309504  0.548870
        H        -2.174822  2.832497 -1.125018
        O        -1.263773  5.613383  0.944221
        H        -0.337334  4.693941  3.161150
        H         1.041646  4.053111  2.214199
        H        -0.405932  3.005321  2.572927
    End
End

DFTB
    ResourcesDir Dresden
    SCC
        iterations 200
        converge charge=1.0e-8
    End
End

Geometry
    iterations 100
End

eor

Parameter files

The set of DFTB parameter files available in the ADF package were designed by J. Frenzel, A.F. Oliveira, N. Jardillier, T. Heine, and G. Seifert, mainly at the Technische Universität in Dresden, Germany, see also some additional information about the generation of these parameter files. These parameter files are kept in the directory $ADFHOME/atomicdata/DFTB/Dresden.

You can also use a different set of parameter files. Note that different sets of parameter files are often not compatible. Note also that often parameter files were designed for a specific purpose, which may be different than your application, and therefore may give not the desired accuracy.

The DFTB implementation shipped by SCM provides the most up-to-date parameter sets available on the DFTB.org website. Additional licensing requirements may however be needed to access the content of the files. Please contact our licensing department to evaluate the available options.

The following sets are currently shipped

In addition, the following extension sets are provided to the mio set (either version 0-1 or 1-1):

We recommend to visit the DFTB.org web site for more detailed information about each set. Please note that our implementation of DFTB does not support parameter sets files containing f-functions, such as the "rare" set.

Installing additional DFTB.org parameter files

To install new parameter sets released by the DFTB.org website in the future, we recommend the following procedure

  1. Unpack the tar.gz file containing the parameters (for example, newset-0-1.tar.gz) with the command tar -C $ADFRESOURCES/DFTB/DFTB.org -xzvf newset-0-1.tar.gz.
  2. Make sure the files have the name in the format X-Y.skf, with X and Y element symbols (for example, C-C.skf, C-H.skf, Al-H.skf). If this is not the case, rename the files to follow this naming.
  3. Take note of the new directory name created in $ADFRESOURCES/DFTB/DFTB.org while unpacking (for example, newset-0-1)

The new parameter set can be now specified with the key ResourcesDir

ResourcesDir DFTB.org/newset-0-1

Third Order parameter files

The parameter files for third order evaluation are available under a separate license agreement. Contact our licensing department for more information. Third order parametrization uses the values classified as "DFTB3 fit" in the reference paper (Gaus, Cui, Elstner). The values for the parameters are as follows: Zeta = 4.2; Hubbard derivatives for atoms: C = −0.23; H = −0.16; N = −0.13; O = −0.19; P = −0.14.

References

DFTB: general description

M. Elstner, D. Porezag, G. Jungnickel, J. Elsner, M. Haugk, T. Frauenheim, S. Suhai, G. Seifert, Self-consistent charge density functional tight-binding method for simulation of complex material properties. Physical Review B 58, 7260 (1998)

Th. Frauenheim, G. Seifert, M. Elstner, Z. Hajnal, G. Jungnickel, D. Porezag, S. Suhai, R. Scholz, A self-consistent charge density-functional based tight-binding method for predictive materials simulations in physics, chemistry and biology. Physica Status Solidi (b) 217, 41 (2000)

M. Elstner, Th. Frauenheim, E. Kaxiras, G. Seifert, S. Suhai, A self-consistent charge density-functional based tight-binding scheme for large biomolecules. Physica Status Solidi (b) 217, 357 (2000)

C.Koehler, G. Seifert, U. Gerstmann, M. Elstner, H. Overhof, and T. Frauenheim, Approximate density-functional calculations of spin densities in large molecular systems and complex solids. Physical Chemistry Chemical Physics 3, 5109 (2001)

T. Frauenheim, G. Seifert, M. Elstner, T. Niehaus, C. Kohler, M. Armkreutz, M. Sternberg, Z. Hajnal, A. di Carlo, S. Suhai, Atomistic Simulations of complex materials: ground and excited state properties. Journal of Physics: Condensed Matter 14, 3015 (2002)

DFTB: elements

Dresden

The DFTB parameter files in $ADFHOME/atomicdata/DFTB/Dresden are distributed with the ADF package. For more detailed information, see also the README file in the directory $ADFHOME/atomicdata/DFTB/Dresden.

General reference for the construction of all integral tables in $ADFHOME/atomicdata/DFTB/Dresden:
J. Frenzel, A. F. Oliveira N. Jardillier, T. Heine, and G. Seifert, Semi-relativistic, self-consistent charge Slater-Koster tables for density-functional based tight-binding (DFTB) for materials science simulations, TU-Dresden 2004-2009.

For construction and application of integral tables for Al-O-H:
J. Frenzel,A.F. Oliveira, H.A. Duarte, T. Heine, and G. Seifert, Structural and electronic properties of bulk gibbsite and gibbsite, surfaces, Zeitschrift für Anorganische und Allgemeine Chemie 631, 1267 (2005)

For construction and application of integral tables for Al-Si-O-H:
L. Guimarães, A.N. Enyashin, J. Frenzel, T. Heine, H.A. Duarte, and G. Seifert, Imogolite Nanotubes: Stability, electronic and mechanical properties, Nano 1, 362 (2007)

For construction and application of integral tables for Al-O-P-C-H:
R. Luschtinetz, A.F. Oliveira, J. Frenzel, J. Joswig, G. Seifert, and H.A. Duarte, Adsorption of phosphonic and ethylphosphonic acid on aluminum oxide surfaces, Surface Science 602, 1347 (2008)

For construction and application of integral tables for Ti-O-P-C-H:
R. Luschtinetz, J. Frenzel, T. Milek, and G. Seifert, Adsorption of phosphonic acid at the TiO2 anatase (101) and rutile (110) surface, Journal of Physical Chemistry C 113, 5730 (2009)

DFTB.org

For construction of integral tables for O, N, C, H:
M. Elstner, D. Porezag, G. Jungnickel, J. Elsner, M. Haugk, T. Frauenheim, S. Suhai, G. Seifert, Self-consistent charge density functional tight-binding method for simulation of complex material properties. Physical Review B 58, 7260 (1998)

T. Niehaus, M. Elstner, T. Frauenheim, S. Suhai, Application of an approximate density functional method to sulfur containing compounds. Journal of Molecular Structure (THEOCHEM) 541, 185 (2001)

M. Elstner, Q. Cui, P. Munih, E. Kaxiras, T. Frauenheim, M. Karplus, Parametrization of the Self-consistent charge density functional tight-binding (SCC-DFTB) for Zink: Tests and applications. Journal of Computational Chemistry 24, 565 (2003)

Additional specific references for each parameter set can be found in the output of the DFTB program.

ThirdOrder

M. Gaus, Q. Cui and M. Elstner, "DFTB3: Extension of the Self-Consistent-Charge Density- Functional Tight-Binding Method (SCC-DFTB)", J. Chem. Theory Comput.7, 931–948 (2011)

Keywords

DFTB [1] RESOURCESDIR [1] TASK [1]
GEOMETRY [1] Restart [1] UNITS [1]
MD [1] SYSTEM [1]
SCM Home Page
Quality Software. Quantum Science
*
*
Copyright Terms of UsePrivacy Policy
Home Products Try & Buy Downloads Documentation Support News About SCM Contact
Home     Products     Try & Buy     Downloads     Documentation     Support     News     About SCM     Contact