Keywords¶
Links to manual entries¶
ams:
ams_interactive:
amsbatch:
analysis:
conformers:
pipe:
Summary of all keywords¶
ams¶
BondOrders
- Type:
Block
- Description:
Configures details regarding the calculation/guessing of bond orders. To request the calculation of bond orders, use the ‘Properties%BondOrders’ key.
Method
- Type:
Multiple Choice
- Default value:
EngineWithGuessFallback
- Options:
[Engine, Guess, EngineWithGuessFallback]
- Description:
How to compute the bond orders when they are requested via the ‘Properties%BondOrders’ key.
‘Engine’: let the engine compute the bond orders. The specific method used to compute the bond orders depends on the engine selected, and it may be configurable in the engine’s input. Note: the calculation may stop if the engine cannot compute bond orders.
‘Guess’: Use a bond guessing algorithm based on the system’s geometry. This is the same algorithm that is used by the Graphical User Interface to guess bonds.
‘EngineWithGuessFallback’: let the engine compute the bond orders (same as in ‘Engine’ option) but if the engine did not produce any bond orders, use the bond guessing algorithm as a fallback option.
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.
All
- Type:
String
- Recurring:
True
- Description:
Fix multiple distances using one the following formats:
All [bondOrder] bonds at1 at2 [to distance]
All triangles at1 at2 at3
The first option constrains all bonds between atoms at1 at2 to a certain length, while the second - bonds at1-at2 and at2-at3 as well as the angle between them.
The [bondOrder] can be a number or a string such as single, double, triple or aromatic. If it’s omitted then any bond between specified atoms will be constrained. Atom names are case-sensitive and they must be as they are in the Atoms block, or an asterisk ‘*’ denoting any atom. If the distance is omitted then the bond length from the initial geometry is used.
Important: only the bonds present in the system at the start of the simulation can be constrained, which means that the bonds may need to be specified in the System block.
Valid examples:
All single bonds C C to 1.4
All bonds O H to 0.98
All bonds O H
All bonds H *
All triangles H * H
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.
AtomList
- Type:
Integer List
- Recurring:
True
- Description:
Fix positions of the specified atoms. A list of integers referring to indices of atoms in the [System%Atoms] block.
Block
- Type:
String
- Recurring:
True
- Description:
Name of the region to constrain as a rigid block. Regions are specified in 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).
DifDist
- Type:
String
- Recurring:
True
- Description:
Four atom indices i j k l followed by the distance in Angstrom. This will constrain the difference R(ij)-R(kl) at the given value.
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.
EqualStrain
- Type:
String
- Description:
Exclusively for lattice optimizations:
Accepts a set of strain components [xx, xy, xz, yy, yz, zz] which are to be kept equal.
The applied strain will be determined by the average of the corresponding stress tensors components.
In AMSinput just check the corresponding check buttons.
FixedRegion
- Type:
String
- Recurring:
True
- Description:
Fix positions of all atoms in a region.
FreezeStrain
- Type:
String
- Description:
Exclusively for lattice optimizations:
Freezes any lattice deformation corresponding to a particular component of the strain tensor.
Accepts a set of strain components [xx, xy, xz, yy, yz, zz] to be frozen.
In AMSinput just check the corresponding check buttons.
SumDist
- Type:
String
- Recurring:
True
- Description:
Four atom indices i j k l followed by the distance in Angstrom. This will constrain the sum R(ij)+R(kl) at the given value.
ElasticTensor
- Type:
Block
- Description:
Options for numerical evaluation of the elastic tensor.
ConvergenceQuality
- Type:
Multiple Choice
- Default value:
Good
- Options:
[Normal, Good, VeryGood]
- GUI name:
Convergence
- Description:
The tightness of the convergence of the geometry optimizations for each strain deformation. This should not be set higher than the overall convergence quality of the preceding geometry optimization configured by the
GeometryOptimization%Convergence%Quality
keyword.
Parallel
- Type:
Block
- Description:
Options for double parallelization, which 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
- GUI name:
Cores per group
- Description:
Number of cores in each working group.
nGroups
- Type:
Integer
- GUI name:
Number of groups
- Description:
Total number of processor groups. This is the number of tasks that will be executed in parallel.
nNodesPerGroup
- Type:
Integer
- GUI name:
Nodes per group
- 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.
EngineAddons
- Type:
Block
- Description:
This block configures all the engine add-ons.
AtomEnergies
- Type:
Non-standard block
- Description:
Add an element-dependent energy per atom. On each line, give the chemical element followed by the energy (in atomic units).
D3Dispersion
- Type:
Block
- Description:
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
- Default value:
BJ
- Options:
[BJ, Zero]
- Description:
Type of damping: BJ (Becke-Johnson) or Zero. BJ is recommended for most applications.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
D3 dispersion
- Description:
Enables the D3 dispersion correction addon.
Functional
- Type:
String
- Default value:
PBE
- Description:
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
- Description:
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
- Description:
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
- Description:
The s6 parameter, global scaling parameter. If set, it overwrites the s6 value for the chosen functional.
s8
- Type:
Float
- Description:
The s8 parameter. If set, it overwrites the s8 value for the chosen functional.
sr6
- Type:
Float
- Description:
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
- Description:
This block configures the addon that adds the Grimme D4(EEQ) dispersion correction to the engine’s energy, gradients, stress tensor and Hessian.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
D4 dispersion
- Description:
Enables the D4 dispersion correction addon.
Functional
- Type:
Multiple Choice
- Default value:
PBE
- Options:
[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, DFTB(3ob), DFTB(mio), DFTB(pbc), DFTB(matsci), DFTB(ob2), B1B95, MPWB1K, REVTPSSH, GLYP, REVPBE0DH, REVTPSS0, REVDSDPBEP86, REVDSDPBEPBE, REVDSDBLYP, REVDODPBEP86, B97M, OMEGAB97M, R2SCAN]
- Description:
Use the D4 parameterization by Grimme for a given xc-functional.
Verbosity
- Type:
Multiple Choice
- Default value:
Silent
- Options:
[Silent, Normal, Verbose, VeryVerbose]
- Description:
Controls the verbosity of the dftd4 code. Equivalent to the –silent and –verbose command line switches of the official dftd4 program.
a1
- Type:
Float
- Description:
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
- Description:
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
- Description:
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
- Description:
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
- Description:
The s9 parameter, see D4 article. If set, it overwrites the s9 value for the chosen functional.
ExternalEngine
- Type:
Block
- Description:
External engine as an addon
Execute
- Type:
String
- GUI name:
Execute
- Description:
execute command
ExternalStress
- Type:
Block
- Description:
This block configures the addon that adds external stress term to the engine’s energy and stress tensor.
StressTensorVoigt
- Type:
Float List
- Unit:
Hartree/Bohr^3
- GUI name:
External stress tensor
- Description:
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
- Default value:
No
- Description:
Whether ot not the reference cell should be updated every time the system changes (see documentation).
PipeEngine
- Type:
Block
- Description:
Pipe engine as an addon
WorkerCommand
- Type:
String
- GUI name:
Worker command
- Description:
pipe worker command
Pressure
- Type:
Float
- Default value:
0.0
- Unit:
GPa
- Description:
Add a hydrostatic pressure term to the engine’s energy and stress tensor. Can only be used for 3D periodic boundary conditions.
Repulsion
- Type:
Block
- Description:
This block configures an addon that adds a repulsive Weeks-Chandler-Andersen potential to all atom pairs.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
Repulsion
- Description:
Enables the repulsive Weeks-Chandler-Andersen potential addon.
When enabled, all atom pairs will experience repulsion E = 4*epsilon*( (sigma/r)^12 - (sigma/r)^6 + 1/4 ) at the distances shorter than about 1.12*sigma.
Epsilon
- Type:
Float
- Default value:
0.01
- Unit:
Hartree
- Description:
The epsilon parameter in the potential equation. It is equal to the amount of energy added at r=sigma.
HydrogenSigmaScale
- Type:
Float
- Default value:
0.75
- Unit:
Angstrom
- Description:
The sigma parameter for a pair of atoms where one of them is hydrogen is scaled with the given factor. For H-H interactions the sigma is scaled with this value squared.
Sigma
- Type:
Float
- Default value:
0.55
- Unit:
Angstrom
- Description:
The sigma parameter in the potential equation. The potential is exactly zero at the distances larger than about 1.12*sigma
SkinLength
- Type:
Float
- Default value:
2.0
- Unit:
Angstrom
- Description:
Technical parameter specifying skin length for the neighbor list generation. A larger value increases the neighbor list cutoff (and cost) but reduces the frequency it needs to be re-created.
WallPotential
- Type:
Block
- Description:
This block configures the addon that adds a spherical wall potential to the engine’s energy and gradients.
Enabled
- Type:
Bool
- Default value:
No
- Description:
Enables the wall potential addon. When enabled, a spherical wall of radius [Radius] around the origin will be added. The force due to the potential will decay exponentially inside the wall, will be close to [Prefactor*Gradient] outside and exactly half of that at the wall.
Gradient
- Type:
Float
- Default value:
10.0
- Unit:
1/Angstrom
- Description:
The radial gradient outside the sphere.
Prefactor
- Type:
Float
- Default value:
0.01
- Unit:
Hartree
- Description:
The multiplier for the overall strength of the potential.
Radius
- Type:
Float
- Default value:
30.0
- Unit:
Angstrom
- Value Range:
value > 0
- Description:
The radius of the sphere, wherein the potential is close to zero.
EngineDebugging
- Type:
Block
- Description:
This block contains some options useful for debugging the computational engines.
AlwaysClaimSuccess
- Type:
Bool
- Default value:
No
- Description:
If an engine fails, pretend that it worked. This can be useful when you know that an SCF might fail.
CheckInAndOutput
- Type:
Bool
- Default value:
No
- Description:
Enables some additional checks on the input and output of an engine, e.g. for NaN values.
ForceContinousPES
- Type:
Bool
- Default value:
No
- Description:
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
- Default value:
No
- 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.
IgnorePreviousResults
- Type:
Bool
- Default value:
No
- Description:
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
- Default value:
No
- 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.
NeverQuiet
- Type:
Bool
- Default value:
No
- Description:
Makes the engine ignore the request to work quietly.
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.
RandomNoiseInEnergy
- Type:
Float
- Default value:
0.0
- Unit:
Hartree
- Description:
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
- Default value:
0.0
- Unit:
Hartree/Angstrom
- Description:
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.
RandomStopChance
- Type:
Float
- Default value:
0.0
- Description:
Makes the engine randomly stop. Can be used to simulate crashes.
EngineRestart
- Type:
String
- Description:
The path to the file from which to restart the engine.
Should be a proper engine result file (like adf.rkf, band.rkf etc), or the name of the results directory containing it.
ExitCondition
- Type:
Block
- Recurring:
True
- Description:
If any of the specified exitconditions are met, the AMS driver will exit cleanly.
AtomsTooClose
- Type:
Block
- Description:
If any pair of atoms is closer than the specified minimum value, the program will exit cleanly.
MinimumDistance
- Type:
Float
- Default value:
0.7
- Unit:
Angstrom
- Description:
Two atoms closer than this threshold value are considered too close.
PairCalculation
- Type:
Multiple Choice
- Default value:
NeighborList
- Options:
[NeighborList, DistanceMatrix]
- Description:
Two atoms closer than this threshold value are considered too close.
EngineEnergyUncertainty
- Type:
Block
- Description:
If the engine reports an uncertainty that is too high, the program will exit cleanly.
MaxUncertainty
- Type:
Float
- Default value:
0.001
- Unit:
Hartree
- Description:
Threshold for Engine Energy Uncertainty divided by Normalization (by default the number of atoms)
Normalization
- Type:
Float
- Value Range:
value >= 0.0
- Description:
Divide the reported Engine Energy Uncertainty by this normalization. Will divide by the number of atoms if unset.
EngineGradientsUncertainty
- Type:
Block
- Description:
If the engine reports an uncertainty in the magnitude of the nuclear gradient of any atom that is too high, the program will exit cleanly.
MaxUncertainty
- Type:
Float
- Default value:
0.01580221
- Unit:
Hartree/Angstrom
- Description:
Threshold for Engine Gradients Uncertainty.
Type
- Type:
Multiple Choice
- Default value:
AtomsTooClose
- Options:
[AtomsTooClose, EngineEnergyUncertainty, EngineGradientsUncertainty]
- Description:
The type of exitcondition specified
FallbackSolveAfterEngineFailure
- Type:
Bool
- Default value:
Yes
- Description:
If the engine fails to Solve, try to re-run the Solve without restarting the engine from the previous results. This generally decreases the engine failure rate. Only relevant certain tasks, such as GeometryOptimization, MolecularDynamics, Replay, IRC.
GCMC
- Type:
Block
- Description:
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
- Default value:
0.0
- Description:
Volume available to GCMC, in cubic Angstroms. AccessibleVolume should be specified for “Accessible” and “FreeAccessible” [VolumeOption].
Box
- Type:
Block
- Description:
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
- Description:
Coordinate of the upper bound along the first axis.
Amin
- Type:
Float
- Description:
Coordinate of the lower bound along the first axis.
Bmax
- Type:
Float
- Description:
Coordinate of the upper bound along the second axis.
Bmin
- Type:
Float
- Description:
Coordinate of the lower bound along the second axis.
Cmax
- Type:
Float
- Description:
Coordinate of the upper bound along the third axis.
Cmin
- Type:
Float
- Description:
Coordinate of the lower bound along the third axis.
Ensemble
- Type:
Multiple Choice
- Default value:
Mu-VT
- Options:
[Mu-VT, Mu-PT]
- Description:
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
- GUI name:
Number of GCMC iterations
- Description:
Number of GCMC moves.
MapAtomsToOriginalCell
- Type:
Bool
- Default value:
Yes
- Description:
Keeps the atom (mostly) in the original cell by mapping them back before the geometry optimizations.
MaxDistance
- Type:
Float
- Default value:
3.0
- Unit:
Angstrom
- GUI name:
Add molecules within
- Description:
The max distance to other atoms of the system when adding the molecule.
MinDistance
- Type:
Float
- Default value:
0.3
- Unit:
Angstrom
- GUI name:
Add molecules not closer than
- Description:
Keep the minimal distance to other atoms of the system when adding the molecule.
Molecule
- Type:
Block
- Recurring:
True
- GUI name:
Molecules
- Description:
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
- Unit:
Hartree
- Description:
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
- Default value:
No
- GUI name:
Fix molecule
- Description:
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
- GUI name:
Molecule
- Description:
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
- Default value:
0.0
- GUI name:
Non-accessible volume
- Description:
Volume not available to GCMC, in cubic Angstroms. NonAccessibleVolume may be specified for the “Free” [VolumeOption] to reduce the accessible volume.
NumAttempts
- Type:
Integer
- Default value:
1000
- GUI name:
Max tries
- Description:
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
- Default value:
0.0
- Unit:
Pascal
- Description:
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
- Description:
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
- Description:
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.
SwapAtoms
- Type:
Block
- Description:
Experimental: Occasionally swap the coordinates of a random pair of atoms from two regions.
Probability
- Type:
Float
- Default value:
0.0
- Description:
Probability of performing a swap move instead of any other GCMC move in a single GCMC iteration.
Regions
- Type:
String
- Description:
Names of two regions to swap between (separated by a space).
Temperature
- Type:
Float
- Default value:
300.0
- Unit:
Kelvin
- Description:
Temperature of the simulation. Increase the temperature to improve the chance of accepting steps that result in a higher energy.
UseGCPreFactor
- Type:
Bool
- Default value:
Yes
- GUI name:
Use GC prefactor
- Description:
Use the GC pre-exponential factor for probability.
VolumeChangeMax
- Type:
Float
- Default value:
0.05
- Description:
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
- Default value:
Free
- Options:
[Free, Total, Accessible, FreeAccessible]
- GUI name:
Volume method
- Description:
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
- Description:
Configures details of the geometry optimization and transition state searches.
CalcPropertiesOnlyIfConverged
- Type:
Bool
- Default value:
Yes
- 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.
Convergence
- Type:
Block
- Description:
Convergence is monitored for up to 4 quantities: the energy change, the Cartesian gradients, the Cartesian step size, and for lattice optimizations the stress energy per atom. Convergence criteria can be specified separately for each of these items.
Energy
- Type:
Float
- Default value:
1e-05
- Unit:
Hartree
- Value Range:
value > 0
- GUI name:
Energy convergence
- Description:
The criterion for changes in the energy. The energy is considered converged when the change in energy is smaller than this threshold times the number of atoms.
Gradients
- Type:
Float
- Default value:
0.001
- Unit:
Hartree/Angstrom
- Value Range:
value > 0
- GUI name:
Gradient convergence
- Description:
Threshold for nuclear gradients.
Quality
- Type:
Multiple Choice
- Default value:
Custom
- Options:
[VeryBasic, Basic, Normal, Good, VeryGood, Custom]
- GUI name:
Convergence
- Description:
A quick way to change convergence thresholds: ‘Good’ will reduce all thresholds by an order of magnitude from their default value. ‘VeryGood’ will tighten them by two orders of magnitude. ‘Basic’ and ‘VeryBasic’ will increase the thresholds by one or two orders of magnitude respectively.
Step
- Type:
Float
- Default value:
0.01
- Unit:
Angstrom
- Value Range:
value > 0
- GUI name:
Step convergence
- Description:
The maximum Cartesian step allowed for a converged geometry.
StressEnergyPerAtom
- Type:
Float
- Default value:
0.0005
- Unit:
Hartree
- Value Range:
value > 0
- Description:
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
- Default value:
Auto
- Options:
[Auto, Delocalized, Cartesian]
- GUI name:
Optimization space
- Description:
Select the type of coordinates in which to perform the optimization. ‘Auto’ automatically selects the most appropriate CoordinateType for a given Method.
If ‘Auto’ is selected, Delocalized coordinates will be used for the Quasi-Newton method, while Cartesian coordinates will be used for all other methods.
Dimer
- Type:
Block
- Description:
Options for the Dimer method for transition state search.
AngleThreshold
- Type:
Float
- Default value:
1.0
- Unit:
Degree
- Description:
The rotation is considered converged when the the rotation angle falls below the specified threshold.
DimerDelta
- Type:
Float
- Default value:
0.01
- Unit:
Angstrom
- Description:
Euclidian distance between the midpoint and the endpoint.
ExtrapolateForces
- Type:
Bool
- Default value:
Yes
- Description:
Set to false to call engine to calculate forces at the extrapolated rotation angle instead of extrapolating them.
LBFGSMaxVectors
- Type:
Integer
- Default value:
10
- Description:
Max number of vectors for the L-BFGS algorithm to save.
MaxRotationIterations
- Type:
Integer
- Default value:
10
- Description:
Maximum number of rotation iterations for a single translation step.
Region
- Type:
String
- Default value:
*
- Description:
Include only atoms of the specified region(s) in the rotations, which allows searching for a transition state involving selected atoms only.
RotationTrustRadius
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
L-BFGS trust radius during rotation iterations.
TranslationTrustRadius
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
L-BFGS trust radius during translation iterations.
EngineAutomations
- Type:
Block
- Description:
The optimizer can change some settings of the engine, based for instance on the error.
The idea is to allow the engine to be a bit quicker at the start, and more accurate towards the end.
Automations are always engine specific.
Enabled
- Type:
Bool
- Default value:
Yes
- Description:
Whether or not automations are enabled at all.
Gradient
- Type:
Block
- Recurring:
True
- Description:
A gradient-based automation.
FinalValue
- Type:
Float
- Description:
This value will be used whenever the gradient is less than GradientLow
HighGradient
- Type:
Float
- Default value:
1.0
- Unit:
Hartree/Angstrom
- Description:
Defines a large gradient. When the actual gradient is between GradientHigh and GradientLow a linear interpolation scheme is used for kT (on a log scale).
InitialValue
- Type:
Float
- Description:
This value will be used at the first geometry, and whenever the gradient is higher than GradientHigh
LowGradient
- Type:
Float
- Default value:
1.0
- Unit:
Hartree/Angstrom
- Description:
Defines a small gradient, see GradientHigh
UseLogInterpolation
- Type:
Bool
- Default value:
Yes
- Description:
Whether to use interpolation on a log (y) scale or not
Variable
- Type:
String
- Default value:
- Description:
variable to be tweaked for the engine.
Iteration
- Type:
Block
- Recurring:
True
- Description:
Geometry step based automation.
FinalValue
- Type:
Float
- Description:
FirstIteration
- Type:
Integer
- Default value:
1
- Description:
When the actual gradient is between the first and last iteration, a linear interpolation is used.
InitialValue
- Type:
Float
- Description:
This value will be used when the iteration number is smaller or equal to FirstIteration
LastIteration
- Type:
Integer
- Default value:
10
- Description:
Where the automation should reach the FinalValue
UseLogInterpolation
- Type:
Bool
- Default value:
Yes
- Description:
Whether to use interpolation on a log (y) scale or not
Variable
- Type:
String
- Default value:
- Description:
variable to be tweaked for the engine.
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).
AllowOverallRotation
- Type:
Bool
- Default value:
Yes
- Description:
Whether or not the system is allowed to freely rotate during the optimization. This is relevant when optimizing structures in the presence of external fields.
AllowOverallTranslation
- Type:
Bool
- Default value:
No
- Description:
Whether or not the system is allowed to translate during the optimization. This is relevant when optimizing structures in the presence of external fields.
MapAtomsToUnitCell
- Type:
Bool
- Default value:
No
- Description:
Map the atoms to the central cell at each geometry step.
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.0
- Unit:
Femtoseconds
- Description:
Maximum time step used for the integration. For ReaxFF and APPLE&P, this value is reduced by 50%.
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:
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
- Description:
Configures details of the Hessian-free (conjugate gradients or L-BFGS) geometry optimizer.
Step
- Type:
Block
- Description:
MaxCartesianStep
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
Limit on a single Cartesian component of the step.
MinRadius
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
Minimum value for the trust radius.
TrialStep
- Type:
Float
- Default value:
0.0005
- Unit:
Angstrom
- Description:
Length of the finite-difference step when determining curvature. Should be smaller than the step convergence criterion.
TrustRadius
- Type:
Float
- Default value:
0.2
- Unit:
Angstrom
- Description:
Initial value of the trust radius.
InitialHessian
- Type:
Block
- Description:
Options for initial model Hessian when optimizing systems with the Quasi-Newton method.
File
- Type:
String
- GUI name:
Initial Hessian from
- Description:
KF file containing the initial Hessian (or the results dir. containing it). 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, Calculate, CalculateWithFastEngine]
- GUI name:
Initial Hessian
- Description:
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). CalculateWithFastEngine: compute the initial Hessian with a faster engine.
KeepIntermediateResults
- Type:
Bool
- Default value:
No
- 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
- Value Range:
value >= 0
- GUI name:
Maximum number of iterations
- Description:
The maximum number of geometry iterations allowed to converge to the desired structure.
MaxRestarts
- Type:
Integer
- Default value:
0
- Description:
If a geometry optimization of a system with no symmetry operators (or with explicitly disabled symmetry:
UseSymmetry False
) and enabled PES point characterization converges to a transition state (or higher order saddle point), it can be restarted automatically after a small displacement along the imaginary vibrational mode. In case the restarted optimization again does not find a minimum, this can happen multiple times in succession. This keyword sets the maximum number of restarts. The default value is 0, so the automatic restarting is disabled by default.
Method
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, Quasi-Newton, FIRE, L-BFGS, ConjugateGradients, Dimer]
- GUI name:
Optimization method
- Description:
Select the optimization algorithm employed for the geometry relaxation. Currently supported are:
the Hessian-based Quasi-Newton-type BFGS algorithm,
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
- Default value:
No
- Description:
Whether to also optimize the lattice for periodic structures. This is currently supported with the Quasi-Newton, FIRE, and L-BFGS optimizers.
PretendConverged
- Type:
Bool
- Default value:
No
- Description:
Normally a non-converged geometry optimization is considered an error. If this keyword is set to True, the optimizer will only produce a warning and still claim that the optimization is converged. (This is mostly useful for scripting applications, where one might want to consider non-converged optimizations still successful jobs.)
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
- Description:
Initial value of the trust radius.
VaryTrustRadius
- Type:
Bool
- Description:
Whether to allow the trust radius to change during optimization. By default True during energy minimization and False during transition state search.
UpdateTSVectorEveryStep
- Type:
Bool
- Default value:
Yes
- GUI name:
Update TSRC vector every step
- Description:
Whether to update the TS reaction coordinate at each step with the current eigenvector.
RestartDisplacement
- Type:
Float
- Default value:
0.05
- Unit:
Angstrom
- Description:
If a geometry optimization of a system with no symmetry operators (or with explicitly disabled symmetry:
UseSymmetry False
) and enabled PES point characterization converges to a transition state (or higher order saddle point), it can be restarted automatically after a small displacement along the imaginary vibrational mode. This keywords sets the size of the displacement for the furthest moving atom.
IRC
- Type:
Block
- Description:
Configures details of the Intrinsic Reaction Coordinate optimization.
Convergence
- Type:
Block
- Description:
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
- Default value:
0.001
- Unit:
Hartree/Angstrom
- GUI name:
Gradient convergence
- Description:
Convergence criterion for the max component of the residual energy gradient.
Step
- Type:
Float
- Default value:
0.001
- Unit:
Angstrom
- GUI name:
Step convergence
- Description:
Convergence criterion for the max component of the step in the optimization coordinates.
CoordinateType
- Type:
Multiple Choice
- Default value:
Cartesian
- Options:
[Cartesian, Delocalized]
- GUI name:
Coordinates used for optimization
- Description:
Select the type of coordinates in which to perform the optimization. Note that the Delocalized option should be considered experimental.
Direction
- Type:
Multiple Choice
- Default value:
Both
- Options:
[Both, Forward, Backward]
- Description:
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
- Description:
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
- GUI name:
File
- Description:
If ‘Type’ is set to ‘FromFile’ then in this key you should specify the RKF file containing the initial Hessian (or the ams results dir. containing it). 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
- Default value:
Calculate
- Options:
[Calculate, FromFile]
- GUI name:
Initial Hessian
- Description:
Calculate the exact Hessian for the input geometry or load it from the results of a previous calculation.
KeepConvergedResults
- Type:
Bool
- Default value:
Yes
- Description:
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
- GUI name:
Maximum IRC steps
- Description:
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
- Default value:
300
- GUI name:
Maximum iterations
- Description:
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
- Default value:
100
- GUI name:
Maximum points
- Description:
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
- Default value:
No
- GUI name:
Minimum energy profile
- Description:
Calculate minimum energy profile (i.e. no mass-weighting) instead of the IRC.
MinPathLength
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
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
- Description:
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
- GUI name:
Restart
- Description:
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
- Default value:
0
- Description:
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
- Default value:
0
- Description:
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
- Default value:
0.2
- GUI name:
Step size
- Description:
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
- Description:
The path to the file from which to load the engine configuration. Replaces the Engine block.
LoadSystem
- Type:
Block
- Recurring:
True
- 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. It may also be the results directory containing it.
Section
- Type:
String
- Default value:
Molecule
- Description:
The section on the KF file from which to load the system.
Log
- Type:
Non-standard block
- Description:
Configures the debugging loggers. Syntax: ‘Level LoggerName’. Possible Levels: All, Debug, Info, Warning, Error, Fatal.
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.
AddMolecules
- Type:
Block
- Recurring:
True
- GUI name:
Add molecules
- Description:
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
- Default value:
0.0
- Unit:
Kelvin
- Description:
Add random velocity corresponding to the specified temperature to individual atoms of the molecule. This only affects rotational and internal degrees of freedom, not the net translational velocity of the inserted molecule as set by the other options.
ContactDistance
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
Translate the bullet along the velocity vector until it comes within ContactDistance of any other atom.
Coords
- Type:
Float List
- Unit:
Angstrom
- Description:
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
- Unit:
Angstrom
- Description:
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 AMSinput, if this field is not empty it will be used instead of the default Coords.
CoordsSigma
- Type:
Float List
- Unit:
Angstrom
- Description:
Sigma values (one per Cartesian axis) for a Gauss distribution of the initial coordinates. Can only be used together with Coords.
DeviationAngle
- Type:
Float
- Default value:
0.0
- Unit:
Degree
- Description:
Randomly tilt the shooting direction up to this angle away from the VelocityDirection vector.
Energy
- Type:
Float
- Unit:
Hartree
- Description:
Initial kinetic energy of the molecule in the shooting direction.
EnergySigma
- Type:
Float
- Default value:
0.0
- Unit:
Hartree
- Description:
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
- Description:
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
- Description:
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
- Description:
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
- Default value:
0
- Description:
A molecule is added every [Frequency] steps after the StartStep.
There is never a molecule added at step 0.
MinDistance
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
Keep the minimal distance to other atoms of the system when adding the molecule.
MoleFraction
- Type:
Float
- Description:
Defines a mixture to be deposited using one AddMolecules block per component.
AMS will randomly alternate between any guns that have MoleFraction set. These need to all have the same settings for StartStep, StopStep and Frequency. Any additional AddMolecules blocks without MoleFraction will remain completely independent.
NumAttempts
- Type:
Integer
- Default value:
10
- Description:
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
- Default value:
No
- Description:
Rotate the molecule randomly before adding it to the system.
StartStep
- Type:
Integer
- Default value:
0
- Description:
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
- Description:
Do not add this molecule after the specified step.
System
- Type:
String
- Description:
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.
AMSinput adds the system at the coordinates of the System (thus setting Coords to the center of the System).
Temperature
- Type:
Float
- Unit:
Kelvin
- Description:
Initial energy of the molecule in the shooting direction will correspond to the given temperature.
TemperatureSigma
- Type:
Float
- Default value:
0.0
- Unit:
Kelvin
- Description:
Sigma value for the Gauss distribution of the initial temperature the specified value. Should only be used together with Temperature.
Velocity
- Type:
Float
- Unit:
Angstrom/fs
- Description:
Initial velocity of the molecule in the shooting direction.
VelocityDirection
- Type:
Float List
- Description:
Velocity direction vector for aimed shooting. It will be random if not specified.
In AMSinput 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
- Default value:
0.0
- Unit:
Angstrom/fs
- Description:
Sigma value for the Gauss distribution of the initial velocity around the specified value. Should only be used together with Velocity.
ApplyForce
- Type:
Block
- Recurring:
True
- Description:
The ApplyForce keyword can be used to apply an arbitrary constant force to a certain (subgroups of) atoms in the system
Force
- Type:
Float List
- Default value:
[0.0, 0.0, 0.0]
- Unit:
Hartree/Bohr
- Description:
Defines the constant force vector
PerAtom
- Type:
Bool
- Default value:
No
- Description:
If enabled, the Force vector is applied separately to every atom in the selected Region, so that the total net force on the Region equals the value of Force times the number of atoms in Region. This was the behavior of ApplyForce in AMS2022. By default, with PerAtom disabled, the Force vector defines the total net force on the Region, so the force applied to each atom equals the value of Force divided by the number of atoms in Region.
Region
- Type:
String
- Recurring:
True
- Description:
Apply the constant force to all atoms in this region.
ApplyVelocity
- Type:
Block
- Recurring:
True
- Description:
The ApplyVelocity keyword can be used to move an arbitrary group of atoms in the system with a constant net velocity
Components
- Type:
Multiple Choice
- Default value:
XY
- Options:
[X, Y, Z, XY, YZ, XZ, XYZ]
- Description:
Select which components of the Velocity vector are used to set the corresponding components of the net velocity of the specified set of atoms. Any other components of Velocity are ignored and the motion of the selected atoms in those directions is unaffected by ApplyVelocity.
Region
- Type:
String
- Recurring:
True
- Description:
Applies the defined velocity to all atoms in this region.
Velocity
- Type:
Float List
- Default value:
[0.0, 0.0, 0.0]
- Unit:
Angstrom/fs
- Recurring:
False
- Description:
The constant velocity that will be applied to the specified atoms.
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.
ConstantVolume
- Type:
Bool
- Default value:
No
- Description:
Keep the volume constant while allowing the box shape to change.
This is currently supported only by the MTK barostat.
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.
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
- 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
- GUI name:
Damping constant
- Description:
Specifies the time constant of the barostat.
Type
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Berendsen, MTK]
- GUI name:
Barostat
- Description:
Selects the type of the barostat.
BinLog
- Type:
Block
- Description:
This block controls writing the BinLog section in ams.rkf, which contains the selected MD state scalars and tensors from every MD step. No per-atom data is written. If you need the per-atom data then you can set the sampling frequency to 1 and get the required data from the MDHistory section. The tensors are written per component, that is, the pressure tensor is written as six variables: PressureTensor_xx, PressureTensor_yy, etc.. To reduce the file size, all data is written in blocks.
BiasEnergy
- Type:
Bool
- Default value:
No
- Description:
Write the CVDH bias energy.
BoostFactor
- Type:
Bool
- Default value:
No
- Description:
Write the CVDH boost factor.
ConservedEnergy
- Type:
Bool
- Default value:
No
- Description:
Write the conserved energy value.
Density
- Type:
Bool
- Default value:
No
- Description:
Write the density.
DipoleMoment
- Type:
Bool
- Default value:
No
- Description:
Write the dipole moment. Each component of the tensor is written in its own variable.
Hypertime
- Type:
Bool
- Default value:
No
- Description:
Write the CVDH hypertime.
KineticEnergy
- Type:
Bool
- Default value:
No
- Description:
Write the kinetic energy value.
MaxBiasEnergy
- Type:
Bool
- Default value:
No
- Description:
Write the max CVDH bias energy.
MaxBoostFactor
- Type:
Bool
- Default value:
No
- Description:
Write the max CVDH boost factor.
PotentialEnergy
- Type:
Bool
- Default value:
No
- Description:
Write the potential energy value.
Pressure
- Type:
Bool
- Default value:
No
- Description:
Write the pressure.
PressureTensor
- Type:
Bool
- Default value:
No
- Description:
Write the pressure tensor in Voigt notation. Each component of the tensor is written in its own variable.
Step
- Type:
Bool
- Default value:
No
- Description:
Write the step index during the simulation.
Temperature
- Type:
Bool
- Default value:
No
- Description:
Write the temperature.
Time
- Type:
Bool
- Default value:
No
- Description:
Write the simulation time (fs).
TotalEnergy
- Type:
Bool
- Default value:
No
- Description:
Write the total energy value.
Volume
- Type:
Bool
- Default value:
No
- Description:
Write the simulation cell volume, area or length, depending on the system periodicity.
BondBoost
- Type:
Block
- Recurring:
True
- Description:
Forced reaction (bond boost) definitions. Multiple BondBoost blocks may be specified, which will be treated independently.
Chain
- Type:
Block
- Description:
Specifications of a chain of atoms. When a chain is detected the distance restraints will be activated. No other chain of this type will be detected while any restraints for this chain is active.
AtomNames
- Type:
String
- Description:
Atom names specifying the chain. An atom name can optionally be followed by ‘@’ and a region name, in this case only atoms of this type from the given region will be matched. A leading ‘@’ followed by a number indicates that this position in the chain must be occupied by the atom found earlier at the specified position in the chain. For example “O H N C @1” indicates that the last atom in the chain of the five atoms must be the first oxygen, thus defining a 4-membered ring. This is the only way to define a ring because implicit rings will not be detected. For example, “O H N C O” does not include rings.
MaxDistances
- Type:
Float List
- Unit:
Angstrom
- Description:
Maximum distances for each pair of atoms in the chain. The number of distances must be one less than the number of AtomNames.
MinDistances
- Type:
Float List
- Unit:
Angstrom
- Description:
Minimum distances for each pair of atoms in the chain. The number of distances must be one less than the number of AtomNames.
DistanceRestraint
- Type:
String
- Recurring:
True
- Description:
Specify two atom indices followed by the target distance in Angstrom, the first parameter and, optionally, the profile type and the second parameter.
For periodic systems, restraints follow the minimum image convention.
Each atom index indicates a position of the corresponding atom in the AtomNames key. Currently recognized restraint profile types: Harmonic (default), Hyperbolic, Erf, GaussianWell. The profile name can optionally be prefixed by “OneSided-”, thus making this particular restraint one-sided. A one-sided restraint will only push or pull the distance towards its target value depending on the sign of the difference between the initial and the target distance. For example, if the initial distance is larger than the target one then the restraint will only push the value down. This is especially useful with moving restraints because then the restraint will effectively disappear as soon as the system crosses a barrier along the reaction path. By default, the restraints are two-sided, which means they will try to keep the distance between the two specified atoms near the (possibly moving) target value. For moving restraints, this means that after crossing a reaction barrier the system will slide slowly towards products held back by the restraints.
The first parameter is the force constant for the Harmonic, Hyperbolic, and Erf profiles, or well depth for GaussianWell. The second parameter is the asymptotic force value F(Inf) for Hyperbolic and Erf profiles, or the factor before x^2 in the exponent for GaussianWell.
Note: the GaussianWell restraint should be used with the Moving flag.
Moving
- Type:
Bool
- Default value:
No
- GUI name:
Move restraint
- Description:
Move the restraints created with this BondBoost. The restraint value will start at the current coordinate’s value and will move towards the optimum during the restraint’s lifetime. The increment is calculated from the initial deviation and the [NSteps] parameter.
This feature should be used with the GaussianWell restraint types.
NSteps
- Type:
Integer
- GUI name:
Boost lifetime
- Description:
Number of steps the restraints will remain active until removed. Atoms participating in one reaction are not available for the given number of steps.
NumInstances
- Type:
Integer
- Default value:
1
- GUI name:
Number of instances
- Description:
Number of reactions of this type taking place simultaneously.
Units
- Type:
Multiple Choice
- Default value:
Default
- Options:
[Default, MD]
- GUI name:
Restr. parameter units
- Description:
Change energy, force and force constant units in the DistanceRestraint key from the default (atomic units) to those often used in the MD community (based on kcal/mol and Angstrom). Units for the optimum distances are not affected.
CRESTMTD
- Type:
Block
- GUI name:
CREST_MTD
- Description:
Input for CREST metadynamics simulation.
AddEnergy
- Type:
Bool
- Default value:
No
- Description:
Add the bias energy to the potential energy (to match the gradients)
GaussianScaling
- Type:
Block
- Description:
Options for gradual introduction of the Gaussians
ScaleGaussians
- Type:
Bool
- Default value:
Yes
- Description:
Introduce the Gaussians gradually, using a scaling function
ScalingSlope
- Type:
Float
- Default value:
0.03
- Description:
Slope of the scaling function for the Gaussians with respect to time
Height
- Type:
Float
- Unit:
Hartree
- Description:
The height of the Gaussians added
NGaussiansMax
- Type:
Integer
- Description:
Maximum number of Gaussians stored
NSteps
- Type:
Integer
- Description:
Interval of Gaussian placement
Region
- Type:
String
- Default value:
*
- Description:
Restrict the range of atoms for RMSD calculation to the specified region.
RestartFile
- Type:
String
- Description:
Filename for file from which to read data on Gaussians placed previously.
Width
- Type:
Float
- Unit:
Bohr
- Description:
The width of the Gaussians added in terms of the RMSD
CVHD
- Type:
Block
- Recurring:
True
- GUI name:
CVHD
- Description:
Input for the Collective Variable-driven HyperDynamics (CVHD).
Bias
- Type:
Block
- Description:
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
- Default value:
0.0
- Unit:
Kelvin
- GUI name:
Bias damping T
- Description:
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
- Description:
Standard deviation parameter of the Gaussian bias peak.
Height
- Type:
Float
- Unit:
Hartree
- Description:
Height of the Gaussian bias peak.
ColVarBB
- Type:
Block
- Recurring:
True
- GUI name:
Collective Variable
- Description:
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:
Block
- Description:
Specifies the first bonded atom in the collective variable.
region
- Type:
String
- Default value:
*
- Description:
Restrict the selection of bonded atoms to a specific region. If this is not set, atoms anywhere in the system will be selected.
symbol
- Type:
String
- Description:
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:
Block
- Description:
Specifies the second bonded atom in the collective variable.
region
- Type:
String
- Default value:
*
- Description:
Restrict the selection of bonded atoms to a specific region. If this is not set, atoms anywhere in the system will be selected.
symbol
- Type:
String
- Description:
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
- Default value:
0.3
- GUI name:
Bond order cutoff
- Description:
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
- Default value:
6
- GUI name:
Exponent p
- Description:
Exponent value p used to calculate the p-norm for this CV.
rmax
- Type:
Float
- Unit:
Angstrom
- GUI name:
R max
- Description:
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
- Unit:
Angstrom
- GUI name:
R min
- Description:
Min bond distance parameter Rmin used for calculating the CV. It should be close to equilibrium distance for the corresponding bond.
ColVarBM
- Type:
Block
- Recurring:
True
- GUI name:
Collective Variable
- Description:
Description of a bond-making collective variable (CV). A collective variable may consist of multiple ColVar blocks.
at1
- Type:
Block
- Description:
Specifies selection criteria for the first atom of a pair in the collective variable.
region
- Type:
String
- Default value:
*
- Description:
Restrict the selection to a specific region. If this is not set, atoms anywhere in the system will be selected.
symbol
- Type:
String
- Description:
Atom type name of the first atom of the pair. 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:
Block
- Description:
Specifies selection criteria for the second atom of a pair in the collective variable.
region
- Type:
String
- Default value:
*
- Description:
Restrict the selection to a specific region. If this is not set, atoms anywhere in the system will be selected.
symbol
- Type:
String
- Description:
Atom type name of the second atom of the pair. The value is allowed to be the same as [at1], in which case pairs of atoms of the same type will be included.
cutoff
- Type:
Float
- Default value:
0.3
- GUI name:
Bond order cutoff
- Description:
Bond order cutoff. Bonds with BO above this value are ignored when creating the initial atom-pair list for the CV. The list does not change during lifetime of the variable even if some bond orders rise above the cutoff.
p
- Type:
Integer
- Default value:
6
- GUI name:
Exponent p
- Description:
Exponent value p used to calculate the p-norm for this CV.
rmax
- Type:
Float
- Unit:
Angstrom
- GUI name:
R max
- Description:
Max bond distance parameter Rmax used for calculating the CV. It should be much larger than the corresponding Rmin.
rmin
- Type:
Float
- Unit:
Angstrom
- GUI name:
R min
- Description:
Min bond distance parameter Rmin used for calculating the CV. It should be close to the transition-state distance for the corresponding bond.
Frequency
- Type:
Integer
- Description:
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].
MaxEvents
- Type:
Integer
- Default value:
0
- Description:
Max number of events to allow during dynamics. When this number is reached no new bias will be added for this input block.
StartStep
- Type:
Integer
- Description:
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
- Description:
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
- Description:
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
- Default value:
No
- GUI name:
Calculate pressure
- 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
- GUI name:
Checkpoint frequency
- Description:
Write the MD state and engine-specific data to the respective .rkf files once every N steps.
WriteProperties
- Type:
Bool
- Default value:
No
- Description:
Write the properties from the properties section to the ChecoPoint file once every N steps.
CopyRestartTrajectory
- Type:
Bool
- Default value:
No
- Description:
If the keyword Restart is present, the content of the restartfile is copied to the ams.rkf file.
CosineShear
- Type:
Block
- Description:
Apply an external acceleration to all atoms of a fluid using a periodic (cosine) function along a selected coordinate axis. This induces a periodic shear flow profile which can be used to determine the viscosity.
Acceleration
- Type:
Float
- Default value:
5e-06
- Unit:
Angstrom/fs^2
- Description:
Amplitude of the applied cosine shear acceleration profile. The default value should be a rough first guess for water and it needs to be adjusted by experimentation for other systems.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
Enable cosine shear
- Description:
Apply a cosine shear acceleration profile for a NEMD calculation of viscosity.
FlowDirection
- Type:
Float List
- Default value:
[1.0, 0.0, 0.0]
- Description:
The direction in which to apply the shear acceleration, in Cartesian coordinates. The magnitude of this vector is ignored (AMS will normalize it internally). FlowDirection has to be perpendicular to ProfileAxis.
ProfileAxis
- Type:
Multiple Choice
- Default value:
Z
- Options:
[X, Y, Z]
- Description:
The Cartesian coordinate axis along which the cosine wave runs
Deformation
- Type:
Block
- Recurring:
True
- Description:
Deform the periodic lattice of the system during the simulation.
LatticeVelocity
- Type:
Non-standard block
- Description:
Velocity of individual lattice vector components in Angstrom/fs. The format is identical to the System%Lattice block. For Type Sine and Cosine, this defines the maximum velocity (at the inflection point).
LengthRate
- Type:
Float List
- Default value:
[0.0, 0.0, 0.0]
- Description:
Relative rate of change of each lattice vector per step.
LengthVelocity
- Type:
Float List
- Default value:
[0.0, 0.0, 0.0]
- Unit:
Angstrom/fs
- Description:
Change the length of each lattice vector with this velocity. With Type=Exponential, LengthVelocity is divided by the current lattice vector lengths on StartStep to determine a LengthRate, which is then applied on all subsequent steps. For Type Sine and Cosine, this defines the maximum velocity (at the inflection point).
Period
- Type:
Float
- Unit:
Femtoseconds
- Description:
Period of oscillation for Type Sine and Cosine.
ScaleAtoms
- Type:
Bool
- Default value:
Yes
- Description:
Scale the atomic positions together with the lattice vectors. Disable this to deform only the lattice, keeping the coordinates of atoms unchanged.
StartStep
- Type:
Integer
- Default value:
1
- Description:
First step at which the deformation will be applied.
StopStep
- Type:
Integer
- Default value:
0
- Description:
Last step at which the deformation will be applied. If unset or zero, nSteps will be used instead.
StrainRate
- Type:
Non-standard block
- Description:
Strain rate matrix to be applied on every step. The format is identical to the System%Lattice block.
TargetLattice
- Type:
Non-standard block
- Description:
Target lattice vectors to be achieved by StopStep. The format is identical to the System%Lattice block.
TargetLength
- Type:
Float List
- Default value:
[0.0, 0.0, 0.0]
- Unit:
Angstrom
- Description:
Target lengths of each lattice vector to be achieved by StopStep. The number of values should equal the periodicity of the system. If a value is zero, the corresponding lattice vector will not be modified.
Type
- Type:
Multiple Choice
- Default value:
Linear
- Options:
[Linear, Exponential, Sine, Cosine]
- Description:
Function defining the time dependence of the deformed lattice parameters.
Linear increments the lattice parameters by the same absolute amount every timestep. Exponential multiplies the lattice parameters by the same factor every timestep. Only StrainRate, LengthRate, and LengthVelocity are supported for Type=Exponential. Sine deforms the system from the starting lattice to TargetLattice/TargetLength and then by the same amount to the opposite direction, while Cosine deforms the system from the starting lattice to the target and back.
Gravity
- Type:
Block
- Description:
Apply a constant acceleration in -z.
Acceleration
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom/fs^2
- Description:
Magnitude of the applied acceleration.
HeatExchange
- Type:
Block
- Recurring:
True
- GUI name:
Heat exchange
- Description:
Input for the heat-exchange non-equilibrium MD (T-NEMD).
HeatingRate
- Type:
Float
- Unit:
Hartree/fs
- Description:
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 transferred through the system.
Method
- Type:
Multiple Choice
- Default value:
Simple
- Options:
[Simple, HEX, eHEX]
- Description:
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
- Description:
Defines the heat sink region (where the heat will be removed).
AtomList
- Type:
Integer List
- GUI name:
Sink region
- Description:
The atoms that are part of the sink.
This key is ignored if the [Box] block or [Region] key is present.
Box
- Type:
Block
- Description:
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.
Amax
- Type:
Float
- Default value:
1.0
- Description:
Coordinate of the upper bound along the first axis.
Amin
- Type:
Float
- Default value:
0.0
- Description:
Coordinate of the lower bound along the first axis.
Bmax
- Type:
Float
- Default value:
1.0
- Description:
Coordinate of the upper bound along the second axis.
Bmin
- Type:
Float
- Default value:
0.0
- Description:
Coordinate of the lower bound along the second axis.
Cmax
- Type:
Float
- Default value:
1.0
- Description:
Coordinate of the upper bound along the third axis.
Cmin
- Type:
Float
- Default value:
0.0
- Description:
Coordinate of the lower bound along the third axis.
Region
- Type:
String
- GUI name:
Sink region
- Description:
The region that is the sink.
This key is ignored if the [Box] block is present.
Source
- Type:
Block
- Description:
Defines the heat source region (where the heat will be added).
AtomList
- Type:
Integer List
- GUI name:
Source region
- Description:
The atoms that are part of the source.
This key is ignored if the [Box] block or [Region] key is present.
Box
- Type:
Block
- Description:
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
- Default value:
1.0
- Description:
Coordinate of the upper bound along the first axis.
Amin
- Type:
Float
- Default value:
0.0
- Description:
Coordinate of the lower bound along the first axis.
Bmax
- Type:
Float
- Default value:
1.0
- Description:
Coordinate of the upper bound along the second axis.
Bmin
- Type:
Float
- Default value:
0.0
- Description:
Coordinate of the lower bound along the second axis.
Cmax
- Type:
Float
- Default value:
1.0
- Description:
Coordinate of the upper bound along the third axis.
Cmin
- Type:
Float
- Default value:
0.0
- Description:
Coordinate of the lower bound along the third axis.
Region
- Type:
String
- GUI name:
Source region
- Description:
The region that is the source.
This key is ignored if the [Box] block is present.
StartStep
- Type:
Integer
- Default value:
0
- Description:
Index of the MD step at which the heat exchange will start.
StopStep
- Type:
Integer
- Description:
Index of the MD step at which the heat exchange will stop.
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.
RandomVelocitiesMethod
- Type:
Multiple Choice
- Default value:
Exact
- Options:
[Exact, Boltzmann, Gromacs]
- GUI name:
Velocity randomization method
- Description:
Specifies how are random velocities generated. Three methods are available.
Exact: Velocities are scaled to exactly match set random velocities temperature.
Boltzmann: Velocities are not scaled and sample Maxwell-Boltzmann distribution. However, the distribution is not corrected for constraints.
Gromacs: Velocities are scaled to match set random velocities temperature, but removal of net momentum is performed only after the scaling. Resulting kinetic energy is lower based on how much net momentum the system had.
Temperature
- Type:
Float
- Unit:
Kelvin
- GUI name:
Initial temperature
- 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.
AMSinput will use the first temperature of the first thermostat as default.
Type
- Type:
Multiple Choice
- Default value:
Random
- Options:
[Zero, Random, FromFile, Input]
- GUI name:
Initial velocities
- 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 AMSinput.
Values
- Type:
Non-standard block
- Description:
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.
MovingRestraints
- Type:
Block
- Recurring:
True
- Description:
Define a set of moving restraints.
Change
- Type:
Multiple Choice
- Default value:
Linear
- Options:
[Linear, Sine, Cosine]
- GUI name:
Move type
- Description:
Type of function defining how the target restraint value will change over time:
Linear - linearly between the StartValue and EndValue.
Sine - oscillating around StartValue with an amplitude equal to the difference between EndValue and StartValue.
Cosine - oscillating between StartValue and EndValue.
Distance
- Type:
Block
- Recurring:
True
- Description:
Define a distance restraint between pair of atoms. For linear-type
Atom1
- Type:
Integer
- Description:
First atom of the distance restraint.
Atom2
- Type:
Integer
- Description:
Second atom of the distance restraint.
EndValue
- Type:
Float
- Unit:
Angstrom
- Description:
Linear: final target distance.
Sine: target distance at 1/4 of the period.
Cosine: target distance at 1/2 of the period.
StartValue
- Type:
Float
- Unit:
Angstrom
- Description:
Initial target distance.
Erf
- Type:
Block
- Description:
Define parameters for the Int(erf) restraint potential V = alpha*(beta*x*erf(beta*x) + (exp(-(beta*x)**2) - 1)/sqrt(PI)). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- GUI name:
Erf force constant
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- GUI name:
Erf F(Inf)
- Description:
Asymptotic value of the force at the infinity.
GaussianWell
- Type:
Block
- Description:
Define parameters in the Gaussian well restraint potential V=-WellDepth*exp(-Sigma*(r-r0)^2).
Sigma
- Type:
Float
- Default value:
1.0
- Unit:
1/Bohr^2
- GUI name:
Gaussian well sigma
- Description:
Sigma parameter in the potential expression.
WellDepth
- Type:
Float
- Default value:
1.0
- Unit:
Hartree
- GUI name:
Gaussian well depth
- Description:
WellDepth parameter in the potential expression.
Harmonic
- Type:
Block
- Description:
Define parameters for the harmonic potential V=0.5*FC*(r-r0)^2.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- GUI name:
Harmonic force constant
- Description:
The FC parameter of the harmonic potential.
Hyperbolic
- Type:
Block
- Description:
Define parameters for the hyperbolic restraint potential V=alpha*(sqrt(1 + beta*x^2) - 1). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce: beta=ForceConstant/MaxForce, alpha=MaxForce/beta
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- GUI name:
Hyperbolic force constant
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- GUI name:
Hyperbolic F(Inf)
- Description:
Asymptotic value of the force at the infinity.
Name
- Type:
String
- GUI name:
Name
- Description:
Optional name to be used for plotting.
Period
- Type:
Float
- Default value:
0.0
- Unit:
Femtoseconds
- Description:
Period of oscillation for Sine and Cosine change types.
RestraintType
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Harmonic, Hyperbolic, Erf, GaussianWell]
- GUI name:
Restraint type
- Description:
Select type of the moving restraint profile. The force for Hyperbolic and Erf is bounded by a user-defined value, the latter converging to it faster than the former. The GaussianWell has a finite depth so it is suitable for cases when crossing a high reaction barrier is not desirable.
StartStep
- Type:
Integer
- Default value:
1
- GUI name:
Start step
- Description:
First step number at which the restraints will be applied.
StopStep
- Type:
Integer
- Default value:
0
- GUI name:
End step
- Description:
Last step number at which the restraints will be applied.
NSteps
- Type:
Integer
- Default value:
1000
- GUI name:
Number of steps
- Description:
The number of steps to be taken in the MD simulation.
Plumed
- Type:
Block
- Description:
Input for PLUMED. The parallel option is still experimental.
Input
- Type:
Non-standard block
- Description:
Input for PLUMED. Contents of this block is passed to PLUMED as is.
Parallel
- Type:
Block
- Description:
Options for double parallelization, which 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
- GUI name:
Cores per group
- Description:
Number of cores in each working group.
nGroups
- Type:
Integer
- GUI name:
Number of groups
- Description:
Total number of processor groups. This is the number of tasks that will be executed in parallel.
nNodesPerGroup
- Type:
Integer
- GUI name:
Nodes per group
- 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.
Preserve
- Type:
Block
- Description:
Periodically remove numerical drift accumulated during the simulation to preserve different whole-system parameters.
AngularMomentum
- Type:
Bool
- Default value:
Yes
- GUI name:
: Angular momentum
- Description:
Remove overall angular momentum of the system. This option is ignored for 2D and 3D-periodic systems, and disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
CenterOfMass
- Type:
Bool
- Default value:
No
- GUI name:
: Center of mass
- 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:
Yes
- GUI name:
Preserve: Total momentum
- Description:
Remove overall (linear) momentum of the system. This is disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
Print
- Type:
Block
- Description:
This block controls the printing of additional information to stdout.
System
- Type:
Bool
- Default value:
No
- Description:
Print the chemical system before and after the simulation.
Velocities
- Type:
Bool
- Default value:
No
- Description:
Print the atomic velocities before and after the simulation.
ReactionBoost
- Type:
Block
- GUI name:
Reaction Boost
- Description:
Define a series of transitions between different states of the system.
Each transition is defined by a TargetSystem and by a set of restraints that force the transition.
BondBreakingRestraints
- Type:
Block
- Description:
Define parameters for moving restraints that are added for pairs of atoms that become disconnected during the transition.
It is intended to make sure the corresponding bonds get broken, although this may not always be required because forming other bonds will likely get these bonds broken.
Erf
- Type:
Block
- Description:
Define parameters for the Int(erf) potential V = alpha*(beta*x*erf(beta*x) + (exp(-(beta*x)**2) - 1)/sqrt(PI)). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- Description:
Asymptotic value of the force at the infinity.
GaussianWell
- Type:
Block
- Description:
Define parameters in the Gaussian well potential V=-WellDepth*exp(-Sigma*(r-r0)^2).
Sigma
- Type:
Float
- Default value:
1.0
- Unit:
1/Bohr^2
- Description:
Sigma parameter in the potential expression.
WellDepth
- Type:
Float
- Default value:
1.0
- Unit:
Hartree
- Description:
WellDepth parameter in the potential expression.
Harmonic
- Type:
Block
- Description:
Define parameters for the harmonic potential V=0.5*FC*(r-r0)^2.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The FC parameter of the harmonic potential.
Hyperbolic
- Type:
Block
- Description:
Define parameters for the hyperbolic potential V=alpha*(sqrt(1 + beta*x^2) - 1). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce: beta=ForceConstant/MaxForce, alpha=MaxForce/beta
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- Description:
Asymptotic value of the force at the infinity.
Taper
- Type:
Block
- Description:
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
Tapering
- Description:
Enable tapering of the restraint potential and force between the given range of bond distances. A 7-th order tapering function on the actual (not target!) distance will be used. The MaxDistance must be greater than MinDistance.
MaxDistance
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- GUI name:
End tapering at
- Description:
Bond length at which the restraint potential and force decays to zero.
MinDistance
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- GUI name:
Start tapering at
- Description:
Bond length at which the restraint potential and force will start decaying to zero.
Type
- Type:
Multiple Choice
- Default value:
Erf
- Options:
[None, Harmonic, Hyperbolic, Erf, GaussianWell]
- GUI name:
Bond breaking restraints
- Description:
Select type of the moving restraint profile.
Harmonic: V=0.5*FC*(r-r0)^2
Hyperbolic: V=alpha*(sqrt(1 + beta*x^2) - 1)
Erf: V = alpha*(beta*x*erf(beta*x) + (exp(-(beta*x)**2) - 1)/sqrt(PI))
GaussianWell: V=WellDepth*(1-exp(-Sigma*(r-r0)^2))
Here beta=ForceConstant/MaxForce, alpha=MaxForce/beta.
The force for Hyperbolic and Erf is bounded by a user-defined value, the latter converging to it faster than the former.
The GaussianWell has a finite depth so it is suitable for cases when crossing a high reaction barrier is not desirable.
Moving restraints are added for pairs of atoms that become disconnected during the transition.
It is intended to make sure the corresponding bonds get broken, although this may not always be required because forming other bonds will likely get these bonds broken.
BondMakingRestraints
- Type:
Block
- Description:
Define parameters for moving restraints that are added for pairs of atoms that become connected during the transition.
It is intended to make sure the bonds are created as required.
Erf
- Type:
Block
- Description:
Define parameters for the Int(erf) potential V = alpha*(beta*x*erf(beta*x) + (exp(-(beta*x)**2) - 1)/sqrt(PI)). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- Description:
Asymptotic value of the force at the infinity.
GaussianWell
- Type:
Block
- Description:
Define parameters in the Gaussian well potential V=-WellDepth*exp(-Sigma*(r-r0)^2).
Sigma
- Type:
Float
- Default value:
1.0
- Unit:
1/Bohr^2
- Description:
Sigma parameter in the potential expression.
WellDepth
- Type:
Float
- Default value:
1.0
- Unit:
Hartree
- Description:
WellDepth parameter in the potential expression.
Harmonic
- Type:
Block
- Description:
Define parameters for the harmonic potential V=0.5*FC*(r-r0)^2.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The FC parameter of the harmonic potential.
Hyperbolic
- Type:
Block
- Description:
Define parameters for the hyperbolic potential V=alpha*(sqrt(1 + beta*x^2) - 1). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce: beta=ForceConstant/MaxForce, alpha=MaxForce/beta
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- Description:
Asymptotic value of the force at the infinity.
Type
- Type:
Multiple Choice
- Default value:
Erf
- Options:
[None, Harmonic, Hyperbolic, Erf, GaussianWell]
- GUI name:
Bond making restraints
- Description:
Select type of the moving restraint profile.
Harmonic: V=0.5*FC*(r-r0)^2
Hyperbolic: V=alpha*(sqrt(1 + beta*x^2) - 1)
Erf: V = alpha*(beta*x*erf(beta*x) + (exp(-(beta*x)**2) - 1)/sqrt(PI))
GaussianWell: V=-WellDepth*exp(-Sigma*(r-r0)^2)
Here beta=ForceConstant/MaxForce, alpha=MaxForce/beta.
The force for Hyperbolic and Erf is bounded by a user-defined value.
The GaussianWell has a finite depth so it is suitable for cases when crossing a high reaction barrier is not desirable.
Moving restraints are added for pairs of atoms that become connected during the transition.
It is intended to make sure the bonds are created as required.
BondedRestraints
- Type:
Block
- Description:
Define parameters for bonded restraints. A bonded restraint is added for each pair of atoms that are bonded both in the current and in the final state.
It is intended to make sure they remain bonded during simulation.
Harmonic
- Type:
Block
- Description:
Define parameters for the harmonic potential V=0.5*FC*(r-r0)^2.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The FC parameter of the harmonic potential.
Type
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Harmonic]
- GUI name:
Bonded restraints
- Description:
Select type of the bonded restraints:
Harmonic: V=0.5*FC*(r-r0)^2
A bonded restraint is added for each pair of atoms that are bonded both in the current and in the final state.
It is intended to make sure they remain bonded during simulation.
Change
- Type:
Multiple Choice
- Default value:
TargetCoordinate
- Options:
[TargetCoordinate, Force, LogForce]
- GUI name:
Move type
- Description:
Select what to change during dynamics.
By default, once the restraints are switched on, AMS will change the restraint’s target coordinate towards its final value.
If the [Force] or [LogForce] option is selected then the target coordinate is set to its final value immediately and instead the restraint force is gradually scaled from 0 to 1. The scaling is either linear (Force) or logarithmic (LogForce).
InitialFraction
- Type:
Float
- Default value:
0.0
- Description:
Initial fraction of the boost variable.
At the first boosting step, the restraint’s target value (or force or log(force)) is equal to InitialFraction + 1/NSteps.
InterEquilibrationSteps
- Type:
Integer
- Default value:
0
- Description:
Number of equilibration steps after reaching a target before setting up restraints for the next one.
MinBondChange
- Type:
Float
- Default value:
1.0
- Unit:
Bohr
- Description:
Minimal change in the distance for an individual restraint to be considered bond-breaking/making vs bonded.
MinBondStrength
- Type:
Float
- Default value:
0.5
- Description:
Minimum strength (usually ranges from 0 to 1) for a bond to be considered.
NSteps
- Type:
Integer
- Default value:
500
- GUI name:
Steps per target
- Description:
Number of steps per target the restraints should be active for.
NonBondedRestraints
- Type:
Block
- Description:
Define parameters for non-bonded restraints. A non-bonded restraint is added for each pair of atoms that are bonded neither in the current nor in the final state.
It is intended to keep them from forming a bond unintentionally. They are represented by a repulsive potential
Exponential
- Type:
Block
- Description:
Define parameters for the repulsive potential V=Epsilon*exp(-Sigma*r).
Epsilon
- Type:
Float
- Default value:
1.0
- Unit:
Hartree
- Description:
Epsilon parameter in the repulsive potential expression.
Sigma
- Type:
Float
- Default value:
1.0
- Unit:
1/Bohr
- Description:
Sigma parameter in the repulsive potential expression.
Type
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Exponential]
- GUI name:
Non-bonded restraints
- Description:
Select type of the non-bonded restraints:
Exponential: V=Epsilon*exp(-Sigma*r)
A non-bonded restraint is added for each pair of atoms that are bonded neither in the current nor in the final state.
It is intended to keep them from forming a bond unintentionally. They are represented by a repulsive potential.
PreEquilibrationSteps
- Type:
Integer
- Default value:
0
- Description:
Number of steps before enabling the first set of restraints.
RMSDRestraint
- Type:
Block
- GUI name:
RMSD restraint
- Description:
Define a static restraint that pulls each atom to its position in the target system, but in contrast to the individual restraints, the force for this one depends on the total mass-weighted root-mean-squared distance (RMSD) between the two structures.
Erf
- Type:
Block
- Description:
Define parameters for the Int(erf) potential V = alpha*(beta*x*erf(beta*x) + (exp(-(beta*x)**2) - 1)/sqrt(PI)). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- Description:
Asymptotic value of the force at the infinity.
GaussianWell
- Type:
Block
- Description:
Define parameters in the Gaussian well potential V=-WellDepth*exp(-Sigma*(r-r0)^2).
Sigma
- Type:
Float
- Default value:
1.0
- Unit:
1/Bohr^2
- Description:
Sigma parameter in the potential expression.
WellDepth
- Type:
Float
- Default value:
1.0
- Unit:
Hartree
- Description:
WellDepth parameter in the potential expression.
Harmonic
- Type:
Block
- Description:
Define parameters for the harmonic potential V=0.5*FC*(r-r0)^2.
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The FC parameter of the harmonic potential.
Hyperbolic
- Type:
Block
- Description:
Define parameters for the hyperbolic potential V=alpha*(sqrt(1 + beta*x^2) - 1). The alpha and beta parameters are computed from the user-defined ForceConstant and MaxForce: beta=ForceConstant/MaxForce, alpha=MaxForce/beta
ForceConstant
- Type:
Float
- Default value:
0.5
- Unit:
Hartree/Bohr^2
- Description:
The force constant (second derivative of the potential) at the optimum point.
MaxForce
- Type:
Float
- Default value:
0.05
- Unit:
Hartree/Bohr
- Description:
Asymptotic value of the force at the infinity.
Type
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Harmonic, Hyperbolic, Erf, GaussianWell]
- GUI name:
Type
- Description:
Select type of the RMSD restraint profile:
Harmonic: V=0.5*FC*(r-r0)^2
Hyperbolic: V=alpha*(sqrt(1 + beta*x^2) - 1)
Erf: V = alpha*(beta*x*erf(beta*x) + (exp(-(beta*x)**2) - 1)/sqrt(PI),
GaussianWell: V=-WellDepth*exp(-Sigma*(r-r0)^2)
Here beta=ForceConstant/MaxForce, alpha=MaxForce/beta.
The Harmonic profile can be problematic at large deviations as it may result in large forces. The force for Hyperbolic and Erf is bounded by a user-defined value. The GaussianWell has a finite depth so it is suitable for cases when crossing a high reaction barrier is not desirable.
Region
- Type:
String
- Default value:
*
- GUI name:
Region
- Description:
Region to which the restraints should be limited.
TargetSystem
- Type:
String
- Recurring:
True
- GUI name:
Target system
- Description:
The target system’s name for this transition. Multiple targets can be specified to request multiple transitions in one simulation.
Note that only the lattice and the atomic coordinates of the target system are used and other properties (bonds, charge, etc.) are ignored. The target system’s lattice is used only to determine connections and it cannot be restrained.
Type
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, Pair, RMSD]
- GUI name:
Restraint set type
- Description:
Reaction Boost uses a series of transitions between different states of the system.
Each transition is defined by a TargetSystem and by a set of restraints that force the transition.
Select the type of the restraint set:
-None: no Reaction Boost
Pair: use pair restraints
RMSD: use RMSD restraints.
Pair restraints are defined per atom pair while the RMSD defines one collective restraint for all atoms and is thus suitable for very large systems.
The pair restraints are further divided into four sub-types: bonding, non-bonding, bond-breaking and bond-making. The sub-type of restraints for each pair is determined automatically depending on whether the two atoms are bonded in the initial/final state.
Parameters of the pair restraints are defined by [NonBondedRestraints], [BondedRestraints], [BondBreakingRestraints] and [BondMakingRestraints] blocks, while those of the RMSD restraint by the [RMSDRestraint] block.
Reactor
- Type:
Block
- Recurring:
True
- Description:
Define one phase of the nanoreactor. A reactor is a region of space surrounded by an elastic wall. Atoms inside the region are not affected. Atoms outside it will be pushed back with force depending on the [ForceConstant] and the [MassScaled] flag.
ForceConstant
- Type:
Float
- GUI name:
Reactor force constant
- Description:
Force constant of the reactor wall in Hartree/Bohr^2 (or Hartree/Bohr^2/Dalton if [MassScaled] is true).
MassScaled
- Type:
Bool
- Default value:
Yes
- GUI name:
Scale force by mass
- Description:
If this flag is disabled the force on an atom outside of the reactor depends only on the atomic coordinates and the force constant. Otherwise, the force is also multiplied by the mass of the atom. This means that atoms at the same distance from the wall will receive the same accelerate due to the wall potential.
NSteps
- Type:
Integer
- GUI name:
Reactor lifetime
- Description:
Number of steps for which the reactor will remain active until disabled. The next reactor will be activated immediately after this. After the last reactor is disabled the cycle will repeat.
Radius
- Type:
Float
- Unit:
Angstrom
- GUI name:
Reactor radius
- Description:
Radius of the reactor sphere.
ReflectiveWall
- Type:
Block
- Recurring:
True
- Description:
Apply a reflective wall in space
Axis
- Type:
Float List
- Unit:
Angstrom
- Description:
Defines the normal vector perpendicular to the plane of the reflective wall. Any particle moving in this direction will be reflected back.
Region
- Type:
String
- Recurring:
True
- Description:
Apply the reflective wall to all atoms in this region.
Threshold
- Type:
Float
- Unit:
Angstrom
- Description:
Defines the threshold value determining the position of the reflective wall. If the dot product of a position of a particle with Axis exceeds Threshold, the particle will be reflected. This means that the plane of the wall passes through a point given by Axis times Threshold.
Remap
- Type:
Block
- Description:
Control periodic remapping (backtranslation) of atoms into the PBC box.
Type
- Type:
Multiple Choice
- Default value:
Atoms
- Options:
[None, Atoms]
- Description:
Select the method used to remap atoms into the unit cell.
None: Disable remapping completely.
Atoms: Remap any atoms that leave the unit cell.
RemoveMolecules
- Type:
Block
- Recurring:
True
- GUI name:
Remove molecules
- Description:
This block controls removal of molecules from the system. Multiple occurrences of this block are possible.
Formula
- Type:
String
- Description:
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.
Use * to remove any molecule, which must be combined with SinkBox or SafeBox.
Frequency
- Type:
Integer
- Default value:
0
- Description:
The specified molecules are removed every so many steps after the StartStep. There is never a molecule removed at step 0.
SafeBox
- Type:
Block
- Description:
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 the 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 Angstrom.
Amax
- Type:
Float
- Description:
Coordinate of the upper bound along the first axis.
Amin
- Type:
Float
- Description:
Coordinate of the lower bound along the first axis.
Bmax
- Type:
Float
- Description:
Coordinate of the upper bound along the second axis.
Bmin
- Type:
Float
- Description:
Coordinate of the lower bound along the second axis.
Cmax
- Type:
Float
- Description:
Coordinate of the upper bound along the third axis.
Cmin
- Type:
Float
- Description:
Coordinate of the lower bound along the third axis.
FractionalCoordsBox
- Type:
Float List
- GUI name:
Safe box
- Description:
Do not remove molecules that are (partly) inside the safe box.
Borders of the safe box specified as: Amin, Amax, Bmin, Bmax, Cmin, Cmax.
For periodic dimensions fractional coordinates between 0 and 1 and for non-periodic dimensions Cartesian values in Angstrom are expected.
SinkBox
- Type:
Block
- Description:
Part of the simulation box where matching molecules will be removed. By default, molecules matching the formula will be removed regardless of their location. If this block is present then such a molecule will only 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 Angstrom.
Amax
- Type:
Float
- Description:
Coordinate of the upper bound along the first axis.
Amin
- Type:
Float
- Description:
Coordinate of the lower bound along the first axis.
Bmax
- Type:
Float
- Description:
Coordinate of the upper bound along the second axis.
Bmin
- Type:
Float
- Description:
Coordinate of the lower bound along the second axis.
Cmax
- Type:
Float
- Description:
Coordinate of the upper bound along the third axis.
Cmin
- Type:
Float
- Description:
Coordinate of the lower bound along the third axis.
FractionalCoordsBox
- Type:
Float List
- GUI name:
Sink box
- Description:
Remove molecules that are (partly) inside the sink box.
Borders of the sink box specified as: Amin, Amax, Bmin, Bmax, Cmin, Cmax.
For periodic dimensions fractional coordinates between 0 and 1 and for non-periodic dimensions Cartesian values in Angstrom are expected.
StartStep
- Type:
Integer
- Default value:
0
- Description:
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
- Description:
Do not remove the specified molecules after this step.
ReplicaExchange
- Type:
Block
- Description:
This block is used for (temperature) Replica Exchange MD (Parallel Tempering) simulations.
AllowWrongResults
- Type:
Bool
- Default value:
No
- Description:
Allow combining Replica Exchange with other features when the combination is known to produce physically incorrect results.
EWMALength
- Type:
Integer
- Default value:
10
- Description:
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
- Default value:
100
- Description:
Attempt an exchange every N steps.
TemperatureFactors
- Type:
Float List
- Description:
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
- Description:
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
- Default value:
1
- GUI name:
Number of replicas
- Description:
Number of replicas to run in parallel.
Restart
- Type:
String
- GUI name:
Restart from
- Description:
The path to the ams.rkf file from which to restart the simulation.
Shake
- Type:
Block
- Description:
Parameters of the Shake/Rattle algorithm.
All
- Type:
String
- Recurring:
True
- GUI name:
Constrain all
- Description:
Constraint description in one the following formats:
All [bondOrder] bonds at1 at2 [to distance]
All triangles at1 at2 at3
The first option constrains all bonds between atoms at1 at2 to a certain length, while the second - bonds at1-at2 and at2-at3 and the angle between them.
The [bondOrder] can be a number or a string such as single, double, triple or aromatic. If it’s omitted then all bonds between specified atoms will be constrained. Atom names are case-sensitive and they must be as they are in the Atoms block, or an asterisk ‘*’ denoting any atom. The distance, if present, must be in Angstrom. If it is omitted then the bond length from the initial geometry is used.
Important: only the bonds present in the system at certain points of the simulation (at the start or right after adding/removing atoms) can be constrained, which means that the bonds may need to be specified in the System block.
Warning: the triangles constraint should be used with care because each constrained bond or angle means removing one degree of freedom from the dynamics. When there are too many constraints (for example, “All triangles H C H” in methane) some of them may be linearly dependent, which will lead to an error in the temperature computation.
Valid examples:
All single bonds C C to 1.4
All bonds O H to 0.98
All bonds O H
All bonds H *
All triangles H * H
ConvergeR2
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the max squared difference, in atomic units.
ConvergeRV
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the orthogonality of the constraint and the relative atomic velocity, in atomic units.
Iterations
- Type:
Integer
- Default value:
100
- Description:
Number of iterations.
ShakeInitialCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Apply constraints before computing the first energy and gradients.
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]
- GUI name:
Apply Berendsen
- 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
- GUI name:
NHC chain length
- Description:
Number of individual thermostats forming the NHC thermostat
Duration
- Type:
Integer List
- GUI name:
Duration(s)
- Description:
Specifies how many steps should a transition from a particular temperature to the next one in sequence take.
Region
- Type:
String
- Default value:
*
- Description:
The identifier of the region to thermostat. The default ‘*’ applies the thermostat to the entire system. The value can by a plain region name, or a region expression, e.g. ‘*-myregion’ to thermostat all atoms that are not in myregion, or ‘regionA+regionB’ to thermostat the union of the ‘regionA’ and ‘regionB’. Note that if multiple thermostats are used, their regions may not overlap.
Tau
- Type:
Float
- Unit:
Femtoseconds
- GUI name:
Damping constant
- Description:
The time constant of the thermostat.
Temperature
- Type:
Float List
- Unit:
Kelvin
- GUI name:
Temperature(s)
- Description:
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
- Default value:
None
- Options:
[None, Berendsen, NHC]
- GUI name:
Thermostat
- 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.
ExitConditionFreq
- Type:
Integer
- GUI name:
Exit condition frequency
- Description:
Check the exit conditions every N steps. By default this is done every SamplingFreq steps.
PrintFreq
- Type:
Integer
- GUI name:
Printing frequency
- Description:
Print current thermodynamic properties to the output every N steps. By default this is done every SamplingFreq steps.
SamplingFreq
- Type:
Integer
- Default value:
100
- GUI name:
Sample frequency
- Description:
Write the the molecular geometry (and possibly other properties) to the .rkf file once every N steps.
TProfileGridPoints
- Type:
Integer
- Default value:
0
- Description:
Number of points in the temperature profile. If TProfileGridPoints > 0, a temperature profile along each of the three lattice axes will be written to the .rkf file. The temperature at a given profile point is calculated as the total temperature of all atoms inside the corresponding slice of the simulation box, time-averaged over all MD steps since the previous snapshot. By default, no profile is generated.
WriteBonds
- Type:
Bool
- Default value:
Yes
- Description:
Write detected bonds to the .rkf file.
WriteCharges
- Type:
Bool
- Default value:
Yes
- Description:
Write current atomic point charges (if available) to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze charges.
WriteCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Write atomic coordinates to the .rkf file.
WriteEngineGradients
- Type:
Bool
- Default value:
No
- Description:
Write atomic gradients (negative of the atomic forces, as calculated by the engine) to the History section of ams.rkf.
WriteMolecules
- Type:
Bool
- Default value:
Yes
- Description:
Write the results of molecule analysis to the .rkf file.
WriteVelocities
- Type:
Bool
- Default value:
Yes
- Description:
Write velocities to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze the velocities.
fbMC
- Type:
Block
- Recurring:
True
- GUI name:
fbMC
- Description:
This block sets up force bias Monte Carlo interleaved with the molecular dynamics simulation.
Frequency
- Type:
Integer
- Default value:
1
- Description:
Run the fbMC procedure every Frequency MD steps.
MassRoot
- Type:
Float
- Default value:
2.0
- Description:
Inverse of the exponent used to mass-weight fbMC steps.
MolecularMoves
- Type:
Block
- Description:
Move molecules as rigid bodies in addition to normal atomic moves.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
Enable molecular moves
- Description:
Enable moving molecules as rigid bodies based on net forces and torques. Ordinary per-atom displacements will then be based on residual atomic forces.
RotationStepAngle
- Type:
Float
- Default value:
0.1
- Unit:
Radian
- Description:
Maximum allowed angle of rotation of each molecule in one fbMC step.
TranslationStepLength
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
Maximum allowed displacement of each molecule in each Cartesian coordinate in one fbMC step.
NSteps
- Type:
Integer
- GUI name:
Number of steps
- Description:
Number of fbMC steps to perform on every invocation of the procedure.
PrintFreq
- Type:
Integer
- GUI name:
Printing frequency
- Description:
Print current thermodynamic properties to the output every N fbMC steps. This defaults to the PrintFreq set in the Trajectory block. Setting this to zero disables printing fbMC steps.
StartStep
- Type:
Integer
- Default value:
1
- Description:
First step at which the fbMC procedure may run.
StepLength
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
Maximum allowed displacement of the lightest atom in the system in each Cartesian coordinate in one fbMC step.
StopStep
- Type:
Integer
- Default value:
0
- Description:
Last step at which the fbMC procedure may run. If unset or zero, there is no limit.
Temperature
- Type:
Float
- Unit:
Kelvin
- Description:
Temperature used for fbMC.
Molecules
- Type:
Block
- Description:
Configures details of the molecular composition analysis enabled by the Properties%Molecules block.
AdsorptionSupportRegion
- Type:
String
- GUI name:
Adsorption support region
- Description:
Select region that will represent a support for adsorption analysis. Adsorbed molecules will receive an ‘(ads)’ suffix after name of the element bonded to the support. Such elements will be listed separate from atoms of the same element not bonded to the support, for example, HOH(ads) for a water molecule bonded to a surface via one of its H atoms.
BondOrderCutoff
- Type:
Float
- Default value:
0.5
- Description:
Bond order cutoff for analysis of the molecular composition. Bonds with bond order smaller than this value are neglected when determining the molecular composition.
NEB
- Type:
Block
- Description:
Configures details of the Nudged Elastic Band optimization.
Climbing
- Type:
Bool
- Default value:
Yes
- GUI name:
Climb highest image to TS
- Description:
Use the climbing image algorithm to drive the highest image to the transition state.
ClimbingThreshold
- Type:
Float
- Default value:
0.0
- Unit:
Hartree/Bohr
- GUI name:
CI force threshold
- Description:
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
- Default value:
8
- GUI name:
Number of images
- Description:
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
- Default value:
Yes
- GUI name:
Interpolate in Internal coordinates
- Description:
The initial NEB image geometries are calculated by interpolating between the initial and the final state. By default, for 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 the interpolation is always done in Cartesian coordinates. If PreOptimizeWithIDPP is set then the path may be further refined using the image-dependent pair potential (IDPP).
InterpolateShortest
- Type:
Bool
- Default value:
Yes
- GUI name:
Interpolate across cell boundary
- Description:
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
- GUI name:
Maximum number of iterations
- Description:
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
- GUI name:
Jacobian value
- Description:
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.
LoadPath
- Type:
Block
- Description:
Provide details about the trajectory to get the initial NEB path from. PESScan and NEB trajectories are supported. Only the last geometry for each point on the trajectory is considered.
File
- Type:
String
- GUI name:
Initial path file
- Description:
Provide an ams.rkf file to load the initial path from. All geometries of this calculation, including initial and final, will be taken from the History section of the file.
Note that for a PESScan it should be a 1D path.
Geometries
- Type:
Integer List
- GUI name:
Raw geometry indices
- Description:
Raw indices of the geometries from the History section. By default the last geometry of each path point is used.
Points
- Type:
Integer List
- GUI name:
Path points
- Description:
By default the whole path is used, which may sometimes be not desirable. For example when a PESScan revealed multiple barriers. In this case one can specify indices of the path points to be used. The last geometry of the specified path point will be loaded.
MapAtomsToCell
- Type:
Bool
- Default value:
Yes
- GUI name:
Map atoms to cell
- Description:
Translate atoms to the [-0.5,0.5] cell before every step. This option cannot be disabled for SS-NEB.
OldTangent
- Type:
Bool
- Default value:
No
- GUI name:
Use old tangent
- Description:
Turn on the old central difference tangent.
OptimizeEnds
- Type:
Bool
- Default value:
Yes
- GUI name:
Optimize reactants/products
- Description:
Start the NEB with optimization of the reactant and product geometries.
OptimizeLattice
- Type:
Bool
- Default value:
No
- GUI name:
Optimize lattice
- Description:
Turn on the solid-state NEB (SS-NEB).
Parallel
- Type:
Block
- Description:
Options for double parallelization, which 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
- GUI name:
Cores per group
- Description:
Number of cores in each working group.
nGroups
- Type:
Integer
- GUI name:
Number of groups
- Description:
Total number of processor groups. This is the number of tasks that will be executed in parallel.
nNodesPerGroup
- Type:
Integer
- GUI name:
Nodes per group
- 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.
PreOptimizeWithIDPP
- Type:
Bool
- Default value:
No
- GUI name:
Use IDPP
- Description:
(Experimental)
When there is only initial and final system available, the image-dependent pair potential (IDPP, doi: 10.1063/1.4878664) can be used to determine the initial NEB path by interpolating all interatomic distances between the two points and optimizing intermediate images towards them. The optimization starts from the geometries obtained using the selected interpolation options.
ReOptimizeEnds
- Type:
Bool
- Default value:
No
- GUI name:
Re-optimize reactants/products
- Description:
Re-optimize reactant and product geometries upon restart.
Restart
- Type:
String
- GUI name:
Restart from
- Description:
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.
Skewness
- Type:
Float
- Default value:
1.0
- GUI name:
Skewness
- Description:
Degree of how much images are shifted towards or away from the TS, which may help tackle problems with a long reaction path (for example involving a loose adsorption complex) without needing too many images. A value greater than 1 will make sure that images are concentrated near the transition state. The optimal value depends on the path length, the number of images (larger [Skewness] may be needed for a longer path and fewer images). Technically [Skewness] is equal to the ratio between the optimized distances to the lower and the higher neighbor image on the path.
Spring
- Type:
Float
- Default value:
1.0
- Unit:
Hartree/Bohr^2
- GUI name:
Spring value
- Description:
Spring force constant in atomic units.
NormalModes
- Type:
Block
- Description:
Configures details of a normal modes calculation.
BlockDisplacements
- Type:
Block
- Description:
Configures details of a Block Normal Modes (a.k.a. Mobile Block Hessian, or MBH) calculation.
AngularDisplacement
- Type:
Float
- Default value:
0.5
- Unit:
Degree
- Description:
Relative step size for rotational degrees of freedom during Block Normal Modes finite difference calculations. It will be scaled with the characteristic block size.
BlockAtoms
- Type:
Integer List
- Recurring:
True
- Description:
List of atoms belonging to a block. You can have multiple BlockAtoms.
BlockRegion
- Type:
String
- Recurring:
True
- Description:
The region to to be considered a block. You can have multiple BlockRegions, also in combination with BlockAtoms.
Parallel
- Type:
Block
- Description:
Configuration for how the individual displacements are calculated in parallel.
nCoresPerGroup
- Type:
Integer
- Description:
Number of cores in each 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
- GUI name:
Cores per task
- 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.
RadialDisplacement
- Type:
Float
- Default value:
0.005
- Unit:
Angstrom
- Description:
Step size for translational degrees of freedom during Block Normal Modes finite difference calculations.
Displacements
- Type:
Multiple Choice
- Default value:
Cartesian
- Options:
[Cartesian, Symmetric, Block]
- GUI name:
Displacements
- Description:
Type of displacements.
In case of symmetric displacements it is possible to choose only the modes that have non-zero IR or Raman intensity.
Block displacements take rigid blocks into account.
Hessian
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, Analytical, Numerical]
- Description:
Default Auto means that if possible by the engine the Hessian will be calculated analytically, else the Hessian will be calculated numerically by AMS.
ReScanFreqRange
- Type:
Float List
- Default value:
[-10000000.0, 10.0]
- Unit:
cm-1
- Recurring:
True
- GUI name:
Re-scan range
- Description:
Specifies a frequency range within which all modes will be scanned. 2 numbers: an upper and a lower bound.
ReScanModes
- Type:
Bool
- Default value:
Yes
- GUI name:
Re-scan modes
- Description:
Whether or not to scan imaginary modes after normal modes calculation has concluded.
SymmetricDisplacements
- Type:
Block
- Description:
Configures details of the calculation of the frequencies and normal modes of vibration in symmetric displacements.
Type
- Type:
Multiple Choice
- Default value:
All
- Options:
[All, Infrared, Raman, InfraredAndRaman]
- GUI name:
Symm Frequencies
- Description:
For symmetric molecules it is possible to choose only the modes that have non-zero IR or Raman intensity (or either of them) by symmetry.
In order to calculate the Raman intensities the Raman property must be requested.
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.005
- Unit:
Bohr
- Description:
Step size for numerical nuclear gradient calculation.
Parallel
- Type:
Block
- Description:
Options for double parallelization, which 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
- GUI name:
Cores per group
- Description:
Number of cores in each working group.
nGroups
- Type:
Integer
- GUI name:
Number of groups
- Description:
Total number of processor groups. This is the number of tasks that will be executed in parallel.
nNodesPerGroup
- Type:
Integer
- GUI name:
Nodes per group
- 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.
AutomaticBZPath
- Type:
Bool
- Default value:
Yes
- GUI name:
Automatic BZ path
- Description:
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
- Description:
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
- Recurring:
True
- Description:
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.
BornEffCharge
- Type:
Float
- Default value:
0.0
- Description:
Input option to give the Born effective charges of the species.
DielectricConst
- Type:
Float
- Default value:
1.0
- Description:
Input option to give the static dielectric constant of the species.
DoubleSided
- Type:
Bool
- Default value:
Yes
- 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:
Options for double parallelization, which 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
- GUI name:
Cores per group
- Description:
Number of cores in each working group.
nGroups
- Type:
Integer
- GUI name:
Number of groups
- Description:
Total number of processor groups. This is the number of tasks that will be executed in parallel.
nNodesPerGroup
- Type:
Integer
- GUI name:
Nodes per group
- 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.
PESExploration
- Type:
Block
- Description:
Configures details of the automated PES exploration methods.
BasinHopping
- Type:
Block
- Description:
Configures the details of the Basin Hopping subtask.
DisplaceAtomsInRegion
- Type:
String
- Default value:
- Description:
If you specify a region name here, only the atoms belonging to this region will be displaced during the basin hopping procedure. For more details on regions, see the documentation on the System definition.
Displacement
- Type:
Float
- Default value:
0.5
- Unit:
Angstrom
- Description:
Displacement in each degree of freedom.
MainSystemAsSeed
- Type:
Bool
- Default value:
No
- Description:
If true, only the main system will be used as a seed state. The main system is not added to the database.
PESPointCharacterization
- Type:
Bool
- Default value:
Yes
- Description:
If true, a PES point characterization based on a vibrational analysis is carried out to confirm each detected state is an actual local minimum (no imaginary frequencies). Conversely, if this option is false, the PES point characterization is avoided, which will assume that all located states are local minima (zero gradients). Enabling this option is very useful for large systems. It circumvents the need for computing and diagonalizing the Hessian matrix, a typically expensive computational process.
PushApartDistance
- Type:
Float
- Default value:
0.4
- Unit:
Angstrom
- Description:
Push atoms apart until no atoms are closer than this distance. This criterion is enforced for the initial structure and all those generated by random displacements.
RotateNonListedAtoms
- Type:
Bool
- Default value:
No
- Description:
If true, each iteration randomly rotates all atoms as a rigid body, excluding those listed in [BasinHopping%DisplaceListedAtoms], [BasinHopping%DisplaceListedTypes], or [BasinHopping%DisplaceAtomsInRegion].
Steps
- Type:
Integer
- Default value:
20
- Description:
Number of displace & optimize Monte-Carlo steps to take.
BindingSites
- Type:
Block
- Description:
Options related to the calculation of binding sites.
Calculate
- Type:
Bool
- Default value:
No
- Description:
Calculate binding sites at the end of a job. Not needed for Binding Sites job.
DistanceDifference
- Type:
Float
- Default value:
-1.0
- Unit:
Angstrom
- Description:
If the distance between two mapped binding-sites is larger than this threshold, the binding-sites are considered different. If not specified, its value will set equal to [PESExploration%StructureComparison%DistanceDifference]
MaxCoordinationShellsForLabels
- Type:
Integer
- Default value:
3
- Description:
The binding site labels are given based on the coordination numbers of shells in the reference region, using the following format: N<int><int>…, e.g., the label ‘N334’ means 3 atoms in the first coordination shell, 3 in the second one, and 4 in the third one. This parameter controls the maximum number of shells to include.
NeighborCutoff
- Type:
Float
- Default value:
-1.0
- Unit:
Angstrom
- Description:
Atoms within this distance of each other are considered neighbors for the calculation of the binding sites. If not specified, its value will set equal to [PESExploration%StructureComparison%NeighborCutoff]
ReferenceRegion
- Type:
String
- Default value:
- Description:
Defines the region that is considered as the reference for binding sites detection. Binding sites are projected on this region using the geometry from the reference system. If not specified, its value will set equal to [PESExploration%StatesAlignment%ReferenceRegion]
CalculateEnergyReferences
- Type:
Bool
- Default value:
No
- Description:
Calculates the energy references.
CalculateFragments
- Type:
Bool
- Default value:
No
- Description:
Must be used together with an adsorbent set as the StatesAlignment%ReferenceRegion. Runs a final calculation of the adsorbate and adsorbent (marked by the ReferenceRegion) individually. The fragmented state is included in the energy landscape.
Debug
- Type:
Block
- Description:
???.
DynamicSeedStates
- Type:
Bool
- Default value:
Yes
- Description:
Whether subsequent expeditions may start from states discovered by previous expeditions. This should lead to a more comprehensive exploration of the potential energy surface. Disabling this will focus the PES exploration around the initial seed states.
Dynamics
- Type:
Block
- Description:
???.
Andersen
- Type:
Block
- Description:
???.
Alpha
- Type:
Float
- Default value:
1.0
- Description:
???.
CollisionPeriod
- Type:
Float
- Default value:
100.0
- Description:
???.
Langevin
- Type:
Block
- Description:
???.
Friction
- Type:
Float
- Default value:
0.01
- Description:
???.
Nose
- Type:
Block
- Description:
???.
Mass
- Type:
Float
- Default value:
1.0
- Description:
???.
Thermostat
- Type:
Multiple Choice
- Default value:
none
- Options:
[andersen, nose_hoover, langevin, none]
- Description:
???.
Time
- Type:
Float
- Default value:
1000.0
- Description:
???.
TimeStep
- Type:
Float
- Default value:
1.0
- Description:
???.
FiniteDifference
- Type:
Float
- Default value:
0.0026458861
- Unit:
Angstrom
- Description:
The finite difference distance to use for Dimer, Hessian, Lanczos, and optimization methods.
Hessian
- Type:
Block
- Description:
???.
AtomList
- Type:
String
- Default value:
all
- Description:
???.
ZeroFreqValue
- Type:
Float
- Default value:
1e-06
- Description:
???.
Job
- Type:
Multiple Choice
- Options:
[ProcessSearch, BasinHopping, SaddleSearch, LandscapeRefinement, BindingSites]
- Description:
Specify the PES exploration job to perform.
LandscapeRefinement
- Type:
Block
- Description:
Configures details of the energy landscape refinement job.
CalculateOnlyEnergies
- Type:
Bool
- Default value:
No
- Description:
If true, the states’ geometry is not optimized, and the final PES point characterization is ignored [PESExploration%LandscapeRefinement%IgnoreFinalPESPointCharacter]. Only energy values are updated using the specified engine. Furthermore, normal modes and associated properties are copied from the previous calculation to avoid the typically high computational effort of the Hessian matrix calculation. Enabling this option implies that RunInitialSinglePoints=’F’, IgnoreFinalPESPointCharacter=’T’.
IgnoreFinalPESPointCharacter
- Type:
Bool
- Default value:
No
- Description:
At the end of the energy landscape refinement job, each state is assigned a PES point character (MIN or TS) based on its vibrational frequencies before being included in the final database. States are only added if the PES point character after refinement remains unchanged. However, states are added without verifying if this option is
true
. Nonetheless, vibrational frequencies are calculated and stored for future analysis. This option is especially useful when using computationally demanding engines. Because in those cases, precision and computational effort must be balanced, resulting in significant vibrational frequencies inaccuracies.
IgnoreFinalPESPointCharacterForFragments
- Type:
Bool
- Default value:
No
- GUI name:
… for fragments
- Description:
Same as
LandscapeRefinement%IgnoreFinalPESPointCharacter
but regarding the Fragments calculations, see optionLandscapeRefinement%CalculateFragments
.
RelaxFromSaddlePoint
- Type:
Bool
- Default value:
No
- Description:
Relaxes the saddle point geometries following the imaginary mode to get both reactants and products.
RunInitialSinglePoints
- Type:
Bool
- Default value:
Yes
- Description:
If it is
true
, just after loading the energy landscape to refine, the single energy point computations are disabled. Be aware that if you enable this, the output file’s ‘Initial Energy Landscape’ section will display incorrect states’ energy values. If the engine requires too much processing power, this option can help you save a small amount of time.
TransitionStateSearchMethod
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, Dimer]
- Description:
Sets the method to refine transition states.
LoadEnergyLandscape
- Type:
Block
- Description:
Options related to the loading of an Energy Landscape from a previous calculation.
GenerateSymmetryImages
- Type:
Bool
- Default value:
No
- Description:
By activating this option, after loading the energy landscape, it will create the complete set of symmetry-related copies by using the symmetry operators of the reference structure. Be aware that rkf result files of the generated symmetry images are copies from the parent structures but only atomic coordinates are updated.
KeepOnly
- Type:
Integer List
- GUI name:
List of states to keep
- Description:
Upon loading the Energy Landscape, only keep the states specified here. The states should be specified via a list of integers referring to the indices of the states you want to keep.
Path
- Type:
String
- GUI name:
Load energy landscape from
- Description:
AMS results folder to load an energy landscape from. In the text input file, you may alternatively specify a
.con
file in the native EON format.
Remove
- Type:
Integer List
- GUI name:
List of states to remove
- Description:
Upon loading the Energy Landscape, remove (i.e. do not load) the states specified here. The states should be specified via a list of integers referring to the indices of the states you want to remove (i.e. the states you don’t want to load).
RemoveWithNoBindingSites
- Type:
Bool
- Default value:
No
- Description:
Upon loading the Energy Landscape, it removes states with no associated binding sites. Associated transition states are also removed. This is an advantageous option to remove physisorbed states automatically. Notice that it requires that the previous calculation was executed, enabling the option [BindingSites%Calculate].
SeedStates
- Type:
Integer List
- GUI name:
List of seed states
- Description:
By default when you start a new PES Exploration from a loaded Energy Landscape, expeditions can start from any of the loaded minima. By using this input option, you can instruct the program to only use some of the states as ‘expedition starting point’. The states that serve as ‘expedition starting points’ should be specified via a list of integers referring to the indices of the states.
LoadInitialSystems
- Type:
Block
- Description:
Load initial systems from different sources.
FromKFHistory
- Type:
Block
- Recurring:
True
- Description:
Load initial systems from the History section of kf files.
Path
- Type:
String
- GUI name:
Load initial systems from
- Description:
AMS results folder to load the initial systems from. In the text input file, you may alternatively specify a
.kf
file. By default, theams.kf
file will be used.
TargetPESPointCharacter
- Type:
Multiple Choice
- Default value:
MIN
- Options:
[MIN, TS]
- Description:
Selects the PES point character for all loaded systems.
NegativeEigenvalueTolerance
- Type:
Float
- Default value:
-0.0005
- Unit:
Hartree/Bohr^2
- Description:
The threshold in Hessian eigenvalue below which a mode is considered imaginary, i.e. indicating a transition state. This is a small negative number, as very small negative eigenvalues may be due to numerical noise on an essentially flat PES and do not indicate true transition states. We need a more flexible value for this parameter in PESExploration because the high computational cost of the task typically forces us to reduce the engine precision, which increases the noise in the vibrational frequencies evaluation. [PESPointCharacter%NegativeEigenvalueTolerance] is overridden by this parameter.
NudgedElasticBand
- Type:
Block
- Description:
Options for the Nudged Elastic Band (NEB) method.
ClimbingImageMethod
- Type:
Bool
- Default value:
Yes
- Description:
Use the climbing image algorithm to drive the highest image to the transition state.
ConvergedForce
- Type:
Float
- Default value:
-1.0
- Unit:
eV/Angstrom
- Description:
Convergence threshold for nuclear gradients. Note: Special value of -1.0 means using the same convergence criterion as the PES explorer’s geometry optimizer.
Images
- Type:
Integer
- Default value:
5
- Description:
Number of NEB images between the two endpoints.
MaxIterations
- Type:
Integer
- Default value:
500
- Description:
Maximum number of NEB iterations.
OldTangent
- Type:
Bool
- Default value:
No
- Description:
Use the old central difference tangent.
Spring
- Type:
Float
- Default value:
5.0
- Unit:
eV/Ang^2
- Description:
Spring force constant.
NumExpeditions
- Type:
Integer
- Default value:
1
- Description:
Sets the number of subsequent expeditions our job will consist of. Larger values result in a more comprehensive exploration of the potential energy surface, but will take more computational time.
NumExplorers
- Type:
Integer
- Default value:
1
- Description:
Sets the number of independent PES explorers dispatched as part of each expedition. Larger values will result in a more comprehensive exploration of the potential energy surface, but will take more computational time. By default an appropriate number of explorers are executed in parallel.
OptTSMethod
- Type:
Multiple Choice
- Default value:
SaddleSearch
- Options:
[SaddleSearch, NudgedElasticBand]
- Description:
When the full set of states in the energy landscape are optimized (see PESExploration%Job = GeometryOptimization), transition states can be optimized using either SaddleSearch or NudgedElasticBand methods. SaddleSearch uses information only from the current geometry of the TS; contrary, NudgedElasticBand ignores the current geometry and runs a Nudged-Elastic-Band calculation trying to connect the associated reactants and products if they are available.
Optimizer
- Type:
Block
- Description:
Configures the details of the geometry optimizers used by the PES explorers.
ConvergedForce
- Type:
Float
- Default value:
0.005
- Unit:
eV/Angstrom
- Description:
Convergence threshold for nuclear gradients.
MaxIterations
- Type:
Integer
- Default value:
400
- Description:
Maximum number of iterations allowed for optimizations.
Method
- Type:
Multiple Choice
- Default value:
CG
- Options:
[CG, QM, LBFGS, FIRE, SD]
- Description:
Select the method for geometry optimizations.
Parallel
- Type:
Block
- Description:
Options for double parallelization, which 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
- GUI name:
Cores per group
- Description:
Number of cores in each working group.
nGroups
- Type:
Integer
- GUI name:
Number of groups
- Description:
Total number of processor groups. This is the number of tasks that will be executed in parallel.
nNodesPerGroup
- Type:
Integer
- GUI name:
Nodes per group
- 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.
ParallelReplica
- Type:
Block
- Description:
???.
DephaseLoopMax
- Type:
Integer
- Default value:
5
- Description:
???.
DephaseLoopStop
- Type:
Bool
- Default value:
No
- Description:
???.
DephaseTime
- Type:
Float
- Default value:
1000.0
- Description:
???.
PostTransitionTime
- Type:
Float
- Default value:
1000.0
- Description:
???.
RefineTransition
- Type:
Bool
- Default value:
Yes
- Description:
???.
StateCheckInterval
- Type:
Float
- Default value:
1000.0
- Description:
???.
StateSaveInterval
- Type:
Float
- Default value:
-1.0
- Description:
???.
StopAfterTransition
- Type:
Bool
- Default value:
No
- Description:
???.
Prefactor
- Type:
Block
- Description:
???.
Rate
- Type:
Multiple Choice
- Default value:
HTST
- Options:
[HTST, QQHTST, None]
- Description:
Calculates reaction rate pre-exponential factors via: HTST (Harmonic Transition State Theory), QQHTST (quasi-quantum HTST), or None (disable calculation).
ProcessSearch
- Type:
Block
- Description:
Input options specific to the process search procedure.
MinimizationOffset
- Type:
Float
- Default value:
0.2
- Description:
After a saddle is found, images are placed on either side of the saddle along the mode and minimized to ensure that the saddle is connected to the original minimum and to locate the product state. MinimizationOffset is the distance those images are displaced from the saddle.
RandomSeed
- Type:
Integer
- Description:
Number used to initialize both the EON clients random number generators as well as the AMS global RNG. The latter is normally initialized with the RNGSeed keyword at the root level. Should be used by developers only. May or may not help to make more reproducible regression tests …
SaddleSearch
- Type:
Block
- Description:
Configuration for the Saddle Search procedure (used in SaddleSearch and ProcessSearch Jobs).
ConvergedForce
- Type:
Float
- Default value:
-1.0
- Unit:
eV/Angstrom
- Description:
Convergence threshold for nuclear gradients. Note: Special value of -1.0 means using the same convergence criterion as the PES explorer’s geometry optimizer.
DisplaceAlongNormalModesActiveModes
- Type:
String
- Default value:
- GUI name:
Displace active modes
- Description:
Sets the active modes to be used when the option [SaddleSearch%DisplaceAlongNormalModesWeight] is enabled. e.g. 1,2,3,5. By default, all normal modes are considered active.
DisplaceAlongNormalModesWeight
- Type:
Float
- Default value:
0.0
- GUI name:
Displace modes weight
- Description:
The probability of generating a displacement resulting in a random linear combination of the normal modes specified in [SaddleSearch%DisplaceAlongNormalModesActiveModes]. This parameter is a numeric value that should fall within the interval [0.0, 1.0].
DisplaceAtomsInRegion
- Type:
String
- Default value:
- Description:
A string corresponding to the name of a region. When performing the initial random displacement, only displace atoms in the specified region.
DisplaceAtomsInRegionWeight
- Type:
Float
- Default value:
0.0
- Description:
The probability of generating a displacement involving only atoms from the region specified in [SaddleSearch%DisplaceAtomsInRegion]. This parameter is a numeric value that should fall within the interval [0.0, 1.0].
DisplaceListedAtoms
- Type:
String
- Default value:
- Description:
Sets the active atoms to be used when the option [SaddleSearch%DisplaceAlongNormalModesWeight] is enabled. e.g. 1,2,3,5. By default, all normal modes are considered active.
DisplaceListedTypes
- Type:
String
- Default value:
- Description:
???.
DisplaceMagnitude
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
The standard deviation of the Gaussian displacement in each degree of freedom for the selected atoms.
DisplaceRadius
- Type:
Float
- Default value:
4.0
- Unit:
Angstrom
- Description:
Atoms within this distance of the epicenter will be displaced.
MaxEnergy
- Type:
Float
- Default value:
20.0
- Unit:
eV
- Description:
The energy (relative to the starting point of the saddle search) at which a saddle search explorer considers the search bad and terminates it.
MaxIterations
- Type:
Integer
- Default value:
400
- Description:
Maximum number of iterations for each saddle search run.
MinEnergyBarrier
- Type:
Float
- Default value:
0.001
- Unit:
eV
- Description:
Minimum energy barrier to accept a new transition state.
MinModeMethod
- Type:
Multiple Choice
- Default value:
dimer
- Options:
[dimer, lanczos]
- Description:
The minimum-mode following method to use.
RelaxFromSaddlePoint
- Type:
Bool
- Default value:
No
- Description:
Relaxes the saddle point geometries following the imaginary mode to get both reactants and products.
ZeroModeAbortCurvature
- Type:
Float
- Default value:
0.01
- Unit:
eV/Angstrom^2
- Description:
The threshold in the frequency below which the minimum mode is considered zero. The calculation is aborted if the negative mode becomes zero.
SelectedListedAtomsForPESPointCharacter
- Type:
String
- Default value:
- GUI name:
PESPoint character for atoms
- Description:
Uses the Hessian matrix elements only for the listed atoms to determine the PES point character of a located state during the exploration. If not specified, the full Hessian is used.
SelectedRegionForPESPointCharacter
- Type:
String
- Default value:
- GUI name:
PESPoint character for region
- Description:
Uses the Hessian matrix elements only for the atoms in a particular region to determine the PES point character of a located state during the exploration. If not specified, the full Hessian is used.
StatesAlignment
- Type:
Block
- Description:
Configures details of how the energy landscape configurations are aligned respect to the main chemical system [System].
DistanceDifference
- Type:
Float
- Default value:
-1.0
- Unit:
Angstrom
- Description:
If the distance between two mapped atoms is larger than this threshold, the configuration is considered not aligned. If not specified, its value will set equal to [PESExploration%StructureComparison%DistanceDifference]
ReferenceRegion
- Type:
String
- Default value:
- Description:
Defines the region that is considered as the reference for alignments. Atoms outside this region are ignored in the alignments.
StructureComparison
- Type:
Block
- Description:
Settings for structure comparison.
CheckRotation
- Type:
Bool
- Description:
Rotates the system optimally before comparing structures. The default is to do this only for molecular systems when there are no fixed atom constraints.
CheckSymmetry
- Type:
Bool
- Default value:
No
- Description:
Considers that two systems are equal if they are equivalent by symmetry.
DistanceDifference
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
If the distance between two mapped atoms is larger than this threshold, the two configurations are considered different structures.
EnergyDifference
- Type:
Float
- Default value:
0.01
- Unit:
eV
- Description:
If the energy difference between two configurations is larger than this threshold, the two configurations are considered to be different structures.
IndistinguishableAtoms
- Type:
Bool
- Default value:
Yes
- Description:
If yes, the order of the atoms does not affect the structural comparison. Atoms of the same element are then indistinguishable.
NeighborCutoff
- Type:
Float
- Default value:
3.3
- Unit:
Angstrom
- Description:
Atoms within this distance of each other are considered neighbors.
RemoveTranslation
- Type:
Bool
- Description:
Translates the system optimally before comparing structures. The default is to do this only when there are no fixed atom constraints.
Temperature
- Type:
Float
- Default value:
300.0
- Unit:
Kelvin
- Description:
The temperature that the job will run at. This may be used in different ways depending on the job, e.g. acceptance probabilities for Monte-Carlo based jobs, thermostatting for dynamics based jobs, kinetic prefactors for jobs that find transition states. Some jobs may not use this temperature at all.
WriteEngineGradients
- Type:
Bool
- Default value:
No
- Description:
Write atomic gradients (negative of the atomic forces, as calculated by the engine) to the History section of ams.rkf.
WriteHistory
- Type:
Multiple Choice
- Default value:
Converged
- Options:
[None, Converged, All]
- Description:
When to write the molecular geometry (and possibly other properties) to the history on the ams.rkf file. The default is to only write the converged geometries to the history. Can be changed to write no frames at all to the history, or write all frames (should only be used when testing because of the performance impact). Note that for parallel calculations, only the first group of processes writes to ams.rkf.
PESPointCharacter
- Type:
Block
- Description:
Options for the characterization of PES points.
Displacement
- Type:
Float
- Default value:
0.04
- Description:
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.
NegativeEigenvalueTolerance
- Type:
Float
- Default value:
-0.0001
- Unit:
Hartree/Bohr^2
- Description:
The threshold in Hessian eigenvalue below which a mode is considered imaginary, i.e. indicating a transition state. This is a small negative number, as very small negative eigenvalues may be due to numerical noise on an essentially flat PES and do not indicate true transition states.
NumberOfModes
- Type:
Integer
- Default value:
2
- Description:
The number of (lowest) eigenvalues that should be checked.
Tolerance
- Type:
Float
- Default value:
0.016
- Description:
Convergence tolerance for residual in iterative Davidson diagonalization.
PESScan
- Type:
Block
- Description:
Configures the details of the potential energy surface scanning task.
CalcPropertiesAtPESPoints
- Type:
Bool
- Default value:
No
- 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:
Yes
- Description:
After the initial pass over the PES, restart the unconverged points from converged neighboring 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. Note that there can be only one ScanCoordinate containing a lattice scan in any PES scan job.
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.
CellVolumeRange
- Type:
Float List
- Unit:
Angstrom^3
- Description:
Two numbers for the initial and final cell volume. The cell is scaled isotropically between these values. Can not be used together with any other coordinate within the same ScanCoordinate block.
CellVolumeScalingRange
- Type:
Float List
- Description:
Two scaling factors for the initial and final cell volume. A value of ‘0.9 1.1’ would result in an isotropic scaling between 90% and 110% of the cell volume of the input system. Can not be used together with any other coordinate within the same ScanCoordinate block.
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.
DifDist
- Type:
String
- Recurring:
True
- Description:
Scan the difference distance between two pairs of atoms, R(12)-R(34). Four atom indices followed by two real numbers delimiting the transit range in Angstrom.
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.
FromLattice
- Type:
Non-standard block
- Description:
Up to three lattice vectors to start the scan at. Has to be used in combination with the ToLattice keyword and no other coordinate within the same ScanCoordinate block. Unit can be specified in the header. Default unit is Angstrom.
FromStrainVoigt
- Type:
Float List
- Description:
The elements of the initial lattice strain 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. Has to be used in combination with the ToStrainVoigt keyword and no other coordinate within the same ScanCoordinate block.
LatticeARange
- Type:
Float List
- Unit:
Angstrom
- Description:
Scans the length of the first lattice vector. Can be combined with the LatticeBRange and LatticeCRange keywords, but no other coordinates within the same ScanCoordinate.
LatticeBRange
- Type:
Float List
- Unit:
Angstrom
- Description:
Scans the length of the second lattice vector. Can be combined with the LatticeARange and LatticeCRange keyword, but no other coordinates within the same ScanCoordinate..
LatticeCRange
- Type:
Float List
- Unit:
Angstrom
- Description:
Scans the length of the third lattice vector. Can be combined with the LatticeARange and LatticeBRange keyword, but no other coordinates within the same ScanCoordinate..
SumDist
- Type:
String
- Recurring:
True
- Description:
Scan the sum of distances between two pairs of atoms, R(12)+R(34). Four atom indices followed by two real numbers delimiting the transit range in Angstrom.
ToLattice
- Type:
Non-standard block
- Description:
Up to three lattice vectors to end the scan at. Unit can be specified in the header. Default unit is Angstrom.
ToStrainVoigt
- Type:
Float List
- Description:
The elements of the final lattice strain 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.
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).
BondOrders
- Type:
Bool
- Default value:
No
- Description:
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. For engines that do not have a bond order analysis method, a bond guessing algorithm will be used. See also the input options in the BondOrders block.
Charges
- Type:
Bool
- Default value:
No
- Description:
Requests the engine to calculate the atomic charges.
DipoleGradients
- Type:
Bool
- Default value:
No
- Description:
Requests the engine to calculate the nuclear gradients of the electric dipole moment of the molecule. This can only be requested for non-periodic systems.
DipoleMoment
- Type:
Bool
- Default value:
No
- Description:
Requests the engine to calculate the electric dipole moment of the molecule. This can only be requested for non-periodic systems.
ElasticTensor
- Type:
Bool
- Default value:
No
- Description:
Calculate the elastic tensor.
GSES
- Type:
Bool
- Default value:
No
- Description:
Requests the engine to calculate the gradients of ground to excited state properties.
Gradients
- Type:
Bool
- Default value:
No
- GUI name:
Nuclear gradients
- Description:
Calculate the nuclear gradients.
Hessian
- Type:
Bool
- Default value:
No
- Description:
Whether or not to calculate the Hessian.
Molecules
- Type:
Bool
- Default value:
No
- Description:
Requests an analysis of the molecular components of a system, based on the bond orders calculated by the engine.
NormalModes
- Type:
Bool
- Default value:
No
- GUI name:
Frequencies
- Description:
Calculate the frequencies and normal modes of vibration, and for molecules also the corresponding IR intensities if the engine supports the calculation of dipole moments.
OrbitalsInfo
- Type:
Bool
- Default value:
No
- Description:
Basic molecular orbitals information: orbital energies, occupations, HOMO, LUMO and HOMO-LUMO gap.
Other
- Type:
Bool
- Default value:
Yes
- Description:
Other (engine specific) properties. Details are configured in the engine block.
PESPointCharacter
- Type:
Bool
- Default value:
No
- GUI name:
Characterize PES point
- Description:
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
- Default value:
No
- Description:
Calculate the phonons (for periodic systems).
Polarizability
- Type:
Bool
- Default value:
No
- Description:
Requests the engine to calculate the polarizability tensor of the system.
Raman
- Type:
Bool
- Default value:
No
- Description:
Requests calculation of Raman intensities for vibrational normal modes.
SelectedRegionForHessian
- Type:
String
- GUI name:
Hessian only for
- Description:
Compute the Hessian matrix elements only for the atoms in a particular region. If not specified, the Hessian will be computed for all atoms.
StressTensor
- Type:
Bool
- Default value:
No
- GUI name:
Stress tensor
- Description:
Calculate the stress tensor.
VCD
- Type:
Bool
- Default value:
No
- Description:
Requests calculation of VCD for vibrational normal modes.
VROA
- Type:
Bool
- Default value:
No
- Description:
Requests calculation of VROA for vibrational normal modes.
Raman
- Type:
Block
- Description:
Configures details of the Raman or VROA calculation.
FreqRange
- Type:
Float List
- Unit:
cm-1
- Recurring:
True
- GUI name:
Frequency range
- Description:
Specifies a frequency range within which all modes will be scanned. 2 numbers: an upper and a lower bound.
IncidentFrequency
- Type:
Float
- Default value:
0.0
- Unit:
eV
- Description:
Frequency of incident light.
LifeTime
- Type:
Float
- Default value:
0.0
- Unit:
hartree
- Description:
Specify the resonance peak width (damping) in Hartree units. Typically the lifetime of the excited states is approximated with a common phenomenological damping parameter. Values are best obtained by fitting absorption data for the molecule, however, the values do not vary a lot between similar molecules, so it is not hard to estimate values. A typical value is 0.004 Hartree.
Replay
- Type:
Block
- Description:
Configures the details of the Replay task.
File
- Type:
String
- GUI name:
Restart from
- Description:
Provide an ams.rkf file (or a .results folder) from a previously run job to replay. The file needs to contain a History section.
Frames
- Type:
Integer List
- Description:
List of frames from the History section to recompute.
If not specified the recomputed frames are determined automatically based on the task of the job that is being replayed: PES scans and NEB calculations will only have the converged points replayed, while all other tasks will have all frames recomputed.
Specifying the frames to recompute in the input is probably only useful when replaying trajectories from MolecularDynamics calculations.
StoreAllResultFiles
- Type:
Bool
- Default value:
No
- Description:
If this option is enabled AMS will produce a separate engine output file for every replayed frame.
While basic properties like energy, gradients, stress tensor, etc. are stored anyway on the History section in the AMS driver output file (if they were requested in the Properties block), engine specific properties (e.g. excitations energies from ADF) will only be available if the full result files are stored.
Restraints
- Type:
Block
- Description:
The Restraints block allows to add soft constraints to the system. A restraint is a potential energy function (a spring) attached to a certain coordinate, for example, an interatomic distance, with its minimum at the specified optimal value. A restraint is defined using one or two parameters: the ForceConstant and, for some types, the F(Inf) value. The ForceConstant parameter corresponds to second derivative of the restraint potential energy d2V(x)/dx^2 for any x (harmonic restraints) or only at at x=0 (other restraints). Here, x is a deviation from the restraint’s optimal value.
Angle
- Type:
String
- Recurring:
True
- Description:
Specify three atom indices i j k followed by an angle in degrees and, optionally, by the ForceConstant (default is 0.3 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the i-j-k angle at the given value. For periodic systems this restraint follows the minimum image convention.
DifDist
- Type:
String
- Recurring:
True
- Description:
Specify four atom indices i j k l followed by the distance in Angstrom and, optionally, by the ForceConstant (default is 1.0 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the difference R(ij)-R(kl) at the given value. For periodic systems this restraint follows the minimum image convention.
Dihedral
- Type:
String
- Recurring:
True
- Description:
Specify four atom indices i j k l followed by an angle in degrees and, optionally, by the ForceConstant (default is 0.1 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the i-j-k-l dihedral angle at the given value. For periodic systems this restraint follows the minimum image convention.
Distance
- Type:
String
- Recurring:
True
- Description:
Specify two atom indices followed by the distance in Angstrom and, optionally, by the ForceConstant (default is 1.0 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the distance between the two specified atoms at the given value. For periodic systems this restraint follows the minimum image convention.
FInfinity
- Type:
Float
- Default value:
1.0
- GUI name:
Default F(inf)
- Description:
Specify the default asymptotic value for the restraint force for the Hyperbolic and Erf profiles, in Hartree/Bohr or Hartree/radian.
A per-restraint value can be specified after the profile type on the corresponding restraint line.
Profile
- Type:
Multiple Choice
- Default value:
Harmonic
- Options:
[Harmonic, Hyperbolic, Erf, GaussianWell]
- GUI name:
Default restraint profile
- Description:
Select the default type of restraint profile.
The harmonic profile is most suitable for geometry optimizations but may result is very large forces that can be problematic in molecular dynamic.
For MD simulations the Hyperbolic or Erf may be more suitable because the restraint force is bounded by a user-defined value.
A per-restraint profile type can be specified after the ForceConstant value on the corresponding restraint line.
SumDist
- Type:
String
- Recurring:
True
- Description:
Specify four atom indices i j k l followed by the distance in Angstrom and, optionally, by the ForceConstant (default is 1.0 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the sum R(ij)+R(kl) at the given value. For periodic systems this restraint follows the minimum image convention.
Units
- Type:
Multiple Choice
- Default value:
Default
- Options:
[Default, MD]
- GUI name:
Units
- Description:
Change units for energy, force and force constant values from the default (atomic units) to those often used in the MD community (based on kcal/mol and Angstrom). Units for the optimal distances are not affected and are always Angstrom.
RigidMotions
- Type:
Block
- Description:
Specify which rigid motions of the total system are allowed. An external field is not considered part of the system. Normally the automatic option is doing what you want. However this feature can be used as a means of geometry constraint.
AllowRotations
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, None, All, X, Y, Z, XY, XZ, YZ]
- Description:
Which overall rotations of the system are allowed
AllowTranslations
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, None, All, X, Y, Z, XY, XZ, YZ]
- Description:
Which overall transitions of the system are allowed
Tolerance
- Type:
Float
- Default value:
1e-06
- Description:
Tolerance for detecting linear molecules. A large value means larger deviation from linearity is permitted.
RNGSeed
- Type:
Integer List
- Description:
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
- Description:
Technical settings for programs using the AMT matrix system. Currently this is only used by DFTB
DistributedMatrix
- Type:
Block
- Description:
Technical settings for Distributed matrices
ColBlockSize
- Type:
Integer
- Default value:
64
- Description:
See comment of RowBlockSize.
RowBlockSize
- Type:
Integer
- Default value:
64
- Description:
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
- Default value:
Elpa
- Options:
[Auto, Reference, ScaLapack, Elpa]
- Description:
Determines which implementation is used to support the AbstractMatrixType.
Symmetry
- Type:
Block
- Description:
Specifying details about the details of symmetry detection and usage.
SymmetrizeTolerance
- Type:
Float
- Default value:
0.05
- Description:
Tolerance used to detect symmetry in case symmetrize is requested.
Tolerance
- Type:
Float
- Default value:
1e-07
- Description:
Tolerance used to detect symmetry in the system.
System
- Type:
Block
- Recurring:
True
- Description:
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.
AllowCloseAtoms
- Type:
Bool
- Default value:
No
- Description:
If AllowCloseAtoms is set to False, the AMS driver will stop with an error if it detects almost-coinciding atomic coordinates. If set to True, the AMS driver will try to carry on with the calculation.
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. Each line should contain two atom indices, followed by the bond order (1, 1.5, 2, 3 for single, aromatic, double and triple bonds) and (optionally) the cell shifts for periodic systems. May be used by MM engines and for defining constraints. If the system is periodic and none of the bonds have the cell shift defined then AMS will attempt to determine them following the minimum image convention.
Charge
- Type:
Float
- Default value:
0.0
- GUI name:
Total charge
- Description:
The system’s total charge in atomic units.
ElectrostaticEmbedding
- Type:
Block
- Description:
Container for electrostatic embedding options, which can be combined.
ElectricField
- Type:
Float List
- Unit:
V/Angstrom
- Description:
External homogeneous electric field with three Cartesian components: ex, ey, ez, the default unit being V/Å.
In atomic units: Hartree/(e bohr) = 51.422 V/Angstrom; the relation to SI units is: 1 Hartree/(e bohr) = 5.14 … e11 V/m.
Supported by the engines adf, band, dftb and mopac.
For periodic systems the field may only have nonzero components orthogonal to the direction(s) of periodicity (i.e. for 1D periodic system the x-component of the electric field should be zero, while for 2D periodic systems both the x and y components should be zero. This options cannot be used for 3D periodic systems.
MultipolePotential
- Type:
Block
- Description:
External point charges (and dipoles).
ChargeModel
- Type:
Multiple Choice
- Default value:
Point
- Options:
[Point, Gaussian]
- Description:
A multipole may be represented by a point (with a singular potential at its location) or by a spherical Gaussian distribution.
ChargeWidth
- Type:
Float
- Default value:
-1.0
- Description:
The width parameter in a.u. in case a Gaussian charge model is chosen. A negative value means that the width will be chosen automatically.
Coordinates
- Type:
Non-standard block
- Description:
Positions and values of the multipoles, one per line. Each line has the following format:
x y z q, or
x y z q µx µy µz.
Here x, y, z are the coordinates in Å, q is the charge (in atomic units of charge) and µx, µy, µz are the (optional) dipole moment components (in atomic units, i.e. e*Bohr).
Periodic systems are not supported.
FractionalCoords
- Type:
Bool
- Default value:
No
- 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 the geometry from a file (instead of from Atoms and Lattice blocks). Supported formats: .xyz
GuessBonds
- Type:
Bool
- Default value:
No
- Description:
Whether or not UFF bonds should be guessed.
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.
LoadForceFieldAtomTypes
- Type:
Block
- Description:
This is a mechanism to set the ForceField.Type attribute in the input. This information is currently only used by the ForceField engine.
File
- Type:
String
- Description:
Name of the (kf) file. It needs to be the result of a forcefield calculation.
LoadForceFieldCharges
- Type:
Block
- Recurring:
True
- Description:
This is a mechanism to set the ForceField.Charge attribute in the input. This information is currently only used by the ForceField engine.
CheckGeometryRMSD
- Type:
Bool
- Default value:
No
- Description:
Whether the geometry RMSD test should be performed, see MaxGeometryRMSD. Otherwise only basic tests are performed, such as number and atom types. Not doing the RMSD test allows you to load molecular charges in a periodic system.
File
- Type:
String
- Description:
Name of the (kf) file
MaxGeometryRMSD
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
The geometry of the charge producing calculation is compared to the one of the region, and need to be the same within this tolerance.
Region
- Type:
String
- Default value:
*
- Description:
Region for which the charges should be loaded
Section
- Type:
String
- Default value:
AMSResults
- Description:
Section name of the kf file
Variable
- Type:
String
- Default value:
Charges
- Description:
Variable name of the kf file
MapAtomsToUnitCell
- Type:
Bool
- Default value:
No
- Description:
For periodic systems the atoms will be moved to the central cell.
ModifyAlternativeElements
- Type:
Bool
- Default value:
No
- Description:
When using alternative elements (using the nuclear_charge attribute) set the element to the nearest integer Z. If you specify an H atom with a nuclear_charge of 2.9 it is replaced by a Li atom with the same nuclear charge.
PerturbCoordinates
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
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
- Default value:
0.0
- Description:
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.
RandomizeAtomOrder
- Type:
Bool
- Default value:
No
- Description:
Whether or not the order of the atoms should be randomly changed. Intended for some technical testing purposes only. Does not work with bond information.
Region
- Type:
Block
- Recurring:
True
- Description:
Properties for each region specified in the Atoms block.
Properties
- Type:
Non-standard block
- Description:
Properties for each region specified in the Atoms block.
ShiftCoordinates
- Type:
Float List
- Unit:
Bohr
- Description:
Translate the atoms by the specified shift (three numbers).
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).
SuperCellTrafo
- Type:
Integer List
- Description:
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)).
Symmetrize
- Type:
Bool
- Default value:
No
- Description:
Whether to symmetrize the input structure. This might also rototranslate the structure into a standard orientation. This will symmetrize the atomic coordinates to machine precision. Useful if the system is almost symmetric or to rototranslate a symmetric molecule into a standard orientation.
Symmetry
- Type:
Multiple Choice
- Default value:
AUTO
- Options:
[AUTO, NOSYM, C(LIN), D(LIN), C(I), C(S), C(2), C(3), C(4), C(5), C(6), C(7), C(8), C(2V), C(3V), C(4V), C(5V), C(6V), C(7V), C(8V), C(2H), C(3H), C(4H), C(5H), C(6H), C(7H), C(8H), D(2), D(3), D(4), D(5), D(6), D(7), D(8), D(2D), D(3D), D(4D), D(5D), D(6D), D(7D), D(8D), D(2H), D(3H), D(4H), D(5H), D(6H), D(7H), D(8H), I, I(H), O, O(H), T, T(D), T(H), S(4), S(6), S(8)]
- Description:
Use (sub)symmetry with this Schoenflies symbol. Can only be used for molecules. Orientation should be correct for the (sub)symmetry. If used icw Symmetrize, the symmetrization will not reorient the molecule.
Task
- Type:
Multiple Choice
- Options:
[GCMC, GeometryOptimization, IRC, MolecularDynamics, NEB, PESExploration, PESScan, Replay, SinglePoint, TransitionStateSearch, VibrationalAnalysis]
- Description:
Specify the computational task to perform:
Single Point: keep geometry as is
Geometry Optimization: minimize energy
Transition State: search for a transition state
IRC: intrinsic reaction coordinate
PES Scan: scan the potential energy surface
NEB: Nudged elastic band for reaction path optimization
Vibrational Analysis: perform one of the analysis types selected on the options page
Molecular Dynamics: perform MD simulation
GCMC: Grand Canonical Monte Carlo simulation
PES Exploration: automated potential energy surface exploration
Replay: recompute frames from the trajectory of a previously run job
Thermo
- Type:
Block
- Description:
Options for thermodynamic properties (assuming an ideal gas). The properties are computed for all specified temperatures.
LowFrequencyCorrector
- Type:
Block
- Description:
Options for the dampener-powered free rotor interpolator that corrects thermodynamic quantities for low frequencies. See DOI:10.1021/jp509921r and DOI:10.1002/chem.201200497.
Alpha
- Type:
Float
- Default value:
4.0
- Description:
The exponent term used in the dampener.
Frequency
- Type:
Float
- Default value:
100.0
- Unit:
cm-1
- Description:
The frequency around which the dampener interpolates between harmonic oscillator and free rotor quantities.
MomentOfInertia
- Type:
Float
- Default value:
1e-44
- Unit:
kg m^2
- GUI name:
Averaging Moment of Inertia
- Description:
The moment of inertia used to restrict entropy results for very small frequencies (generally around less than 1 cm-1).
Pressure
- Type:
Float
- Default value:
1.0
- Unit:
atm
- Description:
The pressure at which the thermodynamic properties are computed.
Temperatures
- Type:
Float List
- Default value:
[298.15]
- Unit:
Kelvin
- Value Range:
value >= 0
- Description:
List of temperatures at which the thermodynamic properties will be calculated.
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).
ReactionCoordinate
- Type:
Block
- Description:
Specify components of the transition state reaction coordinate (TSRC) as a linear combination of internal coordinates (distances or angles).
Angle
- Type:
String
- Recurring:
True
- Description:
The TSRC contains the valence angle between the given atoms. Three atom indices followed by the weight.
Block
- Type:
String
- Recurring:
True
- Description:
Name of the region. Only atoms of the region will be included in the TSRC. It is useful when computing the reaction coordinate from the initial Hessian, in which case only part of the Hessian will be analyzed.
BlockAtoms
- Type:
Integer List
- Value Range:
value > 0
- Recurring:
True
- Description:
List of atom indices. Only the listed atoms will be included in the TSRC. It is useful when computing the reaction coordinate from the initial Hessian, in which case only part of the Hessian will be analyzed.
Coordinate
- Type:
String
- Recurring:
True
- Description:
The TSRC contains Cartesian displacement of an atom: atom index followed by [x|y|z] and the weight.
Dihedral
- Type:
String
- Recurring:
True
- Description:
The TSRC contains the dihedral angle between the given atoms. Four atom indices followed by the weight.
Distance
- Type:
String
- Recurring:
True
- Description:
The TSRC contains the distance between the given atoms. Two atom indices followed by the weight.
UseSymmetry
- Type:
Bool
- Default value:
Yes
- Description:
Whether to use the system’s symmetry in AMS. Symmetry is recognized within a tolerance as given in the Symmetry key.
VibrationalAnalysis
- Type:
Block
- Description:
Input data for all vibrational analysis utilities in the AMS driver.
AbsorptionSpectrum
- Type:
Block
- Description:
Settings related to the integration of the spectrum for vibronic tasks.
AbsorptionRange
- Type:
Float List
- Default value:
[-200.0, 4000.0]
- Unit:
cm-1
- Recurring:
True
- Description:
Specifies frequency range of the vibronic absorption spectrum to compute. 2 numbers: an upper and a lower bound.
FrequencyGridPoints
- Type:
Integer
- Default value:
400
- Description:
Number of grid points to use for the spectrum
LineWidth
- Type:
Float
- Default value:
200.0
- Unit:
cm-1
- Description:
Lorentzian line-width.
SpectrumOffset
- Type:
Multiple Choice
- Default value:
relative
- Options:
[absolute, relative]
- Description:
Specifies whether provided frequency range are absolute frequencies or frequencies relative to computed 0-0 excitation energy.
Displacement
- Type:
Float
- Unit:
Bohr
- Description:
Step size for finite difference calculations.
ExcitationSettings
- Type:
Block
- Description:
Block that contains settings related to the excitation for vibronic tasks.
EnergyInline
- Type:
Float
- Unit:
hartree
- Description:
Vertical excitation energy, used when [ExcitationInfo] = [Inline].
ExcitationFile
- Type:
String
- Description:
Path to a .rkf/.t21 file containing the excited state information (gradients, transition dipoles and energies).
ExcitationInputFormat
- Type:
Multiple Choice
- Default value:
File
- Options:
[File, Inline]
- Description:
Select how the application should retrieve the excited state information (energy, gradient).
GradientInline
- Type:
Non-standard block
- Description:
Excited state gradient at ground state equilibrium geometry, used when [ExcitationInfo] = [Inline].
Singlet
- Type:
Non-standard block
- Description:
Symmetry labels + integer indices of desired singlet transitions (VG-FC absorption spectra support only 1 at a time)
Triplet
- Type:
Non-standard block
- Description:
Symmetry labels + integer indices of desired triplet transitions (VG-FC absorption spectra support only 1 at a time)
ModeTracking
- Type:
Block
- Description:
Input data for Mode Tracking.
HessianGuess
- Type:
Multiple Choice
- Default value:
CalculateWithFastEngine
- Options:
[Unit, File, CalculateWithFastEngine]
- GUI name:
Guess Hessian
- Description:
Sets how to obtain the guess for the Hessian used in the preconditioner (if one is to be used).
HessianInline
- Type:
Non-standard block
- Description:
Initial guess for the (non-mass-weighted) Hessian in a 3N x 3N block, used when [HessianGuess] = [Inline].
HessianPath
- Type:
String
- Description:
Path to a .rkf file containing the initial guess for the Hessian, used when [HessianGuess] = [File]. It may also be the name of the results folder containing the engine file.
ToleranceForBasis
- Type:
Float
- Default value:
0.0001
- Description:
Convergence tolerance for the contribution of the newest basis vector to the tracked mode.
ToleranceForNorm
- Type:
Float
- Default value:
0.0005
- Description:
Convergence tolerance for residual RMS value.
ToleranceForResidual
- Type:
Float
- Default value:
0.0005
- Description:
Convergence tolerance for the maximum component of the residual vector.
ToleranceForSpectrum
- Type:
Float
- Default value:
0.01
- Description:
Convergence tolerance for the spectrum in Vibronic Structure Tracking.
TrackingMethod
- Type:
Multiple Choice
- Default value:
OverlapInitial
- Options:
[OverlapInitial, DifferenceInitial, FreqInitial, IRInitial, OverlapPrevious, DifferencePrevious, FreqPrevious, IRPrevious, HighestFreq, HighestIR, LowestFreq, LowestResidual]
- Description:
Set the tracking method that will be used. Vibronic Structure Tracking uses Largest Displacement.
UpdateMethod
- Type:
Multiple Choice
- Options:
[JD, D, I]
- Description:
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
- Description:
All input related to processing of normal modes. Not available for vibronic structure tracking (as no modes are required there).
MassWeightInlineMode
- Type:
Bool
- Default value:
Yes
- Description:
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
- Description:
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
- Recurring:
True
- Description:
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
- Default value:
File
- Options:
[File, Inline, Hessian]
- GUI name:
Tracked mode source
- Description:
Set how the initial guesses for the modes are supplied. Only mode tracking supports the Inline and Hessian options.
ModeSelect
- Type:
Block
- Description:
Pick which modes to read from file.
DisplacementBound
- Type:
Float
- Description:
Vibronic Structure (Refinement), Resonance Raman: Select all modes with a dimensionless oscillator displacement greater than the specified value.
FreqAndIRRange
- Type:
Float List
- Recurring:
True
- Description:
Specifies a combined frequency and IR intensity range within which all modes will be selected. First 2 numbers are the frequency range in cm-1, last 2 numbers are the IR intensity range in km/mol.
FreqRange
- Type:
Float List
- Unit:
cm-1
- Recurring:
True
- Description:
Specifies a frequency range within which all modes will be selected. 2 numbers: an upper and a lower bound. Calculating all modes higher than some frequency can be achieved by making the upper bound very large.
Full
- Type:
Bool
- Default value:
No
- GUI name:
All modes
- Description:
Select all modes. This only make sense for Mode Scanning calculations.
HighFreq
- Type:
Integer
- GUI name:
# High frequencies
- Description:
Select the N modes with the highest frequencies.
HighIR
- Type:
Integer
- GUI name:
# High IR
- Description:
Select the N modes with the largest IR intensities.
IRRange
- Type:
Float List
- Unit:
km/mol
- Recurring:
True
- Description:
Specifies an IR intensity range within which all modes will be selected. 2 numbers: an upper and a lower bound.
ImFreq
- Type:
Bool
- Default value:
No
- GUI name:
All imaginary frequencies
- Description:
Select all modes with imaginary frequencies.
LargestDisplacement
- Type:
Integer
- Description:
Vibronic Structure (Refinement), Resonance Raman: Select the N modes with the largest VG-FC displacement.
LowFreq
- Type:
Integer
- GUI name:
# Low frequencies
- Description:
Select the N modes with the lowest frequencies. Includes imaginary modes which are recorded with negative frequencies.
LowFreqNoIm
- Type:
Integer
- GUI name:
# Low positive frequencies
- Description:
Select the N modes with the lowest non-negative frequencies. Imaginary modes have negative frequencies and are thus omitted here.
LowIR
- Type:
Integer
- GUI name:
# Low IR
- Description:
Select the N modes with the smallest IR intensities.
ModeNumber
- Type:
Integer List
- GUI name:
Mode numbers
- Description:
Indices of the modes to select.
ScanModes
- Type:
Bool
- Default value:
No
- GUI name:
Scan after refining
- Description:
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
- Description:
Block that contains settings for the calculation of Resonance Raman calculations
IncidentFrequency
- Type:
Float
- Unit:
cm-1
- Description:
Frequency of incident light. Also used to determine most important excitation in case more than one is provided.
LifeTime
- Type:
Float
- Default value:
0.00045
- Unit:
hartree
- Description:
Lifetime of Raman excited state.
RamanOrder
- Type:
Integer
- Default value:
2
- Description:
Order up to which to compute Raman transitions
RamanRange
- Type:
Float List
- Default value:
[0.0, 2000.0]
- Unit:
cm-1
- Recurring:
True
- Description:
Specifies frequency range of the Raman spectrum to compute. 2 numbers: an upper and a lower bound.
Type
- Type:
Multiple Choice
- Options:
[ModeScanning, ModeTracking, ModeRefinement, VibronicStructure, VibronicStructureTracking, VibronicStructureRefinement, ResonanceRaman]
- Description:
Specifies the type of vibrational analysis that should be performed
VSTRestartFile
- Type:
String
- Description:
Path to a .rkf file containing restart information for VST.
analysis¶
AutoCorrelation
- Type:
Block
- Recurring:
True
- Description:
All input related to auto correlation functions.
Atoms
- Type:
Block
- Description:
Relevant if Property is set to Velocities, DipoleMomentFromCharges, DipoleDerivativeFromCharges, or DiffusionCoefficient. Atom numbers or elements for the set of atoms for which the property is read/computed. By default all atoms are used.
Atom
- Type:
Integer
- Recurring:
True
- Description:
Atom number.
Element
- Type:
String
- Recurring:
True
- Description:
Element Symbol Atom.
Region
- Type:
String
- Recurring:
True
- Description:
Region name.
DataReading
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, AtOnce, BlockWise]
- Description:
The KF data can be read in and handled once, or blockwise. The former is memory intensive, but mostly faster. If Auto is selected, the data is read at once if it is less than 1 GB, and blockwise if it is more.
MaxCorrelationTime
- Type:
Float
- Description:
The maximum correlation time in fs. The default is half the simulation time, except when the PressureTensor is read from the ams.rkf, in which case it is 10 percent of the simulation time. The PressureTensor is read when the Properties PressureTensor, Viscosity, or ViscosityFromBinLog are selected.
MaxFrame
- Type:
Integer
- Description:
The maximum number of frames for which the autocorrelation function will be computed. The default is half of the number of provided frames. Determines the same settings as MaxCorrelationTime. If both are set, MaxCorrelationTime will take precedence.
NPointsHighestFreq
- Type:
Integer
- Default value:
4
- Description:
The number of points (timesteps) used for the highest frequency displayed in spectrum. This determines up to which frequency the spectrum is displayed. If the spacing between time-steps used for the ACF is 1 fs, then by default the maximum frequency displayed is 0.25 fs-1 (or 8339 cm-1). This corresponds to a (default) value of NPointsHighestFreq of 4. A higher number selected here, will result in a lower maximum frequency returned by the program. The lowest possible value (spectrum up to highest possible frequency) is 2.
PerElement
- Type:
Bool
- Default value:
No
- Description:
Compute ACF for all elements in the system. Any other settings in the block will be used.
Property
- Type:
Multiple Choice
- Default value:
DipoleDerivativeFromCharges
- Options:
[Velocities, DipoleMomentFromCharges, DiffusionCoefficient, DipoleDerivativeFromCharges, PressureTensor, Viscosity, DipoleMomentFromBinLog, ViscosityFromBinLog]
- Description:
Compute the ACF either from velocities (from rkf), the dipole moment (from coordinates and atomic charges in rkf), the dipole moment derivative (from velocities and atomic charges in rkf), from the pressure tensor (from rkf), or from values specified in input. Selecting DiffusionCoefficient is equivalent to selecting Velocities. The default, DipoleDerivativeFromCharges, results in the computation of an IR spectrum.DipoleMomentFromBinLog and ViscosityFromBinLog allow the relevant properties (dipole moment and pressure tensor respectively) to be read from the BinLog section of the trajectory file. In the BinLog section requested properties are stored every step (even if SamplingFreq was set to a higher number than 1) but only if this was specifically requested at the start of the MD simulation.
UnwrapCoordinates
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, Yes, No]
- Description:
If the coordinates are involved in the requested property, those coordinates are wrapped into the box at each time step. If set to true, this keyword unwraps those coordinates so that the trajectory is continuous. If not provided the code uses automatic defaults.
UseAllValues
- Type:
Bool
- Default value:
No
- Description:
By default the same number of values are used for each t-step in the ACF. This has the advantage that all values in the ACF are equally reliable, but it does mean that for the smaller timesteps much of the data is not used. To switch this off and use all data, UseAllValues can be set to true
UseTimeDerivative
- Type:
Block
- Description:
Possibly use the time derivative of the selected property (e.g. velocity or dipole moments).
Enabled
- Type:
Bool
- Default value:
No
- Description:
Enable the use of the time derivative of the property.
VecElements
- Type:
Block
- Description:
A set of indices referring to a subset of the property vector. Works in combination with the atoms block. For example, in combination with the property Velocities, the Atoms block allows the selection of a subset of atoms, while the VecElelements block allows the selection of a subset of vector elements (e.g. 1 and 2 for the elements x and y).
Index
- Type:
Integer
- Recurring:
True
- Description:
Element of the property vector.
WritePropertyToKF
- Type:
Bool
- Default value:
No
- Description:
Write the selected property to the KF files for every requested frame
AverageBinPlot
- Type:
Block
- Recurring:
True
- Description:
All input related to velocity profile
Atoms
- Type:
Block
- Description:
Relevant if Properties are atom dependent. Atom numbers or elements for the set of atoms for which the property is read/computed. By default all atoms are used.
Atom
- Type:
Integer
- Recurring:
True
- Description:
Atom number.
Element
- Type:
String
- Recurring:
True
- Description:
Element Symbol Atom.
Region
- Type:
String
- Recurring:
True
- Description:
Region name.
Nbins
- Type:
Integer
- Default value:
10
- Description:
Number of bins that are plotted
Property
- Type:
Block
- Description:
Property to be plotted along the Y-axis
Axis
- Type:
Float List
- Description:
If defined the dot_product along this axis will be taken. Otherwise, the length of the property vector will be used.
Name
- Type:
Multiple Choice
- Options:
[FrictionCoefficient, Viscosity, Velocities, EngineGradients]
- Description:
Name of the property
XProperty
- Type:
Block
- Description:
Property to be plotted along the Y-axis
Name
- Type:
Multiple Choice
- Default value:
Time
- Options:
[Time, Coords]
- Description:
Timestep used for the plotting
VecElements
- Type:
Block
- Description:
A set of indices referring to a subset of the property vector. Works in combination with the atoms block. For example, in combination with the property Velocities, the Atoms block allows the selection of a subset of atoms, while the VecElelements block allows the selection of a subset of vector elements (e.g. 1 and 2 for the elements x and y).
Index
- Type:
Integer
- Default value:
3
- Description:
Element of the x_property, in case it is a vector (For Coords: 1 for X, 2 for Y, 3 for Z).
Histogram
- Type:
Block
- Recurring:
True
- Description:
All input related to histograms.
Axes
- Type:
Block
- Description:
Specifications for the histogram axes.
Axis
- Type:
Block
- Recurring:
True
- Description:
Specifications for a single histogram axis.
Atoms
- Type:
Block
- Description:
Relevant if variable has a value per atom (e.g. Coords, Velocities). This block specifies indices or elements for the set of atoms for which the variable is to be read. By default all atoms are used.
Atom
- Type:
Integer
- Recurring:
True
- Description:
Atom index.
Element
- Type:
String
- Recurring:
True
- Description:
Element Symbol Atom.
Region
- Type:
String
- Recurring:
True
- Description:
Region name
NBins
- Type:
Integer
- Default value:
100
- Description:
The number of bins along the histogram axis.
Range
- Type:
Float List
- Description:
Either one, two, or three real values. If one it is the stepsize. If two, it is the minimum value and the maximum value. If three, it is the minimum value, the maximum value, and the stepsize. The stepsize overrides NBins.
Variable
- Type:
String
- Description:
The quantity along the histogram axis.
VecElements
- Type:
Block
- Description:
A set of indices referring to a subset of a vector. If the variable to be plotted has non-scalar values per step, then this block allows the selection of a subset of vector elements (e.g. 1 and 2 for the x and y values). Can be used in combination with the Atoms block.
Index
- Type:
Integer
- Recurring:
True
- Description:
Element of the property vector.
KeepRemainder
- Type:
Bool
- Default value:
No
- Description:
Place the values that fall outside the range in an extra bin (on the right).
Normalized
- Type:
Bool
- Default value:
No
- Description:
Give the normalized histogram.
LoadSystem
- Type:
Block
- Recurring:
True
- 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. It may also be the results directory containing it.
Section
- Type:
String
- Default value:
Molecule
- Description:
The section on the KF file from which to load the system.
MeanSquareDisplacement
- Type:
Block
- Recurring:
True
- Description:
All input related to mean square displacement functions.
Atoms
- Type:
Block
- Description:
Relevant if Property is set to any quantity that is available per atom (Coords, DiffusionCoefficient). Atom numbers or elements for the set of atoms for which the property is read/computed are provided here. By default all atoms are used.
Atom
- Type:
Integer
- Recurring:
True
- Description:
Atom number.
Element
- Type:
String
- Recurring:
True
- Description:
Element Symbol Atom.
Region
- Type:
String
- Recurring:
True
- Description:
Region name.
DataReading
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, AtOnce, BlockWise]
- Description:
The KF data can be read in and handled once, or blockwise. The former is memory intensive, but mostly faster. If Auto is selected, the data is read at once if it is less than 1 GB, and blockwise if it is more.
MaxCorrelationTime
- Type:
Float
- Description:
The maximum correlation time in fs. The default is half the simulation time.
MaxFrame
- Type:
Integer
- Description:
The maximum number of frames for which the mean square displacement function will be computed. The default is half of the number of provided frames. Determines the same settings as MaxCorrelationTime. If both are set, MaxCorrelationTime will take precedence.
PerElement
- Type:
Bool
- Default value:
No
- Description:
Compute MSD for all elements in the system. Any other settings in thie block will be used.
Property
- Type:
Multiple Choice
- Default value:
Coords
- Options:
[Coords, DiffusionCoefficient, Conductivity]
- Description:
Compute the MSD from the property selected here (from rkf). Selecting DiffusionCoefficient is equivalent to selecting the property Coords.
StartTimeSlope
- Type:
Float
- Default value:
0.0
- Description:
The MSD has a nonlinear regime at short timescales, and a linear regime at long timescales. To determine the slope, the starting point for the linear regime has to be determined. This keyword sets the starting time in fs. If set to zero, the starttime will be automatically determined.
UnwrapCoordinates
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, Yes, No]
- Description:
If the coordinates are involved in the requested property, those coordinates are wrapped into the box at each time step. If set to true, this keyword unwraps those coordinates so that the trajectory is continuous. If not provided the code uses automatic defaults.
UseAllValues
- Type:
Bool
- Default value:
No
- Description:
By default the same number of values are used for each t-step in the MSD. This has the advantage that all values in the MSD are equally reliable, but it does mean that for the smaller timesteps much of the data is not used. To switch this off and use all data, UseAllValues can be set to true
UseMolecularCentersOfMass
- Type:
Block
- Description:
Specifications on using the center of mass coordinates per molecule instead of coordinates per atom. Only relevant for properties that rely on coordinates: Coords, DiffusionCoefficient, and Conductitvity.
CheckForBondChanges
- Type:
Bool
- Default value:
Yes
- Description:
Check for each frame if the bonds still correspond to the input bonds. If they changed, an error is thrown. If this is set to true, it is assumed that the molecules stay in tact.
Enabled
- Type:
Bool
- Default value:
No
- Description:
Use the center of mass coordinates per molecule. Only relevant for properties that rely on coordinates: Coords, DiffusionCoefficient, and Conductitvity. The bonds from the MD input system are used.
VecElements
- Type:
Block
- Description:
A set of indices referring to a subset of the property vector. Works in combination with the atoms block. For example, in combination with the property Coords, the Atoms block allows the selection of a subset of atoms, while the VecElelements block allows the selection of a subset of vector elements (e.g. 1 and 2 for the elements x and y).
Index
- Type:
Integer
- Recurring:
True
- Description:
Element of the property vector.
WritePropertyToKF
- Type:
Bool
- Default value:
No
- Description:
Write the selected property to the KF files for every requested frame
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.
RadialDistribution
- Type:
Block
- Recurring:
True
- Description:
All input related to radial distribution functions.
AtomsFrom
- Type:
Block
- Description:
Atom numbers or elements for the first set of atoms in the radial distribution.
Atom
- Type:
Integer
- Default value:
0
- Recurring:
True
- Description:
Atom number.
Element
- Type:
String
- Recurring:
True
- Description:
Element Symbol Atom.
Region
- Type:
String
- Recurring:
True
- Description:
Region name.
AtomsTo
- Type:
Block
- Description:
Atom numbers or elements for the second set of atoms in the radial distribution.
Atom
- Type:
Integer
- Default value:
0
- Recurring:
True
- Description:
Atom number.
Element
- Type:
String
- Recurring:
True
- Description:
Element Symbol Atom.
Region
- Type:
String
- Recurring:
True
- Description:
Region name.
DistanceTypeSelection
- Type:
Multiple Choice
- Default value:
All
- Options:
[All, InterMolecular, IntraMolecular]
- Description:
Select only a certain type of interatomic distances.
KeepRemainder
- Type:
Bool
- Default value:
No
- Description:
Place the values that fall outside the range in an extra bin (on the right).
NBins
- Type:
Integer
- Default value:
1000
- Description:
The number of bins in the histogram.
PairwisePerElement
- Type:
Bool
- Default value:
No
- Description:
Compute RDF for all element pairs (for all atoms in the system). Any other settings in the block will be used.
Range
- Type:
Float List
- Description:
Either one, two, or three real values. If one it is the stepsize. If two, it is the minimum value and the maximum value. If three, it is the minimum value, the maximum value, and the stepsize. The stepsize overrides NBins.
System
- Type:
Block
- Recurring:
True
- Description:
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.
AllowCloseAtoms
- Type:
Bool
- Default value:
No
- Description:
If AllowCloseAtoms is set to False, the AMS driver will stop with an error if it detects almost-coinciding atomic coordinates. If set to True, the AMS driver will try to carry on with the calculation.
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. Each line should contain two atom indices, followed by the bond order (1, 1.5, 2, 3 for single, aromatic, double and triple bonds) and (optionally) the cell shifts for periodic systems. May be used by MM engines and for defining constraints. If the system is periodic and none of the bonds have the cell shift defined then AMS will attempt to determine them following the minimum image convention.
Charge
- Type:
Float
- Default value:
0.0
- GUI name:
Total charge
- Description:
The system’s total charge in atomic units.
ElectrostaticEmbedding
- Type:
Block
- Description:
Container for electrostatic embedding options, which can be combined.
ElectricField
- Type:
Float List
- Unit:
V/Angstrom
- Description:
External homogeneous electric field with three Cartesian components: ex, ey, ez, the default unit being V/Å.
In atomic units: Hartree/(e bohr) = 51.422 V/Angstrom; the relation to SI units is: 1 Hartree/(e bohr) = 5.14 … e11 V/m.
Supported by the engines adf, band, dftb and mopac.
For periodic systems the field may only have nonzero components orthogonal to the direction(s) of periodicity (i.e. for 1D periodic system the x-component of the electric field should be zero, while for 2D periodic systems both the x and y components should be zero. This options cannot be used for 3D periodic systems.
MultipolePotential
- Type:
Block
- Description:
External point charges (and dipoles).
ChargeModel
- Type:
Multiple Choice
- Default value:
Point
- Options:
[Point, Gaussian]
- Description:
A multipole may be represented by a point (with a singular potential at its location) or by a spherical Gaussian distribution.
ChargeWidth
- Type:
Float
- Default value:
-1.0
- Description:
The width parameter in a.u. in case a Gaussian charge model is chosen. A negative value means that the width will be chosen automatically.
Coordinates
- Type:
Non-standard block
- Description:
Positions and values of the multipoles, one per line. Each line has the following format:
x y z q, or
x y z q µx µy µz.
Here x, y, z are the coordinates in Å, q is the charge (in atomic units of charge) and µx, µy, µz are the (optional) dipole moment components (in atomic units, i.e. e*Bohr).
Periodic systems are not supported.
FractionalCoords
- Type:
Bool
- Default value:
No
- 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 the geometry from a file (instead of from Atoms and Lattice blocks). Supported formats: .xyz
GuessBonds
- Type:
Bool
- Default value:
No
- Description:
Whether or not UFF bonds should be guessed.
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.
LoadForceFieldAtomTypes
- Type:
Block
- Description:
This is a mechanism to set the ForceField.Type attribute in the input. This information is currently only used by the ForceField engine.
File
- Type:
String
- Description:
Name of the (kf) file. It needs to be the result of a forcefield calculation.
LoadForceFieldCharges
- Type:
Block
- Recurring:
True
- Description:
This is a mechanism to set the ForceField.Charge attribute in the input. This information is currently only used by the ForceField engine.
CheckGeometryRMSD
- Type:
Bool
- Default value:
No
- Description:
Whether the geometry RMSD test should be performed, see MaxGeometryRMSD. Otherwise only basic tests are performed, such as number and atom types. Not doing the RMSD test allows you to load molecular charges in a periodic system.
File
- Type:
String
- Description:
Name of the (kf) file
MaxGeometryRMSD
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
The geometry of the charge producing calculation is compared to the one of the region, and need to be the same within this tolerance.
Region
- Type:
String
- Default value:
*
- Description:
Region for which the charges should be loaded
Section
- Type:
String
- Default value:
AMSResults
- Description:
Section name of the kf file
Variable
- Type:
String
- Default value:
Charges
- Description:
Variable name of the kf file
MapAtomsToUnitCell
- Type:
Bool
- Default value:
No
- Description:
For periodic systems the atoms will be moved to the central cell.
ModifyAlternativeElements
- Type:
Bool
- Default value:
No
- Description:
When using alternative elements (using the nuclear_charge attribute) set the element to the nearest integer Z. If you specify an H atom with a nuclear_charge of 2.9 it is replaced by a Li atom with the same nuclear charge.
PerturbCoordinates
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
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
- Default value:
0.0
- Description:
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.
RandomizeAtomOrder
- Type:
Bool
- Default value:
No
- Description:
Whether or not the order of the atoms should be randomly changed. Intended for some technical testing purposes only. Does not work with bond information.
Region
- Type:
Block
- Recurring:
True
- Description:
Properties for each region specified in the Atoms block.
Properties
- Type:
Non-standard block
- Description:
Properties for each region specified in the Atoms block.
ShiftCoordinates
- Type:
Float List
- Unit:
Bohr
- Description:
Translate the atoms by the specified shift (three numbers).
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).
SuperCellTrafo
- Type:
Integer List
- Description:
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)).
Symmetrize
- Type:
Bool
- Default value:
No
- Description:
Whether to symmetrize the input structure. This might also rototranslate the structure into a standard orientation. This will symmetrize the atomic coordinates to machine precision. Useful if the system is almost symmetric or to rototranslate a symmetric molecule into a standard orientation.
Symmetry
- Type:
Multiple Choice
- Default value:
AUTO
- Options:
[AUTO, NOSYM, C(LIN), D(LIN), C(I), C(S), C(2), C(3), C(4), C(5), C(6), C(7), C(8), C(2V), C(3V), C(4V), C(5V), C(6V), C(7V), C(8V), C(2H), C(3H), C(4H), C(5H), C(6H), C(7H), C(8H), D(2), D(3), D(4), D(5), D(6), D(7), D(8), D(2D), D(3D), D(4D), D(5D), D(6D), D(7D), D(8D), D(2H), D(3H), D(4H), D(5H), D(6H), D(7H), D(8H), I, I(H), O, O(H), T, T(D), T(H), S(4), S(6), S(8)]
- Description:
Use (sub)symmetry with this Schoenflies symbol. Can only be used for molecules. Orientation should be correct for the (sub)symmetry. If used icw Symmetrize, the symmetrization will not reorient the molecule.
Task
- Type:
Multiple Choice
- Options:
[RadialDistribution, Histogram, AutoCorrelation, MeanSquareDisplacement, AverageBinPlot]
- Description:
The analysis task.
TrajectoryInfo
- Type:
Block
- Description:
All the info regarding the reading of the trajectory files.
NBlocksToCompare
- Type:
Integer
- Default value:
1
- Description:
Get an error estimate by comparing histograms for NBLocks time blocks of the trajectory.
Trajectory
- Type:
Block
- Recurring:
True
- Description:
All info regarding the reading of a single trajectory file.
KFFilename
- Type:
String
- Default value:
ams.rkf
- Description:
The name of the AMS trajectory file.
Range
- Type:
Integer List
- Description:
One or two values: start frame, and optionally end frame. By default the first and last frame are read.
StepSize
- Type:
Integer
- Default value:
1
- Description:
The step size at which frames are read from the RKF (default 1, every frame is read).
chemtrayzer2¶
Analysis
- Type:
Block
- Description:
Statistical post-detection analysis, includes reaction coefficients calculation.
PerformAnalysis
- Type:
Bool
- Default value:
Yes
- Description:
Determine the reaction rate coefficients and statistical errors for the detected reactions.
RateConfidence
- Type:
Float
- Default value:
0.9
- Description:
Upper and lower bounds to the rate coefficients will be calculated for this confidence (0 < confidence < 1), assuming a Poisson distribution of the number of reactive events. A value of 0.9 means that the kinetics of 90% of events of one reaction can be described by a coefficient between the bounds.
MoleculeIdentifier
- Type:
Block
- Description:
Settings for the subgraph identification of molecules and reactions.
MaxDepth
- Type:
Integer
- Default value:
2
- Description:
The maximum number of layers the algorithm goes along bonds, starting from one atom when generating hashes for one atom. The entire molecule hash is built from the atom hashes, so this setting influences the identification of atom neighborhoods.
UseBondOrders
- Type:
Bool
- Default value:
No
- Description:
Consider bond orders in the identifier.
UseHs
- Type:
Bool
- Default value:
No
- GUI name:
Use Hs
- Description:
Consider number of hydrogens of atoms in the identifier.
UseRings
- Type:
Bool
- Default value:
Yes
- Description:
Consider ring membership of atoms in the identifier.
WindowDepth
- Type:
Integer
- Default value:
5
- Description:
The maximum number of layers the algorithm goes along bonds starting from the reactive atoms when generating hashes for the entire molecule. With this setting, the identifier can be limited to only a part of the molecule.
Output
- Type:
Block
- Description:
Settings for program output and output file generation.
CreateLegacyOutput
- Type:
Bool
- Default value:
No
- Description:
Whether to save the reactions, species, and rates as ‘reac.reac.tab’, ‘reac.spec.tab’, and ‘reac.rate.tab’ in the same format as ChemTraYzer 1.
ShowReactionGraph
- Type:
Bool
- Default value:
No
- Description:
Whether or not to show the reaction graph at the end of the calculation. Requires the python library matplotlib to be installed.
WriteEventsPerTime
- Type:
Bool
- Default value:
No
- Description:
Write two .csv files that contain the number of reactions in every frame (reaction_events_per_time.csv) and the number of bond changes in every frame(bond_change_events_per_time.csv)
WriteKF
- Type:
Bool
- Default value:
No
- Description:
Whether to write output to KF
WriteMolPopulation
- Type:
Bool
- Default value:
No
- Description:
Write two .csv files: (1) mol_statistics.csv, which contains basic population statistics (counts, averages) for each unique species over the entire trajectory; and (2) mol_population.csv, which provides the count of each unique species in every frame.
WriteReactions
- Type:
Bool
- Default value:
Yes
- Description:
Write two .csv files that contain information about (1) all unique reactions (reactions.csv); and (2) all individual reaction events (reaction_events.csv).
WriteXYZFiles
- Type:
Bool
- Default value:
No
- Description:
Write XYZ files (geometries) for detected species and XYZ movies for detected reactions into a subfolder named ‘xyz’.
PrintDebug
- Type:
Bool
- Default value:
No
- Description:
Print extra debug information to the terminal.
ReactionDetection
- Type:
Block
- Description:
Parameters for the the reaction detection algorithm.
BondBreakingThreshold
- Type:
Float
- Default value:
0.3
- Description:
The bond-order threshold for bond breaking. If the bond order of a bond goes below this value, the bond is considered broken.
BondFormationThreshold
- Type:
Float
- Default value:
0.8
- Description:
The bond-order threshold for bond formation. If the bond order between two atoms goes above this value, then this will be considered to be a new bond.
InitialBondThreshold
- Type:
Float
- Description:
The bond-order threshold for determining the connectivity for the first frame of the simulation. If not specified, the value in BondFormationThreshold will be used instead.
TStable
- Type:
Float
- Default value:
10.0
- Unit:
fs
- GUI name:
T stable
- Description:
The minimum time for a molecule to be considered stable.
Trajectory
- Type:
Block
- Description:
Info regarding the trajectory to analyze.
FinalFrame
- Type:
Integer
- Default value:
-1
- Description:
Last frame of the trajectory to analyze.
FirstFrame
- Type:
Integer
- Default value:
1
- Description:
First frame of the trajectory to analyze.
Path
- Type:
String
- Description:
The path to ams results dir of an AMS calculation. This folder must contain a ams.rkf file.
conformers¶
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.
All
- Type:
String
- Recurring:
True
- Description:
Fix multiple distances using one the following formats:
All [bondOrder] bonds at1 at2 [to distance]
All triangles at1 at2 at3
The first option constrains all bonds between atoms at1 at2 to a certain length, while the second - bonds at1-at2 and at2-at3 as well as the angle between them.
The [bondOrder] can be a number or a string such as single, double, triple or aromatic. If it’s omitted then any bond between specified atoms will be constrained. Atom names are case-sensitive and they must be as they are in the Atoms block, or an asterisk ‘*’ denoting any atom. If the distance is omitted then the bond length from the initial geometry is used.
Important: only the bonds present in the system at the start of the simulation can be constrained, which means that the bonds may need to be specified in the System block.
Valid examples:
All single bonds C C to 1.4
All bonds O H to 0.98
All bonds O H
All bonds H *
All triangles H * H
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.
AtomList
- Type:
Integer List
- Recurring:
True
- Description:
Fix positions of the specified atoms. A list of integers referring to indices of atoms in the [System%Atoms] block.
Block
- Type:
String
- Recurring:
True
- Description:
Name of the region to constrain as a rigid block. Regions are specified in 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).
DifDist
- Type:
String
- Recurring:
True
- Description:
Four atom indices i j k l followed by the distance in Angstrom. This will constrain the difference R(ij)-R(kl) at the given value.
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.
EqualStrain
- Type:
String
- Description:
Exclusively for lattice optimizations:
Accepts a set of strain components [xx, xy, xz, yy, yz, zz] which are to be kept equal.
The applied strain will be determined by the average of the corresponding stress tensors components.
In AMSinput just check the corresponding check buttons.
FixedRegion
- Type:
String
- Recurring:
True
- Description:
Fix positions of all atoms in a region.
FreezeStrain
- Type:
String
- Description:
Exclusively for lattice optimizations:
Freezes any lattice deformation corresponding to a particular component of the strain tensor.
Accepts a set of strain components [xx, xy, xz, yy, yz, zz] to be frozen.
In AMSinput just check the corresponding check buttons.
SumDist
- Type:
String
- Recurring:
True
- Description:
Four atom indices i j k l followed by the distance in Angstrom. This will constrain the sum R(ij)+R(kl) at the given value.
Engine
- Type:
Block
- Description:
The input for the computational engine used to compute energy and forces.
EngineAddons
- Type:
Block
- Description:
This block configures all the engine add-ons.
AtomEnergies
- Type:
Non-standard block
- Description:
Add an element-dependent energy per atom. On each line, give the chemical element followed by the energy (in atomic units).
D3Dispersion
- Type:
Block
- Description:
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
- Default value:
BJ
- Options:
[BJ, Zero]
- Description:
Type of damping: BJ (Becke-Johnson) or Zero. BJ is recommended for most applications.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
D3 dispersion
- Description:
Enables the D3 dispersion correction addon.
Functional
- Type:
String
- Default value:
PBE
- Description:
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
- Description:
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
- Description:
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
- Description:
The s6 parameter, global scaling parameter. If set, it overwrites the s6 value for the chosen functional.
s8
- Type:
Float
- Description:
The s8 parameter. If set, it overwrites the s8 value for the chosen functional.
sr6
- Type:
Float
- Description:
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
- Description:
This block configures the addon that adds the Grimme D4(EEQ) dispersion correction to the engine’s energy, gradients, stress tensor and Hessian.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
D4 dispersion
- Description:
Enables the D4 dispersion correction addon.
Functional
- Type:
Multiple Choice
- Default value:
PBE
- Options:
[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, DFTB(3ob), DFTB(mio), DFTB(pbc), DFTB(matsci), DFTB(ob2), B1B95, MPWB1K, REVTPSSH, GLYP, REVPBE0DH, REVTPSS0, REVDSDPBEP86, REVDSDPBEPBE, REVDSDBLYP, REVDODPBEP86, B97M, OMEGAB97M, R2SCAN]
- Description:
Use the D4 parameterization by Grimme for a given xc-functional.
Verbosity
- Type:
Multiple Choice
- Default value:
Silent
- Options:
[Silent, Normal, Verbose, VeryVerbose]
- Description:
Controls the verbosity of the dftd4 code. Equivalent to the –silent and –verbose command line switches of the official dftd4 program.
a1
- Type:
Float
- Description:
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
- Description:
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
- Description:
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
- Description:
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
- Description:
The s9 parameter, see D4 article. If set, it overwrites the s9 value for the chosen functional.
ExternalEngine
- Type:
Block
- Description:
External engine as an addon
Execute
- Type:
String
- GUI name:
Execute
- Description:
execute command
ExternalStress
- Type:
Block
- Description:
This block configures the addon that adds external stress term to the engine’s energy and stress tensor.
StressTensorVoigt
- Type:
Float List
- Unit:
Hartree/Bohr^3
- GUI name:
External stress tensor
- Description:
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
- Default value:
No
- Description:
Whether ot not the reference cell should be updated every time the system changes (see documentation).
PipeEngine
- Type:
Block
- Description:
Pipe engine as an addon
WorkerCommand
- Type:
String
- GUI name:
Worker command
- Description:
pipe worker command
Pressure
- Type:
Float
- Default value:
0.0
- Unit:
GPa
- Description:
Add a hydrostatic pressure term to the engine’s energy and stress tensor. Can only be used for 3D periodic boundary conditions.
Repulsion
- Type:
Block
- Description:
This block configures an addon that adds a repulsive Weeks-Chandler-Andersen potential to all atom pairs.
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
Repulsion
- Description:
Enables the repulsive Weeks-Chandler-Andersen potential addon.
When enabled, all atom pairs will experience repulsion E = 4*epsilon*( (sigma/r)^12 - (sigma/r)^6 + 1/4 ) at the distances shorter than about 1.12*sigma.
Epsilon
- Type:
Float
- Default value:
0.01
- Unit:
Hartree
- Description:
The epsilon parameter in the potential equation. It is equal to the amount of energy added at r=sigma.
HydrogenSigmaScale
- Type:
Float
- Default value:
0.75
- Unit:
Angstrom
- Description:
The sigma parameter for a pair of atoms where one of them is hydrogen is scaled with the given factor. For H-H interactions the sigma is scaled with this value squared.
Sigma
- Type:
Float
- Default value:
0.55
- Unit:
Angstrom
- Description:
The sigma parameter in the potential equation. The potential is exactly zero at the distances larger than about 1.12*sigma
SkinLength
- Type:
Float
- Default value:
2.0
- Unit:
Angstrom
- Description:
Technical parameter specifying skin length for the neighbor list generation. A larger value increases the neighbor list cutoff (and cost) but reduces the frequency it needs to be re-created.
WallPotential
- Type:
Block
- Description:
This block configures the addon that adds a spherical wall potential to the engine’s energy and gradients.
Enabled
- Type:
Bool
- Default value:
No
- Description:
Enables the wall potential addon. When enabled, a spherical wall of radius [Radius] around the origin will be added. The force due to the potential will decay exponentially inside the wall, will be close to [Prefactor*Gradient] outside and exactly half of that at the wall.
Gradient
- Type:
Float
- Default value:
10.0
- Unit:
1/Angstrom
- Description:
The radial gradient outside the sphere.
Prefactor
- Type:
Float
- Default value:
0.01
- Unit:
Hartree
- Description:
The multiplier for the overall strength of the potential.
Radius
- Type:
Float
- Default value:
30.0
- Unit:
Angstrom
- Value Range:
value > 0
- Description:
The radius of the sphere, wherein the potential is close to zero.
Equivalence
- Type:
Block
- Description:
Options for the procedure determining whether two structures are equivalent or distinct conformers.
AMS
- Type:
Block
- Description:
Options for the AMS method of checking equivalence. This method uses the atomic distance matrices and the torsion angles between heavy atoms to determine if conformer candidates are duplicates.
DihedralThreshold
- Type:
Float
- Default value:
30.0
- Description:
Maximum difference a dihedral can have for a conformer to be considered a duplicate.
DistanceThreshold
- Type:
Float
- Default value:
0.1
- Description:
Maximum difference a distance between two atoms can have for a conformer to be considered a duplicate.
EnergyThreshold
- Type:
Float
- Default value:
0.2
- Unit:
kcal/mol
- Description:
The energy difference beyond which two conformers are always considered distinct.
IrrelevantAtoms
- Type:
Integer List
- Description:
To detect equivalence, only a subset of atoms is used. The atoms that are excluded from equivalence comparison should be specified here. By default only non-hydrogen atoms will be used for the comparison. Numbering starts at 0.
AcceptAll
- Type:
Bool
- Default value:
No
- Description:
If set to True, add any candidate to the set without checks of connectivity changes, stereo- or cis/trans isomerization, or duplication.
AcceptIsomers
- Type:
Bool
- Default value:
No
- Description:
If set to True, perform all checks of a new conformer candidate, except for the stereo- or cis/trans isomerization check.
CREST
- Type:
Block
- Description:
Options for the CREST method of checking equivalence. This method uses the rotational constants of conformer candidates to determine if they are duplicates.
EnergyThreshold
- Type:
Float
- Default value:
0.05
- Unit:
kcal/mol
- Description:
The energy difference beyond which two conformers are always considered distinct.
RMSDThreshold
- Type:
Float
- Default value:
0.125
- Description:
Threshold for the RMSD between two conformers that determines if they are duplicates or rotamers (according to the CREST rotamer definition.)
ScaledRotationalConstantSettings
- Type:
Block
- Description:
By default, the equivalence of two geometries is determined mainly by comparing the rotational constants, and weighing the difference based on the average anisotropy of the two systems. This procedure has several settings that can be user defined.
RotationalConstantThreshold
- Type:
Float
- Default value:
0.003
- Description:
Threshold for the difference in rotational constants that determines if two geometries are duplicates. The threshold is weighed by the anisotropy of the systems. Note: in the grimme code they use 0.01 as bconst_threshold, but this leads to a lot of misclassifications (i.e. different conformers are classified as equivalent rotamers) So, here we use a smaller default value.
CheckForDuplicates
- Type:
Bool
- Default value:
Yes
- Description:
If set to True, check any new conformer candidate for duplication, and only accept unique conformers. If set to False, accept duplicates into the set.
Method
- Type:
Multiple Choice
- Default value:
CREST
- Options:
[AMS, TFD, RMSD, CREST]
- GUI name:
Equivalence method
- Description:
Method used to determine (and filter out) equivalent conformers.
The CREST equivalence method relies on rotational constants comparisons. For this reason, conformers with the same rotational constants (such as mirror images) will be considered equivalent conformers.
The AMS equivalence method uses a distance matrix and dihedrals to compare conformers. This equivalence method can be computationally expensive for large molecules.
The TFD equivalence method uses the Torsion Fingerprint Difference as implemented in RDKit.
The RMSD equivalence method uses the RDKit GetBestRMS implementation.
RMSD
- Type:
Block
- Description:
Options for the RMSD method of checking equivalence. This method uses the RDKit implementation of GetBestRMS, which enumerates over atomic permutations for pairs of geometries to detect duplicates based on the RMSD value.
EnergyThreshold
- Type:
Float
- Default value:
0.05
- Unit:
kcal/mol
- Description:
The energy difference beyond which two conformers are always considered distinct.
RMSDThreshold
- Type:
Float
- Default value:
0.125
- Description:
Threshold on the RMSD difference to determine if two geometries represent the same conformer. This value is in Angstrom.
Reorder
- Type:
Bool
- Default value:
Yes
- Description:
Reorder conformers based on energy, whenever a new conformer is added.
TFD
- Type:
Block
- Description:
Options for the TFD method of checking equivalence. This method uses the Torsion Finger Print method to determine if two conformer candidates are duplicates.
EnergyThreshold
- Type:
Float
- Default value:
0.05
- Unit:
kcal/mol
- Description:
The energy difference beyond which two conformers are always considered distinct.
TFDThreshold
- Type:
Float
- Default value:
0.05
- Description:
Threshold on the torsion fingerprint difference to determine if two geometries represent the same conformer. This value is unit-less.
Expander
- Type:
Block
- Description:
Options for the conformer expander. The Expander expands an existing conformer set, by adding new conformers to it. The new conformers are generated from the original conformers in the set. Unlike the generators, the outcome of an expander is therefore very dependent on the input conformations.
The GC generator uses a genetic algorithm to create a combinatorial expansion by combining local substructures.
The MD expander start MD simulations from the conformers in the set, and extracts snapshots to create new conformers. Both these expanders are part of the CREST generator.
GC
- Type:
Block
- Description:
Options for the genetic algorithm for combinatorial expansion of conformer geometries. This generator only works if a non-zero set of conformers is already provided.
MaxGCenergy
- Type:
Float
- Default value:
6.0
- Description:
The maximum energy (relative to the lowest in the set) of the conformers we are going to use for expansion. The default is 6.0 kcal/mol, but if MaxEnergy was set, then that value is used.
Parallel
- Type:
Bool
- Default value:
Yes
- Description:
Determines if the combinatorial expansion of conformers should be performed in parallel or not (default: True).
RMSDThreshold
- Type:
Float
- Default value:
0.25
- Description:
Newly generated geometries are only considered unique if their RMSD from all other newly generated geometries is larger than this threshold.
MD
- Type:
Block
- Description:
Produces conformers by running a set of MD simulations at different elevated temperatures, extracting snapshots, and optimizing those.
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. Default values will be ignored.
Checkpoint
- Type:
Block
- Description:
Sets the frequency for storing the entire MD state necessary for restarting the calculation.
Frequency
- Type:
Integer
- Default value:
1000
- GUI name:
Checkpoint frequency
- Description:
Write the MD state and engine-specific data to the respective .rkf files once every N steps.
WriteProperties
- Type:
Bool
- Default value:
No
- Description:
Write the properties from the properties section to the ChecoPoint file 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.
RandomVelocitiesMethod
- Type:
Multiple Choice
- Default value:
Exact
- Options:
[Exact, Boltzmann, Gromacs]
- GUI name:
Velocity randomization method
- Description:
Specifies how are random velocities generated. Three methods are available.
Exact: Velocities are scaled to exactly match set random velocities temperature.
Boltzmann: Velocities are not scaled and sample Maxwell-Boltzmann distribution. However, the distribution is not corrected for constraints.
Gromacs: Velocities are scaled to match set random velocities temperature, but removal of net momentum is performed only after the scaling. Resulting kinetic energy is lower based on how much net momentum the system had.
Temperature
- Type:
Float
- Unit:
Kelvin
- GUI name:
Initial temperature
- 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.
AMSinput will use the first temperature of the first thermostat as default.
Type
- Type:
Multiple Choice
- Default value:
Random
- Options:
[Zero, Random, FromFile, Input]
- GUI name:
Initial velocities
- 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 AMSinput.
Values
- Type:
Non-standard block
- Description:
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
- Default value:
1000
- GUI name:
Number of steps
- 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:
Yes
- GUI name:
: Angular momentum
- Description:
Remove overall angular momentum of the system. This option is ignored for 2D and 3D-periodic systems, and disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
CenterOfMass
- Type:
Bool
- Default value:
No
- GUI name:
: Center of mass
- 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:
Yes
- GUI name:
Preserve: Total momentum
- Description:
Remove overall (linear) momentum of the system. This is disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
Print
- Type:
Block
- Description:
This block controls the printing of additional information to stdout.
System
- Type:
Bool
- Default value:
No
- Description:
Print the chemical system before and after the simulation.
Velocities
- Type:
Bool
- Default value:
No
- Description:
Print the atomic velocities before and after the simulation.
Restart
- Type:
String
- GUI name:
Restart from
- Description:
The path to the ams.rkf file from which to restart the simulation.
Shake
- Type:
Block
- Description:
Parameters of the Shake/Rattle algorithm.
All
- Type:
String
- Recurring:
True
- GUI name:
Constrain all
- Description:
Constraint description in one the following formats:
All [bondOrder] bonds at1 at2 [to distance]
All triangles at1 at2 at3
The first option constrains all bonds between atoms at1 at2 to a certain length, while the second - bonds at1-at2 and at2-at3 and the angle between them.
The [bondOrder] can be a number or a string such as single, double, triple or aromatic. If it’s omitted then all bonds between specified atoms will be constrained. Atom names are case-sensitive and they must be as they are in the Atoms block, or an asterisk ‘*’ denoting any atom. The distance, if present, must be in Angstrom. If it is omitted then the bond length from the initial geometry is used.
Important: only the bonds present in the system at certain points of the simulation (at the start or right after adding/removing atoms) can be constrained, which means that the bonds may need to be specified in the System block.
Warning: the triangles constraint should be used with care because each constrained bond or angle means removing one degree of freedom from the dynamics. When there are too many constraints (for example, “All triangles H C H” in methane) some of them may be linearly dependent, which will lead to an error in the temperature computation.
Valid examples:
All single bonds C C to 1.4
All bonds O H to 0.98
All bonds O H
All bonds H *
All triangles H * H
ConvergeR2
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the max squared difference, in atomic units.
ConvergeRV
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the orthogonality of the constraint and the relative atomic velocity, in atomic units.
Iterations
- Type:
Integer
- Default value:
100
- Description:
Number of iterations.
ShakeInitialCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Apply constraints before computing the first energy and gradients.
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]
- GUI name:
Apply Berendsen
- 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
- GUI name:
NHC chain length
- Description:
Number of individual thermostats forming the NHC thermostat
Duration
- Type:
Integer List
- GUI name:
Duration(s)
- Description:
Specifies how many steps should a transition from a particular temperature to the next one in sequence take.
Region
- Type:
String
- Default value:
*
- Description:
The identifier of the region to thermostat. The default ‘*’ applies the thermostat to the entire system. The value can by a plain region name, or a region expression, e.g. ‘*-myregion’ to thermostat all atoms that are not in myregion, or ‘regionA+regionB’ to thermostat the union of the ‘regionA’ and ‘regionB’. Note that if multiple thermostats are used, their regions may not overlap.
Tau
- Type:
Float
- Unit:
Femtoseconds
- GUI name:
Damping constant
- Description:
The time constant of the thermostat.
Temperature
- Type:
Float List
- Unit:
Kelvin
- GUI name:
Temperature(s)
- Description:
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
- Default value:
None
- Options:
[None, Berendsen, NHC]
- GUI name:
Thermostat
- 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.
ExitConditionFreq
- Type:
Integer
- GUI name:
Exit condition frequency
- Description:
Check the exit conditions every N steps. By default this is done every SamplingFreq steps.
PrintFreq
- Type:
Integer
- GUI name:
Printing frequency
- Description:
Print current thermodynamic properties to the output every N steps. By default this is done every SamplingFreq steps.
SamplingFreq
- Type:
Integer
- Default value:
100
- GUI name:
Sample frequency
- Description:
Write the the molecular geometry (and possibly other properties) to the .rkf file once every N steps.
TProfileGridPoints
- Type:
Integer
- Default value:
0
- Description:
Number of points in the temperature profile. If TProfileGridPoints > 0, a temperature profile along each of the three lattice axes will be written to the .rkf file. The temperature at a given profile point is calculated as the total temperature of all atoms inside the corresponding slice of the simulation box, time-averaged over all MD steps since the previous snapshot. By default, no profile is generated.
WriteBonds
- Type:
Bool
- Default value:
Yes
- Description:
Write detected bonds to the .rkf file.
WriteCharges
- Type:
Bool
- Default value:
Yes
- Description:
Write current atomic point charges (if available) to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze charges.
WriteCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Write atomic coordinates to the .rkf file.
WriteEngineGradients
- Type:
Bool
- Default value:
No
- Description:
Write atomic gradients (negative of the atomic forces, as calculated by the engine) to the History section of ams.rkf.
WriteMolecules
- Type:
Bool
- Default value:
Yes
- Description:
Write the results of molecule analysis to the .rkf file.
WriteVelocities
- Type:
Bool
- Default value:
Yes
- Description:
Write velocities to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze the velocities.
Ngeoms
- Type:
Integer
- Default value:
4
- Description:
At each temperature, MD simulations are started from Ngeoms different starting geometries. The starting geometries are extracted from the provided conformer set. If the conformer set is empty, then no more than a single geometry per temperature can be provided, limiting the total number of MD simulations.
Temperatures
- Type:
Float List
- Default value:
[400.0, 500.0]
- Unit:
Kelvin
- Description:
The list of different temperatures at which MD simulations are run.
UseShake
- Type:
Bool
- Default value:
No
- Description:
Constrain all -H bonds with shake. If turned on, the MD timestep is automatically increased.
MaxEnergy
- Type:
Float
- Unit:
kcal/mol
- Description:
Threshold for filtering out high-energy conformers. If the relative energy of a conformer with respect to the lowest conformer is larger than this value, the conformer will be discarded.
Method
- Type:
Multiple Choice
- Default value:
GC
- Options:
[MD, GC]
- GUI name:
Generator method
- Description:
Method used to generate the conformers.
Preoptimization
- Type:
Block
- Description:
If this block is enabled geometries will be preoptimized. After preoptimization the high energy conformers will be discarded, and then from the remaining set the unoptimized geometries will be optimized at higher level. This is to prevent the preoptimizer from collapsing different conformers into a single false minimum. As a result, preoptimization is only useful if MaxEnergy is chosen low.
Enable
- Type:
Bool
- Default value:
No
- Description:
Perform preoptimization at a low level of accuracy.
Engine
- Type:
Block
- Description:
The engine specifics to be used for preoptimization.
PreoptFactor
- Type:
Integer
- Default value:
2
- Description:
This factor is multiplied with MaxEnergy, to determine which high energy conformers can be discarded after preoptimization.
RDKitETKDG
- Type:
Block
- Description:
Settings for the call to RDKits ETKDG conformer generator tool.
BestRMSDThreshold
- Type:
Float
- Default value:
-1.0
- Description:
After ETKDG conformer generation by RDKit, RDKit can be used to remove duplicates via the BestRMS algorithm. This filter does exactly the same as the RMSD equivalence detector in the Equivalence block.
Forcefield
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, UFF, MMFF]
- Description:
The name of the RDKit forcefield to use for geometry optimization at the end of ETKDG conformer generation (by default no geometry optimization is performed). Using the RDKit internal optimization may make the subsequent geometry optimizations with AMS faster.
Parallel
- Type:
Bool
- Default value:
No
- Description:
Experimental: Parallelize the RDKit generation step by calling the RDKit conformer generation method in parallel from multiple processes.
RMSDThreshold
- Type:
Float
- Default value:
-1.0
- Description:
Root Mean Square deviation threshold for removing similar/equivalent conformations during the RDKit ETKDG procedure. By default there is no pruning (value: -1).
UseExpTorsionAnglePrefs
- Type:
String
- Default value:
default
- Description:
Impose experimental torsion angle preferences in RDKit ETKDG conformer generation. By default the RDKit version determines whether or not to switch this on.
RNGSeed
- Type:
Integer
- Description:
Initial guesses for conformers can be randomly generated by RDKit, using the ETKDG algorithm. For reproducibility, a random number seed can be provided here.
Filter
- Type:
Block
- Description:
Options for the conformer filtering.
MaxEnergy
- Type:
Float
- Unit:
kcal/mol
- Description:
Threshold for filtering out high-energy conformers. If the relative energy of a conformer with respect to the lowest conformer is larger than this value, the conformer will be discarded.
RemoveNonMinima
- Type:
Bool
- Default value:
No
- Description:
For the final set of conformers, explicitly check that the geometry corresponds to a local minimum, and remove it if it does not. Note: this will run a PES point characterization, which can be computationally expensive!
Generator
- Type:
Block
- Description:
Options for the conformer generator.
ANNEALING
- Type:
Block
- Description:
Options for the annealing generator. This generator creates conformers by performing a simulated annealing simulation.
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. Default values will be ignored.
Checkpoint
- Type:
Block
- Description:
Sets the frequency for storing the entire MD state necessary for restarting the calculation.
Frequency
- Type:
Integer
- Default value:
1000
- GUI name:
Checkpoint frequency
- Description:
Write the MD state and engine-specific data to the respective .rkf files once every N steps.
WriteProperties
- Type:
Bool
- Default value:
No
- Description:
Write the properties from the properties section to the ChecoPoint file 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.
RandomVelocitiesMethod
- Type:
Multiple Choice
- Default value:
Exact
- Options:
[Exact, Boltzmann, Gromacs]
- GUI name:
Velocity randomization method
- Description:
Specifies how are random velocities generated. Three methods are available.
Exact: Velocities are scaled to exactly match set random velocities temperature.
Boltzmann: Velocities are not scaled and sample Maxwell-Boltzmann distribution. However, the distribution is not corrected for constraints.
Gromacs: Velocities are scaled to match set random velocities temperature, but removal of net momentum is performed only after the scaling. Resulting kinetic energy is lower based on how much net momentum the system had.
Temperature
- Type:
Float
- Unit:
Kelvin
- GUI name:
Initial temperature
- 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.
AMSinput will use the first temperature of the first thermostat as default.
Type
- Type:
Multiple Choice
- Default value:
Random
- Options:
[Zero, Random, FromFile, Input]
- GUI name:
Initial velocities
- 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 AMSinput.
Values
- Type:
Non-standard block
- Description:
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
- Default value:
1000
- GUI name:
Number of steps
- 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:
Yes
- GUI name:
: Angular momentum
- Description:
Remove overall angular momentum of the system. This option is ignored for 2D and 3D-periodic systems, and disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
CenterOfMass
- Type:
Bool
- Default value:
No
- GUI name:
: Center of mass
- 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:
Yes
- GUI name:
Preserve: Total momentum
- Description:
Remove overall (linear) momentum of the system. This is disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
Print
- Type:
Block
- Description:
This block controls the printing of additional information to stdout.
System
- Type:
Bool
- Default value:
No
- Description:
Print the chemical system before and after the simulation.
Velocities
- Type:
Bool
- Default value:
No
- Description:
Print the atomic velocities before and after the simulation.
Restart
- Type:
String
- GUI name:
Restart from
- Description:
The path to the ams.rkf file from which to restart the simulation.
Shake
- Type:
Block
- Description:
Parameters of the Shake/Rattle algorithm.
All
- Type:
String
- Recurring:
True
- GUI name:
Constrain all
- Description:
Constraint description in one the following formats:
All [bondOrder] bonds at1 at2 [to distance]
All triangles at1 at2 at3
The first option constrains all bonds between atoms at1 at2 to a certain length, while the second - bonds at1-at2 and at2-at3 and the angle between them.
The [bondOrder] can be a number or a string such as single, double, triple or aromatic. If it’s omitted then all bonds between specified atoms will be constrained. Atom names are case-sensitive and they must be as they are in the Atoms block, or an asterisk ‘*’ denoting any atom. The distance, if present, must be in Angstrom. If it is omitted then the bond length from the initial geometry is used.
Important: only the bonds present in the system at certain points of the simulation (at the start or right after adding/removing atoms) can be constrained, which means that the bonds may need to be specified in the System block.
Warning: the triangles constraint should be used with care because each constrained bond or angle means removing one degree of freedom from the dynamics. When there are too many constraints (for example, “All triangles H C H” in methane) some of them may be linearly dependent, which will lead to an error in the temperature computation.
Valid examples:
All single bonds C C to 1.4
All bonds O H to 0.98
All bonds O H
All bonds H *
All triangles H * H
ConvergeR2
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the max squared difference, in atomic units.
ConvergeRV
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the orthogonality of the constraint and the relative atomic velocity, in atomic units.
Iterations
- Type:
Integer
- Default value:
100
- Description:
Number of iterations.
ShakeInitialCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Apply constraints before computing the first energy and gradients.
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]
- GUI name:
Apply Berendsen
- 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
- GUI name:
NHC chain length
- Description:
Number of individual thermostats forming the NHC thermostat
Duration
- Type:
Integer List
- GUI name:
Duration(s)
- Description:
Specifies how many steps should a transition from a particular temperature to the next one in sequence take.
Region
- Type:
String
- Default value:
*
- Description:
The identifier of the region to thermostat. The default ‘*’ applies the thermostat to the entire system. The value can by a plain region name, or a region expression, e.g. ‘*-myregion’ to thermostat all atoms that are not in myregion, or ‘regionA+regionB’ to thermostat the union of the ‘regionA’ and ‘regionB’. Note that if multiple thermostats are used, their regions may not overlap.
Tau
- Type:
Float
- Unit:
Femtoseconds
- GUI name:
Damping constant
- Description:
The time constant of the thermostat.
Temperature
- Type:
Float List
- Unit:
Kelvin
- GUI name:
Temperature(s)
- Description:
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
- Default value:
None
- Options:
[None, Berendsen, NHC]
- GUI name:
Thermostat
- 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.
ExitConditionFreq
- Type:
Integer
- GUI name:
Exit condition frequency
- Description:
Check the exit conditions every N steps. By default this is done every SamplingFreq steps.
PrintFreq
- Type:
Integer
- GUI name:
Printing frequency
- Description:
Print current thermodynamic properties to the output every N steps. By default this is done every SamplingFreq steps.
SamplingFreq
- Type:
Integer
- Default value:
100
- GUI name:
Sample frequency
- Description:
Write the the molecular geometry (and possibly other properties) to the .rkf file once every N steps.
TProfileGridPoints
- Type:
Integer
- Default value:
0
- Description:
Number of points in the temperature profile. If TProfileGridPoints > 0, a temperature profile along each of the three lattice axes will be written to the .rkf file. The temperature at a given profile point is calculated as the total temperature of all atoms inside the corresponding slice of the simulation box, time-averaged over all MD steps since the previous snapshot. By default, no profile is generated.
WriteBonds
- Type:
Bool
- Default value:
Yes
- Description:
Write detected bonds to the .rkf file.
WriteCharges
- Type:
Bool
- Default value:
Yes
- Description:
Write current atomic point charges (if available) to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze charges.
WriteCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Write atomic coordinates to the .rkf file.
WriteEngineGradients
- Type:
Bool
- Default value:
No
- Description:
Write atomic gradients (negative of the atomic forces, as calculated by the engine) to the History section of ams.rkf.
WriteMolecules
- Type:
Bool
- Default value:
Yes
- Description:
Write the results of molecule analysis to the .rkf file.
WriteVelocities
- Type:
Bool
- Default value:
Yes
- Description:
Write velocities to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze the velocities.
Temperatures
- Type:
Float List
- Default value:
[298.0, 798.0]
- Unit:
Kelvin
- Description:
The minimum and maximum temperature of the annealing simulation. The simulation will start at the highest temperature, and cool down to the lowest.
UseShake
- Type:
Bool
- Default value:
No
- Description:
Constrain all -H bonds with shake. If turned on, the MD timestep is automatically increased.
CREST
- Type:
Block
- Description:
Options for the CREST generator. The CREST generator performs a set of metadynamics simulations (using the METADYNAMICS generator), then a set of MD simulations (using the MD expander), and finally it does a combinatorial expansion of the generated conformers using the GC expander. This sequence is repeated in an iterative fashion until the lowest energy conformer no longer changes.
ConvergenceQualityCrude
- Type:
Multiple Choice
- Default value:
None
- Options:
[Normal, Good, VeryGood, Excellent, None]
- Description:
The tightness of the convergence of the crude geometry pre-optimizations. If set to none it will be selected two levels below ConvergenceQuality.
ConvergenceQualityTight
- Type:
Multiple Choice
- Default value:
None
- Options:
[Normal, Good, VeryGood, Excellent, None]
- Description:
The tightness of the convergence of the final geometry optimizations. If set to none it will be selected the same as ConvergenceQuality.
GCStep
- Type:
Bool
- Default value:
Yes
- Description:
Wether or not to include the combinatorial expansion of the conformers using the GC Generator. For big systems this step can be very time consuming. By default it is set to True.
NCycles
- Type:
Integer
- Default value:
10
- Description:
The maximum number of CREST cycles (by default the number is 10). If the lowest conformer energy converges before then, Crest exits.
UseShake
- Type:
Bool
- Default value:
Yes
- Description:
Wether or not SHAKE should be turned on in the MD and Metadynamics simulations. If this is turned on, the MD timestep is automatically increased (from 2 to 5 fs).
METADYNAMICS
- Type:
Block
- Description:
Produces conformers by running a set of CREST-RMSD metadynamics simulations with different biases, extracting snapshots, and optimizing those.
ConvergenceQualityCrude
- Type:
Multiple Choice
- Default value:
none
- Options:
[normal, good, verygood, excellent, none]
- Description:
The tightness of the convergence of the crude geometry pre-optimizations. If set to none it will be selected two levels below ConvergenceQuality.
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. Default values will be ignored.
Checkpoint
- Type:
Block
- Description:
Sets the frequency for storing the entire MD state necessary for restarting the calculation.
Frequency
- Type:
Integer
- Default value:
1000
- GUI name:
Checkpoint frequency
- Description:
Write the MD state and engine-specific data to the respective .rkf files once every N steps.
WriteProperties
- Type:
Bool
- Default value:
No
- Description:
Write the properties from the properties section to the ChecoPoint file 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.
RandomVelocitiesMethod
- Type:
Multiple Choice
- Default value:
Exact
- Options:
[Exact, Boltzmann, Gromacs]
- GUI name:
Velocity randomization method
- Description:
Specifies how are random velocities generated. Three methods are available.
Exact: Velocities are scaled to exactly match set random velocities temperature.
Boltzmann: Velocities are not scaled and sample Maxwell-Boltzmann distribution. However, the distribution is not corrected for constraints.
Gromacs: Velocities are scaled to match set random velocities temperature, but removal of net momentum is performed only after the scaling. Resulting kinetic energy is lower based on how much net momentum the system had.
Temperature
- Type:
Float
- Unit:
Kelvin
- GUI name:
Initial temperature
- 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.
AMSinput will use the first temperature of the first thermostat as default.
Type
- Type:
Multiple Choice
- Default value:
Random
- Options:
[Zero, Random, FromFile, Input]
- GUI name:
Initial velocities
- 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 AMSinput.
Values
- Type:
Non-standard block
- Description:
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
- Default value:
1000
- GUI name:
Number of steps
- 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:
Yes
- GUI name:
: Angular momentum
- Description:
Remove overall angular momentum of the system. This option is ignored for 2D and 3D-periodic systems, and disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
CenterOfMass
- Type:
Bool
- Default value:
No
- GUI name:
: Center of mass
- 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:
Yes
- GUI name:
Preserve: Total momentum
- Description:
Remove overall (linear) momentum of the system. This is disabled by default for systems which are not translationally invariant (for example when frozen atoms are present).
Print
- Type:
Block
- Description:
This block controls the printing of additional information to stdout.
System
- Type:
Bool
- Default value:
No
- Description:
Print the chemical system before and after the simulation.
Velocities
- Type:
Bool
- Default value:
No
- Description:
Print the atomic velocities before and after the simulation.
Restart
- Type:
String
- GUI name:
Restart from
- Description:
The path to the ams.rkf file from which to restart the simulation.
Shake
- Type:
Block
- Description:
Parameters of the Shake/Rattle algorithm.
All
- Type:
String
- Recurring:
True
- GUI name:
Constrain all
- Description:
Constraint description in one the following formats:
All [bondOrder] bonds at1 at2 [to distance]
All triangles at1 at2 at3
The first option constrains all bonds between atoms at1 at2 to a certain length, while the second - bonds at1-at2 and at2-at3 and the angle between them.
The [bondOrder] can be a number or a string such as single, double, triple or aromatic. If it’s omitted then all bonds between specified atoms will be constrained. Atom names are case-sensitive and they must be as they are in the Atoms block, or an asterisk ‘*’ denoting any atom. The distance, if present, must be in Angstrom. If it is omitted then the bond length from the initial geometry is used.
Important: only the bonds present in the system at certain points of the simulation (at the start or right after adding/removing atoms) can be constrained, which means that the bonds may need to be specified in the System block.
Warning: the triangles constraint should be used with care because each constrained bond or angle means removing one degree of freedom from the dynamics. When there are too many constraints (for example, “All triangles H C H” in methane) some of them may be linearly dependent, which will lead to an error in the temperature computation.
Valid examples:
All single bonds C C to 1.4
All bonds O H to 0.98
All bonds O H
All bonds H *
All triangles H * H
ConvergeR2
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the max squared difference, in atomic units.
ConvergeRV
- Type:
Float
- Default value:
1e-08
- Description:
Convergence criterion on the orthogonality of the constraint and the relative atomic velocity, in atomic units.
Iterations
- Type:
Integer
- Default value:
100
- Description:
Number of iterations.
ShakeInitialCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Apply constraints before computing the first energy and gradients.
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]
- GUI name:
Apply Berendsen
- 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
- GUI name:
NHC chain length
- Description:
Number of individual thermostats forming the NHC thermostat
Duration
- Type:
Integer List
- GUI name:
Duration(s)
- Description:
Specifies how many steps should a transition from a particular temperature to the next one in sequence take.
Region
- Type:
String
- Default value:
*
- Description:
The identifier of the region to thermostat. The default ‘*’ applies the thermostat to the entire system. The value can by a plain region name, or a region expression, e.g. ‘*-myregion’ to thermostat all atoms that are not in myregion, or ‘regionA+regionB’ to thermostat the union of the ‘regionA’ and ‘regionB’. Note that if multiple thermostats are used, their regions may not overlap.
Tau
- Type:
Float
- Unit:
Femtoseconds
- GUI name:
Damping constant
- Description:
The time constant of the thermostat.
Temperature
- Type:
Float List
- Unit:
Kelvin
- GUI name:
Temperature(s)
- Description:
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
- Default value:
None
- Options:
[None, Berendsen, NHC]
- GUI name:
Thermostat
- 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.
ExitConditionFreq
- Type:
Integer
- GUI name:
Exit condition frequency
- Description:
Check the exit conditions every N steps. By default this is done every SamplingFreq steps.
PrintFreq
- Type:
Integer
- GUI name:
Printing frequency
- Description:
Print current thermodynamic properties to the output every N steps. By default this is done every SamplingFreq steps.
SamplingFreq
- Type:
Integer
- Default value:
100
- GUI name:
Sample frequency
- Description:
Write the the molecular geometry (and possibly other properties) to the .rkf file once every N steps.
TProfileGridPoints
- Type:
Integer
- Default value:
0
- Description:
Number of points in the temperature profile. If TProfileGridPoints > 0, a temperature profile along each of the three lattice axes will be written to the .rkf file. The temperature at a given profile point is calculated as the total temperature of all atoms inside the corresponding slice of the simulation box, time-averaged over all MD steps since the previous snapshot. By default, no profile is generated.
WriteBonds
- Type:
Bool
- Default value:
Yes
- Description:
Write detected bonds to the .rkf file.
WriteCharges
- Type:
Bool
- Default value:
Yes
- Description:
Write current atomic point charges (if available) to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze charges.
WriteCoordinates
- Type:
Bool
- Default value:
Yes
- Description:
Write atomic coordinates to the .rkf file.
WriteEngineGradients
- Type:
Bool
- Default value:
No
- Description:
Write atomic gradients (negative of the atomic forces, as calculated by the engine) to the History section of ams.rkf.
WriteMolecules
- Type:
Bool
- Default value:
Yes
- Description:
Write the results of molecule analysis to the .rkf file.
WriteVelocities
- Type:
Bool
- Default value:
Yes
- Description:
Write velocities to the .rkf file. Disable this to reduce trajectory size if you do not need to analyze the velocities.
NCycles
- Type:
Integer
- Default value:
5
- Description:
The maximum number of cycles of metadynamics simulations. The generator stops when either this number is reached, or the conformer set is stable.
NWidthsHeights
- Type:
Integer List
- Default value:
[4, 3]
- Description:
The number of different Gaussian widths and heights respectively used in the metadynamics simulations. By default 4 different widths are used and 3 different heights, resulting in 12 different metadynamics simulations.
SimulationSuccessFraction
- Type:
Float
- Default value:
0.4
- Description:
The fraction of planned metadynamics steps that has to have succeeded in order for the metadynamics iteration to be considered a success.
UseShake
- Type:
Bool
- Default value:
No
- Description:
Constrain all -H bonds with shake. If turned on, the MD timestep is automatically increased.
MaxEnergy
- Type:
Float
- Unit:
kcal/mol
- Description:
Threshold for filtering out high-energy conformers. If the relative energy of a conformer with respect to the lowest conformer is larger than this value, the conformer will be discarded.
Method
- Type:
Multiple Choice
- Default value:
RDKit
- Options:
[RDKit, CREST, ANNEALING]
- GUI name:
Generator method
- Description:
Method used to generate the conformers.
The RDKit generator is based on random distance matrix method. This is the recommended (and default) method.
The CREST Generator uses a multi-step workflow with meta-dynamics simulations to explore the conformers space of a molecule. This can be a powerful conformer search method, but it is generally computationally expensive compared to the RDKit generator.
THe ANNEALING generator performs a simulated annealing simulation to explore conformer space.
Preoptimization
- Type:
Block
- Description:
If this block is enabled geometries will be preoptimized. After preoptimization the high energy conformers will be discarded, and then from the remaining set the unoptimized geometries will be optimized at higher level. This is to prevent the preoptimizer from collapsing different conformers into a single false minimum. As a result, preoptimization is only useful if MaxEnergy is chosen low.
Enable
- Type:
Bool
- Default value:
No
- Description:
Perform preoptimization at a low level of accuracy.
Engine
- Type:
Block
- Description:
The engine specifics to be used for preoptimization.
PreoptFactor
- Type:
Integer
- Default value:
2
- Description:
This factor is multiplied with MaxEnergy, to determine which high energy conformers can be discarded after preoptimization.
RDKit
- Type:
Block
- Description:
Options for the RDKit generator. This generator produces initial guesses for conformers using the RDKit ETKDG method, followed by AMS geometry optimizations.
InitialNConformers
- Type:
Integer
- GUI name:
Initial no. of conformers
- Description:
Number of geometries initially created by RDKit, before AMS geometry optimization and filtering. If not set, the number will be automatically set, based on the number of rotational bonds.
MaxConfs
- Type:
Integer
- Default value:
5000
- Description:
If InitialNConformers is not set, then the number of conformers will be automatically set, with a maximum of MaxConfs.
MinConfs
- Type:
Integer
- Default value:
10
- Description:
If InitialNConformers is not set, then the number of conformers will be automatically set, with a minimum of MinConfs.
NconfsEstimationFactor
- Type:
Integer
- Default value:
100
- Description:
If InitialNConformers is not set, then the number of conformers will be automatically set based on the number of rotational bonds. The resulting number is then multiplied by this factor (default: 100), to ensure that enough conformers will be created.
RDKitETKDG
- Type:
Block
- Description:
Settings for the call to RDKits ETKDG conformer generator tool.
BestRMSDThreshold
- Type:
Float
- Default value:
-1.0
- Description:
After ETKDG conformer generation by RDKit, RDKit can be used to remove duplicates via the BestRMS algorithm. This filter does exactly the same as the RMSD equivalence detector in the Equivalence block.
ConstrainedAtoms
- Type:
Integer List
- Description:
The indices of the atoms to constrain during ETKDG conformer generation.
Forcefield
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, UFF, MMFF]
- Description:
The name of the RDKit forcefield to use for geometry optimization at the end of ETKDG conformer generation (by default no geometry optimization is performed). Using the RDKit internal optimization may make the subsequent geometry optimizations with AMS faster.
Parallel
- Type:
Bool
- Default value:
No
- Description:
Experimental: Parallelize the RDKit generation step by calling the RDKit conformer generation method in parallel from multiple processes.
RMSDThreshold
- Type:
Float
- Default value:
-1.0
- Description:
Root Mean Square deviation threshold for removing similar/equivalent conformations during the RDKit ETKDG procedure. By default there is no pruning (value: -1).
UseExpTorsionAnglePrefs
- Type:
String
- Default value:
default
- Description:
Impose experimental torsion angle preferences in RDKit ETKDG conformer generation. By default the RDKit version determines whether or not to switch this on.
RNGSeed
- Type:
Integer
- Description:
Initial guesses for conformers can be randomly generated by RDKit, using the ETKDG algorithm. For reproducibility, a random number seed can be provided here.
TORSION
- Type:
Block
- Description:
Options for the TorsionGenerator, which generates geometries by enumerative rotation around rotatable bonds. This is the slowest of all generator, and quickly becomes infeasible for large systems. Currently does not work for systems with interconnected rings.
Dtheta
- Type:
Float
- Default value:
60.0
- Description:
The angle over which the bonds are rotated, in order to create a new conformer.
GeometryOptimization
- Type:
Block
- Description:
Some options / details regarding the optimization procedure.
ConvergenceQuality
- Type:
Multiple Choice
- Default value:
VeryGood
- Options:
[Normal, Good, VeryGood, Excellent]
- GUI name:
Convergence
- Description:
The tightness of the convergence of the geometry optimizations. Lower quality levels may lead to badly converged geometries being classified as distinct conformers.
GeometryOptimization
- Type:
Block
- Description:
Configures details of the geometry optimization and transition state searches.
CalcPropertiesOnlyIfConverged
- Type:
Bool
- Default value:
Yes
- 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.
Convergence
- Type:
Block
- Description:
Convergence is monitored for up to 4 quantities: the energy change, the Cartesian gradients, the Cartesian step size, and for lattice optimizations the stress energy per atom. Convergence criteria can be specified separately for each of these items.
Energy
- Type:
Float
- Default value:
1e-05
- Unit:
Hartree
- Value Range:
value > 0
- GUI name:
Energy convergence
- Description:
The criterion for changes in the energy. The energy is considered converged when the change in energy is smaller than this threshold times the number of atoms.
Gradients
- Type:
Float
- Default value:
0.001
- Unit:
Hartree/Angstrom
- Value Range:
value > 0
- GUI name:
Gradient convergence
- Description:
Threshold for nuclear gradients.
Quality
- Type:
Multiple Choice
- Default value:
Custom
- Options:
[VeryBasic, Basic, Normal, Good, VeryGood, Custom]
- GUI name:
Convergence
- Description:
A quick way to change convergence thresholds: ‘Good’ will reduce all thresholds by an order of magnitude from their default value. ‘VeryGood’ will tighten them by two orders of magnitude. ‘Basic’ and ‘VeryBasic’ will increase the thresholds by one or two orders of magnitude respectively.
Step
- Type:
Float
- Default value:
0.01
- Unit:
Angstrom
- Value Range:
value > 0
- GUI name:
Step convergence
- Description:
The maximum Cartesian step allowed for a converged geometry.
StressEnergyPerAtom
- Type:
Float
- Default value:
0.0005
- Unit:
Hartree
- Value Range:
value > 0
- Description:
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
- Default value:
Auto
- Options:
[Auto, Delocalized, Cartesian]
- GUI name:
Optimization space
- Description:
Select the type of coordinates in which to perform the optimization. ‘Auto’ automatically selects the most appropriate CoordinateType for a given Method.
If ‘Auto’ is selected, Delocalized coordinates will be used for the Quasi-Newton method, while Cartesian coordinates will be used for all other methods.
Dimer
- Type:
Block
- Description:
Options for the Dimer method for transition state search.
AngleThreshold
- Type:
Float
- Default value:
1.0
- Unit:
Degree
- Description:
The rotation is considered converged when the the rotation angle falls below the specified threshold.
DimerDelta
- Type:
Float
- Default value:
0.01
- Unit:
Angstrom
- Description:
Euclidian distance between the midpoint and the endpoint.
ExtrapolateForces
- Type:
Bool
- Default value:
Yes
- Description:
Set to false to call engine to calculate forces at the extrapolated rotation angle instead of extrapolating them.
LBFGSMaxVectors
- Type:
Integer
- Default value:
10
- Description:
Max number of vectors for the L-BFGS algorithm to save.
MaxRotationIterations
- Type:
Integer
- Default value:
10
- Description:
Maximum number of rotation iterations for a single translation step.
Region
- Type:
String
- Default value:
*
- Description:
Include only atoms of the specified region(s) in the rotations, which allows searching for a transition state involving selected atoms only.
RotationTrustRadius
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
L-BFGS trust radius during rotation iterations.
TranslationTrustRadius
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
L-BFGS trust radius during translation iterations.
EngineAutomations
- Type:
Block
- Description:
The optimizer can change some settings of the engine, based for instance on the error.
The idea is to allow the engine to be a bit quicker at the start, and more accurate towards the end.
Automations are always engine specific.
Enabled
- Type:
Bool
- Default value:
Yes
- Description:
Whether or not automations are enabled at all.
Gradient
- Type:
Block
- Recurring:
True
- Description:
A gradient-based automation.
FinalValue
- Type:
Float
- Description:
This value will be used whenever the gradient is less than GradientLow
HighGradient
- Type:
Float
- Default value:
1.0
- Unit:
Hartree/Angstrom
- Description:
Defines a large gradient. When the actual gradient is between GradientHigh and GradientLow a linear interpolation scheme is used for kT (on a log scale).
InitialValue
- Type:
Float
- Description:
This value will be used at the first geometry, and whenever the gradient is higher than GradientHigh
LowGradient
- Type:
Float
- Default value:
1.0
- Unit:
Hartree/Angstrom
- Description:
Defines a small gradient, see GradientHigh
UseLogInterpolation
- Type:
Bool
- Default value:
Yes
- Description:
Whether to use interpolation on a log (y) scale or not
Variable
- Type:
String
- Default value:
- Description:
variable to be tweaked for the engine.
Iteration
- Type:
Block
- Recurring:
True
- Description:
Geometry step based automation.
FinalValue
- Type:
Float
- Description:
FirstIteration
- Type:
Integer
- Default value:
1
- Description:
When the actual gradient is between the first and last iteration, a linear interpolation is used.
InitialValue
- Type:
Float
- Description:
This value will be used when the iteration number is smaller or equal to FirstIteration
LastIteration
- Type:
Integer
- Default value:
10
- Description:
Where the automation should reach the FinalValue
UseLogInterpolation
- Type:
Bool
- Default value:
Yes
- Description:
Whether to use interpolation on a log (y) scale or not
Variable
- Type:
String
- Default value:
- Description:
variable to be tweaked for the engine.
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).
AllowOverallRotation
- Type:
Bool
- Default value:
Yes
- Description:
Whether or not the system is allowed to freely rotate during the optimization. This is relevant when optimizing structures in the presence of external fields.
AllowOverallTranslation
- Type:
Bool
- Default value:
No
- Description:
Whether or not the system is allowed to translate during the optimization. This is relevant when optimizing structures in the presence of external fields.
MapAtomsToUnitCell
- Type:
Bool
- Default value:
No
- Description:
Map the atoms to the central cell at each geometry step.
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.0
- Unit:
Femtoseconds
- Description:
Maximum time step used for the integration. For ReaxFF and APPLE&P, this value is reduced by 50%.
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:
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
- Description:
Configures details of the Hessian-free (conjugate gradients or L-BFGS) geometry optimizer.
Step
- Type:
Block
- Description:
MaxCartesianStep
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
Limit on a single Cartesian component of the step.
MinRadius
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
Minimum value for the trust radius.
TrialStep
- Type:
Float
- Default value:
0.0005
- Unit:
Angstrom
- Description:
Length of the finite-difference step when determining curvature. Should be smaller than the step convergence criterion.
TrustRadius
- Type:
Float
- Default value:
0.2
- Unit:
Angstrom
- Description:
Initial value of the trust radius.
InitialHessian
- Type:
Block
- Description:
Options for initial model Hessian when optimizing systems with the Quasi-Newton method.
File
- Type:
String
- GUI name:
Initial Hessian from
- Description:
KF file containing the initial Hessian (or the results dir. containing it). 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, Calculate, CalculateWithFastEngine]
- GUI name:
Initial Hessian
- Description:
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). CalculateWithFastEngine: compute the initial Hessian with a faster engine.
KeepIntermediateResults
- Type:
Bool
- Default value:
No
- 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
- Value Range:
value >= 0
- GUI name:
Maximum number of iterations
- Description:
The maximum number of geometry iterations allowed to converge to the desired structure.
MaxRestarts
- Type:
Integer
- Default value:
0
- Description:
If a geometry optimization of a system with no symmetry operators (or with explicitly disabled symmetry:
UseSymmetry False
) and enabled PES point characterization converges to a transition state (or higher order saddle point), it can be restarted automatically after a small displacement along the imaginary vibrational mode. In case the restarted optimization again does not find a minimum, this can happen multiple times in succession. This keyword sets the maximum number of restarts. The default value is 0, so the automatic restarting is disabled by default.
Method
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, Quasi-Newton, FIRE, L-BFGS, ConjugateGradients, Dimer]
- GUI name:
Optimization method
- Description:
Select the optimization algorithm employed for the geometry relaxation. Currently supported are:
the Hessian-based Quasi-Newton-type BFGS algorithm,
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
- Default value:
No
- Description:
Whether to also optimize the lattice for periodic structures. This is currently supported with the Quasi-Newton, FIRE, and L-BFGS optimizers.
PretendConverged
- Type:
Bool
- Default value:
No
- Description:
Normally a non-converged geometry optimization is considered an error. If this keyword is set to True, the optimizer will only produce a warning and still claim that the optimization is converged. (This is mostly useful for scripting applications, where one might want to consider non-converged optimizations still successful jobs.)
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
- Description:
Initial value of the trust radius.
VaryTrustRadius
- Type:
Bool
- Description:
Whether to allow the trust radius to change during optimization. By default True during energy minimization and False during transition state search.
UpdateTSVectorEveryStep
- Type:
Bool
- Default value:
Yes
- GUI name:
Update TSRC vector every step
- Description:
Whether to update the TS reaction coordinate at each step with the current eigenvector.
RestartDisplacement
- Type:
Float
- Default value:
0.05
- Unit:
Angstrom
- Description:
If a geometry optimization of a system with no symmetry operators (or with explicitly disabled symmetry:
UseSymmetry False
) and enabled PES point characterization converges to a transition state (or higher order saddle point), it can be restarted automatically after a small displacement along the imaginary vibrational mode. This keywords sets the size of the displacement for the furthest moving atom.
Keep
- Type:
Multiple Choice
- Default value:
None
- Options:
[None, all]
- Description:
Keep all the output files of the geometry optimizations. If set to ‘all’, must be used in combination with Output%KeepWorkDir.
MaxConvergenceTime
- Type:
Multiple Choice
- Default value:
Default
- Options:
[Default, High]
- Description:
The number of iterations for the geometry optimization, based on the number of atoms in the system. The default value is the general AMS value for geometry optimization. Often, for conformer generation, it needs to be set higher.
MaxOptimizations
- Type:
Integer
- Default value:
1000
- Description:
Set a maximum to the number of geometries accepted for optimization at once, per AMSWorker (so should be multiplied by the number of cores used). If not set, the disc size requirements can become too large.
OptimizationMethod
- Type:
Multiple Choice
- Default value:
Quasi-Newton
- Options:
[Auto, Quasi-Newton, FIRE, L-BFGS, ConjugateGradients, Dimer]
- Description:
Select the optimization algorithm employed for the geometry relaxation. Currently supported are:
the Hessian-based Quasi-Newton-type BFGS algorithm,
the fast inertial relaxation method (FIRE),
the limited-memory BFGS method,
and the conjugate gradients method. The default is Quasi-Newton, which gives the most reliable results for conformers. The Auto method leaves it to the AMS GeometryOptimization task to select a method.
UseAMSWorker
- Type:
Bool
- Default value:
Yes
- Description:
Whether the set of optimizations should be run via the AMSWorkerPool or via regular AMSJobs.
WriteGeometries
- Type:
Block
- Description:
Determines if and where optimized geometries will be written to file during optimization. When the AMSWorker is used, then the write interval depends on MaxOptimizations. If enabled, must be used in combination with Output%KeepWorkDir.
Dirname
- Type:
String
- Default value:
conf_tmpdir
- Description:
The name of the folder that should contain the optimized geometries.
Enabled
- Type:
Bool
- Default value:
No
- Description:
Enables or disables the periodic writing of optimized geometries to file
InputConformersSet
- Type:
String
- Recurring:
True
- Description:
The path to a file containing a set of conformers.
The file should be either an ‘conformers.rkf’ file (i.e. the results file of conformers) or a concatenated .xyz file.
You can specify multiple input conformers sets by including the InputConformersSet keyword multiple times.
InputMaxConfs
- Type:
Integer
- Description:
The maximum number of conformers to carry forward when loading conformer sets. If this input is not specified, this limit will not be imposed.
InputMaxEnergy
- Type:
Float
- Unit:
kcal/mol
- Description:
Threshold for filtering out high-energy conformers when loading conformers sets using the InputConformerSet keyword. Conformers with an larger relative energy will not be loaded.
LoadSystem
- Type:
Block
- Recurring:
True
- 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. It may also be the results directory containing it.
Section
- Type:
String
- Default value:
Molecule
- Description:
The section on the KF file from which to load the system.
Output
- Type:
Block
- Description:
Options regarding the output and result files.
KeepWorkDir
- Type:
Bool
- Default value:
No
- Description:
Do not remove the working directories after the conformer generation is finished.
rkf
- Type:
Bool
- Default value:
Yes
- Description:
Save the final conformers in .rkf format. The file ‘conformers.rkf’ will be located in the results directory. You can visualize this file using the AMSMovie GUI module.
sdf
- Type:
Bool
- Default value:
Yes
- Description:
Save the final conformers in .sdf format. The file ‘conformers.sdf’ will be located in the results directory.
xyz
- Type:
Bool
- Default value:
Yes
- Description:
Save the final conformers in .xyz format. The file ‘conformers.xyz’ will be located in the results directory.
Restraints
- Type:
Block
- Description:
The Restraints block allows to add soft constraints to the system. A restraint is a potential energy function (a spring) attached to a certain coordinate, for example, an interatomic distance, with its minimum at the specified optimal value. A restraint is defined using one or two parameters: the ForceConstant and, for some types, the F(Inf) value. The ForceConstant parameter corresponds to second derivative of the restraint potential energy d2V(x)/dx^2 for any x (harmonic restraints) or only at at x=0 (other restraints). Here, x is a deviation from the restraint’s optimal value.
Angle
- Type:
String
- Recurring:
True
- Description:
Specify three atom indices i j k followed by an angle in degrees and, optionally, by the ForceConstant (default is 0.3 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the i-j-k angle at the given value. For periodic systems this restraint follows the minimum image convention.
DifDist
- Type:
String
- Recurring:
True
- Description:
Specify four atom indices i j k l followed by the distance in Angstrom and, optionally, by the ForceConstant (default is 1.0 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the difference R(ij)-R(kl) at the given value. For periodic systems this restraint follows the minimum image convention.
Dihedral
- Type:
String
- Recurring:
True
- Description:
Specify four atom indices i j k l followed by an angle in degrees and, optionally, by the ForceConstant (default is 0.1 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the i-j-k-l dihedral angle at the given value. For periodic systems this restraint follows the minimum image convention.
Distance
- Type:
String
- Recurring:
True
- Description:
Specify two atom indices followed by the distance in Angstrom and, optionally, by the ForceConstant (default is 1.0 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the distance between the two specified atoms at the given value. For periodic systems this restraint follows the minimum image convention.
FInfinity
- Type:
Float
- Default value:
1.0
- GUI name:
Default F(inf)
- Description:
Specify the default asymptotic value for the restraint force for the Hyperbolic and Erf profiles, in Hartree/Bohr or Hartree/radian.
A per-restraint value can be specified after the profile type on the corresponding restraint line.
Profile
- Type:
Multiple Choice
- Default value:
Harmonic
- Options:
[Harmonic, Hyperbolic, Erf, GaussianWell]
- GUI name:
Default restraint profile
- Description:
Select the default type of restraint profile.
The harmonic profile is most suitable for geometry optimizations but may result is very large forces that can be problematic in molecular dynamic.
For MD simulations the Hyperbolic or Erf may be more suitable because the restraint force is bounded by a user-defined value.
A per-restraint profile type can be specified after the ForceConstant value on the corresponding restraint line.
SumDist
- Type:
String
- Recurring:
True
- Description:
Specify four atom indices i j k l followed by the distance in Angstrom and, optionally, by the ForceConstant (default is 1.0 in a.u.), profile type and F(Inf) (in a.u.). This restraint will try to keep the sum R(ij)+R(kl) at the given value. For periodic systems this restraint follows the minimum image convention.
Units
- Type:
Multiple Choice
- Default value:
Default
- Options:
[Default, MD]
- GUI name:
Units
- Description:
Change units for energy, force and force constant values from the default (atomic units) to those often used in the MD community (based on kcal/mol and Angstrom). Units for the optimal distances are not affected and are always Angstrom.
RNGSeed
- Type:
Integer
- Description:
Initial seed for the (pseudo)random number generator. If this is unset, the generator will be seeded randomly from external sources of entropy and the generated conformers will be non-deterministic.
System
- Type:
Block
- Recurring:
True
- Description:
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.
AllowCloseAtoms
- Type:
Bool
- Default value:
No
- Description:
If AllowCloseAtoms is set to False, the AMS driver will stop with an error if it detects almost-coinciding atomic coordinates. If set to True, the AMS driver will try to carry on with the calculation.
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. Each line should contain two atom indices, followed by the bond order (1, 1.5, 2, 3 for single, aromatic, double and triple bonds) and (optionally) the cell shifts for periodic systems. May be used by MM engines and for defining constraints. If the system is periodic and none of the bonds have the cell shift defined then AMS will attempt to determine them following the minimum image convention.
Charge
- Type:
Float
- Default value:
0.0
- GUI name:
Total charge
- Description:
The system’s total charge in atomic units.
ElectrostaticEmbedding
- Type:
Block
- Description:
Container for electrostatic embedding options, which can be combined.
ElectricField
- Type:
Float List
- Unit:
V/Angstrom
- Description:
External homogeneous electric field with three Cartesian components: ex, ey, ez, the default unit being V/Å.
In atomic units: Hartree/(e bohr) = 51.422 V/Angstrom; the relation to SI units is: 1 Hartree/(e bohr) = 5.14 … e11 V/m.
Supported by the engines adf, band, dftb and mopac.
For periodic systems the field may only have nonzero components orthogonal to the direction(s) of periodicity (i.e. for 1D periodic system the x-component of the electric field should be zero, while for 2D periodic systems both the x and y components should be zero. This options cannot be used for 3D periodic systems.
MultipolePotential
- Type:
Block
- Description:
External point charges (and dipoles).
ChargeModel
- Type:
Multiple Choice
- Default value:
Point
- Options:
[Point, Gaussian]
- Description:
A multipole may be represented by a point (with a singular potential at its location) or by a spherical Gaussian distribution.
ChargeWidth
- Type:
Float
- Default value:
-1.0
- Description:
The width parameter in a.u. in case a Gaussian charge model is chosen. A negative value means that the width will be chosen automatically.
Coordinates
- Type:
Non-standard block
- Description:
Positions and values of the multipoles, one per line. Each line has the following format:
x y z q, or
x y z q µx µy µz.
Here x, y, z are the coordinates in Å, q is the charge (in atomic units of charge) and µx, µy, µz are the (optional) dipole moment components (in atomic units, i.e. e*Bohr).
Periodic systems are not supported.
FractionalCoords
- Type:
Bool
- Default value:
No
- 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 the geometry from a file (instead of from Atoms and Lattice blocks). Supported formats: .xyz
GuessBonds
- Type:
Bool
- Default value:
No
- Description:
Whether or not UFF bonds should be guessed.
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.
LoadForceFieldAtomTypes
- Type:
Block
- Description:
This is a mechanism to set the ForceField.Type attribute in the input. This information is currently only used by the ForceField engine.
File
- Type:
String
- Description:
Name of the (kf) file. It needs to be the result of a forcefield calculation.
LoadForceFieldCharges
- Type:
Block
- Recurring:
True
- Description:
This is a mechanism to set the ForceField.Charge attribute in the input. This information is currently only used by the ForceField engine.
CheckGeometryRMSD
- Type:
Bool
- Default value:
No
- Description:
Whether the geometry RMSD test should be performed, see MaxGeometryRMSD. Otherwise only basic tests are performed, such as number and atom types. Not doing the RMSD test allows you to load molecular charges in a periodic system.
File
- Type:
String
- Description:
Name of the (kf) file
MaxGeometryRMSD
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
The geometry of the charge producing calculation is compared to the one of the region, and need to be the same within this tolerance.
Region
- Type:
String
- Default value:
*
- Description:
Region for which the charges should be loaded
Section
- Type:
String
- Default value:
AMSResults
- Description:
Section name of the kf file
Variable
- Type:
String
- Default value:
Charges
- Description:
Variable name of the kf file
MapAtomsToUnitCell
- Type:
Bool
- Default value:
No
- Description:
For periodic systems the atoms will be moved to the central cell.
ModifyAlternativeElements
- Type:
Bool
- Default value:
No
- Description:
When using alternative elements (using the nuclear_charge attribute) set the element to the nearest integer Z. If you specify an H atom with a nuclear_charge of 2.9 it is replaced by a Li atom with the same nuclear charge.
PerturbCoordinates
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
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
- Default value:
0.0
- Description:
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.
RandomizeAtomOrder
- Type:
Bool
- Default value:
No
- Description:
Whether or not the order of the atoms should be randomly changed. Intended for some technical testing purposes only. Does not work with bond information.
Region
- Type:
Block
- Recurring:
True
- Description:
Properties for each region specified in the Atoms block.
Properties
- Type:
Non-standard block
- Description:
Properties for each region specified in the Atoms block.
ShiftCoordinates
- Type:
Float List
- Unit:
Bohr
- Description:
Translate the atoms by the specified shift (three numbers).
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).
SuperCellTrafo
- Type:
Integer List
- Description:
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)).
Symmetrize
- Type:
Bool
- Default value:
No
- Description:
Whether to symmetrize the input structure. This might also rototranslate the structure into a standard orientation. This will symmetrize the atomic coordinates to machine precision. Useful if the system is almost symmetric or to rototranslate a symmetric molecule into a standard orientation.
Symmetry
- Type:
Multiple Choice
- Default value:
AUTO
- Options:
[AUTO, NOSYM, C(LIN), D(LIN), C(I), C(S), C(2), C(3), C(4), C(5), C(6), C(7), C(8), C(2V), C(3V), C(4V), C(5V), C(6V), C(7V), C(8V), C(2H), C(3H), C(4H), C(5H), C(6H), C(7H), C(8H), D(2), D(3), D(4), D(5), D(6), D(7), D(8), D(2D), D(3D), D(4D), D(5D), D(6D), D(7D), D(8D), D(2H), D(3H), D(4H), D(5H), D(6H), D(7H), D(8H), I, I(H), O, O(H), T, T(D), T(H), S(4), S(6), S(8)]
- Description:
Use (sub)symmetry with this Schoenflies symbol. Can only be used for molecules. Orientation should be correct for the (sub)symmetry. If used icw Symmetrize, the symmetrization will not reorient the molecule.
Task
- Type:
Multiple Choice
- Default value:
Generate
- Options:
[Generate, Optimize, Filter, Score, Expand]
- Description:
The task to be performed by the Conformers tool.
‘Generate’: given a molecule, generate a set of conformers. Note: this task will automatically optimize, filter and score the conformers.
‘Optimize’: given a previously generated set of conformers, optimize, filter and score the structures using the specified engine.
‘Filter’: given one or more previously generated set of conformers, merge them into a single conformer set and filter out duplicate conformers. Note: this will not optimize or re-score the conformers.
‘Score’ given one or more previously generated set of conformers, re-score them by computing the energy using the specified engine. Note: this will only do a single point calculation, and will not optimize the structures.
In case of ‘Optimize’, ‘Filter’ and ‘Score’ you can specify the input conformer set(s) using the ‘InputConformersSet’ keyword.
fcf¶
See FCF manual page
oled-deposition¶
Box
- Type:
Block
- Description:
Specifications of the box into which the material is deposited.
Size
- Type:
Float List
- Default value:
[60.0, 60.0, 120.0]
- Unit:
Angstrom
- GUI name:
Box size
- Description:
Specify the desired size of the box. The final deposited box may have a different size. The x- and y-axis are perpendicular to the direction of deposition, so these may be regarded as the width of the growing layer. The z-axis is the direction along which the deposition happens, so this determines the thickness of the deposited layer. Note that the x- and y-axis will be ignored if a custom substrate is used: the are of the box is then determined by the lattice of the substrate. The z-axis can still be freely chosen, but should be large enough that there is enough space for the substrate itself and to deposit more molecules on top of it.
Substrate
- Type:
Multiple Choice
- Default value:
Graphene
- Options:
[Graphene, Custom]
- Description:
The substrate on which to grow the layer.
SubstrateSystem
- Type:
String
- GUI name:
Custom substrate
- Description:
String ID of a named [System] to be used as a substrate. (This is only used when the Substrate key is set to Custom.)
Deposition
- Type:
Block
- Description:
Specifies the details of how molecules are deposited.
ConstrainHXBonds
- Type:
Bool
- Default value:
Yes
- GUI name:
Constrain H-* bonds
- Description:
Constrain the bond length for all H-* bonds (i.e. any bond to a hydrogen atom). Doing this allows choosing a larger time step. If this option is disabled, the TimeStep needs to be reduced manually.
Frequency
- Type:
Integer
- Default value:
10000
- Description:
The frequency in MD steps at which new molecules will be added to the system.
NumMolecules
- Type:
Integer
- Description:
The number of molecules that we will try to deposit. If not specified the number will be determined automatically such that the box becomes approximately full.
Temperature
- Type:
Float
- Default value:
600.0
- Description:
The temperature at which the deposition happens.
TimeStep
- Type:
Float
- Default value:
1.0
- Unit:
Femtoseconds
- Description:
The time difference per step.
LAMMPSOffload
- Type:
Block
- Description:
Offload the calculation to LAMMPS via AMSPipe.
Enabled
- Type:
Bool
- Default value:
No
- Description:
Enable offloading the force field evaluation to LAMMPS instead of handling it internally in AMS.
UseGPU
- Type:
Bool
- Default value:
No
- GUI name:
Use GPU
- Description:
Accelerate LAMMPS calculations using a GPU. Requires a LAMMPS library built with the GPU package.
UseOpenMP
- Type:
Bool
- Default value:
No
- GUI name:
Use OpenMP
- Description:
Parallelize LAMMPS calculations using OpenMP threading. Requires a LAMMPS library built with the OMP package.
LoadSystem
- Type:
Block
- Recurring:
True
- 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. It may also be the results directory containing it.
Section
- Type:
String
- Default value:
Molecule
- Description:
The section on the KF file from which to load the system.
Molecule
- Type:
Block
- Recurring:
True
- GUI name:
Molecules
- Description:
Specification of the molecule to be deposited.
MoleFraction
- Type:
Float
- Default value:
1.0
- GUI name:
Molar fraction
- Description:
The relative occurrence of the molecule with regard to other deposited species. Only relevant for mixed molecule depositions.
SystemName
- Type:
String
- GUI name:
Molecule
- Description:
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.
RestartWorkdir
- Type:
String
- Description:
Uses the data from the working directory of a previously run deposition workflow for restarting. Under the hood this uses the normal rerun-prevention available in PLAMS: it may reuse results from old jobs instead of running them again.
System
- Type:
Block
- Recurring:
True
- Description:
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.
AllowCloseAtoms
- Type:
Bool
- Default value:
No
- Description:
If AllowCloseAtoms is set to False, the AMS driver will stop with an error if it detects almost-coinciding atomic coordinates. If set to True, the AMS driver will try to carry on with the calculation.
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. Each line should contain two atom indices, followed by the bond order (1, 1.5, 2, 3 for single, aromatic, double and triple bonds) and (optionally) the cell shifts for periodic systems. May be used by MM engines and for defining constraints. If the system is periodic and none of the bonds have the cell shift defined then AMS will attempt to determine them following the minimum image convention.
Charge
- Type:
Float
- Default value:
0.0
- GUI name:
Total charge
- Description:
The system’s total charge in atomic units.
ElectrostaticEmbedding
- Type:
Block
- Description:
Container for electrostatic embedding options, which can be combined.
ElectricField
- Type:
Float List
- Unit:
V/Angstrom
- Description:
External homogeneous electric field with three Cartesian components: ex, ey, ez, the default unit being V/Å.
In atomic units: Hartree/(e bohr) = 51.422 V/Angstrom; the relation to SI units is: 1 Hartree/(e bohr) = 5.14 … e11 V/m.
Supported by the engines adf, band, dftb and mopac.
For periodic systems the field may only have nonzero components orthogonal to the direction(s) of periodicity (i.e. for 1D periodic system the x-component of the electric field should be zero, while for 2D periodic systems both the x and y components should be zero. This options cannot be used for 3D periodic systems.
MultipolePotential
- Type:
Block
- Description:
External point charges (and dipoles).
ChargeModel
- Type:
Multiple Choice
- Default value:
Point
- Options:
[Point, Gaussian]
- Description:
A multipole may be represented by a point (with a singular potential at its location) or by a spherical Gaussian distribution.
ChargeWidth
- Type:
Float
- Default value:
-1.0
- Description:
The width parameter in a.u. in case a Gaussian charge model is chosen. A negative value means that the width will be chosen automatically.
Coordinates
- Type:
Non-standard block
- Description:
Positions and values of the multipoles, one per line. Each line has the following format:
x y z q, or
x y z q µx µy µz.
Here x, y, z are the coordinates in Å, q is the charge (in atomic units of charge) and µx, µy, µz are the (optional) dipole moment components (in atomic units, i.e. e*Bohr).
Periodic systems are not supported.
FractionalCoords
- Type:
Bool
- Default value:
No
- 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 the geometry from a file (instead of from Atoms and Lattice blocks). Supported formats: .xyz
GuessBonds
- Type:
Bool
- Default value:
No
- Description:
Whether or not UFF bonds should be guessed.
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.
LoadForceFieldAtomTypes
- Type:
Block
- Description:
This is a mechanism to set the ForceField.Type attribute in the input. This information is currently only used by the ForceField engine.
File
- Type:
String
- Description:
Name of the (kf) file. It needs to be the result of a forcefield calculation.
LoadForceFieldCharges
- Type:
Block
- Recurring:
True
- Description:
This is a mechanism to set the ForceField.Charge attribute in the input. This information is currently only used by the ForceField engine.
CheckGeometryRMSD
- Type:
Bool
- Default value:
No
- Description:
Whether the geometry RMSD test should be performed, see MaxGeometryRMSD. Otherwise only basic tests are performed, such as number and atom types. Not doing the RMSD test allows you to load molecular charges in a periodic system.
File
- Type:
String
- Description:
Name of the (kf) file
MaxGeometryRMSD
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
The geometry of the charge producing calculation is compared to the one of the region, and need to be the same within this tolerance.
Region
- Type:
String
- Default value:
*
- Description:
Region for which the charges should be loaded
Section
- Type:
String
- Default value:
AMSResults
- Description:
Section name of the kf file
Variable
- Type:
String
- Default value:
Charges
- Description:
Variable name of the kf file
MapAtomsToUnitCell
- Type:
Bool
- Default value:
No
- Description:
For periodic systems the atoms will be moved to the central cell.
ModifyAlternativeElements
- Type:
Bool
- Default value:
No
- Description:
When using alternative elements (using the nuclear_charge attribute) set the element to the nearest integer Z. If you specify an H atom with a nuclear_charge of 2.9 it is replaced by a Li atom with the same nuclear charge.
PerturbCoordinates
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
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
- Default value:
0.0
- Description:
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.
RandomizeAtomOrder
- Type:
Bool
- Default value:
No
- Description:
Whether or not the order of the atoms should be randomly changed. Intended for some technical testing purposes only. Does not work with bond information.
Region
- Type:
Block
- Recurring:
True
- Description:
Properties for each region specified in the Atoms block.
Properties
- Type:
Non-standard block
- Description:
Properties for each region specified in the Atoms block.
ShiftCoordinates
- Type:
Float List
- Unit:
Bohr
- Description:
Translate the atoms by the specified shift (three numbers).
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).
SuperCellTrafo
- Type:
Integer List
- Description:
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)).
Symmetrize
- Type:
Bool
- Default value:
No
- Description:
Whether to symmetrize the input structure. This might also rototranslate the structure into a standard orientation. This will symmetrize the atomic coordinates to machine precision. Useful if the system is almost symmetric or to rototranslate a symmetric molecule into a standard orientation.
Symmetry
- Type:
Multiple Choice
- Default value:
AUTO
- Options:
[AUTO, NOSYM, C(LIN), D(LIN), C(I), C(S), C(2), C(3), C(4), C(5), C(6), C(7), C(8), C(2V), C(3V), C(4V), C(5V), C(6V), C(7V), C(8V), C(2H), C(3H), C(4H), C(5H), C(6H), C(7H), C(8H), D(2), D(3), D(4), D(5), D(6), D(7), D(8), D(2D), D(3D), D(4D), D(5D), D(6D), D(7D), D(8D), D(2H), D(3H), D(4H), D(5H), D(6H), D(7H), D(8H), I, I(H), O, O(H), T, T(D), T(H), S(4), S(6), S(8)]
- Description:
Use (sub)symmetry with this Schoenflies symbol. Can only be used for molecules. Orientation should be correct for the (sub)symmetry. If used icw Symmetrize, the symmetrization will not reorient the molecule.
oled-properties¶
CoresPerJob
- Type:
Integer
- Default value:
8
- Description:
The number of CPU cores used for each job in the workflow. Combined with the total number of cores used (set by the
NSCM
environment variable or the-n
command line argument), this indirectly determines the number of simultaneously running jobs. The default value should usually be a good choice. When changing this value, make sure you are using all allocated cores by setting a value that divides the total number of cores, as well as the number of cores on each node.
Embedding
- Type:
Block
- Description:
Configures details of how the environment is taken into account.
Charges
- Type:
Multiple Choice
- Default value:
DFT
- Options:
[DFTB, DFT]
- Description:
Which atomic charges to use for the DRF embedding.
DFTB: Use the self-consistent Mulliken charges from a quick DFTB calculation with the GFN1-xTB model.
DFT: Use the MDC-D charges from a relatively quick DFT calculation using LDA and a DZP basis set.
Cutoff
- Type:
Float
- Default value:
15.0
- Unit:
Angstrom
- Description:
The cutoff distance determining which molecules will be considered the environment of the central molecule. The maximum possible cutoff distance is half the length of the smallest lattice vector. The distance can be measured using different metrics, see the
Metric
keyword.
Metric
- Type:
Multiple Choice
- Default value:
Atoms
- Options:
[CoM, Atoms, Atoms_noH]
- Description:
The metric used to calculate the distance between two molecules.
CoM: use the distance between the centers of mass of the two molecules.
Atoms: Use the distance between the two closest atoms of two molecules.
Atoms_noH: Use the distance between the closest non-hydrogen atoms of the two molecules.
Type
- Type:
Multiple Choice
- Default value:
DRF
- Options:
[None, DRF]
- Description:
The type of embedding used to simulate the molecular environment.
GW
- Type:
Block
- Description:
Instruct ADF to perform a G0W0 calculation.
AdaptiveMixing
- Type:
Float List
- Description:
Requests to use adaptive mixing instead of DIIS and sets the staring mixing parameter for mixing of Green’s function in case of self-consistency.
Adapative mixing is recommenened in case a qsGW calculation does not converge with DIIS.
It is ignored in non-selfconsistent calculation and overwritten by DIIS when DIIS is also present.
AnalyticalIntegration
- Type:
Block
- Description:
Use analytical integration to calculate the self-energy. Very slow, unless the system is very small but useful to check the accuracy of the frequency integration
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
analytical integration
- Description:
Enable the calculation of the GW quasi-particle energies via analytical integration.
SpectralFunctionResolution
- Type:
Integer
- Default value:
800
- Description:
Number of points at which spectral function is evaluated.
TDA
- Type:
Bool
- Default value:
No
- Description:
Solve the linear reponse equations in the Tamm-Dancoff approximation.
eta
- Type:
Float
- Default value:
0.001
- Description:
Artificial (positive) broadening parameter for evaluation of self-energy in analytical integration.
Ideally should be as small as possible but this might lead to convergence issues in partially self-consistent approaches.
In this case, a value of up to 0.1 is possible.
Converge
- Type:
Block
- Description:
Sets convergence criteria for the GW calculation in self-consistent case
Density
- Type:
Float List
- Default value:
[1e-08, 1e-05]
- Description:
First Criterion for self-consistency procedure to terminate.
Criterion is the trace of the density matrix. Ignored in non-selfconsistent Calculation and in eigenvalue self-consistent GW
It is possible to run a qsGW calculation with an inner SCF loop which updates the static part of the elf-energy only. This can be useful to accelerate the convergence in case linear mixing is used. It is not recommended to use linear mixing, so it is also not recommened to use that inner loop as well. The second number in this list specifies the convergence criterion for the inner SCF loop.
HOMO
- Type:
Float
- Default value:
0.003
- Unit:
eV
- GUI name:
HOMO energy convergence
- Description:
Criterion for self-consistency procedure to terminate.
The self-consistent GW calculation terminates, when the difference between the HOMO QP energies between 2 consecutive iterations is below this number.
The LUMO energy converged faster than the HOMO energy so when the HOMO energy is converged according to this criterion, the LUMO energy will be converged as well.
In non-selfconsistent Calculation, this criterion is ignored.
DIIS
- Type:
Integer
- Default value:
10
- Description:
Requests to use DIIS. This is the Default. Number of expansion coefficients can be requested as well. Ignored in non-selfconsistent calculation
Enabled
- Type:
Bool
- Default value:
No
- GUI name:
Calculate GW quasi-particle energies
- Description:
Enable the calculation of the GW quasi-particle energies.
FixedGrids
- Type:
Bool
- Default value:
No
- Description:
In a self-consistent GW calculation, do not recalculate Grids. Can be useful in case of convergence problems. Only relevant for qsGW and qsGW0. In case of evGW and evGW0, the grids are always kept fixed.
LinearMixing
- Type:
Float List
- Description:
Requests to use linear mixing instead of DIIS and sets the mixing parameter for linear mixing of Green’s function in case of self-consistency.
It is ignored in non-selfconsistent calculation and overwritten by DIIS when DIIS is also present.
LinearizeQPequations
- Type:
Bool
- Default value:
No
- Description:
Instead of solving the non-linear QP equations in a G0W0 (or evGW calculation) by bisection exacly, linearize them by first-order Taylor expansion.
This is not recommended since it does not save computational time when used together with analytical continuation (as implemented in AMS). It might however be useful for benchmarking or for validating results.
If the results os the linearization differ by a lot (for instance, more than 0.1 eV in frontier QP energies) from the non-linearized results, this might indicate that the GW calculation is not reliable.
OffDiagonalEFermi
- Type:
Bool
- Default value:
No
- Description:
Analytically continue the off-diagonal elements of the KSF2 qsGW Hamiltonian at the Fermi-energy instead of omega=0. Typically leads to slightly lower QP energies, i.e. higher ionization potentials. The HOMO-LUMO gaps are typically not affected.
Polarizability
- Type:
Multiple Choice
- Default value:
RPA
- Options:
[RPA, BSE, G4W1, G4V1, TDHF]
- Description:
Sets the expression for the Polarizability used in the GW calculation.
RPA is the Default and amounts to a standard GW calculation.
BSE denotes screening in the Bethe-Salpeter-equation formalism.
PrintAllSolutions
- Type:
Bool
- Default value:
No
- Description:
Print out all solutions for all requested states. Detects multiple solutions of the QP equations.
PrintSpectralFunction
- Type:
Bool
- Default value:
No
- Description:
Plot the self-energy as a function of freuency. Aotumatically done in case of analytical continuation. However, this is expensive in the analytical integration formalism.
QPHamiltonian
- Type:
Multiple Choice
- Default value:
KSF2
- Options:
[KSF1, KSF2, SRG, LQSGW]
- Description:
The quasi-particle Hamiltonian can be constructed in different ways.
KSF1 refers to the original construction by Kotani, Van Schilfgaarde anf Faleev (KSF) which is also implemented in TURBOMOLE.
KSF2 refers to an alternative construction by KSF.
KSF1 is not recommended since it is numerically less stable than KSF2. The results are typically very similar.
The QP energies at which the matrix elements are evaluated can be tweaked further, see the two subsequent keys: However, KSF2 is recommended since it typically leads to QP energies with the best agreement with experiment.
Ignored when not a quasi-particle self-consistent GW calculation is performed
ScissorShift
- Type:
Bool
- Default value:
No
- Description:
Only calculate the HOMO and LUMO QP energies and shift the remaining QP energies by the same amount.
This is a rather crude approximaiton and not recommended.
It might again be useful for benchmarking purposes.
SelfConsistency
- Type:
Multiple Choice
- Default value:
G0W0
- Options:
[G0W0, EVGW0, EVGW, QSGW0, QSGW]
- Description:
Sets the level of self-consistency in a GW calculation.
G0W0 calculates a one-shot, perturbative correction to the KS eigenvalues.
In evGW and evGW0, the quasi-particle energies are updated until self-consistency is reached.
evGW0 requests that the Green’s function is evaluated self-consistently but not the screened interaction.
In qsGW, the density is updated as well, however, the self-energy is mapped to a static effective potential and the Dyson equation is solved by diagonalization instead of inversion. The results of a qsGW are independent of the choice of the underlying exchange-correlation functional and are usually the most accurate ones.
The same is done in qsGW0, but the screened interaction is not updated.
SelfEnergy
- Type:
Multiple Choice
- Default value:
GW
- Options:
[HF, GW, G3W2, SOSEX, GWGamma, G3W2dynamic]
- Description:
Controls the form of the self-energy.
GW is the default and corresponds to the standard GW calculation.
G3W2 is a GW calculation plus a perturbative second-order statically screened exchange correction (second order expansion in the self-energy). Note, that there the self-energy is always static.
nIterations
- Type:
Integer List
- Default value:
[10]
- GUI name:
Number of iterations
- Description:
The maximum number of iterations within the (partially or fully) self-consistent GW calculation has to converge.
Ignored when Formalism is set to G0W0
nLowest
- Type:
Integer
- Default value:
1
- GUI name:
N Lowest
- Description:
Number of lowest occupied QP levels to be evaluated, overwrites nStates’
nStates
- Type:
Integer
- Default value:
5
- GUI name:
N states
- Description:
Number of Quasiparticle States to be printed to output.
The default is 5 states which in this case means that min(5, Number of particle states) occupied and min(5, Number of hole states) hole states are printed. The whole list of states can be printed by setting this parameter to -1’
preconditionQSGW
- Type:
Bool
- Default value:
No
- Description:
If true, the QSGW equations are solved but prior to each diagonalization, i.e. a G0W0 calculation is performed to find the optimal QP energies at which to analytically continue the self-energy.
This is in principle a more consistent construction than KSF1 or KSF2 since the diagonal elements are consistent with G0W0.
In KSF1 and KSF2, the diagonal elements are evaluated at the QP energies from the previous iteration which is equivalent to a zeroth-order Taylor expansion of the diaognal elements around the previous QP energies.Enabling this option typically leads to slightly lower QP energies.
LoadSystem
- Type:
Block
- Recurring:
True
- 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. It may also be the results directory containing it.
Section
- Type:
String
- Default value:
Molecule
- Description:
The section on the KF file from which to load the system.
LogProgressEvery
- Type:
Float
- Default value:
600.0
- Unit:
Seconds
- Description:
How often to print progress information to the logfile.
MBPT
- Type:
Block
- Description:
Technical aspects of the MP2 algorithm.
Dependency
- Type:
Bool
- Default value:
Yes
- Description:
If true, to improve numerical stability, almost linearly-dependent combination of basis functions are removed from the Green’s function that are used in the MBPT equations. Disabling this key is strongly discouraged. Its value can however be changed. The key to adjust this value is RiHartreeFock%DependencyThreshold
ExcludeCore
- Type:
Bool
- Description:
If active, excludes core states from the calculation of the optimal imaginary time and frequency grids.
The core states are still included in all parts of the calculations.
In case a frozen care calculation is performed, this key is ignored.
For MP2 and double hybrid calculation, it defaults to false. For RPA and GW calculations, it defaults to true.
FitSetQuality
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, VeryBasic, Basic, Normal, Good, VeryGood]
- Description:
Specifies the fit set to be used in the MBPT calculation.
‘Normal’ quality is generally sufficient for basis sets up to and including TZ2P.
For larger basis sets (or for benchmarking purposes) a ‘VeryGood’ fit set is recommended. Note that the FitSetQuality heavily influences the computational cost of the calculation.
If not specified or ‘Auto’, the RIHartreeFock%FitSetQuality is used.
Formalism
- Type:
Multiple Choice
- Default value:
Auto
- Options:
[Auto, RI, LT, All]
- Description:
Specifies the formalism for the calculation of the MP2 correlation energy.
‘LT’ means Laplace Transformed MP2 (also referred to as AO-PARI-MP2),
‘RI’ means that a conventional RI-MP2 is carried out.
If ‘Auto’, LT will be used in case of DOD double hybrids and SOS MP2, and RI will be used in all other cases.
‘All’ means that both RI and LT formalisms are used in the calculation.
For a RPA or GW calculation, the formalism is always LT, irrespective of the formalism specified with this key.
FrequencyGridType
- Type:
Multiple Choice
- Default value:
LeastSquare
- Options:
[LeastSquare, GaussLegendre]
- Description:
Use Gauss-legendre grid for imaginary frequency integration in RPA and GW calculations instead of the usually used Least-Square optimized ones. Has the advantage that it can be systematically converged and an arbitrary number of grid points can be used. Typically more grid points will be needed to get the same level of accuracy. However, the convergence of the results with the size of the grid can be more systematic. These grids can only be used when Formalism is set to RI.
IntegrationQuality
- Type:
Multiple Choice
- Options:
[VeryBasic, Basic, Normal, Good, VeryGood]
- Description:
Specifies the integration quality to be used in the MBPT calculation. If not specified, the RIHartreeFock%IntegrationQuality is used.
SigmaFunctionalParametrization
- Type:
Multiple Choice
- Default value:
S1re
- Options:
[W1, W2, S1, S2, S1re]
- Description:
Only relevant if a sigma-functional calculation is performed. Possible choices for the parametrization of the sigma-functional. Not all options are supported for all functionals.
ThresholdQuality
- Type:
Multiple Choice
- Options:
[VeryBasic, Basic, Normal, Good, VeryGood, Excellent]
- Description:
Controls the distances between atomic centers for which the product of two basis functions is not fitted any more. Especially for spatially extended, large systems, ‘VERYBASIC’ and ‘BASIC’ can lead to large computational savings, but the fit is also more approximate. If not specified, the RIHartreeFock%ThresholdQuality is used.
UseScaledZORA
- Type:
Bool
- Default value:
Yes
- Description:
If true, use the scaled ZORA orbital energies instead of the ZORA orbital energies in the MBPT equations.
frozencore
- Type:
Bool
- Default value:
No
- Description:
Freeze core states in correlation part of MBPT calculation
nCore
- Type:
Integer
- Default value:
0
- GUI name:
Number of core levels
- Description:
Number of core states which will be excluded from the correlated calculation.
Will be ignored if frozencore is false.
In case nothing is specified, the number of core levels will be determined automatically.
Needs to be smaller than the number of occupied states.
nFrequency
- Type:
Integer
- Default value:
12
- GUI name:
N freq points
- Description:
Number of imaginary frequency points. This key is only relevant for RPA and GW and will be ignored if used in an AO-PARI-MP2 calculation. 12 Points is the default for a RPA calculation. It is technically possible to use a different number of imaginary frequency points than for imaginary time. The maximum number of points which can be requested for imaginary frequency integration is 42. Important note: The computation time and memory requirements roughly scale linearly with the number of imaginary frequency points. However, memory can be an issue for RPA and GW when the number of imaginary frequency points is high. In case a job crashes, it is advised to increase the number of nodes since the necessary memory distributes over all nodes.
nFrequencyG3W2
- Type:
Integer
- Default value:
32
- GUI name:
N freq points for G3W2 integration
- Description:
Number of imaginary frequency points for G3W2 integration
nLambda
- Type:
Integer
- Default value:
1
- GUI name:
Number of lambda points
- Description:
Size of coupling constant integration grid for SOSEX variants in RPA. Default is 4 points
nTime
- Type:
Integer
- GUI name:
Number of time points
- Description:
Number of imaginary time points (only relevant in case the Laplace Transformed (LT) formalism is used).
In the many-body-perturbation theory module in ADF, the polarizability (or Kohn-Sham density response function) is evaluated in imaginary time to exploit sparsity in the AO basis. For MP2, this is often referred to as a Laplace transform. For MP2, 9 points are the default. This is a safe choice, guaranteeing accuracies higher than 1 Kj/mol for most systems (For many simple organic systems, 6 points are sufficient for good accuracy).
Only for systems with a very small HOMO-LUMO gap or low-lying core states (heavy elements starting from the 4th row of the periodic table) more points might be necessary.
In principle, the same considerations apply for RPA and GW as well, however, the accuracy requirements are somewhat higher and 12 point are the default for RPA. In a GW calculation, the number of points is adjusted according to the numerical quality. Using less than 9 points is strongly discouraged except for the simplest molecules.
In ADF2019, it can happen that the algorithm determining the imaginary time grid does not converge. In this case, the usual reason is that the number of points is too small and more points need to be specified. Starting from AMS2020, this does not happen any more. In case the imaginary time grid does not converge, the number of points is automatically adjusted until it does.
The computation time of AO-PARI-MP2, RPA, and GW scales linearly with the number of imaginary time points.
useGreenXgrids
- Type:
Bool
- Default value:
No
- Description:
Use GreenX library to generate grid points. This is recommended for larger number of grid points (> 20). Up to 34 points can be requested.
NumAdditionalOrbitalEnergies
- Type:
Integer
- Default value:
1
- Description:
The number of additional orbital energies to write to the HDF5 file. A value of N means to write everything up to HOMO-N and LUMO+N.
NumExcitations
- Type:
Integer
- Default value:
1
- Description:
The number of exited states to calculate. By default the S_1 and T_1 states will be calculated. The calculation of excited states is currently only supported for systems with a closed-shell ground state.
OccupationSmearing
- Type:
Multiple Choice
- Default value:
Ions
- Options:
[None, Ions, All]
- Description:
Determines for which systems the electron smearing feature in ADF will be used. If enabled, the molecular orbital occupations will be smeared out with a 300K Fermi-Dirac distribution. This makes SCF convergence easier, as the occupation of energetically close orbitals does not jump when their energetic order flips. See the ADF manual for details. It is recommended to keep this option enabled for the ionic systems, which are more likely to suffer from difficult SCF convergence.
Relax
- Type:
Multiple Choice
- Default value:
All
- Options:
[None, Neutral, All]
- Description:
Which geometries to relax prior to taking the energy differences for the calculation of ionization potential and electron affinity. The relaxation is done at the DFTB level using the GFN1-xTB model Hamiltonian with electrostatic embedding in a UFF environment.
None: Use the geometries directly from the input.
Neutral: Relax the uncharged molecule and use its optimized geometry for the neutral as well as the ionic systems. This gives (approximately) the vertical ionization potential and electron affinity.
All: Individually relax the neutral systems and the ions before calculating the total energies. This gives (approximately) the adiabatic ionization potential and electron affinity.
Restart
- Type:
String
- Description:
The HDF5 file from a previous calculation on the same morphology. Data already calculated on the restart file will just be copied over and not be recalculated.
SelectedMolecules
- Type:
Integer List
- Description:
Indices of the molecules to calculate properties for. If not present, all molecules will be used. Note that indexing starts at 0.
StoreResultFiles
- Type:
Multiple Choice
- Default value:
Failed
- Options:
[None, Failed, All]
- Description:
Whether to keep the full result files from all the individual jobs. By default the result files from all jobs for a particular molecule will be deleted after all relevant results have been extracted and stored on the HDF5 file. Note that keeping the full results for all molecules can easily require hundreds of gigabytes of storage space.
System
- Type:
Block
- Recurring:
True
- Description:
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.
AllowCloseAtoms
- Type:
Bool
- Default value:
No
- Description:
If AllowCloseAtoms is set to False, the AMS driver will stop with an error if it detects almost-coinciding atomic coordinates. If set to True, the AMS driver will try to carry on with the calculation.
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. Each line should contain two atom indices, followed by the bond order (1, 1.5, 2, 3 for single, aromatic, double and triple bonds) and (optionally) the cell shifts for periodic systems. May be used by MM engines and for defining constraints. If the system is periodic and none of the bonds have the cell shift defined then AMS will attempt to determine them following the minimum image convention.
Charge
- Type:
Float
- Default value:
0.0
- GUI name:
Total charge
- Description:
The system’s total charge in atomic units.
ElectrostaticEmbedding
- Type:
Block
- Description:
Container for electrostatic embedding options, which can be combined.
ElectricField
- Type:
Float List
- Unit:
V/Angstrom
- Description:
External homogeneous electric field with three Cartesian components: ex, ey, ez, the default unit being V/Å.
In atomic units: Hartree/(e bohr) = 51.422 V/Angstrom; the relation to SI units is: 1 Hartree/(e bohr) = 5.14 … e11 V/m.
Supported by the engines adf, band, dftb and mopac.
For periodic systems the field may only have nonzero components orthogonal to the direction(s) of periodicity (i.e. for 1D periodic system the x-component of the electric field should be zero, while for 2D periodic systems both the x and y components should be zero. This options cannot be used for 3D periodic systems.
MultipolePotential
- Type:
Block
- Description:
External point charges (and dipoles).
ChargeModel
- Type:
Multiple Choice
- Default value:
Point
- Options:
[Point, Gaussian]
- Description:
A multipole may be represented by a point (with a singular potential at its location) or by a spherical Gaussian distribution.
ChargeWidth
- Type:
Float
- Default value:
-1.0
- Description:
The width parameter in a.u. in case a Gaussian charge model is chosen. A negative value means that the width will be chosen automatically.
Coordinates
- Type:
Non-standard block
- Description:
Positions and values of the multipoles, one per line. Each line has the following format:
x y z q, or
x y z q µx µy µz.
Here x, y, z are the coordinates in Å, q is the charge (in atomic units of charge) and µx, µy, µz are the (optional) dipole moment components (in atomic units, i.e. e*Bohr).
Periodic systems are not supported.
FractionalCoords
- Type:
Bool
- Default value:
No
- 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 the geometry from a file (instead of from Atoms and Lattice blocks). Supported formats: .xyz
GuessBonds
- Type:
Bool
- Default value:
No
- Description:
Whether or not UFF bonds should be guessed.
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.
LoadForceFieldAtomTypes
- Type:
Block
- Description:
This is a mechanism to set the ForceField.Type attribute in the input. This information is currently only used by the ForceField engine.
File
- Type:
String
- Description:
Name of the (kf) file. It needs to be the result of a forcefield calculation.
LoadForceFieldCharges
- Type:
Block
- Recurring:
True
- Description:
This is a mechanism to set the ForceField.Charge attribute in the input. This information is currently only used by the ForceField engine.
CheckGeometryRMSD
- Type:
Bool
- Default value:
No
- Description:
Whether the geometry RMSD test should be performed, see MaxGeometryRMSD. Otherwise only basic tests are performed, such as number and atom types. Not doing the RMSD test allows you to load molecular charges in a periodic system.
File
- Type:
String
- Description:
Name of the (kf) file
MaxGeometryRMSD
- Type:
Float
- Default value:
0.1
- Unit:
Angstrom
- Description:
The geometry of the charge producing calculation is compared to the one of the region, and need to be the same within this tolerance.
Region
- Type:
String
- Default value:
*
- Description:
Region for which the charges should be loaded
Section
- Type:
String
- Default value:
AMSResults
- Description:
Section name of the kf file
Variable
- Type:
String
- Default value:
Charges
- Description:
Variable name of the kf file
MapAtomsToUnitCell
- Type:
Bool
- Default value:
No
- Description:
For periodic systems the atoms will be moved to the central cell.
ModifyAlternativeElements
- Type:
Bool
- Default value:
No
- Description:
When using alternative elements (using the nuclear_charge attribute) set the element to the nearest integer Z. If you specify an H atom with a nuclear_charge of 2.9 it is replaced by a Li atom with the same nuclear charge.
PerturbCoordinates
- Type:
Float
- Default value:
0.0
- Unit:
Angstrom
- Description:
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
- Default value:
0.0
- Description:
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.
RandomizeAtomOrder
- Type:
Bool
- Default value:
No
- Description:
Whether or not the order of the atoms should be randomly changed. Intended for some technical testing purposes only. Does not work with bond information.
Region
- Type:
Block
- Recurring:
True
- Description:
Properties for each region specified in the Atoms block.
Properties
- Type:
Non-standard block
- Description:
Properties for each region specified in the Atoms block.
ShiftCoordinates
- Type:
Float List
- Unit:
Bohr
- Description:
Translate the atoms by the specified shift (three numbers).
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).
SuperCellTrafo
- Type:
Integer List
- Description:
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)).
Symmetrize
- Type:
Bool
- Default value:
No
- Description:
Whether to symmetrize the input structure. This might also rototranslate the structure into a standard orientation. This will symmetrize the atomic coordinates to machine precision. Useful if the system is almost symmetric or to rototranslate a symmetric molecule into a standard orientation.
Symmetry
- Type:
Multiple Choice
- Default value:
AUTO
- Options:
[AUTO, NOSYM, C(LIN), D(LIN), C(I), C(S), C(2), C(3), C(4), C(5), C(6), C(7), C(8), C(2V), C(3V), C(4V), C(5V), C(6V), C(7V), C(8V), C(2H), C(3H), C(4H), C(5H), C(6H), C(7H), C(8H), D(2), D(3), D(4), D(5), D(6), D(7), D(8), D(2D), D(3D), D(4D), D(5D), D(6D), D(7D), D(8D), D(2H), D(3H), D(4H), D(5H), D(6H), D(7H), D(8H), I, I(H), O, O(H), T, T(D), T(H), S(4), S(6), S(8)]
- Description:
Use (sub)symmetry with this Schoenflies symbol. Can only be used for molecules. Orientation should be correct for the (sub)symmetry. If used icw Symmetrize, the symmetrization will not reorient the molecule.
TransferIntegrals
- Type:
Block
- Description:
Configures the details of the calculation of electron and hole transfer integrals.
Exclude
- Type:
Block
- Description:
Configures which dimers NOT to calculate transfer integrals for.
Cutoff
- Type:
Float
- Default value:
4.0
- Unit:
Angstrom
- GUI name:
Exclude beyond
- Description:
Exclude dimers for which the distance is larger than this threshold. Acts as a quick pre-screening to reduce the number of dimers to calculate transfer integrals for.
Metric
- Type:
Multiple Choice
- Default value:
Atoms
- Options:
[CoM, Atoms, Atoms_noH]
- Description:
The metric used to calculate the distance between two molecules.
CoM: use the distance between the centers of mass of the two molecules.
Atoms: Use the distance between the two closest atoms of two molecules.
Atoms_noH: Use the distance between the closest non-hydrogen atoms of the two molecules.
Include
- Type:
Block
- Description:
Configures which dimers transfer integrals are calculated for.
Cutoff
- Type:
Float
- Default value:
4.0
- Unit:
Angstrom
- GUI name:
Include within
- Description:
Transfer integrals will be calculated for all molecule pairs within a cutoff distance from each other. This distance can be measured using different metrics, see the corresponding
Metric
keyword.
Metric
- Type:
Multiple Choice
- Default value:
Atoms
- Options:
[CoM, Atoms, Atoms_noH]
- Description:
The metric used to calculate the distance between two molecules.
CoM: use the distance between the centers of mass of the two molecules.
Atoms: Use the distance between the two closest atoms of two molecules.
Atoms_noH: Use the distance between the closest non-hydrogen atoms of the two molecules.
Type
- Type:
Multiple Choice
- Default value:
Fast
- Options:
[None, Fast, Full]
- Description:
The method used for the calculation of the transfer integrals.