MDSaddleSearch

class MDSaddleSearch(temperature, saddle_search_parameters=None, constraints=None, neb_log_filename_prefix=None, active_learning=None)

Saddle search using high temperature molecular dynamics followed by a NEB optimization.

Parameters:
  • temperature (A PhysicalQuantity with temperature units) – The temperature for the MD search.

  • saddle_search_parameters (SaddleSearchParameters) – The parameters for the saddle search.

  • constraints (list of ints) – The atoms that should be constrained during the process search.
    Default: []

  • neb_log_filename_prefix (str | None) – The log filename prefix to use during NEB optimization. None means to use stdout.
    Default: None

  • active_learning (ActiveLearningSimulation | None) – The active learning object, if specified, otherwise None.

eigenvector()
Returns:

The eigenvector as a (nx3) numpy array

Return type:

numpy.array

eigenvectorGuess()
Returns:

The initial guess of the eigenvector as a (nx3) numpy array.

Return type:

numpy.array

escapeTime()
Returns:

The estimated escape time.

Return type:

PhysicalQuantity of type time

finalConfiguration()
Returns:

The final configuration.

Return type:

AtomicConfiguration

initialNudgedElasticBand()
Returns:

The initial guess of the NEB.

Return type:

NudgedElasticBand

mdTrajectories()
Returns:

The MDTrajectories

Return type:

list

optimizedNudgedElasticBand()
Returns:

The optimized NEB.

Return type:

NudgedElasticBand

reset()

Reset the direction generator.

run(configuration)

Run the MD Saddle Search calculation.

saddleConfiguration()
Returns:

The saddle configuration.

Return type:

AtomicConfiguration

saddleConfigurationGuess()
Returns:

The initial guess of the saddle configuration.

Return type:

AtomicConfiguration

setRandomSeed(seed)

Set the random seed for the initial direction generator.

Parameters:

seed (int) – The random seed.

setRedundantSearchFunction(is_search_redundant)
Parameters:

is_search_redundant (callable that takes a configuration and energy and returns the state id for a configuration or returns None if the id is not known) – A function to check if the product state has already been found before. This allows for early termination. If it is set to None, then this check will not be performed.
Default: None

Notes

MDSaddleSearch is one of the three saddle search methods available for use in AdaptiveKineticMonteCarlo. It uses high temperature molecular dynamics (MD) simulations to locate saddle points [1]. The high temperature ensures that processes with a wide range of barriers are sampled. During the simulation, the current configuration is periodically minimized. If the minimized structure is different from the initial configuration, a reaction has occurred. If no reaction has occurred, the simulation is continued. If a reaction has occurred, the saddle point is located by running a NudgedElasticBand (NEB) optimization. The converged NEB is then used as a starting point for a minimum-mode following saddle optimization algorithm.

If a previously discovered minimum is found the saddle search terminates early.