WESTPA Modules API
Binning
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
least, an 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 output
.
(This is used to avoid allocating many temporary output arrays in complex binning
scenarios.)
A user-defined bin mapper must also make an nbins
property available, containing
the total number of bins within the mapper.
YAMLCFG
YAML-based configuration files for WESTPA
RC
- 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.