AKMC settings¶
Use this reference when adapting the EAM, GAP, or MACE example. The tables cover the settings most relevant to these tutorials, rather than every SODA option.
Scientific settings belong in config.ini. SODA runtime options go after
the executable in the launch command. The force model is selected separately
in potfiles/in.lammps. Defaults below apply when an entry is omitted;
the example files often override them.
Select and control AKMC¶
[Main] job = akmc selects AKMC and is also the default. The bundled AKMC
examples therefore work without adding this entry.
Option |
Default |
Purpose |
|---|---|---|
|
|
Temperature in K used for rates and thermal windows. The examples use 600 K. |
|
|
Seeds random-number generation when nonnegative; negative values request nondeterministic seeding. A fixed seed does not guarantee identical trajectories across parallel layouts or result-arrival orders. |
|
|
Limits KMC transitions performed during this invocation, including after a restart. |
|
|
Target search confidence before leaving a state. Choose a value between 0 and 1; a higher target generally needs more searches. This estimator is not a guarantee of complete physical sampling. |
|
|
|
|
|
Adjusts the confidence estimator using the minimum-to-maximum discovery-count ratio among relevant processes. Leave it disabled for the tutorial settings. |
|
|
Includes processes in the rate table and confidence calculation when their forward barrier is within this many kT above the lowest barrier. It is not an energy in eV. |
|
|
Adds a margin in kT to the search-retention window. It does not expand the window used by the KMC rate table. |
|
|
Seeds searches using processes from the predecessor state, skipping the process used to enter the current state. Recycled proposals still undergo process searches. |
|
|
When true, advances each KMC step by the mean residence time, |
At 600 K, thermally_accessible_window = 20 is approximately 1.03 eV
above the lowest barrier; it is not a 1.03 eV absolute barrier cutoff.
The separate [Saddle Search] max_energy setting is in eV.
Step limit and native EON differences¶
max_kmc_steps = 0 leaves the run uncapped by KMC step count, matching
native EON. Regular output flushing remains active. A positive limit forces
a final write and normal shutdown when reached. The EAM adatom example
uses 20000; the GAP and MACE setup checks use 1.
The native EON guide describes the
method and upstream options. This integration is based on
EON revision r2545; it does not
implement the full current EON configuration surface. In particular,
basining/superbasin handling is unavailable. SODA supplies its own MPI
launch, job queues, HDF5 output, and --loadrun restart mechanism, so native
EON server/client launch commands and restart files do not apply here.
The step-limit behavior above is checked against the current AKMC loop. The configuration schema lists the parsed options; the descriptions here account for the runtime behavior where inherited help differs.
Search centers and structure comparison¶
AKMC uses displacement-based search-center selection. Unlike APE, it honors under-coordinated and least-coordinated displacement weights and does not use descriptor clusters or soft-fixed environment labels.
Option |
Default |
Purpose |
|---|---|---|
|
|
Relative weight of random search-center selection. When all three displacement weights are zero, the generator falls back to random selection. |
|
|
Relative weight of selecting free atoms whose coordination is at most |
|
|
Relative weight of choosing free atoms with the lowest coordination. |
|
|
Maximum coordination allowed for an under-coordinated search center. The adatom EAM example uses |
|
|
Radius in Å around the selected center within which free atoms receive initial displacements. It does not constrain later search motion. |
|
|
Gaussian standard deviation in Å per Cartesian displacement component, before optional biasing. It is not a fixed displacement length. |
|
|
Chooses |
|
|
Rejects a search that rises this many eV above its reactant, or a completed process whose forward or reverse barrier exceeds this value. |
|
|
Aborts when at least this many atoms move by at least |
|
|
Motion threshold in Å for that check. Set a positive distance when enabling the count threshold. |
|
|
Full-configuration displacement length in Å along each direction of the normalized saddle mode before endpoint minimization. |
|
|
Structural optimizer: |
|
|
Force tolerance in eV/Å, evaluated with |
|
|
|
|
|
Iteration limit for one minimization. Saddle-search |
|
|
Energy tolerance in eV for matching states and comparing process barriers; it is not an energy per atom. |
|
|
Per-atom geometric mismatch tolerance in Å when comparing structures and processes. |
|
|
Allows same-species atom permutations when matching product structures to states. Process-repeat and endpoint-connectivity checks still preserve atom indices. |
Fixed atoms in pos.con or supported constraints in pos.xyz remain a
separate structural constraint. If no eligible free search-center atoms
remain, revisit the geometry and displacement settings.
Prefactors and force evaluation¶
The tutorials use harmonic transition-state-theory rates. A forward rate
combines the forward prefactor with the Boltzmann factor for its barrier
at [Main] temperature.
Option |
Default |
Purpose |
|---|---|---|
|
|
|
|
|
Chooses atoms for prefactor evaluation: |
|
|
Cumulative fraction of displacement used to select atoms in the |
|
|
Endpoint-to-saddle displacement threshold in Å used by the |
|
|
Radius in Å for adding free neighbors around the selected atoms in the saddle structure. |
|
|
Accepted range of calculated prefactors in s⁻¹. Out-of-range values reject the process; they are not clamped to these bounds. |
|
|
Positive values request LAMMPS OpenMP threads and require its OPENMP package. Match the allocated cores; leave unset or |
|
|
Enables the LAMMPS-side log for diagnosing the force setup. |
Using a constant prefactor changes the rate model. Keep the same prefactor policy, force tolerances, and temperature when comparing execution layouts.
Command-line options¶
These arguments belong after "$SODA_BIN". MPI placement flags and Slurm
resource requests belong to the launcher or scheduler; see
Parallel execution.
Option |
Purpose |
|---|---|
|
Sets MPI ranks per worker group; the current implementation requires |
|
Selects GPU-capable workers per node: |
|
Allows multiple workers to share a GPU. Check model and calculation memory requirements first. |
|
Sets the per-worker contribution to the node’s shared queue capacity: |
|
Sets the completed-result readiness threshold per node. Keep it within that node’s queue capacity; empty queues or buffer pressure can trigger earlier collection. |
|
Retains additional search-summary records for analysis. State/process records and KMC history are separate from these optional summaries. |
|
Enables a write condition after more than |
|
Enables an elapsed-time write condition in minutes; |
|
Selects the output directory, normally |
|
Restores a saved SODA database. Use a working copy and follow Restarting a run. |
The tutorials use a two-slot contribution per worker, a two-result readiness
threshold, and only the job-count flush condition. Both flush options set
to 0 request a write whenever new results are collected. Memory pressure
can force a write, and the positive KMC step limit forces a final write.
Flush settings do not save unfinished searches or specify a KMC step count.
Larger queues can keep fast EAM searches supplied with work, but may schedule more searches than are needed before confidence is reached. Smaller queues can be useful for expensive MACE or GAP searches. Tune queue depth and collection frequency separately, using progress and memory measurements.
State-buffer options such as --soda_max_resident_states_per_node and
--maxnumactivestatespernode control per-node memory capacity, not the total
number of states the trajectory can visit. Start with the defaults for the
small examples; check effective capacities in the startup log before
adopting the larger batch templates.