# Keywords¶

## Links to manual entries¶

## Summary of all keywords¶

`DispersionCorrection`

Type: Multiple Choice Default value: None Options: [None, Auto, UFF, ULG, D2, D3-BJ] Description: 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. `Model`

Type: Multiple Choice Default value: SCC-DFTB Options: [DFTB, SCC-DFTB, DFTB3] Description: 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. `Occupation`

Type: Block Description: Controls the convergence criteria of the SCC cycle. `Strategy`

Type: Multiple Choice Default value: Auto Options: [Auto, Aufbau, Fermi] Description: 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 Default value: 5.0 Unit: Kelvin Description: The Fermi temperature used for the Fermi-Dirac distribution. Ignored in case of aufbau occupations.

`Periodic`

Type: Block Description: Block that sets various details of the calculation only relevant for periodic systems. `BZPath`

Type: Block Description: If [BandStructure%Automatic] is disabled, DFTB will compute the band structure for the user-defined path in the [BZPath] block. You should define the vertices of your path in fractional coordinates (with respect to the reciprocal lattice vectors) in the [Path] sub-block. If you want to make a jump in your path, you need to specify a new [Path] sub-block. `Path`

Type: Non-standard block Recurring: True Description: A section of a k space path.

`BandStructure`

Type: Block Description: Options for band structure plotting. This has no effect on the calculated energy. [Warning: The band structure is only computed in case of k-space sampling, i.e. it is not computed for Gamma-only calculations (see: Periodic%KSpace).] `Automatic`

Type: Bool Default value: True Description: Generate and use the standard path through the Brillouin zone. If not, use the user defined path (set via Custom path in the GUI, or with the Periodic%BZPath keyword in the run script). `DeltaK`

Type: Float Default value: 0.1 Unit: 1/Bohr Description: Step size in reciprocal space for band structure interpolation. Using a smaller number will produce smoother band curves at an increased computational time. `Enabled`

Type: Bool Default value: True Description: Whether or not to calculate the band structure. `FatBands`

Type: Bool Default value: True Description: Control the computation of the fat bands (only when the bandstructure is calculated). The fat bands are the periodic equivalent of the Mulliken population analysis. The definition of the fat bands can be found in the Band Documentation. `UseSymmetry`

Type: Bool Default value: True Description: If set, only the irreducible wedge of the Wigner-Seitz cell is sampled. If not, the whole (inversion-unique) Wigner-Seitz cell is sampled.

`DOS`

Type: Block Description: The subkeys of [DOS] allow to customize the calculation of the density of states. `EMax`

Type: Float Default value: 0.75 Unit: Hartree Description: Upper end of the energy interval in which the density of states is calculated. `EMin`

Type: Float Default value: -0.75 Unit: Hartree Description: Lower end of the energy interval in which the density of states is calculated. `NSteps`

Type: Integer Default value: 300 Description: The number of energy intervals between [EMin] and [EMax] for which the density of states is calculated.

`EffectiveMass`

Type: Block Description: In a semi-conductor, the mobility of electrons and holes is related to the curvature of the bands at the top of the valence band and the bottom of the conduction band. With the effective mass option, this curvature is obtained by numerical differentiation. The estimation is done with the specified step size, and twice the specified step size, and both results are printed to give a hint on the accuracy. By far the most convenient way to use this key is without specifying any options. `Enabled`

Type: Bool Default value: False Description: In a semi-conductor, the mobility of electrons and holes is related to the curvature of the bands at the top of the valence band and the bottom of the conduction band. With the effective mass option, this curvature is obtained by numerical differentiation. The estimation is done with the specified step size, and twice the specified step size, and both results are printed to give a hint on the accuracy. By far the most convenient way to use this key is without specifying any options. `KPointCoord`

Type: Float List Unit: 1/Bohr Recurring: True Description: Coordinate of the k-points for which you would like to compute the effective mass. `NumAbove`

Type: Integer Default value: 1 Description: Number of bands to take into account above the Fermi level. `NumBelow`

Type: Integer Default value: 1 Description: Number of bands to take into account below the Fermi level. `StepSize`

Type: Float Default value: 0.001 Description: Size of the step taken in reciprocal space to perform the numerical differentiation

`KSpace`

Type: Integer Default value: 1 Description: This parameter controls the number of k-points used in the calculation. By default DFTB does not do any k-space sampling and uses only the Gamma-point as the only k-point. This should be sufficient for systems with large unit cells For smaller systems, k-space sampling can be enabled explicitly using this keyword. For very small unit cells (one atom wide) a value of 5 is advised. For medium sized unit cells 3 is adequate. The k-space sampling is relatively new in DFTB and as of the ADF2017 release still has some incompatibilities with other features: At the moment it is not possible to use k-space sampling in combination with DFTB3, spin-polarization, l-dependent SCC cycles or density matrix purification. Furthermore, if KSpace is not 1 (Gamma-only in GUI) DFTB can only run in serial mode. If not running via the GUI you need to do this yourself (use NSCM=1). `Screening`

