I'm using Simile to build an individual based model of a plant monoculture. It's important that I know how my "rules" are scheduled for individuals. Synchronous versus asynchronous scheduling?
The distinction doesn't really apply with system-dynamics models such as those created with Simile. Each time step, the model is first updated, i.e., all compartments are adjusted according to the sum of their flows, then it is evaluated -- all the other values in the model are calculated, in the order in which the influences run. So every compartment update uses the flow values from the end of the previous time step, and every variable uses the current compartment values, regardless of the order in which submodel instances are processed.
If you create a circular pathway of influences involving only variables, Simile will refuse to run the model unless you indicate the starting point for evaluation explicitly, either by using the last() function or by setting the influence property that allows it to use a value calculated in the same time step.
Hope this helps -- if details like this make a big difference to the behaviour of your model, a good idea might be to create a simple test case which will illustrate what Simile is doing!
--Jasper
scheduling
The distinction doesn't really apply with system-dynamics models such as those created with Simile. Each time step, the model is first updated, i.e., all compartments are adjusted according to the sum of their flows, then it is evaluated -- all the other values in the model are calculated, in the order in which the influences run. So every compartment update uses the flow values from the end of the previous time step, and every variable uses the current compartment values, regardless of the order in which submodel instances are processed.
If you create a circular pathway of influences involving only variables, Simile will refuse to run the model unless you indicate the starting point for evaluation explicitly, either by using the last() function or by setting the influence property that allows it to use a value calculated in the same time step.
Hope this helps -- if details like this make a big difference to the behaviour of your model, a good idea might be to create a simple test case which will illustrate what Simile is doing!
--Jasper
scheduling
disregard
nevermind - saw post from Aug 8 today.
Disregard last post.