Skip to content

Turbomole Options in definput.json

matthew-hennefarth edited this page Jun 1, 2021 · 1 revision

definput.json Options

Geometry

Geometry specifications are allowed within definput.json and are controlled by the parameters within the geometry section of the file.

  • cartesians (bool): Specifies to use cartesian coordinates
  • idef (dictionary): For freezing internal coordinates. Contains the following options
    • idef_on (bool): Specifies if there are frozen internal coordinates. If true, then it will read the rest of the idef section for specifications. Note, idef must be used in conjunction with an internal coordinate scheme (ired or iaut). It cannot be used with cartesian coordinates!
    • freeze_stretch (list of strings): Specifies bonds between atoms which should be frozen. Takes a list of strings containing a atomNum1,atomNum2 where the bonds between atomNum1 and atomNum2 is frozen. For example "freeze_stretch": ["4,54", "3,24"] will freeze the bond between atom 4 and 54 as well as the bond between 3 and 24.
    • freeze_dihedral (list of strings): Specifies dihedral angles to freeze. Takes a list of strings containing a atomNum1,atomNum2,atomNum3,atomNum4 where the dihedral defined by atomNum, atomNum2, atomNum3, atomNum4 is frozen. For example "freeze_dihedral": ["1,2,3,4"] will freeze the dihedral defined by atoms 1, 2, 3, 4.
  • ired (bool): Specifies if automatic internal redundant coordinates should be used.
  • iaut (dictionary): Used for manual internal coordinate specifications. Contains the following options
    • iaut_on (bool): Specifies if manual specification of internal coordinates should be used. If true, it will read the rest of this section.
    • bonds (list of strings): Specifies the bonds to include. Takes a list of strings containing a atomNum1,atomNum2 where a bond is placed between atomNum1 and atomNum2 for the purposes of internal coordinates. For example "bonds": ["1,5", "10,8"] will place connections between atoms 1 and 5, and 10 and 8.

Basis Sets

Control over the basis set for all atoms, or specific element types is permitted. Allowed basis sets (in TURBOMOLE 6.6) are def2-SVP, def2-TZVPP, def-SVP, def-SV(P), def-TZVP, def2-SV(P), def2-TZVP, def-TZVPP, def2-QZVP, SVP, SV, SV(P), TZVP.

The basis section is a dictionary that associates with each key a specific basis set to use. The only reserved key is all which specifies the basis set for all atoms in the system if there is no further specification for that atom type. To specify the basis set for specific atoms, the key should be the element in all lower case with the value being the basis set to use. For example:

"basis" : {
    "all": "def2-SVP",
    "fe": "def2-TZVPP
}

will use the def2-TZVPP basis set for all iron atoms and the def2-SVP basis set for the rest of the atoms.

Charge

charge (int) takes an integer value specifying the total charge of the system. For a neutral system, the charge is 0.

Open Shell

The open_shell section specifies parameters for an unrestricted HF/ unrestricted DFT calculation.

  • open_shell_on (bool): Specifies if an unrestricted HF or unrestricted DFT calculation should be performed. If false, it will ignore the rest of this section.
  • unpaired (positive int): Specifies the number of unpaired electrons in the system.

DFT

The dft section specifies options/parameters to be used if a DFT calculation is to be performed. Note the following are the allowed functionals to be used in TURBOMOLE 6.6: tpss, tpssh, s-vwn, b97-d, pbe0, slater-dirac-exchange, b2-plyp, vwn, s-vwn_Gaussian, pwlda, becke-exchange, b-lyp, b-vwn, lyp, b-p (actually the BP86), pbe, bh-lyp, b3-lyp, b3-lyp_Gaussian, lhf, m06-2x, m06. The options for DFT are:

  • dft_on (bool): Specifies if the calculation should use DFT. If false, then it will use HF and ignore the rest of the options in this section.
  • func (string): Specifies the functional to be used. See the list above to choose from.
  • grid (string): Grid size to use. The following are valid grid sizes: m3, m4, m5, 1, 2, 3, 4, 5. It is highly recommended to use gridsize m4 or m5.

