LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::fluid::petri::PetriTerms Struct Reference

The assembled drift terms of a net. More...

#include <line/solvers/fluid/fluid_petri_terms.h>

Collaboration diagram for line::fluid::petri::PetriTerms:

Public Attributes

std::size_t I = 0
 nodes
std::size_t K = 0
 classes
std::size_t M = 0
 stations
std::vector< std::size_t > places
std::vector< std::size_t > transitions
 1-based node indices
std::vector< std::string > names_node
 0-based, one per node
std::size_t nstate = 0
 marking coordinates plus phase coordinates plus fluid levels
std::size_t nm = 0
 marking coordinates alone
std::vector< std::size_t > fluid_places
 Fluid places (FSPN): 1-based nodes, their level coordinates, capacities and initial levels.
std::size_t nf = 0
std::vector< std::ptrdiff_t > fidx
 (I) level coordinate of a 0-based node, or -1
std::vector< std::size_t > fluid_slot
std::vector< double > fluid_cap
std::vector< double > fluid_init
std::vector< std::ptrdiff_t > fluid_station
 0-based station of each fluid place
std::vector< std::string > fluid_name
std::vector< std::vector< std::ptrdiff_t > > pidx
 pidx(p,k) is the state coordinate of (0-based node p, class k), or npos.
std::vector< std::size_t > coord_node
std::vector< std::size_t > coord_class
std::vector< std::ptrdiff_t > coord_station
std::vector< PetriMode > modes
std::vector< std::size_t > timed_idx
std::vector< std::size_t > imm_idx
Matrix< double > D
 (nstate x nev) incidence
std::vector< double > rate_base
std::size_t nev = 0
std::vector< int > ev_kind
std::vector< int > ev_mode
std::vector< int > ev_phase
std::vector< int > ev_to
std::vector< std::ptrdiff_t > ev_station
std::vector< std::ptrdiff_t > ev_class
std::vector< std::size_t > ev_flow
 Kind 6: the flow's position in its mode's flow_slot; 0 for every other kind.
std::vector< std::size_t > imm_col
std::vector< std::size_t > latch_col
std::vector< std::size_t > stoch_col
std::vector< std::size_t > flow_col
std::vector< std::size_t > latch_mode
std::vector< std::pair< std::size_t, std::size_t > > cov_pairs
 The Sigma entries the closure reads, and the map back to them.
std::size_t npair = 0
std::vector< std::vector< std::ptrdiff_t > > pair_index
std::vector< std::size_t > cov_idx
std::map< std::size_t, std::vector< std::size_t > > consumers
 (station*K + class) -> the events that take tokens out of / into it.
std::map< std::size_t, std::vector< std::size_t > > producers
std::map< std::size_t, std::vector< double > > consumer_w
std::vector< double > x0
std::vector< std::vector< double > > m0full

Detailed Description

The assembled drift terms of a net.

Definition at line 138 of file fluid_petri_terms.h.

Member Data Documentation

◆ consumer_w

std::map<std::size_t, std::vector<double> > line::fluid::petri::PetriTerms::consumer_w

Definition at line 184 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ consumers

std::map<std::size_t, std::vector<std::size_t> > line::fluid::petri::PetriTerms::consumers

(station*K + class) -> the events that take tokens out of / into it.

Definition at line 183 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ coord_class

std::vector<std::size_t> line::fluid::petri::PetriTerms::coord_class

Definition at line 159 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ coord_node

std::vector<std::size_t> line::fluid::petri::PetriTerms::coord_node

Definition at line 159 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ coord_station

std::vector<std::ptrdiff_t> line::fluid::petri::PetriTerms::coord_station

Definition at line 160 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ cov_idx

std::vector<std::size_t> line::fluid::petri::PetriTerms::cov_idx

Definition at line 180 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ cov_pairs

std::vector<std::pair<std::size_t, std::size_t> > line::fluid::petri::PetriTerms::cov_pairs

The Sigma entries the closure reads, and the map back to them.

Definition at line 177 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ D

Matrix<double> line::fluid::petri::PetriTerms::D

◆ ev_class

std::vector<std::ptrdiff_t> line::fluid::petri::PetriTerms::ev_class

Definition at line 169 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ ev_flow

std::vector<std::size_t> line::fluid::petri::PetriTerms::ev_flow

Kind 6: the flow's position in its mode's flow_slot; 0 for every other kind.

Definition at line 171 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().

◆ ev_kind

std::vector<int> line::fluid::petri::PetriTerms::ev_kind

