Path types and rejection reasons¶
During a PyRETIS simulation, each Monte Carlo cycle generates (or loads) a path and records two short codes in the output:
a move type (how the path was generated), and
a status code (whether the path was accepted, and if not, why).
Both codes appear in the per-ensemble output files and in the simulation log, e.g.:
# Cycle: 42, status: ACC, move: sh
The tables below list every code that PyRETIS can produce.
See also
Adding a new move? Validate that it reproduces the reference rate with the reproducibility suite – see Extending and validating PyRETIS.
Move types¶
The move type describes how the new path was generated. For an explanation of what each move actually does – the basic moves, the sub-trajectory moves and infinite swapping – see Monte Carlo moves.
Code |
Short name |
Description |
|---|---|---|
|
Shoot |
Path generated with a shooting move: a phase-space point is selected on the current path, momenta are perturbed, and new forward and backward trajectories are integrated. |
|
Stone skipping |
Path generated by the Stone Skipping algorithm, a multi-step variant of shooting that reuses short sub-paths. |
|
Web Throwing |
Path generated by the Web Throwing move. |
|
Wire Fencing |
Path generated by the Wire Fencing move. |
|
Target swap |
Path generated by a target swap move. |
|
Time-reversal |
Path generated by time-reversal: the current accepted path is reversed in time to produce the trial path. |
|
Swap from + |
Path produced by a replica-swap move where the incoming path
came from the |
|
Swap from − |
Path produced by a replica-swap move where the incoming path
came from the |
|
Mirror |
Path generated by a mirror move. |
|
Kick initiation |
Path generated by integrating the equations of motion after kicking (re-drawing) the initial momenta; used during path initiation. |
|
Initial shoot |
Path generated by a shooting move applied during the initial Stone Skipping preparation step, before the actual SS move. |
|
Load (unformatted) |
Path loaded from unformatted (binary) external file(s). |
|
Load (formatted) |
Path loaded from formatted (text) external file(s). |
|
Null move |
Path produced by a null move: the current path is kept without any modification (used internally). |
Path status codes¶
The status code explains why the trial path was accepted or, if rejected, what condition was violated.
Acceptance
Code |
Meaning |
|---|---|
|
The trial path was accepted and becomes the new current path. |
Trajectory-length rejections
These rejections occur when the generated trajectory is too long or too short to satisfy the detailed-balance or max-length conditions.
Code |
Meaning |
|---|---|
|
Backward trajectory too long — the backward segment exceeded the limit imposed by the detailed-balance condition. |
|
Backward trajectory too long — the backward segment exceeded
the hard |
|
Backward trajectory too short — the backward segment ended before reaching a required interface. |
|
Forward trajectory too long — the forward segment exceeded the limit imposed by the detailed-balance condition. |
|
Forward trajectory too long — the forward segment exceeded
the hard |
|
Forward trajectory too short — the forward segment ended before reaching a required interface. |
|
Stone Skipping sub-path too long — an internal sub-path within the Stone Skipping algorithm exceeded the allowed length. |
Interface / crossing rejections
Code |
Meaning |
|---|---|
|
No crossing with the middle interface — the trial path did not cross the required central interface of the ensemble. |
|
Backward trajectory ends at wrong interface — the backward segment terminated at an interface other than the one required. |
|
Initial path ends at wrong interface — used during path loading/initiation: the loaded path ends at an interface that is not compatible with the ensemble. |
|
Initial path starts at wrong interface — used during path loading/initiation: the loaded path starts at an interface that is not compatible with the ensemble. |
|
{0−} path ends at left interface — for paths in the
|
|
No one-step crossing in Stone Skipping — the Stone Skipping algorithm could not find a valid one-step interface crossing. |
Momentum / energy rejections
Code |
Meaning |
|---|---|
|
Momenta change rejection — the new momenta drawn during the shooting move were rejected (e.g. by the Metropolis criterion on the kinetic energy). |
|
Kicked outside of boundaries — after the momentum kick the system moved outside the allowed phase-space boundaries. |
Detailed-balance / super-detailed-balance rejections
These rejections enforce the (super) detailed-balance conditions for advanced moves.
Code |
Meaning |
|---|---|
|
High-acceptance swap rejection — the high-acceptance criterion for Stone Skipping / Wire Fencing detailed balance was not satisfied. |
|
Stone Skipping super-detailed-balance rejection — the Stone Skipping move was rejected by the super-detailed-balance acceptance test. |
|
Wire Fencing super-detailed-balance rejection — the Wire Fencing move was rejected by the super-detailed-balance acceptance test. |
|
Web Throwing super-detailed-balance rejection — the Web Throwing move was rejected by the super-detailed-balance acceptance test. |
Target-swap rejections
Code |
Meaning |
|---|---|
|
Target swap selection rejection — the target-swap move was rejected at the selection step (no suitable target ensemble was found). |
|
Target swap detailed-balance rejection — the target-swap trial was rejected by the detailed-balance acceptance criterion. |
REPPTIS-specific rejections
Code |
Meaning |
|---|---|
|
REPPTIS swap — wrong propagation direction — in a REPPTIS swap move the trial trajectory propagated in the wrong direction relative to the interface. |
|
REPPTIS swap — first-half extension rejected — the first half of the REPPTIS swap extension was rejected. |
Other
Code |
Meaning |
|---|---|
|
No suitable segments — the path contains no segments that can be used as shooting points. |
|
Exploration path — the path was generated during an exploration phase and is not counted as a regular MC step. |