DFTB model hamiltonian¶

The following keys allows to specify and control different aspects of how the DFTB Hamiltonian is created and how the stationary Schroedinger equation is solved.

Model [DFTB | SCC-DFTB | DFTB3]

Model
Type: Multiple Choice SCC-DFTB [DFTB, SCC-DFTB, DFTB3] Selects the Hamiltonian used in the DFTB calculation: - DFTB/DFTB0/DFTB1 for classic DFTB without a self-consistent charge cycle - SCC-DFTB/DFTB2 with a self-consistency loop for the Mulliken charges - DFTB3 for additional third-order contributions. The choice has to be supported by the selected parameter set.

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, see parameter sets.

ResourcesDir string

ResourcesDir
Type: String The directory containing the DFTB parameter files. Absolute starting with / or relative to $ADFRESOURCES/DFTB otherwise. Examples: ResourcesDir Dresden Uses the Resource directory$ADFRESOURCES/DFTB/Dresden
ResourcesDir /home/myusername/myskfdir
Uses the specified path /home/myusername/myskfdir as the resource directory

NOTE: Each resource directory must contain a file called metainfo.yaml, which specifies the capabilities of the parameter set. For details see metainfo.yaml.

SCC
Converge
Charge float
End
HXDamping [True | False]
Iterations integer
Mixing float
OrbitalDependent [True | False]
Unrestricted [True | False]
nDIIS integer
End

SCC
Type: Block This optional section configures various details of the self-consistent charge cycle. If DFTB%Model is set to DFTB0/DFTB1, none of this information is used and the entire section will be ignored.
Converge
Type: Block Controls the convergence criteria of the SCC cycle.
Charge
Type: Float 1e-08 The maximum change in atomic charges between subsequent SCC iterations. If the charges change less, the SCC cycle is considered converged.
HXDamping
Type: Bool This option activates the DFTB3 style damping for H-X bonds. Note that this is always enabled if the DFTB%Model key is set to DFTB3.
Iterations
Type: Integer 500 Allows to specify the maximum number of SCC iterations. The default should suffice for most standard calculations. Convergence issues may arise due to the use of the Aufbau occupations for systems with small HOMO-LUMO gaps. In this case the use of a Fermi broadening strategy may improve convergence. Choosing a smaller mixing parameter (see DFTB%SCC%Mixing) may also help with convergence issues: it often provides a more stable but slower way to converge the SCC cycle.
Mixing
Type: Float 0.15 The parameter used to mix the DIIS linear combination of previously sampled atomic charge vectors with an analogous linear combination of charge vectors resulting from population analysis combination. It can assume real values between 0 and 1.
OrbitalDependent
Type: Bool Activates or disables orbital resolved calculations. If this key is absent the recommended settings from the DFTB parameter file’s metainfo.
Unrestricted
Type: Bool False Enables spin unrestricted calculations. Only collinear spin polarization is supported, see Theor Chem Acc (2016) 135: 232, for details. Must be supported by the chosen parameter set. Not yet compatible with DFTB3 or k-space sampling periodic calculations.
nDIIS
Type: Integer 20 Specifies the maximum number of samples considered during the direct inversion of iteration of subspace (DIIS) extrapolation of the atomic charges during the SCC iterations. A smaller number of samples potentially leads to a more aggressive convergence acceleration, while a larger number often guarantees a more stable iteration. Due to often occurring linear dependencies within the set of sample vectors, the maximum number of samples is reached only in very rare cases.
Occupation
Strategy [Auto | Aufbau | Fermi]
Temperature float
End

Occupation
Type: Block Controls the convergence criteria of the SCC cycle.
Strategy
Type: Multiple Choice Auto [Auto, Aufbau, Fermi] This optional key allows to specify the fill strategy to use for the molecular orbitals. Can either be ‘Aufbau’ for simply filling the energertically lowest orbitals or ‘Fermi’ for a smeared out Fermi-Dirac occupation. By default the occupation strategy is determined automatically, based on the other settings (such as the number of unpaired electrons).
Temperature
Type: Float 5.0 Kelvin The Fermi temperature used for the Fermi-Dirac distribution. Ignored in case of aufbau occupations.
UnpairedElectrons integer

UnpairedElectrons
Type: Integer 0 This specifies the number of unpaired electrons (not the multiplicity!). This number will then be used in the orbital-filling strategy. Has to be compatible with the total number of electrons, meaning it must be an even number if the total number of electrons is even and odd if the total number is odd. Must be an integer value. Note that this does not activate spin polarization, it only affects the filling of the orbitals.
DispersionCorrection [None | Auto | UFF | ULG | D2 | D3-BJ]

DispersionCorrection
Type: Multiple Choice None [None, Auto, UFF, ULG, D2, D3-BJ] This key is used to specify a empirical dispersion model. Please refer to the DFTB documentation for details on the different methods. By default no dispersion correction will be applied. Setting this to auto applies the dispersion correction recommended in the DFTB parameter set’s metainfo file.
Purify
Enabled [True | False]
Iterations integer
Tolerance float
End

Purify
Type: Block By default (when the DFTB%Purify section is not present), the next step’s density matrix is calculated from molecular orbitals obtained as eigenvectors of the charge-dependent Hamiltonian. An alternative way to obtain the density matrix is using an iterative purification procedure enabled by this keyword. Note also that molecular orbitals are not calculated when using the density matrix purification method, meaning that any subsequent calculations using molecular orbitals (e.g. TD-DFTB or Mayer bond order analysis) are incompatible with this keyword. Density matrix purification can be considerably faster than diagonalization for molecular of gamma-only periodic systems with large HOMO-LUMO gaps. Note that density matrix purification is faster for systems where the density matrix is sparse. The fill-in of the density matrix is printed to the standard output during the calculation. If it is too large (e.g. >50%), it is probably faster to use normal diagonalization.
Enabled
Type: Bool False By default (when purification is not used), the next step’s density matrix is calculated from molecular orbitals obtained as eigenvectors of the charge-dependent Hamiltonian. An alternative way to obtain the density matrix is using an iterative purification procedure. Note that molecular orbitals are not calculated when using the density matrix purification method, meaning that any subsequent calculations using molecular orbitals (e.g. TD-DFTB or Mayer bond order analysis) are incompatible with this keyword. Density matrix purification can be considerably faster than diagonalization for molecular of gamma-only periodic systems with large HOMO-LUMO gaps. Density matrix purification is faster for systems where the density matrix is sparse. The fill-in of the density matrix is printed to the standard output during the calculation. If it is too large (e.g. >50%), it is probably faster to use normal diagonalization.
Iterations
Type: Integer 50 Set the maximum number of steps in the purification cycle. If the desired tolerance is not reached by then, the calculation is aborted.
Tolerance
Type: Float 1e-08 Set the purification convergence threshold. Purification is considered converged when the trace of the density matrix becomes equal to the total number of electrons within the specified tolerance.
StoreMatrices [True | False]

StoreMatrices
Type: Bool False Determines whether the Hamiltonian and overlap matrices are stored in the binary result file.