ExponentialDelayExponential delay of input flow |
![]() |
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
The →DelayN
is used to model an exponential delay of order ORD
. The aggregate nature of causal loop modeling requires to make a clear distinction between delaying an inflow to as opposed to an outflow from the stock connected to the flowPort
: A delayed inflow will reach the stock with a delay, while a delayed outflow will leave the stock with a delay.
While modeling a delayed inflow is uncontroversial, modeling a delayed outflow imposes choices: Setting subtractDelayedOutflow = true
will report the current amount in the stock less the amount that is in the process of being delayed at the stockPort
. Accordingly, a process of exponential decay will not drain the stock below zero.
If this is not wanted, setting subtractDelayedOutflow = false
will report the actual stock level, i.e., any material that has not yet left the stock will be considered a still active member of the stock in the process . Accordingly, a delayed process of exponential decay could drain the stock below zero.
![]() |
stockPort
. Other flows connected to the stock, that is connected to the stockPort
of the component will see the stock value without any "premature" deductions, i.e., material will only be deducted from the stock once it as truly left the stock.MaterialStock
cannot be drained below zero.inflowDelay
and outflowDelay
are by default initialized with zero elements in the process of flowing into and out of the connected stock. This can be changed by changing the values for the parameters IDO
and IDI
in the Initialization
tab.delayTime |
Value: 1 Type: Time (s) Description: Time of delay |
---|---|
subtractDelayedOutflow |
Value: true Type: Boolean Description: = true, if a delayed outflow is to be deducted before it actually leaves the stock |
hasFactor |
Value: false Type: Boolean Description: = true, if coefficients are to be multiplied with input u |
hasStockInfoOutput |
Value: false Type: Boolean Description: = true, if information from the internal 'in process' stock is to be made accessible |
IDI |
Value: 0 Type: MaterialType Description: Initial material in the process of flowing into the connected stock |
IDO |
Value: 0 Type: MaterialType Description: Initial material in the process of flowing into the connected stock |
ORD |
Value: 3 Type: Integer Description: Order of the exponential delay |
init |
Value: modelSettings.init Type: InitializationOptions Description: Provide InitializationOptions (Free, FixedValue, SteadyState) |
![]() |
portA |
Type: StockPort Description: Connector for stock components |
---|---|---|
![]() |
portB |
Type: FlowPort Description: Used to represent stock and flow connections |
![]() |
u |
Type: RealInput Description: Factor input |
![]() |
stockInfoOutput |
Type: StockInfoOutput Description: Output of record with stock-related information |
![]() |
one |
Type: RealOutput Description: Default factor |
![]() |
growthRate |
Type: RealOutput Description: Indicated rate of growth |
![]() |
declineRate |
Type: RealOutput Description: Indicated rate of decline |
![]() |
stockB |
Type: FlowPortSensor Description: Level information for an outside FlowPort |
---|---|---|
![]() |
adjustedDelayTime |
Type: Product_2 Description: Inputs are multiplied |
![]() |
parDelayTime |
Type: ConstantConverterTime Description: A constant time value is turned into a constant signal |
![]() |
actualStockB |
Type: Add Description: Output the sum of the two inputs |
![]() |
modelSettings |
Type: ModelSettings Description: Setting important global variables within a model |
![]() |
delayedOutflow |
Type: OutflowDynamicStock Description: Outflow from a dynamic stock—the rate is set by the stock |
![]() |
inflowDelay |
Type: DelayN Description: Material delay of n-th Order |
![]() |
growing |
Type: Growth Description: A stock is filled at a given rate |
![]() |
actuallyGrowing |
Type: OutflowDynamicStock Description: Outflow from a dynamic stock—the rate is set by the stock |
![]() |
outflowDelay |
Type: DelayN Description: Material delay of n-th Order |
![]() |
shrinking |
Type: Growth Description: A stock is filled at a given rate |
![]() |
cloud1 |
Type: Cloud Description: Reservoir (stock/level) with an infinite capacity |
![]() |
actuallyShrinking |
Type: Decline Description: A stock is drained at a given rate |
![]() |
BusinessSimulation.CausalLoop Process driven by elasticity and additional exponential delay |
![]() |
BusinessSimulation.CausalLoop Process driven by proportionality with additional exponential delay |