Type: Block Description: For SCC-DFTB in periodic systems the Coulomb interaction is screened with a Fermi-Dirac like function defined as TODO S(r)=1/(exp((r-r_madel)/d_madel)+1). Screening is always enable, even if this section is absent. This section allows to change some details of the screening procedure. `dMadel`

Type: Float Unit: Bohr Description: Sets the smoothness of the screening function. The default is 1/10 of [rMadel]. `rMadel`

Type: Float Unit: Bohr Description: Sets the range of the screening function. The default is 2x the norm of the longest lattice vector.

`Properties`

Type: Block Description: DFTB can calculate various properties of the simulated system. This block configures which properties will be calculated. `BondOrders`

Type: Bool Default value: False Description: Whether or not Mayer bond orders are calculated based on the final molecular orbitals. `DipoleMoment`

Type: Bool Default value: True Description: Whether of not the electric dipole moment is calculated from the calculated Mulliken charges. While it is technically possible to calculate the dipole moment with the DFTB0 model, it is not recommended and the SCC-DFTB or DFTB3 model should be used instead. For periodic systems the dipole moment is ill-defined and should not be interpreted. `Excitations`

Type: Block Description: Contains all options related to the calculation of excited states, either as simple single orbitals transitions or from a TD-DFTB calculation. `SingleOrbTrans`

Type: Block Description: The simplest approximation to the true excitations are the single orbital transitions (sometimes called Kohn-Sham transitions), that is transitions where a single electron is excited from an occupied Kohn-Sham orbital into a virtual orbital. The calculation of these transitions is configured in this section. Note that the SingleOrbTrans section is optional even though the single orbital transitions are also needed for TD-DFTB calculations. If the section is not present all single orbital transitions will still be calculated and used in a subsequent TD-DFTB calculation, but no output will be produced. `Enabled`

Type: Bool Default value: False Description: Calculate the single orbital transitions. `Filter`

Type: Block Description: This section allows to remove single orbital transitions based on certain criteria. All filters are disabled by default. `OSMin`

Type: Float Description: Removes single orbital transitions with an oscillator strength smaller than this threshold. A typical value to start (if used at all) would be 1.0e-3. `dEMax`

Type: Float Unit: Hartree Description: Removes single orbital transitions with an orbital energy difference larger than this threshold. `dEMin`

Type: Float Unit: Hartree Description: Removes single orbital transitions with an orbital energy difference smaller than this threshold.

`PrintLowest`

Type: Integer Default value: 10 Description: The number of single orbital transitions that are printed to the screen and written to disk. If not a TD-DFTB calculation, the default is to print the 10 lowest single orbital transitions. In case of a TD-DFTB calculation it is assumed that the single orbital transitions are only used as an input for TD-DFTB and nothing will be printed unless PrintLowest is specified explicitly.

`TDDFTB`

Type: Block Description: Calculations with time-dependent DFTB can be configured in the TDDFTB section and should in general give better results than the raw single orbital transitions. TD-DFTB calculates the excitations in the basis of the single orbital transitions, whose calculation is configured in the SingleOrbTrans section. Using a filter in SingleOrbTrans can therefore be used to reduce the size of the basis for TD-DFTB. One possible application of this is to accelerate the calculation of electronic absorption spectra by removing single orbital transitions with small oscillator strengths from the basis. Note that the entire TDDFTB section is optional. If no TDDFTB section is found, the behavior depends on the existence of the SingleOrbTrans section: If no SingleOrbTrans section is found (the Excitations section is completely empty then) a TD-DFTB calculation with default parameters will be performed. If only the SingleOrbTrans section is present no TD-DFTB calculation will be done. `Calc`

Type: Multiple Choice Default value: None Options: [None, Singlet, Triplet] Description: Specifies the multiplicity of the excitations to be calculated. `DavidsonConfig`

Type: Block Description: This section contains a number of keywords that can be used to override various internals of the Davidson eigensolver. The default values should generally be fine. `ATCharges`

Type: Multiple Choice Default value: Precalc Options: [Precalc, OnTheFly] Description: Select whether the atomic transition charges are precalculated in advance or reevaluated during the iterations of the Davidson solver. Precalculating the charges will improve the performance, but requires additional storage. The default is to precalculate the atomic transition charges, but the precalculation may be disabled if not not enough memory is available. `SafetyMargin`

