Understanding DT (Delta Time)

DT (also know as delta time) is the amount of time between calculations in your model simulations. DT is expressed in whichever time unit you've chosen for your model (in theModel Settings Properties Panel).

DT lets you specify how many times per time unit the model's numerical values are recalculated (once every time period, twice, three times, etc.).

Your choice of time unit provides the denominator of the units-of-measure for all of the flows in your model. For example, if you have flows of widgets, people, and dollars (and you're using the time unit of Months), then the units-of-measure for your flows will be widgets/month, people/month, and $/month. If DT in this model is 1.0, then a round of calculations is performed once each month. If DT is 0.25, then a round of calculations is performed every 1/4 of a month (for four rounds of calculations per month). For more examples, see DT Examples.

No change in the numerical value of any variable in your model can occur in a unit of time smaller than the DT.

Recommended DT Values

Under normal circumstances, there's a small range of values for DT that virtually always yields acceptable results (both smoothness and precision-wise), but that also doesn't cause your model to become unduly bogged down in calculations (with two exceptions, which are discussed below).

This range is from 0.0625 to 1.0. DTs smaller than 0.0625 are rarely justified (though we'll indicate how it could be that even smaller values would be needed in The 1/2 test, below).

For most models, the default DT value of 0.25 works well. With DT set at this value, the running of the model isn't unduly slowed down (by too many calculations), but it almost always yields sufficient numerical precision and smoothness.

If you do decide to change the DT value, however, we recommend that you do so with numbers taken from the sequence (1/2)n. Because of the binary arithmetic that the computer uses, numbers not taken from this sequence can lead to nasty round-off errors. The (1/2)n. sequence produces the following "nice" numbers: 1.0, 0.5, 0.25, 0.125, 0.0625, etc.

Exceptions to the (1/2)n Sequence

As mentioned above, there are two exceptions to choosing DT from this "nice" set of values. The first happens when it's important to report values that don't fall on the (1/2)n of a time unit. A typical example is when your model runs in years, and you want to report monthly values. In cases such as this, select the DT as fraction check box in the Run Specs dialog box, and enter the denominator that you want to use for your DT.

The second exception to the DT settings recommended above occurs when the length of the simulation is very long in the denominated units of time, and change unfolds slowly relative to a time unit (for example, the movement of a glacier over a few thousand years). In these cases, it's appropriate to choose a DT larger than 1.0. Any integer value up to one million is allowed by the software to define a DT larger than 1.0.

Testing DT with the 1/2 Test

A good first approximation for choosing DT is to choose a step size that's one-half of the shortest time delay in your model. Many time delays may be apparent, such as average days payable, a shipping lead time, a conveyor transit time, or a training delay. If you can determine the shortest time delay, you've got a good starting point for selecting the step size.

As a check on the value of DT that you've picked, it's always a good idea to execute the "1/2 test".

  1. Re-run your model with DT set equal to 1/2 of the value that was used to produce your results.
  2. Compare the results generated by the model using both the larger and the smaller DT. Look at the results in terms of numerical differences, and in terms of qualitative differences in the pattern of behavior that the model might be exhibiting. For example, has an oscillation disappeared? Is growth now occurring much more rapidly? Did the value of some stock which used to go negative cease going negative?
  3. If the answer to any of these type of questions is yes, you should halve the value of the DT again and repeat the test.
  4. Continue halving the value until your results remain essentially the same for two runs.
  5. Set DT equal to the highest of the last two values.

For more help with determining the proper DT value, see Troubleshooting DT Issues.

Concept Link IconSee Also