Controlled variables and IntelliPointsΒΆ

If you just add variables to a simulation without doing anything else, all of the inputs of your simulation root will get flat-line default values. In order to make the input interesting, you have to control some variables. A controlled variable’s ordinary simulation behavior is overridden to give it a different set of values for the entire length of a simulation. Most of the time, you will want to control variables that are inputs to your simulation root; however, you can also control intermediate variables, which will affect anything downstream of those variables in your model. This is useful for unit testing and robustness testing.


A variable becomes controlled if it has one or more IntelliPoints set on it. An IntelliPoint is a control point or keyframe that lets you specify the values for a variable during a period of time. You can create an IntelliPoint on a variable by double-clicking the variable’s waveform at the desired time, and delete an IntelliPoint by right-clicking it, just like the time cursor lock/unlock.

By default, an IntelliPoint sets a variable to a constant value for the span of time starting at the IntelliPoint and ending at the next IntelliPoint. You can change the time and value of the IntelliPoint by dragging it around in the timeline. However, to get more advanced behavior, you must edit properties in the Properties view. The most common case is to linearly interpolate between the current IntelliPoint and the next one, which is done by changing the first IntelliPoint’s “Interpolation base” property from “constant” to “linear”. You can also use IntelliPoints to generate sine waves, Gaussian noise, and more.


Statically constant variables cannot be controlled with the normal variety of IntelliPoint. Instead, CertSAFE will generate a special “constant value” control point that is displayed at frame 0 in the timeline. This ensures that constant values are still constant even if you are controlling them.