![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The aggregate NRM engine of solver_ssa_nrm_space.m. More...
#include <line/solvers/ssa/solver_ssa_nrm_space.h>
Public Member Functions | |
| NrmSpaceEngine (const qn::NetworkStruct< T > &sn, const SsaNrmSpaceOptions &opt) | |
| SsaNrmSpaceRun< T > | run () |
| Run opt.samples firings and return the tabulated path. | |
| std::vector< NrmSpaceState > | enumerate_space () const |
| The reachable aggregate state space, closed forward from the initial state over the REACTIONS alone. | |
| std::size_t | nreactions () const |
| std::size_t | nslots () const |
| const NrmSpaceState & | initial () const |
| std::vector< double > | propensities (const NrmSpaceState &s) const |
| The whole propensity vector at a state, the reference's reactCache entry. | |
The aggregate NRM engine of solver_ssa_nrm_space.m.
It is a class for the reason NrmEngine is, and it is a SEPARATE class rather than a mode of that one because the two disagree about what a state is: this one has no phase dimension, five rate laws instead of thirteen, and a table keyed on (population, buffers) that the plain engine has no place to put. The pieces that look alike – the stoichiometry from rtnodes, the dependency sets, the newest-first buffer – are alike because both are ports of the same reference construction, and are written out here rather than shared because NrmEngine exposes none of them.
Definition at line 319 of file solver_ssa_nrm_space.h.
|
inline |
Definition at line 321 of file solver_ssa_nrm_space.h.
| std::vector< NrmSpaceState > line::ssa::NrmSpaceEngine< T >::enumerate_space | ( | ) | const |
The reachable aggregate state space, closed forward from the initial state over the REACTIONS alone.
This is the space the run indexes into, and it is derived from the reaction network rather than from the state handlers, so comparing it with reachable_space_generator's answer compares two independent accounts of what the model can do.
Definition at line 727 of file solver_ssa_nrm_space.h.
References line::ssa::NrmSpaceState::buf, line::ssa::NrmSpaceState::n, and line::UnsupportedError::UnsupportedError().
|
inline |
Definition at line 346 of file solver_ssa_nrm_space.h.
|
inline |
Definition at line 344 of file solver_ssa_nrm_space.h.
|
inline |
Definition at line 345 of file solver_ssa_nrm_space.h.
|
inline |
The whole propensity vector at a state, the reference's reactCache entry.
Definition at line 348 of file solver_ssa_nrm_space.h.
| SsaNrmSpaceRun< T > line::ssa::NrmSpaceEngine< T >::run | ( | ) |
Run opt.samples firings and return the tabulated path.
Definition at line 773 of file solver_ssa_nrm_space.h.
References line::ssa::NrmSpaceState::buf, line::ssa::SsaNrmSpaceRun< T >::dep_rates, line::ssa::NrmSpaceState::n, line::NumericError::NumericError(), line::ssa::SsaNrmSpaceRun< T >::pi, line::ssa::SsaNrmSpaceRun< T >::samples, line::ssa::SsaNrmSpaceRun< T >::seed, line::ssa::SsaNrmSpaceRun< T >::simulated_time, line::ssa::SsaNrmSpaceRun< T >::space, line::ssa::SsaNrmSpaceRun< T >::tran_rx, line::ssa::SsaNrmSpaceRun< T >::tran_time, and line::UnsupportedError::UnsupportedError().
Referenced by line::ssa::solver_ssa_nrm_space(), and line::ssa::solver_ssa_nrm_space_analyzer().