The RETIS section¶
The RETIS section specifies settings for RE(PP)TIS simulations.
The moves of each ensemble are set in the
TIS section. On a path-sampling run, a
keyword of this section that takes no effect on the run is refused.
An md, md-nve or md-flux task takes no effect from the
section, and refuses its relative_shoots and an rgen that names
no generator (see the keywords that take no effect), so leave the section out of the input
of an md task.
[retis]
swapfreq = 0.5
Keywords for the RETIS section¶
The following keywords can be set for the RETIS section:
Keyword |
Description |
|---|---|
On a path-sampling run, refused; remove it: a move leaves the paths of the other ensembles in place. |
|
Selects and defines relative shooting. |
|
A keyword of |
|
On a path-sampling run, refused unless |
|
On a path-sampling run, refused:
|
|
The probability of a swap move. |
|
On a path-sampling run, refused; remove it: a move swaps one pair of ensembles at most. |
Keyword nullmoves¶
A path-sampling run and make-tis-files refuse this keyword:
remove it from an input of PyRETIS 3. A move changes the paths of
the ensembles it is made in and leaves the paths of every other
ensemble in place; no null move is made.
Keyword relative_shoots¶
This keyword selects and defines relative shooting.
Relative shooting means that the ensembles are shot in with
unequal frequencies. This is selected by specifying the relative
frequency for each ensemble in a list,
e.g. relative_shoots = [0.1, 0.1, 0.2, 0.6] for four ensembles
(one weight per ensemble, in interface order — the [0^-]
minus ensemble first when it is present), where these numbers give
the relative probability of the move being performed in that
ensemble. The infinite-swapping scheduler that drives all
path-sampling runs weights its per-ensemble move selection by these
frequencies, so a heavier ensemble is worked on more often. The
weights are state-independent, so every ensemble still samples its
own path distribution and the computed rate is unchanged — only
the allocation of sampling effort across the ensembles changes. The
weights set only which ensemble’s move is chosen; the path the move
starts from is drawn from the paths that ensemble holds, by their
occupancy, as without the keyword.
The weights need not sum to one (they are normalised internally);
they must be non-negative with a positive sum. When the key is not
set, the ensembles are selected with the sampler’s own, roughly
uniform, frequencies. relative_shoots cannot be combined with
priority_shooting.
[retis] relative_shoots is the one keyword of the weights: an
input that sets relative_shoots in [tis] or [simulation]
is refused, with a message that names [retis] relative_shoots. A
run that picks no ensemble, a tis run of one ensemble or a task
that runs no move, refuses it.
- Default
Not set (no relative shooting).
Keyword priority_shooting¶
Set this keyword in the simulation section; the [retis] section refuses
it as an unknown keyword.
If True, the scheduler weights the choice of each move’s ensemble
toward the ensembles that have received fewer moves. A move is a pair:
the ensemble whose rules it follows (its interfaces and its acceptance)
and one of the paths that ensemble holds, drawn by its infinite-swap
occupancy. priority_shooting changes only the first choice: an
ensemble that has received n moves, while the most-sampled ensemble
has received n_max, is chosen with weight n_max - n + 1. The
ensembles that lag are shot more often until all have received the
same number of moves; level ensembles are equally likely. The path is
then drawn from the chosen ensemble as usual.
A move counts when it is submitted, accepted or not, and a zero swap counts for both of its ensembles. The weights therefore depend on the moves made so far, and not on the current paths or on how long the moves take to finish with several workers, so every move still leaves the sampled distribution unchanged: only the allocation of moves, and with it the statistical error of each ensemble, changes.
The counts are kept in output.toml as [current] moves_submitted,
so the ensembles stay level over a series of short jobs, each one a
restart of the previous one. A restart of a run that did not record
them starts from the attempted moves in each ensemble’s
moves.txt. priority_shooting cannot be combined with
relative_shoots or pick_scheme.
- Default
The default value is
priority_shooting = false.
Keyword rgen¶
A path-sampling run draws every random number, in the kick
initiation and in the moves, from streams of numpy’s PCG64 generator
spawned from [simulation] seed,
so a path-sampling run refuses any value of this keyword other than
"pcg64".
- Default
Not set: the run draws from numpy’s PCG64 generator.
Keyword seed¶
The kicks of the kick initiation and the moves of a path-sampling
run draw from [simulation] seed, so a path-sampling run refuses
this keyword, with a message that names [simulation] seed.
Keyword swapfreq¶
The probability of a swap move; [retis] swapfreq is the one
keyword that sets it. In a retis run, a move picked in the
\([0^-]\) or the \([0^+]\) ensemble is, with this
probability, the swap of the paths of the two (the zero swap),
unless another worker is moving the other ensemble; the moves of the
other ensembles are never swaps, so swapfreq is not the share of
swaps in the whole run as in PyRETIS 3; in a repptis run, a move
is, with this probability, a swap with an adjacent ensemble, unless
another worker is moving that ensemble. A tis, pptis or
explore run attempts no swap, and refuses the keyword. An input
that sets [simulation] zeroswap is refused, with a message that
names [retis] swapfreq; the run file output.toml records the
probability as [retis] swapfreq.
- Default
The default value is
swapfreq = 0.5for aretisrun. Arepptisrun needs the keyword: without it the run stops before its first move, with the messageMissing required setting "retis" for simulation "REPPTIS simulation".
Keyword swapsimul¶
A path-sampling run and make-tis-files refuse this keyword:
remove it from an input of PyRETIS 3. A move swaps one pair of
ensembles at most: the \([0^-]\) and \([0^+]\) paths in a
retis run, two adjacent ensembles in a repptis run (see
swapfreq).