modelOutflowDynamicStock
Extends from Interfaces.Basics.GenericFlow_Special (Flow Template with a FlowPort_Special (portA)), Icons.Outflow (Icon for outflow classes), Interfaces.Basics.ThreeSO_rate (Generic information output for flow elements).
Information
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
OutflowDynamicStock can be used to model the outflow from a stock with inherent dynamic behavior (e.g., a conveyor or a higher-order delay). In these cases, the stock will set the flow and "signal" it via its →StockPort_Special.
Implementation
Since neither negative outflows (after all, this is a unidirectional flow) nor preventing an outflow by "stock control" (e.g., the receiving stock at portB has stopInflow = true) are compatible with this flow element, the following assert conditions will have breaches of these conditions cause errors that will stop the simulation:
assert(portA.rate >= 0, "Rate of outflow must never be negative");
assert(not portB.stopInflow, "There must not be capacity restrictions (stopInflow) for the stock at portB");
Notes
- The
OutflowDynamicStockflow will not observe thestopInflowflag of a stock connected to the B-side port. This means that the receiving stock must have sufficient capacity for the matter flowing out and capacity restrictions have to be imposed by an explicit control structure.
- To model a fractional outflow from a dynamic stock,
SplitOutflowDynamicStockshould be used. - To model a "leak"
SplitOutflowDynamicStockcan be used with some fraction of the outflow being directed into a →Cloud.
See also
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Connectors.FlowPort_Special | portA (from GenericFlow_Special) | Flow from/to Stock A (stock signals the rate) | |
| Connectors.FlowPort | portB (from GenericFlow_Special) | Flow to/from Stock B |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| RealOutput | y (from ThreeSO_rate) | Rate information | |
| RealOutput | y1 (from ThreeSO_rate) | Rate information | |
| RealOutput | y2 (from ThreeSO_rate) | Rate information |