◆ ev_mode

std::vector<int> line::fluid::petri::PetriTerms::ev_mode

◆ ev_phase

std::vector<int> line::fluid::petri::PetriTerms::ev_phase

◆ ev_station

std::vector<std::ptrdiff_t> line::fluid::petri::PetriTerms::ev_station

Definition at line 169 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ ev_to

std::vector<int> line::fluid::petri::PetriTerms::ev_to

Definition at line 168 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ fidx

std::vector<std::ptrdiff_t> line::fluid::petri::PetriTerms::fidx

(I) level coordinate of a 0-based node, or -1

Definition at line 151 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ flow_col

std::vector<std::size_t> line::fluid::petri::PetriTerms::flow_col

Definition at line 173 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ fluid_cap

std::vector<double> line::fluid::petri::PetriTerms::fluid_cap

◆ fluid_init

std::vector<double> line::fluid::petri::PetriTerms::fluid_init

Definition at line 153 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ fluid_name

std::vector<std::string> line::fluid::petri::PetriTerms::fluid_name

◆ fluid_places

std::vector<std::size_t> line::fluid::petri::PetriTerms::fluid_places

Fluid places (FSPN): 1-based nodes, their level coordinates, capacities and initial levels.

Definition at line 149 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ fluid_slot

std::vector<std::size_t> line::fluid::petri::PetriTerms::fluid_slot

◆ fluid_station

std::vector<std::ptrdiff_t> line::fluid::petri::PetriTerms::fluid_station

0-based station of each fluid place

Definition at line 154 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ I

std::size_t line::fluid::petri::PetriTerms::I = 0

nodes

Definition at line 139 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ imm_col

std::vector<std::size_t> line::fluid::petri::PetriTerms::imm_col

Definition at line 173 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ imm_idx

std::vector<std::size_t> line::fluid::petri::PetriTerms::imm_idx

◆ K

std::size_t line::fluid::petri::PetriTerms::K = 0

◆ latch_col

std::vector<std::size_t> line::fluid::petri::PetriTerms::latch_col

Definition at line 173 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ latch_mode

std::vector<std::size_t> line::fluid::petri::PetriTerms::latch_mode

◆ M

std::size_t line::fluid::petri::PetriTerms::M = 0

stations

Definition at line 141 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ m0full

std::vector<std::vector<double> > line::fluid::petri::PetriTerms::m0full

Definition at line 187 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ modes

◆ names_node

std::vector<std::string> line::fluid::petri::PetriTerms::names_node

0-based, one per node

Definition at line 143 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms(), and line::fluid::petri::petri_constraints().

◆ nev

◆ nf

std::size_t line::fluid::petri::PetriTerms::nf = 0

◆ nm

std::size_t line::fluid::petri::PetriTerms::nm = 0

marking coordinates alone

Definition at line 146 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ npair

std::size_t line::fluid::petri::PetriTerms::npair = 0

◆ nstate

std::size_t line::fluid::petri::PetriTerms::nstate = 0

marking coordinates plus phase coordinates plus fluid levels

Definition at line 145 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms(), line::fluid::petri::petri_conservation(), line::fluid::petri::petri_constraints(), and line::fluid::petri::petri_jacobian().

◆ pair_index

std::vector<std::vector<std::ptrdiff_t> > line::fluid::petri::PetriTerms::pair_index

Definition at line 179 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ pidx

std::vector<std::vector<std::ptrdiff_t> > line::fluid::petri::PetriTerms::pidx

pidx(p,k) is the state coordinate of (0-based node p, class k), or npos.

Definition at line 158 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms(), and line::fluid::petri::petri_constraints().

◆ places

std::vector<std::size_t> line::fluid::petri::PetriTerms::places

◆ producers

std::map<std::size_t, std::vector<std::size_t> > line::fluid::petri::PetriTerms::producers

Definition at line 183 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ rate_base

std::vector<double> line::fluid::petri::PetriTerms::rate_base

◆ stoch_col

std::vector<std::size_t> line::fluid::petri::PetriTerms::stoch_col

Definition at line 173 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ timed_idx

std::vector<std::size_t> line::fluid::petri::PetriTerms::timed_idx

Definition at line 163 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ transitions

std::vector<std::size_t> line::fluid::petri::PetriTerms::transitions

1-based node indices

Definition at line 142 of file fluid_petri_terms.h.

Referenced by line::fluid::petri::petri_build_terms().

◆ x0

std::vector<double> line::fluid::petri::PetriTerms::x0

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