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.
The 2012 release of our DFTB program features major updates:
Method improvements
Functionality
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.
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.
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
| eps1 | eps6 | eps5 |
| eps6 | eps2 | eps4 |
| eps5 | eps4 | eps3 |
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.
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
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
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
{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
{RestartFile}
{RestartMulliken}
{RestartOrbitals}
End
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.
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.
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.
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
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.
To install new parameter sets released by the DFTB.org website in the future, we recommend the following procedure
The new parameter set can be now specified with the key ResourcesDir
ResourcesDir DFTB.org/newset-0-1
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.
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)
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)
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.
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)
| DFTB [1] | RESOURCESDIR [1] | TASK [1] |
| GEOMETRY [1] | Restart [1] | UNITS [1] |
| MD [1] | SYSTEM [1] |




