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

What an elimination attempt produced. More...

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

Collaboration diagram for line::fluid::FluidImmediateResult:

Public Attributes

FluidOdeSystem sys
 reduced, or the input on a fallback
std::vector< std::size_t > state_map
 reduced position -> original index, 0-based
bool eliminated = false
 false when the input is returned unchanged
std::size_t n_immediate = 0
 immediate transitions detected
std::string fallback
 Why the elimination was abandoned, empty when it was not attempted or when it succeeded.
Matrix< double > emap
 emap(e, o): expected firings of the ORIGINAL event o per firing of the reduced event e; the identity when nothing was eliminated.
Matrix< double > absorb
 Projector for the initial condition: identity on the timed rows, the absorption distribution on the immediate ones.

Detailed Description

What an elimination attempt produced.

Definition at line 99 of file fluid_stiff.h.

Member Data Documentation

◆ absorb

Matrix<double> line::fluid::FluidImmediateResult::absorb

Projector for the initial condition: identity on the timed rows, the absorption distribution on the immediate ones.

Mass parked on an eliminated coordinate would otherwise be frozen there for the whole integration.

Definition at line 125 of file fluid_stiff.h.

Referenced by line::fluid::fluid_eliminate_immediate(), and line::fluid::fluid_moment_terms().

◆ eliminated

bool line::fluid::FluidImmediateResult::eliminated = false

false when the input is returned unchanged

Definition at line 102 of file fluid_stiff.h.

Referenced by line::fluid::fluid_eliminate_immediate(), and line::fluid::fluid_moment_terms().

◆ emap

Matrix<double> line::fluid::FluidImmediateResult::emap

emap(e, o): expected firings of the ORIGINAL event o per firing of the reduced event e; the identity when nothing was eliminated.

A caller maps a per-event quantity with new = emap * old, which is what lets a throughput read off a reduced event set stay exact – an event folded through an immediate coordinate is a completion at more than one (station,class).

Definition at line 119 of file fluid_stiff.h.

Referenced by line::fluid::fluid_eliminate_immediate(), and line::fluid::fluid_moment_terms().

◆ fallback

std::string line::fluid::FluidImmediateResult::fallback

Why the elimination was abandoned, empty when it was not attempted or when it succeeded.

The reference warns here and carries on with a system that is still stiff; a caller that cannot see the warning would integrate it without knowing to switch to the stiff arm, which is the whole decision this file exists to inform.

Definition at line 111 of file fluid_stiff.h.

Referenced by line::fluid::fluid_eliminate_immediate().

◆ n_immediate

std::size_t line::fluid::FluidImmediateResult::n_immediate = 0

immediate transitions detected

Definition at line 103 of file fluid_stiff.h.

Referenced by line::fluid::fluid_eliminate_immediate().

◆ state_map

std::vector<std::size_t> line::fluid::FluidImmediateResult::state_map

reduced position -> original index, 0-based

Definition at line 101 of file fluid_stiff.h.

Referenced by line::fluid::fluid_eliminate_immediate().

◆ sys

FluidOdeSystem line::fluid::FluidImmediateResult::sys

reduced, or the input on a fallback

Definition at line 100 of file fluid_stiff.h.

Referenced by line::fluid::fluid_eliminate_immediate(), and line::fluid::fluid_moment_terms().


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