![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
One firing mode of one transition, with its arcs and its firing process. More...
#include <line/solvers/fluid/fluid_petri_terms.h>
Public Attributes | |
| std::size_t | node = 0 |
| 1-based node index of the transition | |
| std::size_t | mode = 0 |
| mode index within it, 0-based | |
| lang::TimingStrategy | timing = lang::TimingStrategy::TIMED |
| std::string | label |
| std::vector< std::size_t > | arc_slot |
| Input arcs, as state coordinates and their multiplicities. | |
| std::vector< double > | arc_w |
| std::vector< std::size_t > | inh_slot |
| Inhibitor arcs, as state coordinates and their thresholds. | |
| std::vector< double > | inh_thr |
| double | c = 1.0 |
| servers of this mode; infinite for none | |
| std::size_t | nph = 1 |
| phases of the firing process; 0 for an immediate mode | |
| Matrix< double > | D0 |
| Matrix< double > | D1 |
| std::vector< double > | d1 |
| row sums of D1, the completion rate out of each phase | |
| std::vector< double > | pie |
| entry distribution over the phases | |
| std::function< double(const Matrix< double > &)> | dep |
| Marking-dependent firing multiplier; empty for the unit one. | |
| int | prio = 1 |
| double | weight = 1.0 |
| std::vector< double > | cvec |
| The mode's incidence column, over the whole state. | |
| std::vector< std::size_t > | zblk |
| The phase coordinates of a multi-phase mode; empty otherwise. | |
| bool | closable = false |
| Whether the enabling degree is worth closing over. | |
One firing mode of one transition, with its arcs and its firing process.
Definition at line 74 of file fluid_petri_terms.h.
| std::vector<std::size_t> line::fluid::petri::PetriMode::arc_slot |
Input arcs, as state coordinates and their multiplicities.
Definition at line 81 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms(), line::fluid::petri::petri_immediate(), line::fluid::petri::petri_theta(), and line::fluid::petri::solver_fluid_petri().
| std::vector<double> line::fluid::petri::PetriMode::arc_w |
Definition at line 82 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms(), line::fluid::petri::petri_immediate(), and line::fluid::petri::petri_theta().
| double line::fluid::petri::PetriMode::c = 1.0 |
servers of this mode; infinite for none
Definition at line 87 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms(), and line::fluid::petri::petri_theta().
| bool line::fluid::petri::PetriMode::closable = false |
Whether the enabling degree is worth closing over.
A single input arc under an infinite server count makes min() the identity, so the closure would smooth nothing and the covariance entries it reads would be carried for no reason.
Definition at line 107 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms(), and line::fluid::petri::petri_theta().
| std::vector<double> line::fluid::petri::PetriMode::cvec |
The mode's incidence column, over the whole state.
Definition at line 97 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms().
| Matrix<double> line::fluid::petri::PetriMode::D0 |
Definition at line 89 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms().
| Matrix<double> line::fluid::petri::PetriMode::D1 |
Definition at line 89 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms().
| std::vector<double> line::fluid::petri::PetriMode::d1 |
row sums of D1, the completion rate out of each phase
Definition at line 90 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms().
| std::function<double(const Matrix<double>&)> line::fluid::petri::PetriMode::dep |
Marking-dependent firing multiplier; empty for the unit one.
Definition at line 93 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_theta().
| std::vector<std::size_t> line::fluid::petri::PetriMode::inh_slot |
Inhibitor arcs, as state coordinates and their thresholds.
Definition at line 84 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms(), and line::fluid::petri::petri_theta().
| std::vector<double> line::fluid::petri::PetriMode::inh_thr |
Definition at line 85 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_theta().
| std::string line::fluid::petri::PetriMode::label |
Definition at line 78 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_immediate(), and line::fluid::petri::solver_fluid_petri().
| std::size_t line::fluid::petri::PetriMode::mode = 0 |
mode index within it, 0-based
Definition at line 76 of file fluid_petri_terms.h.
| std::size_t line::fluid::petri::PetriMode::node = 0 |
1-based node index of the transition
Definition at line 75 of file fluid_petri_terms.h.
| std::size_t line::fluid::petri::PetriMode::nph = 1 |
phases of the firing process; 0 for an immediate mode
Definition at line 88 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms(), line::fluid::petri::petri_jacobian(), and line::fluid::petri::petri_rates().
| std::vector<double> line::fluid::petri::PetriMode::pie |
entry distribution over the phases
Definition at line 91 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms().
| int line::fluid::petri::PetriMode::prio = 1 |
Definition at line 94 of file fluid_petri_terms.h.
| lang::TimingStrategy line::fluid::petri::PetriMode::timing = lang::TimingStrategy::TIMED |
Definition at line 77 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms().
| double line::fluid::petri::PetriMode::weight = 1.0 |
Definition at line 95 of file fluid_petri_terms.h.
| std::vector<std::size_t> line::fluid::petri::PetriMode::zblk |
The phase coordinates of a multi-phase mode; empty otherwise.
Definition at line 99 of file fluid_petri_terms.h.
Referenced by line::fluid::petri::petri_build_terms(), line::fluid::petri::petri_jacobian(), and line::fluid::petri::petri_rates().