Main Content

How Fast Restart Improves Iterative Simulations

In a typical simulation, when you simulate a model, the software:

  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 need to switch solvers during runtime to pick the appropriate solvers without having to go through an expensive recompilation process.

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.

Limitations

  • Fast restart is not supported for rapid accelerator or external mode simulations.

  • Fast restart is not supported for model hierarchies that contain one or more referenced models configured to use a local solver. For more information, see Use Local Solvers in Referenced Models.

  • 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 saving and restoring the model operating point. These blocks include:

    • SimEvents® blocks from before R2016a

    • 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

    • 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

  • You cannot turn on fast restart in a model if it directly or indirectly references a model that simulates in accelerator mode and contains Simscape™ blocks.

  • 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 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 the Simulink® Profiler.

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

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

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

Related Topics