eon.status_codes

Process-search termination codes shared with the C++ client.

Mirror of client/StatusTypes.h. The integer values are wire format written to results.dat by eonclient, so they MUST match the C++ eonc::SaddleStatus enumerators byte-for-byte. The Python side exposes them as IntEnum members so server code can compare against SaddleStatus.Good instead of the magic literal 0, while still accepting raw ints transparently from parse_results.

Whenever client/StatusTypes.h adds, removes, or renumbers a code, update this module in the same commit and add a row to the label / slug tables.

Module Contents

Classes

SaddleStatus

Saddle-search termination reason. Wire-equivalent to eonc::SaddleStatus in client/StatusTypes.h.

MinimizationStatus

Minimizer termination as reported in results.dat for job_type == 'minimization'. Distinct from the broader SaddleStatus – the minimizer only emits these three.

Functions

saddle_status_label

Human-readable label for a saddle-search termination code.

saddle_status_slug

Slug-case label for a saddle-search termination code, with the same unknown-code tolerance as :func:saddle_status_label.

minimization_status_slug

Slug-case label for a minimization termination code.

Data

API

class eon.status_codes.SaddleStatus[source]

Bases: enum.IntEnum

Saddle-search termination reason. Wire-equivalent to eonc::SaddleStatus in client/StatusTypes.h.

Initialization

Initialize self. See help(type(self)) for accurate signature.

Good

0

Init

1

BadNoConvex

2

BadHighEnergy

3

BadMaxConcaveIterations

4

BadMaxIterations

5

BadNotConnected

6

BadPrefactor

7

BadHighBarrier

8

BadMinima

9

FailedPrefactor

10

PotentialFailed

11

NonnegativeAbort

12

NonlocalAbort

13

NegativeBarrier

14

BadMdTrajectoryTooShort

15

BadNoNegativeModeAtSaddle

16

BadNoBarrier

17

ZeromodeAbort

18

OptimizerError

19

DimerLostMode

20

DimerRestoredBest

21

BadArtnError

22

class eon.status_codes.MinimizationStatus[source]

Bases: enum.IntEnum

Minimizer termination as reported in results.dat for job_type == 'minimization'. Distinct from the broader SaddleStatus – the minimizer only emits these three.

Initialization

Initialize self. See help(type(self)) for accurate signature.

Good

0

MaxIterations

1

PotentialFailed

2

eon.status_codes.SADDLE_STATUS_LABELS: dict[eon.status_codes.SaddleStatus, str]

None

eon.status_codes.SADDLE_STATUS_SLUGS: dict[eon.status_codes.SaddleStatus, str]

None

eon.status_codes.MINIMIZATION_STATUS_SLUGS: dict[eon.status_codes.MinimizationStatus, str]

None

eon.status_codes.saddle_status_label(code: int) str[source]

Human-readable label for a saddle-search termination code.

Tolerant of unknown codes – returns a generic placeholder rather than raising, so a future C++ rev cannot cause an IndexError or KeyError to crash long-running akmc jobs.

eon.status_codes.saddle_status_slug(code: int) str[source]

Slug-case label for a saddle-search termination code, with the same unknown-code tolerance as :func:saddle_status_label.

eon.status_codes.minimization_status_slug(code: int) str[source]

Slug-case label for a minimization termination code.