# Keywords¶

## Summary of all keywords¶

Constraints
Type: Block The Constraints block allows geometry optimizations and potential energy surface scans with constraints. The constraints do not have to be satisfied at the start of the calculation.
Angle
Type: String True Fix the angle between three atoms. Three atom indices followed by an angle in degrees.
Atom
Type: Integer True Fix the position of an atom. Just one integer referring to the index of the atom in the [System%Atoms] block.
AtomList
Type: Integer List True Fix positions of the specified atoms. A list of integers referring to indices of atoms in the [System%Atoms] block.
Block
Type: String True Name of the block to constrain as specified in the atom tag within the System%Atoms block.
BlockAtoms
Type: Integer List True List of atom indices for a block constraint, where the internal degrees of freedom are frozen.
Coordinate
Type: String True Fix a particular coordinate of an atom. Atom index followed by (x|y|z).
Dihedral
Type: String True Fix the dihedral angle between four atoms. Four atom indices followed by an angle in degrees.
Distance
Type: String True Fix the distance between two atoms. Two atom indices followed by the distance in Angstrom.
ElasticTensor
Type: Block Options for numerical evaluation of the elastic tensor.
MaxGradientForGeoOpt
Type: Float 0.0001 Hartree/Angstrom Maximum nuclear gradient Maximum nuclear gradient for the relaxation of the internal degrees of freedom of strained systems.
Parallel
Type: Block The evaluation of the elastic tensor via numerical differentiation is an embarrassingly parallel problem. Double parallelization allows to split the available processor cores into groups working through all the available tasks in parallel, resulting in a better parallel performance. The keys in this block determine how to split the available processor cores into groups working in parallel.
nCoresPerGroup
Type: Integer Cores per task 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 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.
StrainStepSize
Type: Float 0.001 Step size (relative) of strain deformations used for computing the elastic tensor numerically.
Engine
Type: Block The input for the computational engine. The header of the block determines the type of the engine.
EngineAddons
Type: Block This block configures all the engine add-ons.
D3Dispersion
Type: Block This block configures the add-on that adds the Grimme D3 dispersion correction to the engine’s energy, gradients, and stress tensor.
Damping
Type: Multiple Choice BJ [BJ, Zero] Type of damping: BJ (Becke-Johnson) or Zero. BJ is recommended for most applications.
Enabled
Type: Bool False Enables the D3 dispersion correction addon.
Functional
Type: String PBE Use the D3 parameterization by Grimme for a given xc-functional. Accepts the same values as the –func command line option of the official dftd3 program. Note: the naming convention is different from elsewhere in the AMS suite. For example, BLYP should be called b-lyp.
a1
Type: Float The a1 parameter. Only used if Damping is set to BJ. If set, it overwrites the a1 value for the chosen functional.
a2
Type: Float The a2 parameter. Only used if Damping is set to BJ. If set, it overwrites the a2 value for the chosen functional.
s6
Type: Float The s6 parameter, global scaling parameter. If set, it overwrites the s6 value for the chosen functional.
s8
Type: Float The s8 parameter. If set, it overwrites the s8 value for the chosen functional.
sr6
Type: Float The sr6 parameter. Only used if Damping is set to Zero. If set, it overwrites the sr6 value for the chosen functional.
D4Dispersion
Type: Block This block configures the addon that adds the Grimme D4(EEQ) dispersion correction to the engine’s energy and gradients.
Enabled
Type: Bool False Enables the D4 dispersion correction addon.
Functional
Type: Multiple Choice PBE [HF, BLYP, BPBE, BP86, BPW, LB94, MPWLYP, MPWPW91, OLYP, OPBE, PBE, RPBE, REVPBE, PW86PBE, RPW86PBE, PW91, PW91P86, XLYP, B97, TPSS, REVTPSS, SCAN, B1LYP, B3LYP, BHLYP, B1P86, B3P86, B1PW91, B3PW91, O3LYP, REVPBE0, REVPBE38, PBE0, PWP1, PW1PW, MPW1PW91, MPW1LYP, PW6B95, TPSSH, TPSS0, X3LYP, M06L, M06, OMEGAB97, OMEGAB97X, CAM-B3LYP, LC-BLYP, LH07TSVWN, LH07SSVWN, LH12CTSSIRPW92, LH12CTSSIFPW92, LH14TCALPBE, B2PLYP, B2GPPLYP, MPW2PLYP, PWPB95, DSDBLYP, DSDPBE, DSDPBEB95, DSDPBEP86, DSDSVWN, DODBLYP, DODPBE, DODPBEB95, DODPBEP86, DODSVWN, PBE02, PBE0DH, B1B95, MPWB1K, REVTPSSH, GLYP, REVPBE0DH, REVTPSS0] Use the D4 parameterization by Grimme for a given xc-functional.
Verbosity
Type: Multiple Choice Silent [Silent, Normal, Verbose, VeryVerbose] Controls the verbosity of the dftd4 code. Equivalent to the –silent, –verbose, and –very-verbose command line switches of the official dftd4 program.
a1
Type: Float The a1 parameter, see D4 article. The physically reasonable range for a1 is [0.0,1.0]. If set, it overwrites the a1 value for the chosen functional.
a2
Type: Float The a2 parameter, see D4 article. The physically reasonable range for a2 is [0.0,7.0]. If set, it overwrites the a2 value for the chosen functional.
s6
Type: Float The s6 parameter, see D4 article. The physically reasonable range for s6 is [0.0,1.0]. If set, it overwrites the s6 value for the chosen functional.
s8
Type: Float The s8 parameter, see D4 article. The physically reasonable range for s8 is [0.0,3.0]. If set, it overwrites the s8 value for the chosen functional.
s9
Type: Float The s9 parameter, see D4 article. If set, it overwrites the s9 value for the chosen functional.
ExternalStress
Type: Block This block configures the addon that adds external stress term to the engine’s energy and stress tensor.
StressTensorVoigt
Type: Float List a.u. External stress tensor The elements of the external stress tensor in Voigt notation. One should specify 6 numbers for 3D periodic system (order: xx,yy,zz,yz,xz,xy), 3 numbers for 2D periodic systems (order: xx,yy,xy) or 1 number for 1D periodic systems.
UpdateReferenceCell
Type: Bool False Whether ot not the reference cell should be updated every time the system changes (see documentation).
Pressure
Type: Float 0.0 GPa Add a hydrostatic pressure term to the engine’s energy and stress tensor. Can only be used for 3D periodic boundary conditions.
EngineDebugging
Type: Block This block contains some options useful for debugging the computational engines.
CheckInAndOutput
Type: Bool False Enables some additional checks on the input and output of and engine, e.g. for NaN values.
ForceContinousPES
Type: Bool False If this option is set, the engine will always run in continuous PES mode. For many engines this disables the use of symmetry, as this one always leads to a discontinuous PES around the symmetric points: Basically there is jump in the PES at the point where the symmetry detection starts classifying the system as symmetric. Normally the continuous PES mode of the engine (often disabling the symmetry) is only used when doing numerical derivatives, but this flag forces the engine to continuously run in this mode.
IgnoreGradientsRequest
Type: Bool False If this option is set, the engine will not do analytical gradients if asked for it, so that gradients will have to be evaluated numerically by AMS.
IgnorePreviousResults
Type: Bool False If this option is set, the engine will not receive information from previous calculations. Typically this information is used to restart the self consistent procedure of the engine.
IgnoreStressTensorRequest
Type: Bool False If this option is set, the engine will not calculate an analytical stress tensor if asked for it, so that the stress tensor will have to be evaluated numerically by AMS.
NeverQuiet
Type: Bool False Makes the engine ignore the request to work quietly.
RandomFailureChance
Type: Float 0.0 Makes the engine randomly report failures, even though the results are actually fine. Useful for testing error handling on the application level.
RandomNoiseInEnergy
Type: Float 0.0 Hartree Adds a random noise to the energy returned by the engine. The random contribution is drawn from [-r,r] where r is the value of this keyword.
RandomNoiseInGradients
Type: Float 0.0 Hartree/Angstrom Adds a random noise to the gradients returned by the engine. A random number in the range [-r,r] (where r is the value of this keyword) is drawn and added separately to each component of the gradient.
EngineRestart
Type: String The path to the file from which to restart the engine.
GCMC
Type: Block This block controls the Grand Canonical Monte Carlo (GCMC) task. By default, molecules are added at random positions in the simulation box. The initial position is controlled by
AccessibleVolume
Type: Float 0.0 Volume available to GCMC, in cubic Angstroms. AccessibleVolume should be specified for “Accessible” and “FreeAccessible” [VolumeOption].
Box
Type: Block Boundaries of the insertion space, i.e. coordinates of the origin of an inserted molecule (coordinates of an atom of the inserted system may fall outside the box). For a periodic dimension it is given as a fraction of the simulation box (the full 0 to 1 range by default). For a non-periodic dimension it represents absolute Cartesian coordinates in Angstrom (the system’s bounding box extended by the MaxDistance value by default).
Amax
Type: Float Coordinate of the upper bound along the first axis.
Amin
Type: Float Coordinate of the lower bound along the first axis.
Bmax
Type: Float Coordinate of the upper bound along the second axis.
Bmin
Type: Float Coordinate of the lower bound along the second axis.
Cmax
Type: Float Coordinate of the upper bound along the third axis.
Cmin
Type: Float Coordinate of the lower bound along the third axis.
Ensemble
Type: Multiple Choice Mu-VT [Mu-VT, Mu-PT] Select the MC ensemble: Mu-VT for fixed volume or Mu-PT for variable volume. When the Mu-PT ensemble is selected the [Pressure] and [VolumeChangeMax] should also be specified.
Iterations
Type: Integer Number of GCMC iterations Number of GCMC moves.
MapAtomsToOriginalCell
Type: Bool True Keeps the atom (mostly) in the original cell by mapping them back before the geometry optimizations.
MaxDistance
Type: Float 3.0 Angstrom Add molecules within The max distance to other atoms of the system when adding the molecule.
MinDistance
Type: Float 0.3 Angstrom Add molecules not closer than Keep the minimal distance to other atoms of the system when adding the molecule.
Molecule
Type: Block True Molecules This block defines the molecule (or atom) that can be inserted/moved/deleted with the MC method. The coordinates should form a reasonable structure. The MC code uses these coordinates during the insertion step by giving them a random rotation, followed by a random translation to generate a random position of the molecule inside the box. Currently, there is no check to make sure all atoms of the molecule stay inside the simulation box. The program does check that the MaxDistance/MinDistance conditions are satisfied.
ChemicalPotential
Type: Float Hartree Chemical potential of the molecule (or atom) reservoir. It is used when calculating the Boltzmann accept/reject criteria after a MC move is executed. This value can be derived from first principles using statistical mechanics, or equivalently, it can be determined from thermochemical tables available in literature sources. For example, the proper chemical potential for a GCMC simulation in which single oxygen atoms are exchanged with a reservoir of O2 gas, should equal 1/2 the chemical potential of O2 at the temperature and pressure of the reservoir: cmpot = Mu_O(T,P) = 1/2*Mu_O2(T,P) = 1/2 * [Mu_ref(T,P_ref) + kT*Log(P/Pref) - E_diss] where the reference chemical potential [Mu_ref(T,P_ref)] is the experimentally determined chemical potential of O2 at T and Pref; kT*Log(P/Pref) is the pressure correction to the free energy, and E_diss is the dissociation energy of the O2 molecule.
NoAddRemove
Type: Bool False Fix molecule Set to True to tell the GCMC code to keep the number of molecules/atoms of this type fixed. It will thus disable Insert/Delete moves on this type, meaning it can only do a displacement move, or volume change move (for an NPT ensemble).
SystemName
Type: String Molecule String ID of a named [System] to be inserted. The lattice specified with this System, if any, is ignored and the main system’s lattice is used instead.
NonAccessibleVolume
Type: Float 0.0 Non-accessible volume Volume not available to GCMC, in cubic Angstroms. NonAccessibleVolume may be specified for the “Free” [VolumeOption] to reduce the accessible volume.
NumAttempts
Type: Integer 1000 Max tries Try inserting/moving the selected molecule up to the specified number of times or until all constraints are satisfied. If all attempts fail a message will be printed and the simulation will stop. If the MaxDistance-MinDistance interval is small this number may have to be large.
Pressure
Type: Float 0.0 Pascal Pressure used to calculate the energy correction in the Mu-PT ensemble. Set it to zero for incompressible solid systems unless at very high pressures.
Removables
Type: Non-standard block The Removables can be used to specify a list of molecules that can be removed or moved during this GCMC calculation. Molecules are specified one per line in the format following format: MoleculeName atom1 atom2 … The MoleculeName must match a name specified in one of the [Molecule] blocks. The atom indices refer to the whole input System and the number of atoms must match that in the specified Molecule. A suitable Removables block is written to the standard output after each accepted MC move. If you do so then you should also replace the initial atomic coordinates with the ones found in the same file. If a [Restart] key is present then the Removables block is ignored.
Restart
Type: String Name of an RKF restart file. Upon restart, the information about the GCMC input parameters, the initial system (atomic coordinates, lattice, charge, etc.) and the MC molecules (both already inserted and to be inserted) are read from the restart file. The global GCMC input parameters and the MC Molecules can be modified from input. Any parameter not specified in the input will use its value from the restart file (i.e. not the default value). Molecules found in the restart file do not have to be present as named Systems in the input, however if there is a System present that matches the name of a molecule from restart then the System’s geometry will replace that found in the restart file. It is also possible to specify new Molecules in the input, which will be added to the pool of the MC molecules from restart.
Temperature
Type: Float 300.0 Kelvin Temperature of the simulation. Increase the temperature to improve the chance of accepting steps that result in a higher energy.
UseGCPreFactor
Type: Bool True Use GC prefactor Use the GC pre-exponential factor for probability.
VolumeChangeMax
Type: Float 0.05 Fractional value by which logarithm of the volume is allowed to change at each step. The new volume is then calculated as Vnew = exp(random(-1:1)*VolumeChangeMax)*Vold
VolumeOption
Type: Multiple Choice Free [Free, Total, Accessible, FreeAccessible] Volume method Specifies the method to calculate the volume used to calculate the GC pre-exponential factor and the energy correction in the Mu-PT ensemble: Free: V = totalVolume - occupiedVolume - NonAccessibleVolume; Total: V = totalVolume; Accessible: V = AccessibleVolume; FreeAccessible: V = AccessibleVolume - occupiedVolume. The AccessibleVolume and NonAccessibleVolume are specified in the input, the occupiedVolume is calculated as a sum of atomic volumes.
GeometryOptimization
Type: Block Configures details of the geometry optimization and transition state searches.
CalcPropertiesOnlyIfConverged
Type: Bool True Compute the properties requested in the ‘Properties’ block, e.g. Frequencies or Phonons, only if the optimization (or transition state search) converged. If False, the properties will be computed even if the optimization did not converge.
Convergence
Type: Block Convergence is monitored for two items: the energy and the Cartesian gradients. Convergence criteria can be specified separately for each of these items.
Energy
Type: Float 1e-05 Hartree Energy convergence The criterion for changes in the energy. Note: this criterium is ignored in case the FIRE optimization method is used.
Gradients
Step
Type: Float 0.001 Angstrom Step convergence The maximum Cartesian step allowed for a converged geometry. Note: this criterium is ignored in case the FIRE optimization method is used.
StressEnergyPerAtom
Type: Float 0.0005 Hartree Threshold used when optimizing the lattice vectors. The stress is considered ‘converged’ when the maximum value of stress_tensor * cell_volume / number_of_atoms is smaller than this threshold (for 2D and 1D systems, the cell_volume is replaced by the cell_area and cell_length respectively).
CoordinateType
Type: Multiple Choice Auto [Auto, Delocalized, Cartesian] Optimization space Select the type of coordinates in which to perform the optimization. If ‘Auto’, delocalized coordinates will be used for molecular systems, while Cartesian coordinates will be used for periodic systems. Optimization in delocalized coordinates [Delocalized] can only be used for geometry optimizations or transition state searches of molecular systems with the Quasi-Newton method. The experimental SCMGO optimizer supports [Delocalized] coordinates for both molecular and periodic systems.
FIRE
Type: Block This block configures the details of the FIRE optimizer. The keywords name correspond the the symbols used in the article describing the method, see PRL 97, 170201 (2006).
MapAtomsToUnitCell
Type: Bool False Map the atoms to the central cell at each geometry step.
NMin
Type: Integer 5 Number of steps after stopping before increasing the time step again.
RejectEnergyIncrease
Type: Bool False Makes the optimizer reject steps that increase the energy. This can speed up convergence, but often causes the optimizer to get stuck on small discontinuities on the potential energy surface. It is therefore disabled by default.
alphaStart
Type: Float 0.1 Steering coefficient.
dtMax
Type: Float 1.0 Femtoseconds Maximum time step used for the integration.
dtStart
Type: Float 0.25 Femtoseconds Initial time step for the integration.
fAlpha
Type: Float 0.99 Reduction factor for the steering coefficient.
fDec
Type: Float 0.5 Reduction factor for reducing the time step in case of uphill movement.
fInc
Type: Float 1.1 Growth factor for the integration time step.
strainMass
Type: Float 0.5 Fictitious relative mass of the lattice degrees of freedom. This controls the stiffness of the lattice degrees of freedom relative to the atomic degrees of freedom, with smaller values resulting in a more aggressive optimization of the lattice.
HessianFree
Type: Block Configures details of the Hessian-free (conjugate gradients or L-BFGS) geometry optimizer.
Step
Type: Block
MaxCartesianStep
Type: Float 0.05 Angstrom Limit on a single Cartesian component of the step.
MinRadius
Type: Float 0.0 Angstrom Minimum value for the trust radius.
TrialStep
Type: Float 0.0005 Angstrom Length of the finite-difference step when determining curvature. Should be smaller than the step convergence criterion.
TrustRadius
Type: Float 0.2 Angstrom Initial value of the trust radius.
InitialHessian
Type: Block Options for initial model Hessian when optimizing systems with either the Quasi-Newton or the SCMGO method.
File
Type: String Initial Hessian from KF file containing the initial Hessian. This can be used to load a Hessian calculated in a previously with the [Properties%Hessian] keyword.
Type
Type: Multiple Choice Auto [Auto, UnitMatrix, Swart, FromFile, Calculate] Initial Hessian Select the type of initial Hessian. Auto: let the program pick an initial model Hessian. UnitMatrix: simplest initial model Hessian, just a unit matrix in the optimization coordinates. Swart: model Hessian from M. Swart. FromFile: load the Hessian from the results of a previous calculation (see InitialHessian%File). Calculate: compute the initial Hessian (this may be computationally expensive and it is mostly recommended for TransitionStateSearch calculations).
KeepIntermediateResults
Type: Bool False Whether the full engine result files of all intermediate steps are stored on disk. By default only the last step is kept, and only if the geometry optimization converged. This can easily lead to huge amounts of data being stored on disk, but it can sometimes be convenient to closely monitor a tricky optimization, e.g. excited state optimizations going through conical intersections, etc. …
MaxIterations
Type: Integer Maximum number of iterations The maximum number of geometry iterations allowed to converge to the desired structure.
Method
Type: Multiple Choice Auto [Auto, Quasi-Newton, SCMGO, FIRE, L-BFGS, ConjugateGradients] Optimization method Select the optimization algorithm employed for the geometry relaxation. Currently supported are: the Hessian-based Quasi-Newton-type BFGS algorithm, the experimental SCMGO optimizer, the fast inertial relaxation method (FIRE), the limited-memory BFGS method, and the conjugate gradients method. The default is to choose an appropriate method automatically based on the engine’s speed, the system size and the supported optimization options.
OptimizeLattice
Type: Bool False Whether to also optimize the lattice for periodic structures. This is currently only supported with the Quasi-Newton, FIRE, L-BFGS and SCMGO optimizers.
Quasi-Newton
Type: Block Configures details of the Quasi-Newton geometry optimizer.
MaxGDIISVectors
Type: Integer 0 Sets the maximum number of GDIIS vectors. Setting this to a number >0 enables the GDIIS method.
Step
Type: Block
TrustRadius
Type: Float Initial value of the trust radius.
UpdateTSVectorEveryStep
Type: Bool True Update TSRC vector every step Whether to update the TS reaction coordinate at each step with the current eigenvector.
SCMGO
Type: Block Configures details SCMGO.
ContractPrimitives
Type: Bool True Form non-redundant linear combinations of primitive coordinates sharing the same central atom
NumericalBMatrix
Type: Bool False Calculation of the B-matrix, i.e. Jacobian of internal coordinates in terms of numerical differentiations
Step
Type: Block
TrustRadius
Type: Float 0.2 Initial value of the trust radius.
VariableTrustRadius
Type: Bool True Whether or not the trust radius can be updated during the optimization.
logSCMGO
Type: Bool False Verbose output of SCMGO internal data
testSCMGO
Type: Bool False Run SCMGO in test mode.
IRC
Type: Block Configures details of the Intrinsic Reaction Coordinate optimization.
Convergence
Type: Block Convergence at each given point is monitored for two items: the Cartesian gradient and the calculated step size. Convergence criteria can be specified separately for each of these items. The same criteria are used both in the inner IRC loop and when performing energy minimization at the path ends.
Gradients
Type: Float 0.001 Hartree/Angstrom Gradient convergence Convergence criterion for the max component of the residual energy gradient.
Step
Type: Float 0.001 Angstrom Step convergence Convergence criterion for the max component of the step in the optimization coordinates.
CoordinateType
Type: Multiple Choice Cartesian [Cartesian, Delocalized] Coordinates used for optimization Select the type of coordinates in which to perform the optimization. Note that the Delocalized option should be considered experimental. Besides, it is not possible to use delocalized coordinates for periodic systems.
Direction
Type: Multiple Choice Both [Both, Forward, Backward] Select direction of the IRC path. The difference between the Forward and the Backward directions is determined by the sign of the largest component of the vibrational normal mode corresponding to the reaction coordinate at the transition state geometry. The Forward path correspond to the positive sign of the component. If Both is selected then first the Forward path is computed followed by the Backward one.
InitialHessian
Type: Block Options for initial Hessian at the transition state. The first eigenvalue of the initial Hessian defines direction of the first forward or backward step. This block is ignored when restarting from a previous IRC calculation because the initial Hessian found in the restart file is used.
File
Type: String File If ‘Type’ is set to ‘FromFile’ then in this key you should specifiy the RKF file containing the initial Hessian. This can be used to load a Hessian calculated previously with the ‘Properties%Hessian’ keyword. If you want to also use this file for the initial geometry then also specify it in a ‘LoadSystem’ block.
Type
Type: Multiple Choice Calculate [Calculate, FromFile] Initial Hessian Calculate the exact Hessian for the input geometry or load it from the results of a previous calculation.
KeepConvergedResults
Type: Bool True Keep the binary RKF result file for every converged IRC point. These files may contain more information than the main ams.rkf result file.
MaxIRCSteps
Type: Integer Maximum IRC steps Soft limit on the number of IRC points to compute in each direction. After the specified number of IRC steps the program will switch to energy minimization and complete the path. This option should be used when you are interested only in the reaction path area near the transition state. Note that even if the soft limit has been hit and the calculation has completed, the IRC can still be restarted with a ‘RedoBackward’ or ‘RedoForward’ option.
MaxIterations
Type: Integer 300 Maximum iterations The maximum number of geometry iterations allowed to converge the inner IRC loop. If optimization does not converge within the specified number of steps, the calculation is aborted.
MaxPoints
Type: Integer 100 Maximum points Hard limit on the number of IRC points to compute in each direction. After the specified number of IRC steps the program will stop with the current direction and switch to the next one. If both ‘MaxPoints’ and ‘MaxIRCSteps’ are set to the same value then ‘MaxPoints’ takes precedence, therefore this option should be used to set a limit on the number of IRC steps if you intend to use the results later for a restart.
MinEnergyProfile
Type: Bool False Minimum energy profile Calculate minimum energy profile (i.e. no mass-weighting) instead of the IRC.
MinPathLength
Type: Float 0.1 Angstrom Minimum length of the path required before switching to energy minimization. Use this to overcome a small kink or a shoulder on the path.
Restart
Type: Block Restart options. Upon restart, the information about the IRC input parameters and the initial system (atomic coordinates, lattice, charge, etc.) is read from the restart file. The IRC input parameters can be modified from input. Except for ‘MaxPoints’ and ‘Direction’ all parameters not specified in the input will use their values from the restart file. The ‘MaxPoints’ and ‘Direction’ will be reset to their respective default values if not specified in the input. By default, the IRC calculation will continue from the point where it left off. However, the ‘RedoForward’ and/or ‘RedoBackward’ option can be used to enforce recalculation of a part of the reaction path, for example, using a different ‘Step’ value.
File
Type: String Restart Name of an RKF restart file generated by a previous IRC calculation. Do not use this key to provide an RKF file generated by a TransitionStateSearch or a SinglePoint calculation, use the ‘LoadSystem’ block instead.
RedoBackward
Type: Integer 0 IRC step number to start recalculating the backward path from. By default, if the backward path has not been completed then start after the last completed step. If the backward path has been completed and the ‘RedoBackward’ is omitted then no point on the backward path will be recomputed.
RedoForward
Type: Integer 0 IRC step number to start recalculating the forward path from. By default, if the forward path has not been completed then start after the last completed step. If the forward path has been completed and the ‘RedoForward’ is omitted then no point on the forward path will be recomputed.
Step
Type: Float 0.2 Step size IRC step size in mass-weighted coordinates, sqrt(amu)*bohr. One may have to increase this value when heavy atoms are involved in the reaction, or decrease it if the reactant or products are very close to the transition state.
LoadEngine
Type: String The path to the file from which to load the engine configuration. Replaces the Engine block.
LoadSystem
Type: Block True Block that controls reading the chemical system from a KF file instead of the [System] block.
File
Type: String The path of the KF file from which to load the system.
Section
Type: String Molecule The section on the KF file from which to load the system.
Log
Type: Non-standard block Configures the debugging loggers. Syntax: ‘Level LoggerName’. Possible Levels: All, Debug, Info, Warning, Error, Fatal.
MolecularDynamics
Type: Block Configures molecular dynamics (with the velocity-Verlet algorithm) with and without thermostats. This block allows to specify the details of the molecular dynamics calculation.
AddMolecules
Type: Block True Add molecules This block controls adding molecules to the system (a.k.a. the Molecule Gun). Multiple occurrences of this block are possible. By default, molecules are added at random positions in the simulation box with velocity matching the current system temperature. The initial position can be modified using one of the following keywords: Coords, CoordsBox, FractionalCoords, FractionalCoordsBox. The Coords and FractionalCoords keys can optionally be accompanied by CoordsSigma or FractionalCoordsSigma, respectively.
AtomTemperature
Type: Float 0.0 Kelvin Add random velocity corresponding to the specified temperature to individual atoms of the molecule. The total momentum of the added molecule is not conserved.
Coords
Type: Float List Angstrom Place molecules at or around the specified Cartesian coordinates. This setting takes precedence over other ways to specify initial coordinates of the molecule: [CoordsBox], [FractionalCoords], and [FractionalCoordsBox].
CoordsBox
Type: Float List Angstrom Place molecules at random locations inside the specified box in Cartesian coordinates. Coordinates of the box corners are specified as: Xmin, Xmax, Ymin, Ymax, Zmin, Zmax. This setting is ignored if Coords is used. In ADFinput, if this field is not empty it will be used instead of the default Coords.
CoordsSigma
Type: Float List Angstrom Sigma values (one per Cartesian axis) for a Gauss distribution of the initial coordinates. Can only be used together with Coords.
Energy
Type: Float Hartree Initial kinetic energy of the molecule in the shooting direction.
EnergySigma
Type: Float 0.0 Hartree Sigma value for the Gauss distribution of the initial kinetic energy around the specified value. Should only be used together with Energy.
FractionalCoords
Type: Float List Place molecules at or around the specified fractional coordinates in the main system’s lattice. For non-periodic dimensions a Cartesian value in Angstrom is expected. This setting is ignored if [Coords] or [CoordsBox] is used.
FractionalCoordsBox
Type: Float List Place molecules at random locations inside the box specified as fractional coordinates in the main system’s lattice. Coordinates of the box corners are specified as: Xmin, Xmax, Ymin, Ymax, Zmin, Zmax. For non-periodic dimensions the Cartesian value in Angstrom is expected. This setting is ignored if [Coords], [CoordsBox], or [FractionalCoords] is used.
FractionalCoordsSigma
Type: Float List Sigma values (one per axis) for a Gauss distribution of the initial coordinates. For non-periodic dimensions the Cartesian value in Angstrom is expected. Can only be used together with FractionalCoords.
Frequency
Type: Integer 0 A molecule is added every [Frequency] steps after the StartStep. There is never a molecule added at step 0.
MinDistance
Type: Float 0.0 Angstrom Keep the minimal distance to other atoms of the system when adding the molecule.
NumAttempts
Type: Integer 10 Try adding the molecule up to the specified number of times or until the MinDistance constraint is satisfied. If all attempts fail a message will be printed and the simulation will continue normally.
Rotate
Type: Bool False Rotate the molecule randomly before adding it to the system.
StartStep
Type: Integer 0 Step number when the first molecule should be added. After that, molecules are added every Frequency steps. For example, ff StartStep=99 and Frequency=100 then a molecule will be added at steps 99, 199, 299, etc… No molecule will be added at step 0, so if StartStep=0 the first molecule is added at the step number equal to [Frequency].
StopStep
Type: Integer Do not add this molecule after the specified step.
System
Type: String String ID of the [System] that will be added with this ‘gun’. The lattice specified with this System is ignored and the main system’s lattice is used instead. ADFinput adds the system at the coordinates of the System (thus setting Coords to the center of the System).
Temperature
Type: Float Kelvin Initial energy of the molecule in the shooting direction will correspond to the given temperature.
TemperatureSigma
Type: Float 0.0 Kelvin Sigma value for the Gauss distribution of the initial temperature the specified value. Should only be used together with TemperatureSigma.
Velocity
Type: Float Angstrom/fs Initial velocity of the molecule in the shooting direction.
VelocityDirection
Type: Float List Velocity direction vector for aimed shooting. It will be random if not specified. In ADFinput add one or two atoms (which may be dummies). One atom: use vector from center of the system to add to that atom. Two atoms: use vector from the first to the second atom.
VelocitySigma
Type: Float 0.0 Angstrom/fs Sigma value for the Gauss distribution of the initial velocity around the specified value. Should only be used together with Velocity.
Barostat
Type: Block This block allows to specify the use of a barostat during the simulation.
BulkModulus
Type: Float 2200000000.0 Pascal An estimate of the bulk modulus (inverse compressibility) of the system for the Berendsen barostat. This is only used to make Tau correspond to the true observed relaxation time constant. Values are commonly on the order of 10-100 GPa (1e10 to 1e11) for solids and 1 GPa (1e9) for liquids (2.2e9 for water). Use 1e9 to match the behavior of standalone ReaxFF.
ConstantVolume
Type: Bool False Keep the volume constant while allowing the box shape to change. This is currently supported only by the MTK barostat.
Duration
Type: Integer List Specifies how many steps should a transition from a particular pressure to the next one in sequence take.
Equal
Type: Multiple Choice None [None, XYZ, XY, YZ, XZ] Enforce equal scaling of the selected set of dimensions. They will be barostatted as one dimension according to the average pressure over the components.
Pressure
Type: Float List Pascal Specifies the target pressure. You can specify multiple pressures (separated by spaces). In that case the Duration field specifies how many steps to use for the transition from one p to the next p (using a linear ramp).
Scale
Type: Multiple Choice XYZ [XYZ, Shape, X, Y, Z, XY, YZ, XZ] Dimensions that should be scaled by the barostat to maintain pressure. Selecting Shape means that all three dimensions and also all the cell angles are allowed to change.
Tau
Type: Float Femtoseconds Damping constant Specifies the time constant of the barostat.
Type
Type: Multiple Choice None [None, Berendsen, MTK] Barostat Selects the type of the barostat.
BondOrderCutoff
Type: Float 0.5 Bond order cutoff for analysis of the molecular composition. Bonds with bond order smaller than this value are neglected when determining the molecular composition.
CVHD
Type: Block True CVHD Input for the Collective Variable-driven HyperDynamics (CVHD).
Bias
Type: Block The bias is built from a series of Gaussian peaks deposited on the collective variable axis every [Frequency] steps during MD. Each peak is characterized by its (possibly damped) height and the RMS width (standard deviation).
DampingTemp
Type: Float 0.0 Kelvin Bias damping T During well-tempered hyperdynamics the height of the added bias is scaled down with an exp(-E/kT) factor [PhysRevLett 100, 020603 (2008)], where E is the current value of the bias at the given CV value and T is the damping temperature DampingTemp. If DampingTemp is zero then no damping is applied.
Delta
Type: Float Standard deviation parameter of the Gaussian bias peak.
Height
Type: Float Hartree Height of the Gaussian bias peak.
ColVarBB
Type: Block True Collective Variable Description of a bond-breaking collective variable (CV) as described in [Bal & Neyts, JCTC, 11 (2015)]. A collective variable may consist of multiple ColVar blocks.
at1
Type: String Atom type name of the first atom of the bond. The name must be as it appears in the System block. That is, if the atom name contains an extension (e.g C.1) then the full name including the extension must be used here.
at2
Type: String Atom type name of the second atom of the bond. The value is allowed to be the same as [at1], in which case bonds between atoms of the same type will be included.
cutoff
Type: Float 0.3 Bond order cutoff Bond order cutoff. Bonds with BO below this value are ignored when creating the initial bond list for the CV. The bond list does not change during lifetime of the variable even if some bond orders drop below the cutoff.
p
Type: Integer 6 Exponent p Exponent value p used to calculate the p-norm for this CV.
rmax
Type: Float Angstrom R max Max bond distance parameter Rmax used for calculating the CV. It should be close to the transition-state distance for the corresponding bond.
rmin
Type: Float Angstrom R min Min bond distance parameter Rmin used for calculating the CV. It should be close to equilibrium distance for the corresponding bond.
Frequency
Type: Integer Frequency of adding a new bias peak, in steps. New bias is deposited every [Frequency] steps after [StartStep] if the following conditions are satisfied: the current CV value is less than 0.9 (to avoid creating barriers at the transition state), the step number is greater than or equal to [StartStep], and the step number is less than or equal to [StopStep].
StartStep
Type: Integer If this key is specified, the first bias will be deposited at this step. Otherwise, the first bias peak is added at the step number equal to the Frequency parameter. The bias is never deposited at step 0.
StopStep
Type: Integer No bias will be deposited after the specified step. The already deposited bias will continue to be applied until the reaction event occurs. After that no new CVHD will be started. By default, the CVHD runs for the whole duration of the MD calculation.
WaitSteps
Type: Integer If the CV value becomes equal to 1 and remains at this value for this many steps then the reaction event is considered having taken place. After this, the collective variable will be reset and the bias will be removed.
CalcPressure
Type: Bool False Calculate the pressure in periodic systems. This may be computationally expensive for some engines that require numerical differentiation. Some other engines can calculate the pressure for negligible additional cost and will always do so, even if this option is disabled.
Checkpoint
Type: Block Sets the frequency for storing the entire MD state necessary for restarting the calculation.
Frequency
Type: Integer 1000 Checkpoint frequency Write the MD state and engine-specific data to the respective .rkf files once every N steps.
HeatExchange
Type: Block True Heat exchange Input for the heat-exchange non-equilibrium MD (T-NEMD).
HeatingRate
Type: Float Hartree/fs Rate at which the energy is added to the Source and removed from the Sink. A heating rate of 1 Hartree/fs equals to about 0.00436 Watt of power being transfered through the system.
Method
Type: Multiple Choice Simple [Simple, HEX, eHEX] Heat exchange method used. Simple: kinetic energy of the atoms of the source and sink regions is modified irrespective of that of the center of mass (CoM) of the region (recommended for solids). HEX: kinetic energy of the atoms of these regions is modified keeping that of the corresponding CoM constant. eHEX: an enhanced version of HEX that conserves the total energy better (recommended for gases and liquids).
Sink
Type: Block Defines the heat sink region (where the heat will be removed).
AtomList
Type: Integer List Sink region The atoms that are part of the Sink. This key is ignored if the [Box] block is present.
Box
Type: Block Part of the simulation box (in fractional cell coordinates) defining the heat sink. If this block is specified, then by default, the whole box in each of the three dimensions is used, which usually does not make much sense. Normally, you will want to set the bounds along one of the axes. This block is mutually exclusive with the FirstAtom/LastAtom setting.
Amax
Type: Float 1.0 Coordinate of the upper bound along the first axis.
Amin
Type: Float 0.0 Coordinate of the lower bound along the first axis.
Bmax
Type: Float 1.0 Coordinate of the upper bound along the second axis.
Bmin
Type: Float 0.0 Coordinate of the lower bound along the second axis.
Cmax
Type: Float 1.0 Coordinate of the upper bound along the third axis.
Cmin
Type: Float 0.0 Coordinate of the lower bound along the third axis.
FirstAtom
Type: Integer Index of the first atom of the region. This key is ignored if the [Box] block or the [AtomList] key is present.
LastAtom
Type: Integer Index of the last atom of the region. This key is ignored if the [Box] block or the [AtomList] key is present.
Source
Type: Block Defines the heat source region (where the heat will be added).
AtomList
Type: Integer List Source region The atoms that are part of the source. This key is ignored if the [Box] block is present.
Box
Type: Block Part of the simulation box (in fractional cell coordinates) defining the heat source. If this block is specified, then by default, the whole box in each of the three dimensions is used, which usually does not make much sense. Normally, you will want to set the bounds along one of the axes. This block is mutually exclusive with the FirstAtom/LastAtom setting.
Amax
Type: Float 1.0 Coordinate of the upper bound along the first axis.
Amin
Type: Float 0.0 Coordinate of the lower bound along the first axis.
Bmax
Type: Float 1.0 Coordinate of the upper bound along the second axis.
Bmin
Type: Float 0.0 Coordinate of the lower bound along the second axis.
Cmax
Type: Float 1.0 Coordinate of the upper bound along the third axis.
Cmin
Type: Float 0.0 Coordinate of the lower bound along the third axis.
FirstAtom
Type: Integer Index of the first atom of the region. This key is ignored if the [Box] block or the [AtomList] key is present.
LastAtom
Type: Integer Index of the last atom of the region. This key is ignored if the [Box] block or the [AtomList] key is present.
StartStep
Type: Integer 0 Index of the MD step at which the heat exchange will start.
StopStep
Type: Integer Index of the MD step at which the heat exchange will stop.
InitialVelocities
Type: Block Sets the frequency for printing to stdout and storing the molecular configuration on the .rkf file.
File
Type: String AMS RKF file containing the initial velocities.
Temperature
Type: Float Kelvin Initial temperature Sets the temperature for the Maxwell-Boltzmann distribution when the type of the initial velocities is set to random, in which case specifying this key is mandatory. ADFinput will use the first temperature of the first thermostat as default.
Type
Type: Multiple Choice Random [Zero, Random, FromFile, Input] Initial velocities Specifies the initial velocities to assign to the atoms. Three methods to assign velocities are available. Zero: All atom are at rest at the beginning of the calculation. Random: Initial atom velocities follow a Maxwell-Boltzmann distribution for the temperature given by the [MolecularDynamics%InitialVelocities%Temperature] keyword. FromFile: Load the velocities from a previous ams result file. Input: Atom’s velocities are set to the values specified in the [MolecularDynamics%InitialVelocities%Values] block, which can be accessed via the Expert AMS panel in ADFinput.
Values
Type: Non-standard block This block specifies the velocity of each atom, in Angstrom/fs, when [MolecularDynamics%InitialVelocities%Type] is set to Input. Each row must contain three floating point values (corresponding to the x,y,z component of the velocity vector) and a number of rows equal to the number of atoms must be present, given in the same order as the [System%Atoms] block.
NSteps
Type: Integer 1000 Number of steps The number of steps to be taken in the MD simulation.
Plumed
Type: Block Input for PLUMED.
Input
Type: Non-standard block Input for PLUMED. Contents of this block is passed to PLUMED as is.
Preserve
Type: Block Periodically remove numerical drift accumulated during the simulation to preserve different whole-system parameters.
AngularMomentum
Type: Bool True : Angular momentum Remove overall angular momentum of the system. This option is ignored for 2D and 3D-periodic systems.
CenterOfMass
Type: Bool False : Center of mass Translate the system to keep its center of mass at the coordinate origin. This option is not very useful for 3D-periodic systems.
Momentum
Type: Bool True Preserve: Total momentum Remove overall (linear) momentum of the system.
Print
Type: Block This block controls the printing of additional information to stdout.
System
Type: Bool False Print the chemical system before and after the simulation.
Velocities
Type: Bool False Print the atomic velocities before and after the simulation.
RemoveMolecules
Type: Block True Remove molecules This block controls removal of molecules from the system. Multiple occurrences of this block are possible.
Formula
Type: String Molecular formula of the molecules that should be removed from the system. The order of elements in the formula is very important and the correct order is: C, H, all other elements in the strictly alphabetic order. Element names are case-sensitive, spaces in the formula are not allowed. Digit ‘1’ must be omitted. Valid formula examples: C2H6O, H2O, O2S. Invalid formula examples: C2H5OH, H2O1, OH, SO2. Invalid formulas are silently ignored.
Frequency
Type: Integer 0 The specified molecules are removed every so many steps after the StartStep. There is never a molecule removed at step 0.
SafeBox
Type: Block Part of the simulation box where molecules may not be removed. Only one of the SinkBox or SafeBox blocks may be present. If this block is present a molecule will not be removed if any of its atoms is within the box. For a periodic dimension it is given as a fraction of the simulation box (the full 0 to 1 range by default). For a non-periodic dimension it represents absolute Cartesian coordinates in atomic units.
Amax
Type: Float Coordinate of the upper bound along the first axis.
Amin
Type: Float Coordinate of the lower bound along the first axis.
Bmax
Type: Float Coordinate of the upper bound along the second axis.
Bmin
Type: Float Coordinate of the lower bound along the second axis.
Cmax
Type: Float Coordinate of the upper bound along the third axis.
Cmin
Type: Float Coordinate of the lower bound along the third axis.
SinkBox
Type: Block Part of the simulation box where molecules will be removed. By default, molecules matching the formula will be removed regardless of their location. If this block is present a molecule will be removed if any of its atoms is within the box. For a periodic dimension it is given as a fraction of the simulation box (the full 0 to 1 range by default). For a non-periodic dimension it represents absolute Cartesian coordinates in atomic units.
Amax
Type: Float Coordinate of the upper bound along the first axis.
Amin
Type: Float Coordinate of the lower bound along the first axis.
Bmax
Type: Float Coordinate of the upper bound along the second axis.
Bmin
Type: Float Coordinate of the lower bound along the second axis.
Cmax
Type: Float Coordinate of the upper bound along the third axis.
Cmin
Type: Float Coordinate of the lower bound along the third axis.
StartStep
Type: Integer 0 Step number when molecules are removed for the first time. After that, molecules are removed every [Frequency] steps. For example, if StartStep=99 and Frequency=100 then molecules will be removed at steps 99, 199, 299, etc… No molecule will be removed at step 0, so if StartStep=0 the first molecules are removed at the step number equal to [Frequency].
StopStep
Type: Integer Do not remove the specified molecules after this step.
ReplicaExchange
Type: Block This block is used for (temperature) Replica Exchange MD (Parallel Tempering) simulations.
AllowWrongResults
Type: Bool False Allow combining Replica Exchange with other features when the combination is known to produce physically incorrect results.
EWMALength
Type: Integer 10 Length of the exponentially weighted moving average used to smooth swap probabilities for monitoring. This value is equal to the inverse of the EWMA mixing factor.
SwapFrequency
Type: Integer 100 Attempt an exchange every N steps.
TemperatureFactors
Type: Float List This is the ratio of the temperatures of two successive replicas. The first value sets the temperature of the second replica with respect to the first replica, the second value sets the temperature of the third replica with respect to the second one, and so on. If there are fewer values than nReplicas, the last value of TemperatureFactor is used for all the remaining replicas.
Temperatures
Type: Float List List of temperatures for all replicas except for the first one. This is mutually exclusive with TemperatureFactors. Exactly nReplicas-1 temperature values need to be specified, in increasing order. The temperature of the first replica is given by [Thermostat%Temperature].
nReplicas
Type: Integer 1 Number of replicas Number of replicas to run in parallel.
Restart
Type: String Restart from The path to the ams.rkf file from which to restart the simulation.
Thermostat
Type: Block True This block allows to specify the use of a thermostat during the simulation. Depending on the selected thermostat type, different additional options may be needed to characterize the specific thermostat’ behavior.
BerendsenApply
Type: Multiple Choice Global [Local, Global] Apply Berendsen Select how to apply the scaling correction for the Berendsen thermostat: - per-atom-velocity (Local) - on the molecular system as a whole (Global).
ChainLength
Type: Integer 10 NHC chain length Number of individual thermostats forming the NHC thermostat
Duration
Type: Integer List Duration(s) Specifies how many steps should a transition from a particular temperature to the next one in sequence take.
FirstAtom
Type: Integer 1 Index of the first atom to be thermostatted
LastAtom
Type: Integer 0 Index of the last atom to be thermostatted. A value of zero means the last atom in the system.
Tau
Type: Float Femtoseconds Damping constant The time constant of the thermostat.
Temperature
Type: Float List Kelvin Temperature(s) The target temperature of the thermostat. You can specify multiple temperatures (separated by spaces). In that case the Duration field specifies how many steps to use for the transition from one T to the next T (using a linear ramp). For NHC thermostat, the temperature may not be zero.
Type
Type: Multiple Choice None [None, Berendsen, NHC] Thermostat Selects the type of the thermostat.
TimeStep
Type: Float 0.25 Femtoseconds The time difference per step.
Trajectory
Type: Block Sets the frequency for printing to stdout and storing the molecular configuration on the .rkf file.
SamplingFreq
Type: Integer 100 Sample frequency Write the the molecular geometry (and possibly other properties) to the .rkf file once every N steps.
TProfileGridPoints
Type: Integer 0 Number of points in the temperature profile. If TProfileGridPoints is greater than 0 then a temperature profile will be generates along each of the three unit cell axes. By default, no profile is generated.
NEB
Type: Block Configures details of the Nudged Elastic Band optimization.
Climbing
Type: Bool True Climb highest image to TS Use the climbing image algorithm to drive the highest image to the transition state.
ClimbingThreshold
Type: Float 0.0 Hartree/Bohr CI force threshold Climbing image force threshold. If ClimbingThreshold > 0 and the max perpendicular force component is above the threshold then no climbing is performed at this step. This entry can be used to get a better approximation for the reaction path before starting the search for the transition state. A typical value is 0.01 Hartree/Bohr.
Images
Type: Integer 8 Number of images Number of NEB images (not counting the chain ends). Using more images will result in a smoother reaction path and can help with convergence problems, but it will also increase the computation time.
InterpolateInternal
Type: Bool True Interpolate in Internal coordinates The initial NEB image geometries are calculated by interpolating between the initial and the final state. By default, for unconstrained non-periodic systems the interpolation is performed in Internal coordinates but the user can choose to do it in the Cartesian ones. For periodic systems or systems with constraints the interpolation is always done in Cartesian coordinates.
InterpolateShortest
Type: Bool True Interpolate across cell boundary Allow interpolation across periodic cell boundaries. Set to false if an atom is intended to move more than half across the simulation box during reaction.
Iterations
Type: Integer Maximum number of iterations Maximum number of NEB iterations. The default value depends on the number of degrees of freedom (number of images, atoms, periodic dimensions).
Jacobian
Type: Float Jacobian value Scaling factor used to convert the lattice strain to a NEB coordinate value. Default value: sqrt(N)*(V/N)^(1/d), where V - lattice volume (area for 2D, length for 1D), N - number of atoms, and d - number of periodic dimensions.
MapAtomsToCell
Type: Bool True Map atoms to cell Translate atoms to the [-0.5,0.5] cell before every step. This option cannot be disabled for SS-NEB.
OldTangent
Type: Bool False Use old tangent Turn on the old central difference tangent.
OptimizeEnds
Type: Bool True Optimize reactants/products Start the NEB with optimization of the reactant and product geometries.
OptimizeLattice
Type: Bool False Optimize lattice Turn on the solid-state NEB (SS-NEB).
Parallel
Type: Block Configuration for how the individual systems are calculated in 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.
Restart
Type: String Restart from Provide an ams.rkf file from a previous NEB calculation to restart from. It can be an unfinished NEB calculation or one performed with different engine parameters.
Spring
Type: Float 1.0 Hartree/Bohr^2 Spring value Spring force constant in atomic units.
NormalModes
Type: Block Configures details of a normal modes calculation.
FreqRange
Type: Float List [-10000000.0, 10.0] cm-1 True Specifies a frequency range within which all modes will be scanned. (2 numbers: an upper and a lower bound.)
ScanModes
Type: Bool False Whether or not to scan imaginary modes after normal modes calculation has concluded.
UseSymmetry
Type: Bool True Whether or not to exploit the symmetry of the system in the normal modes calculation.
NumericalDifferentiation
Type: Block Define options for numerical differentiations, that is the numerical calculation of gradients, Hessian and the stress tensor for periodic systems.
NuclearStepSize
Type: Float 0.005 Bohr Step size for numerical nuclear gradient calculation.
Parallel
Type: Block Numerical differentiation is an embarrassingly parallel problem. Double parallelization allows to split the available processor cores into groups working through all the available tasks in parallel, resulting in a better parallel performance. The keys in this block determine how to split the available processor cores into groups working in 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 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.
StrainStepSize
Type: Float 0.001 Step size (relative) for numerical stress tensor calculation.
UseSymmetry
Type: Bool True Whether or not to exploit the symmetry of the system for numerical differentiations.
NumericalPhonons
Type: Block Configures details of a numerical phonons calculation.
AutomaticBZPath
Type: Bool True Automatic BZ path If True, compute the phonon dispersion curve for the standard path through the Brillouin zone. If False, you must specify your custom path in the [BZPath] block.
BZPath
Type: Block If [NumericalPhonons%AutomaticBZPath] is false, the phonon dispersion curve will be computed 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 (i.e. have a discontinuous path), you need to specify a new [Path] sub-block.
Path
Type: Non-standard block True A section of a k space path. This block should contain multiple lines, and in each line you should specify one vertex of the path in fractional coordinates. Optionally, you can add text labels for your vertices at the end of each line.
DoubleSided
Type: Bool True By default a two-sided (or quadratic) numerical differentiation of the nuclear gradients is used. Using a single-sided (or linear) numerical differentiation is computationally faster but much less accurate. Note: In older versions of the program only the single-sided option was available.
Interpolation
Type: Integer 100 Use interpolation to generate smooth phonon plots.
NDosEnergies
Type: Integer 1000 Nr. of energies used to calculate the phonon DOS used to integrate thermodynamic properties. For fast compute engines this may become time limiting and smaller values can be tried.
Parallel
Type: Block Computing the phonons via numerical differentiation is an embarrassingly parallel problem. Double parallelization allows to split the available processor cores into groups working through all the available tasks in parallel, resulting in a better parallel performance. The keys in this block determine how to split the available processor cores into groups working in parallel. Keep in mind that the displacements for a phonon calculation are done on a super-cell system, so that every task requires more memory than the central point calculated using the primitive cell.
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.
StepSize
Type: Float 0.04 Angstrom Step size to be taken to obtain the force constants (second derivative) from the analytical gradients numerically.
SuperCell
Type: Non-standard block Used for the phonon run. The super lattice is expressed in the lattice vectors. Most people will find a diagonal matrix easiest to understand.
UseSymmetry
Type: Bool True Whether or not to exploit the symmetry of the system in the phonon calculation.
PESPointCharacter
Type: Block Options for the characterization of PES points.
Displacement
Type: Float 0.04 Controls the size of the displacements used for numerical differentiation: The displaced geometries are calculated by taking the original coordinates and adding the mass-weighted mode times the reduced mass of the mode times the value of this keyword.
NumberOfModes
Type: Integer 2 The number of (lowest) eigenvalues that should be checked.
Tolerance
Type: Float 0.02 Convergence tolerance for residual in iterative Davidson diagonalization.
PESScan
Type: Block Configures the details of the potential energy surface scanning task.
CalcPropertiesAtPESPoints
Type: Bool False Whether to perform an additional calculation with properties on all the sampled points of the PES. If this option is enabled AMS will produce a separate engine output file for every sampled PES point.
FillUnconvergedGaps
Type: Bool True After the initial pass over the PES, restart the unconverged points from converged neighboring points.
ScanCoordinate
Type: Block True Specifies a coordinate along which the potential energy surface is scanned. If this block contains multiple entries, these coordinates will be varied and scanned together as if they were one.
Angle
Type: String True Scan the angle between three atoms. Three atom indices followed by two real numbers delimiting the transit range in degrees.
Coordinate
Type: String True Scan a particular coordinate of an atom. Atom index followed by (x|y|z) followed by two real numbers delimiting the transit range.
Dihedral
Type: String True Scan the dihedral angle between four atoms. Four atom indices followed by two real numbers delimiting the transit angle in degrees.
Distance
Type: String True Scan the distance between two atoms. Two atom indices followed by two real numbers delimiting the transit distance in Angstrom.
nPoints
Type: Integer 10 The number of points along the scanned coordinate. Must be greater or equal 2.
Print
Type: Block This block controls the printing of additional information to stdout.
Timers
Type: Multiple Choice None [None, Normal, Detail, TooMuchDetail] Printing timing details to see how much time is spend in which part of the code.
Properties
Type: Block Configures which AMS level properties to calculate for SinglePoint calculations or other important geometries (e.g. at the end of an optimization).
BondOrders
Type: Bool False Requests the engine to calculate bond orders. For MM engines these might just be the defined bond orders that go into the force-field, while for QM engines, this might trigger a bond order analysis based on the electronic structure.
DipoleMoment
Type: Bool False Requests the engine to calculate the dipole moment of the molecule. This can only be requested for non-periodic systems.
ElasticTensor
Type: Bool False Calculate the elastic tensor.
Gradients
Hessian
Type: Bool False Whether or not to calculate the Hessian.
Molecules
Type: Bool False Requests an analysis of the molecular components of a system, based on the bond orders calculated by the engine.
NormalModes
Type: Bool False Frequencies Calculate the frequencies and normal modes of vibration, and for molecules also the corresponding IR intensities.
Other
Type: Bool True Other (engine specific) properties. Details are configured in the engine block.
PESPointCharacter
Type: Bool False Characterize PES point Determine whether the sampled PES point is a minimum or saddle point. Note that for large systems this does not entail the calculation of the full Hessian and can therefore be used to quickly confirm the success of a geometry optimization or transition state search.
Phonons
Type: Bool False Calculate the phonons (for periodic systems).
SelectedAtomsForHessian
Type: Integer List Compute the Hessian matrix elements only for the atoms defined in this list (index). If not specified, the Hessian will be computed for all atoms.
StressTensor
Type: Bool False Stress tensor Calculate the stress tensor.
RNGSeed
Type: Integer List Initial seed for the (pseudo)random number generator. This should be omitted in most calculations to avoid introducing bias into the results. If this is unset, the generator will be seeded randomly from external sources of entropy. If you want to exactly reproduce an older calculation, set this to the numbers printed in its output.
SCMMatrix
Type: Block Technical settings for programs using the AMT matrix system. Currently this is only used by DFTB
DistributedMatrix
Type: Block Technical settings for Distributed matrices
ColBlockSize
Type: Integer 64 See comment of RowBlockSize.
RowBlockSize
Type: Integer 64 The matrix is divided into blocks of size RowBlockSize x ColBlockSize. The smaller the blocks the better the distribution, but at the expense of increased communication overhead
Type
Type: Multiple Choice Elpa [Auto, Reference, ScaLapack, Elpa] Determines which implementation is used to support the AbstractMatrixType.
Symmetry
Type: Block Specifying details about the details of symmetry detection and usage.
Tolerance
Type: Float 1e-07 Tolerance used to detect symmetry in the system.
System
Type: Block True Specification of the chemical system. For some applications more than one system may be present in the input. In this case, all systems except one must have a non-empty string ID specified after the System keyword. The system without an ID is considered the main one.
AtomMasses
Type: Non-standard block User defined atomic masses.
Atoms
Type: Non-standard block The atom types and coordinates. Unit can be specified in the header. Default unit is Angstrom.
BondOrders
Type: Non-standard block Defined bond orders. May by used by MM engines.
Charge
Type: Float 0.0 Total charge The system’s total charge in atomic units (only for non-periodic systems).
FractionalCoords
Type: Bool False Whether the atomic coordinates in the Atoms block are given in fractional coordinates of the lattice vectors. Requires the presence of the Lattice block.
GeometryFile
Type: String Read the geometry from a file (instead of from Atoms and Lattice blocks). Supported formats: .xyz
Lattice
Type: Non-standard block Up to three lattice vectors. Unit can be specified in the header. Default unit is Angstrom.
LatticeStrain
Type: Float List Deform the input system by the specified strain. The strain elements are in Voigt notation, so one should specify 6 numbers for 3D periodic system (order: xx,yy,zz,yz,xz,xy), 3 numbers for 2D periodic systems (order: xx,yy,xy) or 1 number for 1D periodic systems.
PerturbCoordinates
Type: Float Angstrom Perturb the atomic coordinates by adding random numbers between [-PerturbCoordinates,PerturbCoordinates] to each Cartesian component. This can be useful if you want to break the symmetry of your system (e.g. for a geometry optimization).
PerturbLattice
Type: Float Perturb the lattice vectors by applying random strain with matrix elements between [-PerturbLattice,PerturbLattice]. This can be useful if you want to deviate from an ideal symmetric geometry, for example if you look for a phase change due to high pressure.
SuperCell
Type: Integer List Create a supercell of the input system (only possible for periodic systems). The integer numbers represent the diagonal elements of the supercell transformation; you should specify as many numbers as lattice vectors (i.e. 1 number for 1D, 2 numbers for 2D and 3 numbers for 3D periodic systems).
SuperCellTrafo
Type: Integer List Create a supercell of the input system (only possible for periodic systems) $$\vec{a}_i' = \sum_j T_{ij} \vec{a}_j$$. The integer numbers represent the supercell transformation $$T_{ij}$$: 1 number for 1D PBC, 4 numbers for 2D PBC corresponding to a 2x2 matrix (order: (1,1),(1,2),(2,1),(2,2)) and 9 numbers for 3D PBC corresponding to a 3x3 matrix (order: (1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)).
Task
Type: Multiple Choice [SinglePoint, GeometryOptimization, TransitionStateSearch, IRC, PESScan, NEB, VibrationalAnalysis, MolecularDynamics, GCMC] Specify the computational task to perform: • Single Point: keep geometry as is • Geometry Optimization: optimize the geometry • Transition State: search for the transition state • IRC: intrinsic reaction coordinate • PES Scan: scan the potential energy surface • NEB: Nudged elastic band for reaction path optimization • Vibrational Analysis: peform one of the analysis types selected on the options page • Molecular Dynamics: perform MD simulation • GCMC: Grand Canonical Monte Carlo simulation
Thermo
Type: Block Options for thermodynamic properties (assuming an ideal gas). The properties are computed for all specified temperatures.
Pressure
Type: Float 1.0 atm The pressure at which the thermodynamic properties are computed.
Temperatures
Type: Float List [298.15] Kelvin List of temperatures at which the thermodynamic properties will be calculated.
TransitionStateSearch
Type: Block Configures some details of the transition state search.
ModeToFollow
Type: Integer 1 In case of Transition State Search, here you can specify the index of the normal mode to follow (1 is the mode with the lowest frequency).
UseSymmetry
Type: Bool True Whether to use the system’s symmetry at the application level.
VibrationalAnalysis
Type: Block Input data for all vibrational analysis utilities in the AMS driver.
AbsorptionSpectrum
Type: Block Settings related to the integration of the spectrum for vibronic tasks.
AbsorptionRange
Type: Float List [-200.0, 4000.0] cm-1 True Specifies frequency range of the vibronic absorption spectrum to compute. (2 numbers: an upper and a lower bound.)
FrequencyGridPoints
Type: Integer 400 Number of grid points to use for the spectrum
LineWidth
Type: Float 200.0 cm-1 Lorentzian line-width.
SpectrumOffset
Type: Multiple Choice relative [absolute, relative] Specifies whether provided frequency range are absolute frequencies or frequencies relative to computed 0-0 excitation energy.
Displacement
Type: Float Step size for finite difference calculations.
ExcitationSettings
Type: Block Block that contains settings related to the excitation for vibronic tasks.
EnergyInline
Type: Float hartree Vertical excitation energy, used when [ExcitationInfo] = [Inline].
ExcitationFile
Type: String Path to a .rkf/.t21 file containing the excited state information (gradients, transition dipoles and energies).
ExcitationInputFormat
Type: Multiple Choice File [File, Inline] Select how the application should retrieve the excited state information (energy, gradient).
GradientInline
Type: Non-standard block Excited state gradient at ground state equilibrium geometry, used when [ExcitationInfo] = [Inline].
Singlet
Type: Non-standard block Symmetry labels + integer indices of desired singlet transitions (VG-FC absorption spectra support only 1 at a time)
Triplet
Type: Non-standard block Symmetry labels + integer indices of desired triplet transitions (VG-FC absorption spectra support only 1 at a time)
ModeTracking
Type: Block Input data for Mode Tracking.
HessianGuess
Type: Multiple Choice UFF [Unit, File, UFF] Guess Hessian Sets how to obtain the guess for the Hessian used in the preconditioner (if one is to be used).
HessianInline
Type: Non-standard block Initial guess for the (non-mass-weighted) Hessian in a 3N x 3N block, used when [HessianGuess] = [Inline].
HessianPath
Type: String Path to a .rkf file containing the initial guess for the Hessian, used when [HessianGuess] = [File].
ToleranceForBasis
Type: Float 0.0001 Convergence tolerance for the contribution of the newest basis vector to the tracked mode.
ToleranceForNorm
Type: Float 0.0005 Convergence tolerance for residual RMS value.
ToleranceForResidual
Type: Float 0.0005 Convergence tolerance for the maximum component of the residual vector.
ToleranceForSpectrum
Type: Float 0.01 Convergence tolerance for the spectrum in Vibronic Structure Tracking.
TrackingMethod
Type: Multiple Choice OverlapInitial [OverlapInitial, DifferenceInitial, FreqInitial, IRInitial, OverlapPrevious, DifferencePrevious, FreqPrevious, IRPrevious, HighestFreq, HighestIR, LowestFreq, LowestResidual] Set the tracking method that will be used. Vibronic Structure Tracking uses Largest Displacement.
UpdateMethod
Type: Multiple Choice [JD, D, I] Chooses the method for expanding the Krylov subspace: (I) No preconditioner (VST default), (D) Davidson or (JD) vdVorst-Sleijpen variant of Jacobi-Davidson (Mode tracking default).
NormalModes
Type: Block All input related to processing of normal modes. Not available for vibronic structure tracking (as no modes are required there).
MassWeightInlineMode
Type: Bool True MODE TRACKING ONLY: The supplied modes must be mass-weighted. This tells the program to mass-weight the supplied modes in case this has not yet been done. (True means the supplied modes will be mass-weighted by the program, e.g. the supplied modes are non-mass-weighted.)
ModeFile
Type: String Path to a .rkf or .t21 file containing the modes which are to be scanned. Which modes will be scanned is selected using the criteria from the [ModeSelect] block.) This key is optional for Resonance Raman and Vibronic Structure. These methods can also calculate the modes using the engine.
ModeInline
Type: Non-standard block True MODE TRACKING ONLY: Coordinates of the mode which will be tracked in a N x 3 block (same as for atoms), used when [ModeInputFormat] = [Inline]. Rows must be ordered in the same way as in the [System%Atoms] block. Mode Tracking only.
ModeInputFormat
Type: Multiple Choice File [File, Inline, Hessian] Tracked mode source Set how the initial guesses for the modes are supplied. Only mode tracking supports the Inline and Hessian options.
ModeSelect
Type: Block Pick which modes to read from those from file.
DisplacementBound
Type: Float Vibronic Structure (Refinement), Resonance Raman: Select all modes with a dimensionless oscillator displacement greater than the specified value.
FreqAndIRRange
Type: Float List cm-1 and km/mol True Specifies a combined frequency and IR intensity range within which all modes will be selected. (First 2 numbers are the frequency range, last 2 numbers are the IR intensity range.)
FreqRange
Type: Float List cm-1 True Specifies a frequency range within which all modes will be selected. (2 numbers: a upper and a lower bound.)
Full
Type: Bool False All modes Select all modes.
HighFreq
Type: Integer # High frequencies Select the N modes with the highest frequencies.
HighIR
Type: Integer # High IR Select the N modes with the largest IR intensities.
IRRange
Type: Float List km/mol True Specifies an IR intensity range within which all modes will be selected. (2 numbers: a upper and a lower bound.)
ImFreq
Type: Bool False All imaginary frequencies Select all modes with imaginary frequencies.
LargestDisplacement
Type: Integer Vibronic Structure (Refinement), Resonance Raman: Select the N modes with the largest VG-FC displacement.
LowFreq
Type: Integer # Low frequencies Select the N modes with the lowest frequencies. (Includes imaginary modes which are recorded with negative frequencies.)
LowFreqNoIm
Type: Integer # Low positive frequencies Select the N modes with the lowest non-negative frequencies. (Imaginary modes have negative frequencies and are thus omitted here.)
LowIR
Type: Integer # Low IR Select the N modes with the smallest IR intensities.
ModeNumber
Type: Integer List Mode numbers Indices of the modes to select.
ScanModes
Type: Bool False Scan after refining Supported by: Mode Tracking, Mode Refinement, Vibronic Structure Refinement: If enabled an additional displacement will be performed along the new modes at the end of the calculation to obtain refined frequencies and IR intensities. Equivalent to running the output file of the mode tracking calculation through the AMS ModeScanning task.
ResonanceRaman
Type: Block Block that contains settings for the calculation of Resonance Raman calculations
IncidentFrequency
Type: Float cm-1 Frequency of incident light. Also used to determine most important excitation in case more than one is provided.
LifeTime
Type: Float 0.00045 hartree Lifetime of Raman excited state.
RamanOrder
Type: Integer 2 Order up to which to compute Raman transitions
RamanRange
Type: Float List [0.0, 2000.0] cm-1 True Specifies frequency range of the Raman spectrum to compute. (2 numbers: a upper and a lower bound.)
Type
Type: Multiple Choice [ModeScanning, ModeTracking, ModeRefinement, VibronicStructure, VibronicStructureTracking, VibronicStructureRefinement, ResonanceRaman] Specifies the type of vibrational analysis that should be performed
VSTRestartFile
Type: String Path to a .rkf file containing restart information for VST.