# Keywords¶

## Summary of all keywords¶

DispersionCorrection
Type: Multiple Choice None [None, Auto, UFF, ULG, D2, D3-BJ, D4] Dispersion This key is used to specify an 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. Note that the D3-BJ dispersion correction is enabled by default when using the GFN1-xTB model Hamiltonian, but can be disabled manually by setting this keyword to None.
KSpace
Type: Block Options for the k-space integration (i.e. the grid used to sample the Brillouin zone).
Quality
Type: Multiple Choice Normal [GammaOnly, Basic, Normal, Good, VeryGood, Excellent] K-space Select the quality of the K-space grid used to sample the Brillouin Zone. If ‘GammaOnly’, only one point (the gamma point) will be used. For the other options, the actual number of K points generated depends on the size of the unit cell. The larger the real space cell, the fewer K points will be generated. The CPU-time and accuracy strongly depend on this option.
Regular
Type: Block Options for the regular k-space integration grid.
NumberOfPoints
Type: Integer List Use a regular grid with the specified number of k-points along each reciprocal lattice vector. For 1D periodic systems you should specify only one number, for 2D systems two numbers, and for 3D systems three numbers.
Symmetric
Type: Block Options for the symmetric k-space integration grid.
KInteg
Type: Integer Accuracy Specify the accuracy for the Symmetric method. 1: absolutely minimal (only the G-point is used) 2: linear tetrahedron method, coarsest spacing 3: quadratic tetrahedron method, coarsest spacing 4,6,… (even): linear tetrahedron method 5,7…. (odd): quadratic method The tetrahedron method is usually by far inferior.
Type
Type: Multiple Choice Regular [Regular, Symmetric] K-space grid type The type of k-space integration grid used to sample the Brillouin zone (BZ) used. ‘Regular’: simple regular grid. ‘Symmetric’: symmetric grid for the irreducible wedge of the first BZ (useful when high-symmetry points in the BZ are needed to capture the correct physics of the system, graphene being a notable example).
Model
Type: Multiple Choice GFN1-xTB [DFTB, SCC-DFTB, DFTB3, GFN1-xTB, NonSCC-GFN1-xTB] 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. - GFN1-xTB for Grimme’s extended tight-binding model in the GFN1 version. - NonSCC-GFN1-xTB for a less accurate but faster version of GFN1-xTB without a self-consistency cycle The choice has to be supported by the selected parameter set.
Occupation
Type: Block Configures the details of how the molecular orbitals are occupied with electrons.
KT
Type: Float Hartree (KT) Boltmann constant times temperature, used for electronic temperature with strategy is auto. The default value is the default value for Temperature*3.166815423e-6. This key and Temperature are mutually exlusive.
NumBoltz
Type: Integer 10 The electronic temperature is done with a Riemann Stieltjes numerical integration, between zero and one occupation. This defines the number of points to be used.
Strategy
Type: Multiple Choice Auto [Auto, Aufbau, Fermi] Occupation This optional key allows to specify the fill strategy to use for the molecular orbitals. Can either be ‘Aufbau’ for simply filling the energetically 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 300.0 Kelvin Fermi temperature The Fermi temperature used for the Fermi-Dirac distribution. Ignored in case of aufbau occupations.
Periodic
Type: Block Block that sets various details of the calculation only relevant for periodic systems.
BZPath
Type: Block 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 True A section of a k space path.
BandStructure
Type: Block 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 Yes Automatic generate path 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 0.1 1/Bohr Interpolation delta-K 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 Yes Calculate band structure Whether or not to calculate the band structure.
FatBands
Type: Bool Yes Calculate fatbands 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 Yes 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 The subkeys of [DOS] allow to customize the calculation of the density of states.
EMax
Type: Float 0.75 Hartree Upper end of the energy interval in which the density of states is calculated.
EMin
Type: Float -0.75 Hartree Lower end of the energy interval in which the density of states is calculated.
Enabled
Type: Bool Yes Calculate DOS Whether or not to calculate the DOS. Note that the DOS will always be calculated when also the band structure is calculated.
NSteps
Type: Integer 300 The number of energy intervals between [EMin] and [EMax] for which the density of states is calculated.
EffectiveMass
Type: Block 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 No Effective mass 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 1/Bohr True At K-point Coordinate of the k-points for which you would like to compute the effective mass.
NumAbove
Type: Integer 1 Include N bands above Number of bands to take into account above the Fermi level.
NumBelow
Type: Integer 1 Include N bands below Number of bands to take into account below the Fermi level.
StepSize
Type: Float 0.001 Size of the step taken in reciprocal space to perform the numerical differentiation
Properties
Type: Block DFTB can calculate various properties of the simulated system. This block configures which properties will be calculated.
Excitations
Type: Block 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 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 No Single orbital transisitions: Calculate Calculate the single orbital transitions.
Filter
Type: Block This section allows to remove single orbital transitions based on certain criteria. All filters are disabled by default.
OSMin
Type: Float Minimum oscillator strength 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 Hartree Removes single orbital transitions with an orbital energy difference larger than this threshold.
dEMin
Type: Float Hartree Removes single orbital transitions with an orbital energy difference smaller than this threshold.
PrintLowest
Type: Integer 10 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 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 None [None, Singlet, Triplet] Type of excitations Specifies the multiplicity of the excitations to be calculated.
DavidsonConfig
Type: Block 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 Precalc [Precalc, OnTheFly] Transition charges 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 4 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 1e-09 Convergence criterion for the norm of the residual.
Diagonalization
Type: Multiple Choice Auto [Auto, Davidson, Exact] Method 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 10 Number of excitations 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 Specifies whether to print details on the contribution of the individual single orbital transitions to the calculated excitations.
ScaleKernel
Type: Float 1.0 None Set the scaling parameter of the response kernel. A scaling approach can be used to identify plasmons in molecules. While single-particle excitations are only slightly affected by scaling of the response kernel, plasmonic excitations are sensitive to variations in the scaling parameter. Default no scaling is used (scaling parameter = 1.0)
UpTo
Type: Float Hartree Excitations up to 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 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 and only 1 excitation is selected. Vibrationally resolved UV/Vis spectroscopy (Franck-Condon Factors) can be calculated in combination with the FCF program or using the Vibrational Analysis Tools in AMS. See the ADF documentation on Vibrationally resolved electronic spectra or the AMS documentation for the Vibrational Analysis Tools.
Eigenfollow
Type: Bool No Follow initial excitation 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 List Excitation number Select which excited states 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.
Fragments
Type: Block Fragment files
Analysis
Type: Bool Yes Fragment analysis Mulliken population analysis in terms of fragment orbitals.
EMax
Type: Float 0.25 Hartree Upper end of the energy interval for which the orbitals are analyzed.
Emin
Type: Float -0.75 Hartree Lower end of the energy interval for which the orbitals are analyzed.
File
Type: String True Path (either absolute or relative) of fragment file
TIDegeneracyThreshold
Type: Float 0.1 eV If the orbital energy of the fragment MO is within this threshold with fragment HOMO or LUMO energy, then this fragment MO is included in the calculation of the transfer integrals. Relevant in case there is (near) degeneracy.
TransferIntegrals
Type: Bool No Charge transfer integrals Calculate the charge transfer integrals, spatial overlap integrals and site energies. Charge transfer integrals can be used in models that calculate transport properties.
NBOInput
Type: Bool No Whether or not an input file for the NBO program is written to disk as nboInput.FILE47. 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.
Repulsion
Type: Block Configures various details of the repulsive potential.
ResourcesDir
Type: String The directory containing the parameter files. The path can be absolute or relative. Relative paths starting with ./ are considered relative to the directory in which the calculation is started, otherwise they are considered relative to \$AMSRESOURCES/DFTB. This key is required for the Slater-Koster based DFTB models, but optional for xTB.
SCC
Type: Block This optional section configures various details of the self-consistent charge cycle. If the model Hamiltonian does not need a self-consistent solution (e.g. plain DFTB0), none of this information is used and the entire section will be ignored.
AdaptiveMixing
Type: Bool Yes Change the mixing parameter based on the monitored energy. A significant increase of energy will strongly reduce the mixing. Then it will slowly grow back to the SCC%Mixing value.
Converge
Type: Block Controls the convergence criteria of the SCC cycle.
Charge
Type: Float 1e-08 Charge convergence The maximum change in atomic charges between subsequent SCC iterations. If the charges change less, the SCC cycle is considered converged.
DIIS
Type: Block Parameters influencing the DIIS self-consistency method
Enabled
Type: Bool Yes If not enabled simple mixing without DIIS acceleration will be used.
MaxSamples
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.
MaximumCoefficient
Type: Float 10.0 When the diis expansion coefficients exceed this threshold, the solution is rejected. The vector space is too crowded. The oldest vector is discarded, and the expansion is re-evaluated.
MinSamples
Type: Integer -1 When bigger than one, this affects the shrinking of the DIIS space on linear depence. It will not reduce to a smaller space than MinSamples unless there is extreme dependency.
MixingFactor
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.
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. Not used with xTB.
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.
OrbitalDependent
Type: Bool Activates or disables orbital resolved calculations. If this key is absent the recommended settings from the parameter file’s metainfo.
Unrestricted
Type: Bool No 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, k-space sampling periodic calculations or the xTB models.
Solvation
Type: Block Generalized Born solvation model with Solvent Accessible Surface Area (GBSA).
GSolvState
Type: Multiple Choice Gas1MSolvent1M [Gas1BarSolvent, Gas1MSolvent1M, Gas1BarSolvent1M] Reference state for solvation free energy shift.
Solvent
Type: Multiple Choice None [None, Acetone, Acetonitrile, CHCl3, CS2, DMSO, Ether, H2O, Methanol, THF, Toluene] Solvent used in the GBSA implicit solvation model.
SurfaceGrid
Type: Multiple Choice 230 [230, 974, 2030, 5810] Number of angular grid points for the construction of the solvent accessible surface area. Usually the default number of grid point suffices, but in case of suspicious behaviors you can increase the number of points.
Temperature
Type: Float 298.15 Kelvin The temperature used when calculating the solvation free energy shift. Only used for ‘Gas1BarSolvent’ and ‘Gas1BarSolvent1M’ GSolvState options.
UseGSASA
Type: Bool Yes Solvation Free Energy Include shift term and G(SASA) terms in the energy and gradient.
StoreMatrices
Type: Bool No Determines whether the Hamiltonian and overlap matrices are stored in the binary result file.
StoreOrbitals
Type: Bool Yes Determines whether the orbitial coefficients are stored in the binary result file. They are needed for displaying orbitals and densities in amsview.
Technical
Type: Block This optional section is about technical aspects of the program that should not concern the normal user.
AnalyticalStressTensor
Type: Bool Yes Whether to compute the stress tensor analytically. Note: This can only be used together with Ewald summation as it will give (slightly) wrong results with Madelung screening.
EwaldSummation
Type: Block Configures the details of the Ewald summation of the Coulomb interaction.
CellRangeFactor
Type: Float 2.0 Smaller values will make the Ewald summation less accurate but faster.
Enabled
Type: Bool Yes Whether to use Ewald summation for the long-range part of the Coulomb interaction. Otherwise screening is used.
Tolerance
Type: Float 1e-10 Larger values will make the Ewald summation less accurate but faster.
MatricesViaFullMaxSize
Type: Integer 2047 Matrices smaller than this size are constructed via a full matrix. This is faster, but uses more memory in the construction.
Parallel
Type: Block Calculation of the orbitals in several k-points is trivially parallel.
nCoresPerGroup
Type: Integer Number of cores in each working group.
nGroups
Type: Integer Total number of processor groups. This is the number of tasks that will be executed in parallel.
nNodesPerGroup
Type: Integer Cores per task Number of nodes in each group. This option should only be used on homogeneous compute clusters, where all used compute nodes have the same number of processor cores.
ReuseKSpaceConfig
Type: Bool Yes Keep the number of k-points constant during a lattice optimization. Otherwise the PES might display jumps, because the number of points depends on the lattice vector sizes. If this option is on it will always use the number of k-points that was used from a previous result.
Screening
Type: Block For SCC-DFTB in periodic systems the Coulomb interaction can (instead of using Ewald summation) be screened with a Fermi-Dirac like function defined as S(r)=1/(exp((r-r_madel)/d_madel)+1). This section allows to change some details of the screening procedure. Note that Coulomb screening is only used if the Ewald summation is disabled.
dMadel
Type: Float Bohr Sets the smoothness of the screening function. The default is 1/10 of [rMadel].
rMadel
Type: Float Bohr Sets the range of the screening function. The default is 2x the norm of the longest lattice vector.
UseGeneralizedDiagonalization
Type: Bool Yes Whether or not to use generalized diagonalization. Does not affect the results, but might be faster or slower.
UnpairedElectrons
Type: Integer 0 Spin polarization 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.
XTBConfig
Type: Block This block allows for minor tweaking.
SlaterRadialThreshold
Type: Float 1e-05 Threshold determining the range of the basis functions. Using a larger threshold will speed up the calculation, but will also make the results less accurate.
useXBTerm
Type: Bool No Whether to use the Halogen bonding (XB) term. This is not advised as it has a non-continuous PES.