QTAIM critical-point search
Find critical points in the total electron density and optionally trace bond paths. The bounded search can miss points or paths, so it remains Experimental. It does not calculate QTAIM basin properties.
The input needs an isolated molecular calculation, a supported basis and total density. Check capabilities first:
from openwfn import load
calculation = load("molecule.molden")
print(calculation.capabilities())
result = calculation.analyze("qtaim", include_bond_paths=False)
print(result.as_dict())
The result includes critical-point classifications, density/Hessian quantities,
search settings, seed/convergence counts, topology diagnostics and optional
bond-path records. Coordinates and paths use bohr. The returned conventions
field states indexing and labels; its atom indices are zero-based, unlike the
one-based CLI geometry commands.
Read the diagnostics
The search has finite bounds, seed and iteration limits, and merge tolerances.
It is explicitly non-exhaustive and returns partial, with a warning that the
topology may be incomplete. A satisfied topology relation does not establish
that every physical critical point has been found. Unresolved bond paths retain
their warnings instead of being presented as successful connections.
The direct Python interface accepts explicit seeds_bohr and QTAIMSettings.
Record those settings and study their effect before interpreting the results.
The scalar-only assistant/MCP surface uses bounded defaults, and is limited to
32 centers; it does not accept arbitrary seed arrays or settings objects.
No basin electron populations, basin atomic charges or localization/delocalization indices are supplied by this search. Do not infer them from critical-point density values. Review the validation status and keep the complete result, including units and source provenance.