![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Finite capacity regions as linear admission constraints on the fluid state. More...
#include <line/solvers/fluid/fluid_dae.h>
Public Member Functions | |
| bool | empty () const |
Static Public Member Functions | |
| static std::size_t | none () |
Public Attributes | |
| Matrix< double > | A |
| (ncon x nstate) | |
| Matrix< double > | As |
| (ncon x nstaging), see fluid_dae_extend | |
| std::vector< double > | b |
| std::vector< std::size_t > | region |
| which region, npos for a station cap | |
| std::vector< std::size_t > | station |
| which station, npos for a region cap | |
| std::vector< std::size_t > | klass_row |
| which class, npos when several | |
| std::vector< bool > | staged |
| true where the job waits in a room | |
| std::vector< std::string > | label |
| std::vector< std::vector< bool > > | member |
| (nregions x nstate) | |
| std::vector< std::size_t > | coord_class |
| std::size_t | nregions = 0 |
Finite capacity regions as linear admission constraints on the fluid state.
EVERY FORM THE REGION CAN TAKE IS ONE FAMILY. A region carries a global job cap, per-class caps, a memory budget with per-class sizes, and an optional linear pair (A,b); all four are the same object once written against the state, Arow x <= b with Arow the per-class weight on the region's coordinates. Collapsing them here means the solver carries one mechanism rather than four.
ONLY WAITQ IS A CONSTRAINT ON THIS DRIFT. Under a waiting queue a blocked job waits outside the region and is admitted later, so the population is conserved and only the admission FLOW is throttled. DROP destroys the job, BAS/BBS/RSRD hold a server upstream, and the retrial rules move it to an orbit: each changes the event set itself, so each needs a different drift rather than a constraint on this one.
Definition at line 111 of file fluid_dae.h.
|
inline |
Definition at line 123 of file fluid_dae.h.
References b.
Referenced by line::fluid::fluid_dae_staging(), line::fluid::solver_fluid_dae(), and line::fluid::solver_fluid_dae_transient().
|
inlinestatic |
Definition at line 124 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints().
| Matrix<double> line::fluid::FluidDaeConstraints::A |
(ncon x nstate)
Definition at line 112 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_clamp_tangent(), line::fluid::fluid_dae_constraints(), line::fluid::fluid_dae_extend(), line::fluid::fluid_dae_gates(), line::fluid::fluid_dae_hold_multipliers(), line::fluid::fluid_dae_integrate_hybrid(), line::fluid::fluid_dae_residual(), line::fluid::fluid_dae_staging(), and line::fluid::solver_fluid_dae().
| Matrix<double> line::fluid::FluidDaeConstraints::As |
(ncon x nstaging), see fluid_dae_extend
Definition at line 113 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints(), line::fluid::fluid_dae_extend(), line::fluid::fluid_dae_hold_multipliers(), line::fluid::fluid_dae_residual(), and line::fluid::solver_fluid_dae().
| std::vector<double> line::fluid::FluidDaeConstraints::b |
Definition at line 114 of file fluid_dae.h.
Referenced by empty(), line::fluid::fluid_dae_constraints(), line::fluid::fluid_dae_extend(), line::fluid::fluid_dae_gates(), line::fluid::fluid_dae_integrate_hybrid(), line::fluid::fluid_dae_residual(), line::fluid::fluid_dae_staging(), and line::fluid::solver_fluid_dae().
| std::vector<std::size_t> line::fluid::FluidDaeConstraints::coord_class |
Definition at line 121 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints(), line::fluid::fluid_dae_gates(), and line::fluid::fluid_dae_staging().
| std::vector<std::size_t> line::fluid::FluidDaeConstraints::klass_row |
which class, npos when several
Definition at line 117 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints().
| std::vector<std::string> line::fluid::FluidDaeConstraints::label |
Definition at line 119 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints(), and line::fluid::fluid_dae_gates().
| std::vector<std::vector<bool> > line::fluid::FluidDaeConstraints::member |
(nregions x nstate)
Definition at line 120 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints(), line::fluid::fluid_dae_extend(), and line::fluid::fluid_dae_staging().
| std::size_t line::fluid::FluidDaeConstraints::nregions = 0 |
Definition at line 122 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints(), and line::fluid::fluid_dae_staging().
| std::vector<std::size_t> line::fluid::FluidDaeConstraints::region |
which region, npos for a station cap
Definition at line 115 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints(), and line::fluid::fluid_dae_staging().
| std::vector<bool> line::fluid::FluidDaeConstraints::staged |
true where the job waits in a room
Definition at line 118 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_clamp_tangent(), line::fluid::fluid_dae_constraints(), line::fluid::fluid_dae_gates(), line::fluid::fluid_dae_integrate_hybrid(), line::fluid::fluid_dae_legs(), line::fluid::fluid_dae_staging(), and line::fluid::solver_fluid_dae().
| std::vector<std::size_t> line::fluid::FluidDaeConstraints::station |
which station, npos for a region cap
Definition at line 116 of file fluid_dae.h.
Referenced by line::fluid::fluid_dae_constraints().