Process search¶
The aKMC method can ask clients to do a saddle search, find connecting minima, and calculate prefactors all within the context of this job.
Those connecting minima each use a separate ext_pot when [Main] parallel
stays at its default. The exchange directories are described in
External Potential.
Known saddles¶
Most searches from a state end on a saddle the server already has. With
[Process Search] known_saddles (default true) the server sends each
min-mode search the saddles of its state as the job file
known_saddles.dat: the processes in the process table, and the saddles of
searches that converged and then failed (not connected, bad prefactor,
barrier out of window, unconverged minima, failed prefactor, negative
barrier). The failed saddles are kept in states/<n>/knownbad/, one
structure per distinct saddle.
At every climb point with negative curvature the client compares the
structure with each listed saddle within [Structure Comparison] energy_difference, using the structure comparison. On a match the search
ends with status 23, “Climb reached a known saddle”, before the two endpoint
minimizations. The server books that result as a repeat of the matching
process, or as a failed search when no process matches; a full search that
climbed to the same saddle would have ended the same way.
The key is read by both the server and the client; with false the server
sends no list and the client ignores one.
Configuration¶
[Process Search]
- pydantic model eon.schema.ProcessSearchConfig[source]¶
- Fields:
minimization_offset (float)minimize_first (bool)known_saddles (bool)
- field minimization_offset: float = None¶
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. This defaults to being the same as
eon.schema.OptimizerConfig.max_moveThis is the distance images bracketing the saddle are displaced.
- field minimize_first: bool = True¶
Every time a process search is run by a client the reactant will be minimized first before doing any saddle searches.
- field known_saddles: bool = True¶
The server sends each min-mode process search the saddles found from its state: the processes, and the saddles of searches that converged but failed afterwards (not connected, bad prefactor, barrier out of window, unconverged minima, failed prefactor, negative barrier). A climb point with negative curvature that matches one of them in energy and structure, under the structure comparison, ends the search with status 23 before the endpoint minimizations. The server records it as a repeat of that process or as the same failed saddle again. Both the server and the client read the key; with it false the server sends no list and the client ignores one.
Stop a min-mode climb that reaches a saddle the state already has.