Keywords¶
Links to manual entries¶
Summary of all keywords¶
Constraints
Type: Block Description: 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 Recurring: True Description: Fix the angle between three atoms. Three atom indices followed by an angle in degrees. Atom
Type: Integer Recurring: True Description: Fix the position of an atom. Just one integer referring to the index of the atom in the [System%Atoms] block. Block
Type: String Recurring: True Description: Name of the block to contstrain as specified in the atom tag within the System%Atoms block. BlockAtoms
Type: Integer List Recurring: True Description: List of atom indices for a block constraint, where the internal degrees of freedom are frozen. Coordinate
Type: String Recurring: True Description: Fix a particular coordinate of an atom. Atom index followed by (x|y|z). Dihedral
Type: String Recurring: True Description: Fix the dihedral angle between four atoms. Four atom indices followed by an angle in degrees. Distance
Type: String Recurring: True Description: Fix the distance between two atoms. Two atom indices followed by the distance in Angstrom.
ElasticTensor
Type: Block Description: Options for numerical evaluation of the elastic tensor. MaxGradientForGeoOpt
Type: Float Default value: 0.0001 Unit: Hartree/Angstrom Description: Maximum nuclear gradient for the relaxation of the internal degrees of freedom of strained systems. Parallel
Type: Block Description: 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 parallelly working groups. nCoresPerGroup
Type: Integer Description: Number of cores in each parallelly working group. nGroups
Type: Integer Description: Total number of processor groups. This is the number of tasks that will be executed in parallel. nNodesPerGroup
Type: Integer Description: 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 Default value: 0.001 Description: Step size (relative) of strain deformations used for computing the elastic tensor numerically.
Engine
Type: Block Description: The input for the computational engine. The header of the block determines the type of the engine. EngineDebugging
Type: Block Description: This block contains some options useful for debugging the computational engines. ForceContinousPES
Type: Bool Default value: False Description: If this option is set, the engine will always run in contiuous 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 continously run in this mode. IgnoreGradientsRequest
Type: Bool Default value: False Description: 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. IgnoreStressTensorRequest
Type: Bool Default value: False Description: 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. RandomFailureChance
Type: Float Default value: 0.0 Description: Makes the engine randomly report failures, even though the results are actually fine. Useful for testing error handling on the application level.
EngineRestart
Type: String Description: The path to the file from which to restart the engine. GeometryOptimization
Type: Block Description: Configures details of the geometry optimization and transition state searches. CalcPropertiesOnlyIfConverged
Type: Bool Default value: True Description: 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. ConjugateGradients
Type: Block Description: Configures details of the conjugate gradients geometry optimizer. Step
Type: Block Description: MinRadius
Type: Float Default value: 0.0 Description: TrustRadius
Type: Float Default value: 0.2 Description: Initial value of the trust radius.
Convergence
Type: Block Description: 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 Default value: 1e-05 Unit: Hartree Description: The criterion for changes in the energy. Gradients
Type: Float Default value: 0.001 Unit: Hartree/Angstrom Description: The criterion for changes in the gradients. Step
Type: Float Default value: 0.001 Unit: Angstrom Description: The maximum Cartesian step allowed for a converged geometry.
CoordinateType
Type: Multiple Choice Default value: Auto Options: [Auto, Delocalized, Cartesian] Description: 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 Description: 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). NMin
Type: Integer Default value: 5 Description: Number of steps after stopping before increasing the time step again. alphaStart
Type: Float Default value: 0.1 Description: Steering coefficient. dtMax
Type: Float Default value: 1.25 Unit: Femtoseconds Description: Maximum time step used for the integration. dtStart
Type: Float Default value: 0.25 Unit: Femtoseconds Description: Initial time step for the integration. fAlpha
Type: Float Default value: 0.99 Description: Reduction factor for the steering coefficient. fDec
Type: Float Default value: 0.5 Description: Reduction factor for reducing the time step in case of uphill movement. fInc
Type: Float Default value: 1.1 Description: Growth factor for the integration time step. strainMass
Type: Float Default value: 0.5 Description: Ficticious 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.
InitialHessian
Type: Block Description: Options for initial model Hessian when optimizing systems with either the Quasi-Newton or the SCMGO method. File
Type: String Description: 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 Default value: Auto Options: [Auto, UnitMatrix, Swart, FromFile] Description: Selects the type of the initial model Hessian, or load the Hessian from the results of a previous calulation.
KeepIntermediateResults
Type: Bool Default value: False Description: 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 Description: The maximum number of geometry iterations allowed to converge to the desired structure. Method
Type: Multiple Choice Default value: Auto Options: [Auto, Quasi-Newton, SCMGO, FIRE, ConjugateGradients] Description: 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), 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 Default value: False Description: Whether to also optimize the lattice for periodic structures. This is currently only supported with the Quasi-Newton and SCMGO optimizers. Pressure
Type: Float Default value: 0.0 Description: Optimize the structure under pressure (this will only have an effect if you are optimizing the lattice vectors). Currently only working in combination with the Quasi-Newton optimizer. For phase transitions you may consider disabling or breaking the symmetry. PressureUnit
Type: Multiple Choice Default value: GPa Options: [a.u., Pascal, GPa, atm, bar, kbar] Description: The unit for pressure to be used for optimizations under pressure Quasi-Newton
Type: Block Description: Configures details of the Quasi-Newton geometry optimizer. MaxGDIISVectors
Type: Integer Default value: 0 Description: Sets the maximum number of GDIIS vectors. Setting this to a number >0 enables the GDIIS method. Step
Type: Block Description: TrustRadius
Type: Float Default value: 0.2 Description: Initial value of the trust radius.
SCMGO
Type: Block Description: Configures details SCMGO. ContractPrimitives
Type: Bool Default value: True Description: Form non-redundant linear combinations of primitive coordinates sharing the same central atom NumericalBMatrix
Type: Bool Default value: False Description: Calculation of the B-matrix, i.e. Jacobian of internal coordinates in terms of numerical differentiations Step
Type: Block Description: TrustRadius
Type: Float Default value: 0.2 Description: Initial value of the trust radius. VariableTrustRadius
Type: Bool Default value: True Description: Whether or not the trust radius can be updated during the optimization.
logSCMGO
Type: Bool Default value: False Description: Verbose output of SCMGO internal data testSCMGO
Type: Bool Default value: False Description: Run SCMGO in test mode.
LoadEngine
Type: String Description: The path to the file from which to load the engine configuration. Replaces the Engine block. LoadSystem
Type: Block Description: Block that controls reading the chemical system from a KF file instead of the [System] block. File
Type: String Description: The path of the KF file from which to load the system. Section
Type: String Default value: Molecule Description: The section on the KF file from which to load the system.
MolecularDynamics
Type: Block Description: Configures molecular dynamics (with the velocity-Verlet algorithm) with and without thermostats. This block allows to specify the details of the molecular dynamics calculation. Barostat
Type: Block Description: This block allows to specify the use of a barostat during the simulation. BulkModulus
Type: Float Default value: 2200000000.0 Unit: Pascal Description: 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. Duration
Type: Integer List Description: Specifies how many steps should a transition from a particular pressure to the next one in sequence take. Equal
Type: Multiple Choice Default value: None Options: [None, XYZ, XY, YZ, XZ] Description: 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 Unit: Pascal Description: Specifies the target pressure. Scale
Type: Multiple Choice Default value: XYZ Options: [XYZ, Shape, X, Y, Z, XY, YZ, XZ] Description: 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 Unit: Femtoseconds Description: Specifies the time constant of the barostat. Type
Type: Multiple Choice Default value: None Options: [None, Berendsen, MTK] Description: Selects the type of the barostat.
CalcPressure
Type: Bool Default value: False Description: 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 Description: Sets the frequency for storing the entire MD state necessary for restarting the calculation. Frequency
Type: Integer Default value: 1000 Description: Write the MD state and engine-specific data to the respective .rkf files once every N steps.
InitialVelocities
Type: Block Description: Sets the frequency for printing to stdout and storing the molecular configuration on the .rkf file. File
Type: String Description: AMS RKF file containing the initial velocities. Temperature
Type: Float Unit: Kelvin Description: 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 thermostat temperature as default. Type
Type: Multiple Choice Default value: Random Options: [Zero, Random, FromFile, Input] Description: 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 Description: This block specifies the velocity of each atom 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 Default value: 1000 Description: The number of steps to be taken in the MD simulation. Preserve
Type: Block Description: Periodically remove numerical drift accumulated during the simulation to preserve different whole-system parameters. AngularMomentum
Type: Bool Default value: True Description: Remove overall angular momentum of the system. This option is ignored for 3D-periodic systems. CenterOfMass
Type: Bool Default value: False Description: 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 Default value: True Description: Remove overall (linear) momentum of the system.
Print
Type: Block Description: This block controls the printing of additional information to stdout. System
Type: Bool Default value: False Description: Print the chemical system before and after the simulation. Velocities
Type: Bool Default value: False Description: Print the atomic velocities before and after the simulation.
Restart
Type: String Description: The path to the ams.rkf file from which to restart the simulation. Thermostat
Type: Block Recurring: True Description: 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 Default value: Global Options: [Local, Global] Description: 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 Default value: 10 Description: Number of individual thermostats forming the NHC thermostat Duration
Type: Integer List Description: Specifies how many steps should a transition from a particular temperature to the next one in sequence take. FirstAtom
Type: Integer Default value: 1 Description: Index of the first atom to be thermostatted LastAtom
Type: Integer Default value: 0 Description: Index of the last atom to be thermostatted. A value of zero means the last atom in the system. Tau
Type: Float Unit: Femtoseconds Description: The time constant of the thermostat. Temperature
Type: Float List Unit: Kelvin Description: The target temperature of the thermostat. Type
Type: Multiple Choice Default value: None Options: [None, Berendsen, NHC] Description: Selects the type of the thermostat.
TimeStep
Type: Float Default value: 0.25 Unit: Femtoseconds Description: The time difference per step. Trajectory
Type: Block Description: Sets the frequency for printing to stdout and storing the molecular configuration on the .rkf file. SamplingFreq
Type: Integer Default value: 100 Description: Write the the molecular geometry (and possibly other properties) to the .rkf file once every N steps.
NumericalDifferentiation
Type: Block Description: Define options for numerical differentiations, that is the numerical calculation of gradients, Hessian and the stress tensor for periodic systems. NuclearStepSize
Type: Float Default value: 0.0001 Unit: Bohr Description: Step size for numerical nuclear gradient calculation. Parallel
Type: Block Description: 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 parallelly working groups. nCoresPerGroup
Type: Integer Description: Number of cores in each parallelly working group. nGroups
Type: Integer Description: Total number of processor groups. This is the number of tasks that will be executed in parallel. nNodesPerGroup
Type: Integer Description: 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 Default value: 0.001 Description: Step size (relative) for numerical stress tensor calculation.
NumericalPhonons
Type: Block Description: Configures details of a numerical phonons calculation. DoubleSided
Type: Bool Default value: True Description: 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 Default value: 100 Description: Use interpolation to generate smooth phonon plots. NDosEnergies
Type: Integer Default value: 1000 Description: 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 Description: 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 parallelly working groups. 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 Description: Number of cores in each parallelly working group. nGroups
Type: Integer Description: Total number of processor groups. This is the number of tasks that will be executed in parallel. nNodesPerGroup
Type: Integer Description: 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 Default value: 0.04 Unit: Angstrom Description: Step size to be taken to obtain the force constants (second derivative) from the analytical gradients numerically. SuperCell
Type: Non-standard block Description: 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 Default value: True Description: Whether or not to exploit the symmetry of the system in the phonon calculation.
PESScan
Type: Block Description: Configures the details of the potential energy surface scanning task. CalcPropertiesAtPESPoints
Type: Bool Default value: False Description: 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 Default value: True Description: After the initial pass over the PES, restart the unconverged points from converged neighbouring points. ScanCoordinate
Type: Block Recurring: True Description: 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 Recurring: True Description: Scan the angle between three atoms. Three atom indices followed by two real numbers delimiting the transit range in degrees. Coordinate
Type: String Recurring: True Description: 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 Recurring: True Description: Scan the dihedral angle between four atoms. Four atom indices followed by two real numbers delimiting the transit angle in degrees. Distance
Type: String Recurring: True Description: Scan the distance between two atoms. Two atom indices followed by two real numbers delimiting the transit distance in Angstrom. nPoints
Type: Integer Default value: 10 Description: The number of points along the scanned coordinate. Must be greater or equal 2.
Print
Type: Block Description: This block controls the printing of additional information to stdout. Timers
Type: Multiple Choice Default value: None Options: [None, Normal, Detail, TooMuchDetail] Description: Printing timing details to see how much time is spend in which part of the code.
Properties
Type: Block Description: Configures which AMS level properties to calculate for SinglePoint calculations or other important geometries (e.g. at the end of an optimization). ElasticTensor
Type: Bool Default value: False Description: Whether or not to calculate the elastic tensor. Gradients
Type: Bool Default value: False Description: Whether or not to calculate the gradients. Hessian
Type: Bool Default value: False Description: Whether or not to calculate the Hessian. NormalModes
Type: Bool Default value: False Description: Whether or not to calculate the normal modes of vibration (and of molecules the corresponding Ir intensities.) Other
Type: Bool Default value: True Description: Other (engine specific) properties. Details are configured in the engine block. Phonons
Type: Bool Default value: False Description: Whether or not to calculate the phonons for periodic systems. SelectedAtomsForHessian
Type: Integer List Description: 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 Default value: False Description: Whether or not to calculate the stress tensor.
Symmetry
Type: Block Description: Specifying details about the details of symmetry detection and usage. Tolerance
Type: Float Default value: 1e-07 Description: Tolerance used to detect symmetry in the system.
System
Type: Block Description: Specification of the chemical system. AtomMasses
Type: Non-standard block Description: User defined atomic masses. Atoms
Type: Non-standard block Description: The atom types and coordinates. Unit can be specified in the header. Default unit is Angstrom. BondOrders
Type: Non-standard block Description: Defined bond orders. May by used by MM engines. Charge
Type: Float Default value: 0.0 Description: The system’s total charge in atomic units (only for non-periodic systems). FractionalCoords
Type: Bool Default value: False Description: 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 Description: Read geometry from an file instead of Atoms and Lattice and blocks. Supported formats: .xyz Lattice
Type: Non-standard block Description: Up to three lattice vectors. Unit can be specified in the header. Default unit is Angstrom. LatticeStrain
Type: Float List Description: 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. RandomizeCoordinates
Type: Float Default value: 0.0 Unit: Angstrom Description: Apply a random noise to the atomic coordinates. This can be useful if you want to deviate from an ideal symmetric geometry. RandomizeStrain
Type: Float Default value: 0.0 Description: Apply a random strain to the system. 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 Description: 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).
Task
Type: Multiple Choice Options: [SinglePoint, GeometryOptimization, TransitionStateSearch, PESScan, MolecularDynamics] Description: This key is used to specify the computational task to perform. TransitionStateSearch
Type: Block Description: Configures some details of the transition state search. ModeToFollow
Type: Integer Default value: 1 Description: 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 Default value: True Description: Whether to use the system’s symmetry at the application level.