Type: Integer Default value: 4 Description: The number of eigenvectors the Davidson method will calculate in addition to the ones requested by the user. With the Davidson eigensolver it is generally a good idea to calculate a few more eigenvectors than needed, as depending on the initial guess for the eigenvectors it can happen that the found ones are not exactly the lowest ones. This problem is especially prominent if one wants to calculate only a small number of excitations for a symmetric molecule, where the initial guesses for the eigenvectors might have the wrong symmetry. Note that the additionally calculated excitations will neither be written to the result file nor be visible in the output. `Tolerance`

Type: Float Default value: 1e-09 Description: Convergence criterion for the norm of the residual.

`Diagonalization`

Type: Multiple Choice Default value: Auto Options: [Auto, Davidson, Exact] Description: Select the method used to solve the TD-DFTB eigenvalue equation. The most straightforward procedure is a direct diagonalization of the matrix from which the excitation energies and oscillator strengths are obtained. Since the matrix grows quickly with system size (number of used single orbital transitions squared), this option is possible only for small molecules. The alternative is the iterative Davidson method, which finds a few of the lowest excitations within an error tolerance without ever storing the full matrix. The default is to make this decision automatically based on the system size and the requested number of excitations. `Lowest`

Type: Integer Default value: 10 Description: Specifies the number of excitations that are calculated. Note that in case of the exact diagonalization all excitations are calculated, but only the lowest ones are printed to screen and written to the output file. Also note that if limited both by number and by energy, (lowest and upto), DFTB will always use whatever results in the smaller number of calculated excitations. `Print`

Type: String Description: Specifies whether to print details on the contribution of the individual single orbital transitions to the calculated excitations. `UpTo`

Type: Float Unit: Hartree Description: Set the maximum excitation energy. Attempts to calculate all excitations up to a given energy by calculating a number of excitations equal to the number of single orbital transitions in this window. This is only approximately correct, so one should always add some safety margin. Note that if limited both by number and by energy, (lowest and upto), DFTB will always use whatever results in the smaller number of calculated excitations.

`TDDFTBGradients`

Type: Block Description: This block configures the calculation of analytical gradients for the TD-DFTB excitation energies, which allows the optimization of excited state geometries and the calculation of vibrational frequencies in excited states (see J. Comput. Chem., 28: 2589-2601). If the gradients are calculated, they will automatically be used for geometry optimizations or vibrational frequency calculations, if the corresponding Task is selected. Vibrationally resolved UV/Vis spectroscopy (Franck-Condon Factors) can be calculated in combination with the FCF program. See the ADF documentation on Vibrationally resolved electronic spectra. `Eigenfollow`

Type: Bool Default value: False Description: If this option is set, DFTB uses the transition density in atomic orbital basis to follow the initially selected excited state during a geometry optimization. This is useful if excited state potential energy surfaces cross each other and you want to follow the surface you started on. `Excitation`

Type: Integer Default value: 1 Description: Select which excited state to calculate the gradients for. Gradients can only be calculated for an excited states that has been calculated using TD-DFTB. Make sure that enough excitations are calculated.

`NBOInput`

Type: Bool Default value: False Description: Whether or not an input file for the NBO program is written to disk as nboInput.FILE74. The input file follows the FILE47 format as described in the NBO6 manual available on nbo6.chem.wisc.edu. By default, only the calculation of the natural bond orbitals and the natural localized molecular orbitals is enabled, but the nboInput.FILE47 file can be edited by hand to enable other analysis models. Please refer to the NBO6 manual for details. `VCD`

Type: Bool Default value: False Description: Calculate the VCD spectrum after calculating the IR spectrum. Note: symmetry must be set to NOSYM.

`Purify`

Type: Block Description: 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 Default value: False Description: 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 Default value: 50 Description: 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 Default value: 1e-08 Description: 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.

`Repulsion`

Type: Block Description: Configures various details of the repulsive potential. `ResourcesDir`

Type: String Description: The directory containing the DFTB parameter files. Absolute starting with / or relative to $ADFRESOURCES/DFTB otherwise. `SCC`

Type: Block Description: 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 Description: Controls the convergence criteria of the SCC cycle. `Charge`

Type: Float Default value: 1e-08 Description: The maximum change in atomic charges between subsequent SCC iterations. If the charges change less, the SCC cycle is considered converged.

`HXDamping`

Type: Bool Description: 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 Default value: 500 Description: 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 Default value: 0.15 Description: 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 Description: Activates or disables orbital resolved calculations. If this key is absent the recommended settings from the DFTB parameter file’s metainfo. `Unrestricted`

Type: Bool Default value: False Description: 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 Default value: 20 Description: 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.

`StoreMatrices`

Type: Bool Default value: False Description: Determines whether the Hamiltonian and overlap matrices are stored in the binary result file. `UnpairedElectrons`

Type: Integer Default value: 0 Description: 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.