check_duplicate_processes¶
- soda_analyzer.check_duplicate_processes(h5_lib, tolerance=0.001, cell_tolerance=1e-06, print_report=True, max_rows=20, *, barrier_tolerance=None, runtime_comparison=False, max_state=None)¶
Check process duplicates within each state using saddle and product equivalence.
- Parameters:
h5_lib (h5py.File) – Open SODA HDF5 file. Keep it open while using views derived from it.
tolerance (float, optional) – Maximum matched-atom distance in angstrom, using minimum-image distances. Default:
0.001.cell_tolerance (float, optional) – Cell comparison tolerance in angstrom for legacy geometry mode. Runtime mode follows its own branch-specific cell rules. Default:
1e-06.print_report (bool, optional) – Print the formatted report in addition to returning its dictionary. Default:
True.max_rows (int, optional) – Maximum issue rows shown in formatted output; the underlying analysis is not truncated. Default:
20.barrier_tolerance (float or None, optional) – Maximum difference in persisted forward barriers in eV. Set this from
[Structure Comparison] energy_differenceto apply the runtime energy window.Nonepreserves the geometry-only check. Missing or non-finite barriers are reported as read errors when this filter is enabled.runtime_comparison (bool, optional) – Replay runtime process predicates: barrier gate, same-reference saddle and product deltas (atom IDs, displacement, species/fixed fields), or ordered reconstructed structures for different references. This filter preserves atom IDs regardless of indistinguishable_atoms. Requires a barrier_tolerance; cell_tolerance only applies to legacy geometry mode.
max_state (int or None, optional) – Only inspect source state IDs below this exclusive bound.
- Returns:
dict – Structured results and diagnostics; inspect reported issues before using converted settings or interpreting acceptance.
Notes
A duplicate is reported only when both the saddle structures and the product structures match an earlier process ID in the same state. With
barrier_toleranceset, theirprocess_table.barriervalues must also differ by no more than that threshold. These persisted barriers use the state’s reference energy, as in runtime process filtering; they can differ from barriers calculated using each search’s local reactant energy.The default remains a reconstructed-geometry diagnostic. Runtime mode tests the persisted data against the filtering predicates; it cannot establish which candidates were visible in memory at the time a search was filtered. Reverse-process pairs are included and identified in the report so they can be distinguished from independent unique searches.