modelSimpleConveyor
Conveyor (aka pipeline delay) with constant delay time and no leakage
Extends from Icons.Conveyor (Icon for conveyor stocks), Interfaces.Basics.GenericStock_Special (Generic Stock with internal dynamics).
Information
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
The SimpleConveyor (aka pipeline delay) bevhaves as one would expect a conveyor belt to work: What flows into the SimpleConveyor will flow out after a period given by the parameter delayTime has elapsed. The delayTime will be clipped, so that it can never be smaller than the global parameter modelSettings.dt.
Implementation
The Conveyor internally uses Modelica's delay() function with a constant time of delay to delay the rate of inflow.
Notes
- All inflows have to go to the
inflowport of the Conveyor—no draining is allowed via this port. - Since the outflow will be controlled by the Conveyor, →
OutflowDynamicStockor →SplitOutflowDynamicStockhave to be connected to theoutflowport. - Using more than one outflow (e.g.,
SplitOutflowDynamicStock) can be used to model leaking. - During the interval
[modelSettings.modelStartTime, delayTime]the outflow will simply be the initial value for the stock divided by the delay time.
- The parameter
initin the Advanced tab allows to select →InitializationOptions:- FixedValue (default) will initialize the stock according to value given by the parameter
initialValue. - SteadyState will use Little's Law to determine the equilibrium start value as
inflow.rate * delayTime - Free tells the solver that it is free in solving the initial value problem using initialValue as
startValue.
- FixedValue (default) will initialize the stock according to value given by the parameter
- The Conveyor behaves exactly like the PureDelay or the Conveyor when the delay time is constant; the main difference is the absence of time events introduced by the discrete nature of the PureDelay or Conveyor stocks.
- The Conveyor stock can additionally deal with variable delay times, but is discrete in nature (i.e., it uses time events).
See also
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| OutputType | initialValue | 0 | Initial load |
| Time | delayTime | 1 | Time of residence in the stock |
| Advanced | |||
| InitializationOptions | init (from GenericStock_Special) | InitializationOptions.FixedValue | Provide InitializationOptions (Free, FixedValue, SteadyState) |
| Structural Parameters | |||
| Boolean | hasStockInfoOutput (from GenericStock_Special) | false | = true, if a StockInfoOutput should be added to the stock |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| StockPort | inflow (from GenericStock_Special) | Inflow port of the stock | |
| StockPort_Special | outflow (from GenericStock_Special) | Special outflow port of the stock (stock sets rate) | |
| StockInfoOutput | y_stockInfo (from GenericStock_Special) | Optional StockInfoOutput |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| RealOutput | y (from ThreeSO) | Level or rate information | |
| RealOutput | y1 (from ThreeSO) | Level or rate information | |
| RealOutput | y2 (from ThreeSO) | Level or rate information |