OvenBatch processing of inflow (aka batch delay) |
![]() |
This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.
An oven (aka batch delay) can be seen as an idealized model of a batch process, e.g., cookies are put on a baking tray, the oven is loaded, the cookies are baked for some time, and finally the oven is unloaded (the process may then start over again).
The parameters or inputs batchSize
, maxLoadingTime
, processingTime
, and setupTime
specify the behavior of the batch process. The oven is loaded by a flow connected to its inflow
port (usually from a cloud or another stock representing a buffer stock) until either the batchSize
is reached (the oven's capacity) or the time since the loading of the oven commenced has reached the maxLoadingTime
. It will then close and prevent further inflow for the duration of the processingTime
. The unloading of the finished "material" will take place in dt
time - a global variable that indicates the shortest possible durationa of any process in a model. The reloading can commence after setupTime
has passed since the process has ended. For setupTime = 0
simulatenous loading and unloading will take place.
To initialize the oven, an initialLoad
and an initialLoadingTime
(e.g., how much time has already passed loading the oven when the simulation starts) have to be given.
batchSize
, maxLoadingTime
, processingTime
, and setupTime
can be time-varying continuous inputs, but are internally recalculated every time the process starts and then are held fixed.init |
Value: InitializationOptions.FixedValue Type: InitializationOptions Description: Provide InitializationOptions (Free, FixedValue, SteadyState) |
---|---|
hasStockInfoOutput |
Value: false Type: Boolean Description: = true, if a StockInfoOutput should be added to the stock |
initialLoad |
Value: 0 Type: OutputType Description: Amount loaded at start time |
initialLoadingTime |
Value: 0 Type: Time (s) Description: Time that has already passed to load the initial load at start time |
batchSize |
Value: unspecified Type: OutputType Description: Constant number of units processed in one batch (optional) |
maxLoadingTime |
Value: inf Type: Time (s) Description: Constant maximum allowed time for loading (optional) |
processingTime |
Value: unspecified Type: Time (s) Description: Constant processing time for the batch process or per unit loaded (optional) |
setupTime |
Value: unspecified Type: Time (s) Description: Time needed after processing is finished before loading can start (set to zero for simultaneous loading and unloading) |
unloadingTime |
Value: modelSettings.dt Type: Time (s) Description: Time needed to unload |
hasFixedProcessingTime |
Value: false Type: Boolean Description: = true, if the processing time is given for the process, otherwise it is the time per unit loaded |
hasConstantLoadingTime |
Value: false Type: Boolean Description: = true, if the maximum allowed time for loading is to be given by the parameter |
hasConstantBatchSize |
Value: false Type: Boolean Description: = true, if the batch size is to be given by the parameter |
hasConstantProcessingTime |
Value: false Type: Boolean Description: = true, if the processing time is to be given by the parameter |
hasConstantSetupTime |
Value: false Type: Boolean Description: = true, if the setup time is to be given by a parameter |
hasConstantUnloadingTime |
Value: false Type: Boolean Description: = true, if the unloading time is to be given as a parameter |
![]() |
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 |
![]() |
dataIn |
Type: InputConnector Description: Expandable connector for inputs |
![]() |
dataOut |
Type: OutputConnector Description: Expandable connector for outputs |
![]() |
modelSettings |
Type: ModelSettings Description: Setting important global variables within a model |
---|---|---|
![]() |
parMaxLoadingTime |
Type: ConstantConverterTime Description: Constant max loading time |
![]() |
parProcessingTime |
Type: ConstantConverterTime Description: Constant processing time |
![]() |
parBatchSize |
Type: ConstantConverter Description: Constant batch size |
![]() |
u_maxLoadingTime |
Type: PassThrough Description: Variable input of loading time |
![]() |
u_processingTime |
Type: PassThrough Description: Variable input of processing time |
![]() |
u_BatchSize |
Type: PassThrough Description: Variable batch size |
![]() |
parSetupTime |
Type: ConstantConverterTime Description: Constant setup time (optional) |
![]() |
u_setupTime |
Type: PassThrough Description: Variable input of setup time |
![]() |
actualMaxLoadingTime |
Type: ClipProcessTime Description: Maximum allowed loading time |
![]() |
actualProcessingTime |
Type: ClipProcessTime Description: Processing time |
![]() |
actualBatchSize |
Type: ZeroIfNegative Description: Batch size to be processed |
![]() |
actualSetupTime |
Type: ZeroIfNegative Description: Setup time for further calculations |
![]() |
dynamicStockInfo |
Type: DynamicStockInfo Description: Collecting dynamic stock info output information |
![]() |
actualUnloadingTime |
Type: ClipProcessTime Description: Unloading time |
![]() |
u_unloadingTime |
Type: PassThrough Description: Variable input of unloading time |
![]() |
parUnloadingTime |
Type: ConstantConverterTime Description: Constant unloading time |
![]() |
BusinessSimulation.Examples Modeling a production process |
dataIn
in v2.1.0.InputConnector
and OutputConnector
changed to encapsulated expandable connector
classes in v2.1.0.unspecified
in v.2.1.0.