Main Content

How Fast Restart Improves Iterative Simulations

In the classic Simulink® workflow, when you simulate a model, Simulink:

  1. Compiles the model

  2. Simulates the model

  3. Terminates the simulation

While developing a model, you typically simulate a model repeatedly as you iterate the design. For example, you might calibrate input values or block parameters for a particular response. Changing these values or parameters does not always require compiling the model before simulating again. However, in the classic workflow, each simulation compiles the model, even if the changes do not alter the model structurally. Each compile slows down the process and increases overall simulation time.

Fast restart allows you to perform iterative simulations without compiling a model or terminating the simulation each time. Using fast restart, you compile a model only once. You can then change values for root inports, values for model initial state, and from Workspace block data, tune parameters and root inputs and simulate the model again without spending time on recompiling. Fast restart associates multiple simulation phases to a single compile phase to make iterative simulations more efficient.

Use fast restart when your workflow does not require structural changes to the model. Also, fast restart is better suited if the workflow involves any of these factors:

  • The model requires multiple simulations in which simulation inputs or parameters change in every iteration.

  • The compile time of the model is several seconds or longer.

You can use fast restart in normal and accelerator simulation modes. When you use fast restart in accelerator mode, you reduce simulation time and perform only a single compilation.


These are the limitations to simulating in fast restart.

  • Fast restart does not support these modes:

    • Rapid Accelerator

    • External

  • When a model is in the reinitialized state, you cannot:

    • Make structural changes.

    • Make changes to nontunable parameters such as sample time.

    • Save changes to the model. You must turn off fast restart to save any changes to the model.

  • You cannot turn on fast restart in a model if it contains blocks that do not support ModelOperatingPoint object. These blocks include:

    • Legacy (pre-R2016a) SimEvents® blocks

    • Simscape™ Multibody™ First Generation blocks

    • MATLAB® function blocks that contain system objects

    • S-functions that do not implement the model operating point get and set methods but have Pwork vectors declared

    • From Multimedia File

    • To Multimedia File

    • From Audio Device

    • To Audio Device

    • Multipath Rician Fading Channel

    • Multipath Rayleigh Fading Channel

    • Derepeat

    • DC Blocker

    • Stack

    • Queue

    • Read Binary File

    • Write Binary File

    • Video Viewer

    • Frame Rate Display

    • Video From Workspace

    • Video To Workspace

  • Between simulations, fast restart does not handle changes to design data, such as bus properties.

  • Parameter tunability limitations apply. See Tunability Considerations and Limitations for Other Modeling Goals.

  • The Fixed-Point Tool provides limited support when a model is simulated in fast restart. You must exit fast restart to collect simulation and derived ranges, and propose data types.

  • When fast restart is on, you cannot change the variant that a variant subsystem or variant model uses. This is because the inactive subsystems are not compiled in the first simulation.

  • When there are multiple model references to the same referenced model, you cannot change the model visibility when the model is in the reinitialized state.

  • Fast restart is not compatible with these tools:

    • Simulink Profiler

    • Simulink Debugger

  • When simulating a model in fast restart, you cannot run checks using Model Advisor.

  • When you enable fast restart, the sim command supports only the single output Simulink.SimulationOutput form, regardless of the syntax you use in the command.

  • When you enable fast restart, you cannot pass non-tunable parameters as arguments to sim.

Related Examples

More About