Skip to content

stop_conditions

(experimental feature; advanced users only) This parameter provides a set of stop conditions that will be checked periodically to determine if a FixedComposition evolutionary search should be stopped. It should be defined as a dictionary where each key is the string name of a StopCondition and the value is any kwargs that are needed to instantiate the class.

stop_conditions:
    BasicStopConditions:
        max_structures: 1000
        min_structures_exact: 100
        convergence_cutoff: 0.001
        best_survival_cutoff: 100
    ExpectedStructure:
        structure: NaCl.cif
[stop_conditions.BasicStopConditions]
max_structures = 1000
min_structures_exact = 100
convergence_cutoff = 0.001
best_survival_cutoff = 100
[stop_conditions.ExpectedStructure]
structure: NaCl.cif
stop_conditions = {
    "BasicStopConditions": {
    "max_structures": 1000,
    "min_structures_exact": 100,
    "convergence_cutoff": 0.001
    "best_survival_cutoff": 100
    },
    "ExpectedStructure": {
    "structure": "NaCl.cif"
    },
}

Currently, only the BasicStopConditions and ExpectedStructure stop conditions are supported. They each have the following subparameters

BasicStopConditions The BasicStopConditions are those that are important to all searches. If this StopCondition is not provided, defaults will be constructed.

max_structures

The maximum number of structures generated. The search will end at this number of structures regardless of if the search has converged. If not provided, the workflow estimates a reasonable value based on the number of atoms.

Warning

min_structure_exact takes priority over this setting, so it is possible for your search to exceed your maximum number of structures. If you want max_structures to have absolute control, you can set min_structure_exact to 0.

min_structures_exact

The minimum number of structures that must be calculated with exactly matching nsites as specified in fixed-composition. If not provided, the workflow estimates a reasonable value based on the number of atoms.

convergence_cutoff

The search will be considered converged when the best structure is not changing by this amount (in eV). In order to officially signal the end of the search, the best structure must survive within this convergence limit for a specific number of new individuals -- this is controlled by the best_survival_cutoff. The default of 1meV is typically sufficient and does not need to be changed. More often, users should update best_survival_cutoff instead.

best_survival_cutoff

The search will stop when the best individual remains unbeaten for this number of new individuals.

To account for similar structures (e.g., identical structures with minor energy differences), structures within the convergence_cutoff parameter (e.g., +1meV) are not considered when counting historical structures. This helps to prevent the search from continuing in cases where the search is likely already converged but making <0.1meV improvements. If not provided, the workflow estimates a reasonable value based on the number of atoms.

ExpectedStructure The ExpectedStructure stop condition will compare all structures generated in the search to a provided structure and immediately halt the search if there is a match.

expected_structure

When a structure is found in the search that matches this structure, the search will be stopped. The allowed inputs follow the same scheme as in the Structure parameter.