Note that if you are using the m06-2x functional, you cannot use the dispersion correction (dsp below) as it is already included in the functional. You may get an unexpected error in your calculation which aborts for some ambiguous reason if you attempt to use both.

Some Good Approximations

rij (bool) specifies usage of the RI-JK approximation for the electron integrals. This can greatly speed up your calculations and is typically suggested to be used. Note that you cannot use this if you have an external electric field specified!

marij (bool) specifies the usage of the Multipole-Accelerate RI-J for even faster calculations. Must be used in conjunction with the rij flag. Again, this is good to use for most calculations.

dsp (bool) specifies the usage of the DFT dispersion corrections. This is important for most calculations and hence should also be used. Note that this cannot be used the m06-2x functional as the functional already includes this correction.

Struction Optimization Parameters

The stp section specifies options for non-standard structure optimization parameters. The following options are available

  • itvc (positive int): Specifies which frequence to optimize along. If 0, then a normal geometry optimization to a local minimum is performed. For transition states, this should be set to 1 to specify optimization along the first imaginary vibrational state (and hence get a saddle point).
  • trad (postive double): Specifies the trust radius for optimization steps. Specifies the maximum step which turbomole can move atoms between geometry iterations.

SCF Parameters

The SCF parameters are controlled in the scf section. The following are available:

  • iter (positive int): Maximum number of SCF iterations to perform before stopping.
  • conv (positive int): Convergence criteria for SCF cycles. This the threshold of the energy convergence (difference in the last 2 step energies). Hence convergence is achieved once the difference is below 10e-n where n is the value specified in this parameter. 6 is good for geometry optimizations, and 7 is better for more accurate results such as singlepoint calculations.
  • damp start (double): Specifies the start value for scf dampening. Does not need to be included in the scf section.
  • orbital shift (double): Specifies the orbital shifting to be used. Does not need to be included in the scf section.

External Electric Fields

The efield (dictionary) section specifies the direction and magnitude of an external electric field to be applied to the system. Note that if this is turned on, then the rij and marij options cannot be used! Note that this section is not required in the definput.json normally. The following are the parameters are allowed:

  • on (bool): Specifies if the external electric field should be included. If false, then the rest of the section is ignored.
  • direction (list of 3 doubles): Specifies the vector direction in which the electric field should be specified along. For example "direction": [2.44, 6.05, -0.433] would have the field point in the (2.44, 6.05, -0.433) direction.
  • magnitude (double): Specifies the magnitude of the electric field. This is in atomic units.

General Options and Specifying the Calculation

cosmo (double) specifies the dielectric constant to be used for implicit solvation. If no implicit solvent should be used, then use the null value. Typical values are 4 for buried protein active sites and 80 for water.

freeze_atom (list of strings) specifies atoms for which their cartesian coordinates should be frozen. This will append a 'f' at the end of the coord file atom telling TURBOMOLE to not move the atom during a geometry optimization. It is also used as a flag for -freeze in numerical frequency calculations.

calculation (string) specifies the type of QM calculation to perform. The following are available: numforce, geo, forceopt, singlepoint, trans, escf. Note that numforce performs a numerical frequency calculation. singlepoint will call either ridft or dscf depending on if rij is turned on or off. geo and forceopt perform geometry optimizations. forceopt will specifically resubmit the job if the timer goes off, forcing a converged geometry optimization. If a queuing system is not used, then this will change the geo iterations to some large value and continue running turbomole until convergence or some other error is reached. trans runs a geometry optimization, but with the -trans flag. escf runs an excited state calculation.

geo_iterations (int) specifies the number of geometry iterations to perform before stopping. This is only used the geo calculations.

weight (bool) specifies if weight derivatives in the DFT calculation should be used. This is recommended to be on always.

denconv (string) specifies the convergence criteria for the density during the SCF iterations. The default is "1d-6" which corresponds to 1e-6. A value like 1d-7 would be tighter.