DFTB+
- class DFTBplus
This interface supports energy and gradient evaluations with the DFTB+ semi-empirical electronic structure package (v20 or later).
As a QM interface, the options described in QM interfaces are available, as well as the DFTB+ specific options outlined below.
Note
DFTB+ is a semi-empirical code, so the interface will ignore
some QM keyword options that are not applicable e.g. basis, ecp, functional.
A DFTB+ Theory object can be specified as follows:
my_frag = Fragment(...)
my_theory = DFTBplus(frag=my_frag,
...)
which would then be called as theory=my_theory in subsequent tasks (see Tasks).
General options
- method
High-level method flag that will be used to set default parameters for the calculation. The value of
skf_pathshould be set consistently.Allowed values:
'mio': (default) Slater-Koster parameters for “bio or organic molecules”. Older than the newer 3ob set.'3ob': Slater-Koster parameters for third-order “bio and organic molecules”. Intended to replace mio.'matsci': Slater-Koster parameters for “various problems in materials science”.'ob2': Slater-Koster parameters for a “Long range corrected parameterization for bio and organic molecules”'pbc': Slater-Koster parameters for “solids and surfaces”.
If it is unambiguous, the method option will be used to set default values for
max_angular_momentum,hubbard_derivs,spin_constants,third_orderanddispersion_param(although a dispersion correction will not be applied unless requested). Additional parameters may also be set on a case by case basis if the Slater-Koster parameter set instructions require them.Any options that have been set explicitly will over-write these defaults if they conflict.
- scc
(default:
True) Use the Self-Consistent-Charge (SCC-DFTB) method.
- skf_path
(default:
'') Path to directory containing Slater-Koster files (*.skf). These files can be downloaded from https://dftb.org/parameters/download/.
- waveplot
(default:
True) Enable output files required by the “waveplot” post processing tool for the visualisation of molecular orbitals (namely detailed.xml and eigenvec.bin).
SCF options
- hubbard_derivs
(default:
{}) Hubbard derivatives for calculation of the 3rd order correction (if requested). These should be given as a dictionary, where a number is given for each elemental symbol in the calculation. The appropriate values depend on the Slater-Koster files employed, and default values will be set by themethodoption. For example, {‘C’:-0.1492}.
- hydrogen_correction
Hydrogen correction to apply (if any).
Allowed values:
'': (default) No Hydrogen correction.'damping': Damping method is applied to short-range interactions between Hydrogen-like atoms and other atoms.
- hydrogen_damping
(default: 0.0) Damping factor applied when a damping Hydrogen correction is employed.
- max_angular_momentum
(default:
{}) Dictionary containing the maximum angular momentum for each element in the calculation. Default values will be set by themethodoption. For example, {‘H’:’s’, ‘C’:’p’}.
- maxiter
(default:
100) Maximum SCC iterations allowed if using SCC-DFTB.
- smear
(default:
True) Whether to apply smearing to the SCC occupation. DFTB+ refers to smearing as ‘filling’.
- smear_method
Smearing method to be applied when smearing is used.
Allowed values:
'Fermi': (default) Apply a Fermi-Dirac distribution to the single electron states.'MethfesselPaxton': Apply a Methfessel-Paxton distribution to the single electron states, which can be an improvement for systems that require a high electronic temperature.
- smear_mp_order
(default:
2) Order of the Methessel-Paxton smearing, if it is being employed.
- smear_temperature
(default:
'0.0') Electronic temperature for smearing, given in Kelvin.
- third_order
(defualt:
None) Whether to perform 3rd order DFTB. Default value depends on themethodoption. Corresponds to the ThirdOrderFull option in DFTB+.
Dispersion options
- dispersion
Dispersion correction to apply (if any).
Allowed values:
'': (default) No dispersion correction applied.
'LennardJones': Dispersion is included via a Lennard-Jones potential between each pair of atoms. Parmeters are automatically taken from the Universal Force Field (UFF).
'D3': The Grimme D3 correction. Parameters are defaulted from themethodkeyword, and can be modified usingdispersion_param.
'MBD': Applies the Tkatchenko many-body-dispersion model.
- dispersion_param
(default:
{}) A dictonary used to set parameters for dispersion corrections.Allowed keys:
'a1','a2','s6','s8': Parameters for the D3 dispersion correction.