Alternative modelling
Instead of working with coroutines (and yield statements) it is possible to run salabim in yieldless mode.
This means, instead of
yield self.passivate()
yield from self.double_hold(2)
item = yield self.from_store(my_store)
,you can just use
self.passivate()
self.double_hold(2)
item = self.from_store(my_store)
And things like
other.activate()
other.interrupt()
do not change.
The yieldless version is the default, so just have to use :
In order to run yieldless, do
import salabim as sim
or
import salabim as sim
sim.yieldless(True)
We refer to the yieldless documentation for details.