Insight Maker/Time Settings

From SystemsWiki

Jump to: navigation, search


For a simulation to be meaningful it needs to run over an appropriate time frame and employ a step size is relevant to what's being modeled and small enough to ensure no relevant transitions happen between the steps. Sorting out the most appropriate step size is often a trial and error process.

Note

Runge Kutta methods are numerical approximation methods. This means that when integrating they do not calculate the true, exact value of the integral; rather they approximate it by testing multiple points along the surface and then generating a very good prediction for the area under the surface.

This is in contrast to an analytical method which will determine the exact value of the integral by actually symbolically solving the pertinent equations. Simulation software such as Insight Maker are usually unable to use analytical methods as many of the models people make are too complex to solve analytically (though the linked model is simple enough that it could be analytically solved). Thus we use numerical approximation methods such as Runga Kutta.

The cost of using Runga Kutta methods is that the answer provided by Insight Maker will never be perfect. It might be 0.001% off, it might be 0.1% of, or it might even be 1% or more off the true answer. The key thing though, is it will never be 100% accurate (except in some very rare cases where the approximation happens to simplify to the precise answer, but those are just lucky cases). Thus, you will never get a "perfect sine wave" out of Runga Kutta algorithm. You might get something very, very close; but it will never be precise. That is just the nature of numerical approximation.

Now, how do you control how accurate your results are? In Insight Maker you do it using the "Time Step Size". This setting tells Insight Maker's Runga Kutta method how many times to evaluate the mathematical equations driving your model. The smaller the step size, the more evaluations that occur, and the smaller the error.

A good rule of thumb is to keep reducing the step size by a factor of 2 until you see no more changes in the resulting model results. At that point you know that you have a sufficiently small step size to generate accurate results. Try this procedure with the linked model and you should arrive at what appears to be a perfect sine wave (though in reality it won't be as there is always a slight error associated with Runga Kutta methods, the key is to get the step size small enough that the error doesn't matter to your results).

Sorry for the long technical answer, but this is a technical subject that needs to be fully addressed!

On a side note, there are an infinite number of Runge Kutta algorithms. One interesting set of Runge Kutta algorithms are "adaptive time step" algorithms where the time step actually changes over the course of the simulation in response to the current rates of changes of the derivatives (high rates of changes lead to smaller step sizes). These algorithms can remove the need to specify a time step, but they require the user to specify other more abstract tuning parameters that control how they operate. In Insight Maker we don't use such adaptive methods and instead we use the most standard, bread and butter forms of the Runge Kutta methods

Components

Related Concepts

Additional Resources
Systems Thinking World Discussions
Systems Thinking World Q&A * Gene Bellinger
Personal tools