Conformers¶
Conformers is a flexible tool for conformer generation. It implements the RDKit [1], CREST [2] and Simulated Annealing conformer generation methods and can be combined with any AMS engine.
Tip
You can use Conformers from the Graphical User Interface or from python with PLAMS.
Overview¶
This is a simple example showing how to generate conformers of ethanol:
#!/bin/sh
$AMSBIN/conformers << EOF
Task Generate
System
Atoms
C -4.537101 -0.602542 -0.008859
C -3.601843 -1.804345 0.037274
O -2.267293 -1.387375 -0.058902
H -4.301877 0.096761 0.821305
H -5.588912 -0.942676 0.095614
H -4.425039 -0.071643 -0.977931
H -3.829607 -2.474689 -0.818032
H -3.766077 -2.377916 0.977441
H -2.012143 -1.043722 0.837186
End
End
Engine ForceField
EndEngine
EOF
The most important input options are:
Task: the task for the Conformers tool. Here we simply Generate a set of conformers starting from an initial structure. See the Tasks section for more information.
System: in the System block we specify the initial structure of the molecule for which you want to generate conformers, in this case an ethanol molecule.
Engine: during the conformers generation, atomistic calculations will be executed under the hood to compute energy and forces. With the engine block you can specify which atomistic engine to use and the options for the engine.
Tip
By default, the computationally fast (but not very accurate) ForceField engine is used to compute energy and forces.
If you need more accurate geometries and energies for your conformers, you can specify a more accurate (but slow) engine in the generation step. Alternatively, you can use the Optimize
, Filter
and Score
tasks to efficiently get accurate geometries and energies while keeping the computational cost to a minimum. See Workflow for an example.
When running the script above, a folder called conformers.results
will be created and the generated conformers will be saved in there (in .xyz
and .rkf
formats). See the general Input, execution and output section for more information.
Main Input Options¶
Tasks¶
You can specify the task for the Conformers tool via the Task
input option:
Task [Generate | Optimize | Filter | Score | Expand]
The main (and default) Task is Generate: given an initial structure, the Conformers tool will generate a set of conformers.
The other tasks, described below, can be used to refine or combine previously generated conformer sets. The Workflow example shows how the various tasks can be combined in a simple workflow to efficiently obtain accurate conformers.
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.
Input molecule(s)¶
For the Generate
task you can use the System
or LoadSystem
blocks to specify the input molecule. See the System block documentation for a detailed description.
For the Optimize
, Filter
and Score
tasks, you should instead provide the results of a previously run Conformers calculation as input via the InputConformersSet
keyword. See also the Constraints, Restraints, Walls section.
InputConformersSet string
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.
When loading conformers using the InputConformersSet
key, you can optionally specify the InputMaxEnergy
option:
InputMaxEnergy float
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.
A similar option is the InputMaxConfs
key, which will use only the \(k\) lowest energy conformers for an integer input \(k\):
InputMaxConfs integer
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.
Engine¶
With the Engine block you can specify which atomistic engine to use and the options for the engine. See the AMS engine documentation for more info.
If no engine block is specified, the ForceField engine (with the UFF force field) will be used as default.
Generators¶
Three different methods of conformer generation are implemented: RDKit [1], CREST [2] and ANNEALING. The default generation method is RDKit.
You can select which method to use in the Generator
block:
Generator
Method [RDKit | CREST | ANNEALING]
End
Generator
- Type:
Block
- Description:
Options for the conformer generator.
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.
Input options for the various methods can be specified in their respective input blocks. See the section Other input options for the complete set of input options.
Conformers Equivalence¶
An important aspect of conformers generation is the reduction of a set of geometries into a set of unique conformers. As the Conformer tool generates new potential conformers, it needs to be able to determine whether a structure is a new conformer (in which case it is added to the list of unique conformers) or whether is simply a slightly different geometry of an already observed conformer (in which case, the structure is discarded).
The conformer tool therefore needs a procedure that, given two geometries, is able to discriminate between the following situations:
the two geometries correspond to the same conformer
the two geometries correspond to distinct conformers
In the Equivalence
block various options related to this equivalence procedure can be specified.
Equivalence
Method [AMS | TFD | RMSD | CREST]
End
Equivalence
- Type:
Block
- Description:
Options for the procedure determining whether two structures are equivalent or distinct conformers.
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.
Input options for the various methods can be specified in their respective input blocks. See the section Other input options for the complete set of input options.
Filtering¶
The Conformers tool can automatically filter out conformers based on some criteria, e.g. it will discard high energy conformers.
The filtering options can be specified in the Filter
block:
Filter
MaxEnergy float
RemoveNonMinima Yes/No
End
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!
Constraints, Restraints, Walls¶
The Conformers tool can be used in combination with Constraints (constraints), Restraints (restraints), and EngineAddons (engine addons).
The constraints fix the specified degrees of freedom to certain values, while the restraints restricts the specified degrees of freedom to be near the specified values using an added potential energy function. The engine add-ons cover a wide range of functionality, but the most important one for conformers is the WallPotential
, which adds a spherical repulsive potential around the origin, trapping the atoms inside.
It is discouraged to use the RDKit Generate
method (the default) in combination with constraints and restraints. The RDKit Generate
method consists of two steps:
Call to RDKit ETKGD method for initial conformer generation
Geometry optimization of all conformer candidates with an AMS engine
Step 1 does not accept constraints, restraints, or engine add-ons, and therefore too many undesirable conformers will be passed to the constrained optimizer.
It is possible to use constraints in the RDKit ETKDG procedure as well, but they are limited to fixed atoms, and have to be set manually in the Generator
block.
Generator
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.
The other Generate
methods of the Conformers tool make use of both molecular dynamics simulations (Crest and Annealing) and geometry optimizations. Not all constraints are can be used in molecular dynamics simulations, so where possible constraints are automatically converted to the corresponding restraints.
Conformer Generation with Multiple Molecules¶
The wall potential described above can be used in combination with the Crest
and Annealing
methods to generate conformers for systems with multiple molecules. A simple example below demonstrates this for an acetic acid molecule in the presence of water. The radius of the spherical constraint is manually set to 4.5 Angstrom.
#!/bin/sh
"$AMSBIN/conformers" << eor
Engine ForceField
EndEngine
Generator
Method CREST
End
System
Atoms
C -5.168356138856709 -0.9040308913456915 -0.14509537743978
C -3.674177007131515 -0.8549162177628133 -0.1466485108795087
O -3.036130963738181 0.3677379219191289 -0.1592569297095029
O -3.033827233992448 -1.897394223042741 -0.1762700959655665
H -5.578445514437495 0.05058176564435996 0.2458678935590599
H -5.524620190394747 -1.732922198697688 0.5010944819578638
H -5.536566707641177 -1.061832129921519 -1.180309622581397
H -2.058681010424327 0.197909193054116 -0.1773409518219506
O -4.51655946130152 -4.444022963974381 0.9796661086035751
H -4.406160106170592 -3.748388119201934 1.675984760241468
H -5.428884582974359 -4.296939008632186 0.6238436183248668
End
BondOrders
1 2 1.0
1 5 1.0
1 6 1.0
1 7 1.0
2 3 1.0
2 4 2.0
3 8 1.0
9 10 1.0
9 11 1.0
End
End
EngineAddons
WallPotential
Enabled Yes
Radius 4.5
End
End
eor
Examples¶
Workflow¶
During the conformers generation (i.e. the “generate” task), a large number of atomistic calculations will be executed under the hood. This can get computationally very expensive if an accurate engine (such as ADF) is used. This is why the default engine is the computationally fast (but not very accurate) ForceField engine.
By combining the Generate
, Optimize
and Score
tasks you can build a simple workflow to get accurate geometries and energies while keeping the computational cost to a minimum.
A typical workflow might look like this:
Generate a set of conformers using
Task Generate
with the fast but approximate ForceField engineRe-optimize the geometries generated in the previous step using
Task Optimize
with a more accurate engine (e.g. DFTB)Re-score the conformers using the using
Task Score
with an accurate engine (e.g. ADF)
#!/bin/sh
# Simple workflow:
# - generate an initial set of 1-bromo-3-chloropropane conformers with UFF (ForceField engine)
# - re-optimize the conformers with GFN1-xTB (DFTB engine)
# - re-score the GFN1-xTB-optimized conformers using DFT energies (ADF engine)
AMS_JOBNAME=generate_uff $AMSBIN/conformers << EOF
Task Generate
System
Atoms
Br -4.16969843 2.48953245 -0.00000000
C -2.69926018 3.75062981 -0.00000000
C -1.36372383 3.00977020 -0.00000000
C -0.19648214 3.99512105 0.00000000
Cl 1.35297276 3.11657146 0.00000000
H -2.78129583 4.39009878 0.90457474
H -2.78129583 4.39009878 -0.90457474
H -1.30112035 2.36381643 -0.90271681
H -1.30112035 2.36381643 0.90271681
H -0.24025734 4.63864134 0.90438917
H -0.24025734 4.63864134 -0.90438917
End
End
Engine ForceField
Type UFF
EndEngine
EOF
AMS_JOBNAME=optimize_gfn1xtb $AMSBIN/conformers << EOF
Task Optimize
InputConformersSet generate_uff.results/conformers.rkf
Engine DFTB
Model GFN1-xTB
EndEngine
EOF
AMS_JOBNAME=score_dft $AMSBIN/conformers << EOF
Task Score
InputConformersSet optimize_gfn1xtb.results/conformers.rkf
# Here we use the default ADF settings. For real calculations, you
# should use a larger basis set (e.g. TZP) and a better XC functional
Engine ADF
EndEngine
EOF
echo "Final conformers:"
cat score_dft.results/conformers.xyz
References¶
Other input options¶
Here we document more advanced input options for the Conformer tool. See the section Main Input Options for the most important input option.
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.
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.
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.
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.
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.
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