PureDelayDelay the flow of material for a fixed (but variable) delay time |
![]() |
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
At any given time, the inflow to the PureDelay is delayed by an exact amount of time given either by the parameter delayTime
or the continuous input u
. Changes in the delay time will only affect the current or later inflow, i.e., whatever is already in the process of being delayed will not be affected.
The PureDelay will work at discrete time intervals:
when sample(modelSettings.modelStartTime + samplingPeriod, samplingPeriod) then // load new material into the stock, move loaded material, unload material end when;
The values for the in- and outflows and the load will be kept constant between events.
inflow
port of the PureDelay.OutflowDynamicStock
or →SplitOutflowDynamicStock
have to be connected to the outflow
port.SplitOutflowDynamicStock
) can be used to model leaking.init
in the Advanced tab allows to select →InitializationOptions:
initialValue
.inflow.rate * delayTime
startValue
.Conveyor
should be used, which will preserve order of entry (units can at best leave at the same time, but not earlier than units, that have already entered the stock).SimpleConveyor, Conveyor, DelayN, DelayFixed, DelayInformation
init |
Value: modelSettings.init Type: InitializationOptions Description: Provide InitializationOptions (Free, FixedValue, SteadyState) |
---|---|
hasStockInfoOutput |
Value: false Type: Boolean Description: = true, if a StockInfoOutput should be added to the stock |
initialValue |
Value: 0 Type: OutputType Description: Initial load |
delayTime |
Value: 1 Type: Time (s) Description: Constant delay time (optional) |
maxDelayTime |
Value: 10 Type: Time (s) Description: Maximum delay time (to restrict memory usage) |
samplingPeriod |
Value: modelSettings.samplingPeriod Type: Time (s) Description: Sampling period for discrete behavior (should be smaller than dt/2) |
hasConstantDelayTime |
Value: true Type: Boolean Description: = true, if the delay time is to be given by a constant parameter |
hasExogenousHistory |
Value: false Type: Boolean Description: =true, if the outflow-profile for the initial load is to be given by an external lookup function |
strict |
Value: true Type: Boolean Description: = true, if strict limits with noEvent(..) (clippedDelayTime.strict) |
![]() |
y |
Type: RealOutput Description: Level or rate information |
---|---|---|
![]() |
y1 |
Type: RealOutput Description: Level or rate information |
![]() |
y2 |
Type: RealOutput Description: Level or rate information |
![]() |
inflow |
Type: StockPort Description: Inflow port of the stock |
![]() |
outflow |
Type: StockPort_Special Description: Special outflow port of the stock (stock sets rate) |
![]() |
y_stockInfo |
Type: StockInfoOutput Description: Optional StockInfoOutput |
![]() |
u |
Type: RealInput Description: Delay time input (optional) |
![]() |
modelSettings |
Type: ModelSettings Description: Setting important global variables within a model |
---|---|---|
![]() |
clippedDelayTime |
Type: Clip Description: Current delay time |
![]() |
parDelayTime |
Type: ConstantConverterTime Description: Constant delay time (optional) |
![]() |
dynamicStockInfo1 |
Type: DynamicStockInfo Description: Collect basic stock-related information for stocks with implicit dynamics |
![]() |
BusinessSimulation.CausalLoop Fixed or pure delay of input flow |