WESTPA Modules API
Bin assignment for WEST simulations. This module defines “bin mappers” which take vectors of coordinates (or rather, coordinate tuples), and assign each a definite integer value identifying a bin. Critical portions are implemented in a Cython extension module.
A number of pre-defined bin mappers are available here:
RectilinearBinMapper, for bins divided by N-dimensional grids
FuncBinMapper, for functions which directly calculate bin assignments for a number of coordinate values. This is best used with C/Cython/Numba functions, or intellegently-tuned numpy-based Python functions.
VectorizingFuncBinMapper, for functions which calculate a bin assignment for a single coordinate value. This is best used for arbitrary Python functions.
PiecewiseBinMapper, for using a set of boolean-valued functions, one per bin, to determine assignments. This is likely to be much slower than a FuncBinMapper or VectorizingFuncBinMapper equipped with an appropriate function, and its use is discouraged.
One “super-mapper” is available, for assembling more complex bin spaces from simpler components:
RecursiveBinMapper, for nesting one set of bins within another.
Users are also free to implement their own mappers. A bin mapper must implement, at
assign(coords, mask=None, output=None) method, which is responsible
for mapping each of the vector of coordinate tuples
coords to an integer
(np.uint16) indicating a what bin that coordinate tuple falls into. The optional
mask (a numpy bool array) specifies that some coordinates are to be skipped; this is used,
for instance, by the recursive (nested) bin mapper to minimize the number of calculations
required to definitively assign a coordinate tuple to a bin. Similarly, the optional
output must be an integer (uint16) array of the same length as
coords, into which
assignments are written. The
assign() function must return a reference to
(This is used to avoid allocating many temporary output arrays in complex binning
A user-defined bin mapper must also make an
nbins property available, containing
the total number of bins within the mapper.
YAML-based configuration files for WESTPA
- class westpa.core._rc.WESTRC
A class, an instance of which is accessible as
westpa.rc, to handle global issues for WEST-PA code, such as loading modules and plugins, writing output based on verbosity level, adding default command line options, and so on.