General¶
Introduction¶
The DFTB engine implements density functional based tight-binding methods, which can be viewed as computationally very efficient approximations to density functional theory (DFT). As such it is a good engine for cheap calculations that still include quantum effects. DFTB is a computational engine that runs through the AMS driver. It can be used directly from the command line, from Python, and through our graphical interface.
What’s new in DFTB?¶
New in DFTB2020¶
- Calculations with the GFN1-xTB model and many k-points are significantly faster.
- The default model has been changed from SCC-DFTB to GFN1-xTB, as the latter supports all elements.
- Various new applications in the AMS driver.
New in DFTB2019.3¶
- The internals of the DFTB engine have been restructured, making it faster, more scalable and more accurate for periodic systems, while at the same time enabling previously locked combinations of features:
- The default for the accuracy of k-space integration has been changed: DFTB used to sample only the Γ-point by default. As of this release the default k-points depend on the system size, using the same logic as in BAND. See the page on k-space integration in the BAND manual.
- Calculations with k-space integration are generally faster and scale much better on parallel machines.
- The GFN1-xTB model can now be used together with k-space integration.
- Unrestricted calculations can now also be performed in conjunction with k-space integration.
- The orbital dependent (l-dependent) SCC cycle is now compatible with k-space integration.
- The stress tensor is now calculated analytically, making its calculation faster and the result more accurate.
- An implicit solvation model (GBSA: Generalized Born (GB) model augmented with the solvent accessible surface area (SA) term) has been added to DFTB, allowing simulations of molecules in solution.
- Various new applications in the AMS driver.
New in DFTB2019.1¶
- Grimme’s GFN1-xTB has been added as a new model Hamiltonian. It supports molecular as well es periodic calculations for systems including elements up to Radon. Visualization of the results (e.g. molecular orbitals) in AMSview is also supported.
- Various new applications in the AMS driver.
- More robust and easier to set up k-space integration.
- More robust SCC convergence:
- Adaptive mixing: The charge mixing parameter is automatically decreased if the energy increases during the SCC cycle.
- The default electronic temperature has been increased to 300K, making SCC convergence more robust for systems with small HOMO-LUMO gaps.
New in DFTB2018¶
New features¶
- Elastic tensor and related properties (e.g. Bulk modulus) (via AMS driver)
- Linear transit and PES scan (via AMS driver)
- Geometry optimization under pressure (via AMS driver)
- …
AMS: a new driver program¶
Important
In the 2018 release of the Amsterdam Modeling Suite we introduced a new driver program call AMS. We recommend you to first read the General section of the AMS Manual
If you use DFTB exclusively via the Graphical User Interface (GUI), this change should not create any issues. If, on the other hand, you create input files by hand (or you use DFTB via PLAMS), then you should be aware that shell scripts for DFTB2017 and previous versions are not compatible with DFTB2019 and have to be adjusted to the new setup.
The example below shows how a shell script for DFTB2017 is converted to DFTB2019.
DFTB2017 shell script (obsolete):
#!/bin/sh
# This is a shell script for DFTB2017 which will not work for DFTB2019
$AMSBIN/dftb << EOF
Task
RunType GO
End
System
Atoms
H 0.0 0.0 0.0
H 0.9 0.0 0.0
End
End
DFTB
ResourcesDir Dresden
End
Geometry
iterations 100
End
EOF
DFTB2019 shell script:
#!/bin/sh
# This is a shell script for DFTB2019
# The executable '$AMSBIN/dftb' is no longer present.
# You should use '$AMSBIN/ams' instead.
$AMSBIN/ams << EOF
# Input options for the AMS driver:
System
Atoms
H 0.0 0.0 0.0
H 0.9 0.0 0.0
End
End
Task GeometryOptimization
GeometryOptimization
MaxIterations 100
End
# The input options for DFTB, which are described in this manual,
# should be specified in the 'Engine DFTB' block:
Engine DFTB
ResourcesDir Dresden
EndEngine
EOF