LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::ssa::NrmEngine< T > Class Template Reference

The NRM engine: the reaction network built from sn, and the sample path. More...

#include <line/solvers/ssa/solver_ssa_nrm.h>

Public Member Functions

 NrmEngine (const qn::NetworkStruct< T > &sn, const SsaOptions &opt)
SsaSolution run ()
 Run opt.samples firings and return the time-averaged metrics.
std::size_t nstates () const
 The state-vector length, for the tests that assert the phase expansion.
std::size_t nreactions () const
 The reaction count, likewise.

Detailed Description

template<class T>
class line::ssa::NrmEngine< T >

The NRM engine: the reaction network built from sn, and the sample path.

It is a class rather than a chain of free functions because the run loop threads eight pieces of mutable state (the population vector, the per-node buffers, the in-service phase multisets, the clocks, the propensities and the three metric accumulators) through every step, and the reference threads the same eight as arguments to a single 700-line function.

Definition at line 165 of file solver_ssa_nrm.h.

Constructor & Destructor Documentation

◆ NrmEngine()

template<class T>
line::ssa::NrmEngine< T >::NrmEngine ( const qn::NetworkStruct< T > & sn,
const SsaOptions & opt )
inline

Definition at line 167 of file solver_ssa_nrm.h.

Member Function Documentation

◆ nreactions()

template<class T>
std::size_t line::ssa::NrmEngine< T >::nreactions ( ) const
inline

The reaction count, likewise.

Definition at line 182 of file solver_ssa_nrm.h.

◆ nstates()

template<class T>
std::size_t line::ssa::NrmEngine< T >::nstates ( ) const
inline

The state-vector length, for the tests that assert the phase expansion.

Definition at line 180 of file solver_ssa_nrm.h.

◆ run()


The documentation for this class was generated from the following file: