Best Practices for Simulating with the
daessc variable-step Simulink® solver provides algorithms specifically designed to simulate differential
algebraic equations (DAEs) arising from modeling physical systems.
daessc solver is available with a Simscape™ license only.
For new models, if your model contains Simscape blocks and DAEs,
VariableStepAuto solver defaults to
daessc. You can also select the
In the model window, open the Modeling tab and click Model Settings. The Configuration Parameters dialog box opens and shows the Solver pane.
Under Solver selection, set Type to
Variable-step, and then, from the Solver drop-down list, select
daessc (DAE solver for Simscape).
Expand Solver details and set Daessc mode to one of these options, to fine-tune the solver performance:
auto— Automatically selects the optimal
daesscsolver mode. This is the default setting.
Fast— The most efficient mode in terms of computation cost, but less robust.
Balanced— Provides a balance between computational costs and robustness.
Robust— More robust, but also more costly.
Quick debug— Updates the solver Jacobian at every integration step, and is therefore even more costly than
Robust. Recommended only for interactive model development, to quickly find issues with equations.
Full debug— Updates the solver Jacobian at every integration step and every Newton iteration. This mode is the most expensive in terms of computational cost. Recommended only for interactive model development, to thoroughly check equations and find possible issues.
daessc solver uses the following tolerance settings for
Simscape states in the model:
If Absolute tolerance is specified as
AbsTolto the same value as
These changes are not reflected in the Configuration Parameters dialog box and do not
affect other (nonphysical) states in the model. In other words, if your model contains a
Simulink controller and a Simscape plant, when you simulate it with the
daessc solver, the
controller uses the tolerance settings specified in the Configuration Parameters dialog box,
but the plant uses
daessc solver assumes that the model is well-scaled. For more
information, see System Scaling by Nominal Values and Use Scaling by Nominal Values to Improve Performance.
daessc solver does not support
Rsim. You can
use this solver with other real-time simulation targets.
For more information on recommended settings and best practices for using
daessc, see Troubleshooting Your Models.
Troubleshooting Your Models
To take advantage of the
daessc solver, ensure that the model is
well-scaled and that the tolerances specified for the solvers make engineering sense. These
settings are recommended:
Relative tolerance —
Auto scale absolute tolerance off
ssc_new and the Simscape templates use these settings. If you use another method to create your model,
you can set all three with this command:
To improve model scaling:
In the Configuration Parameters dialog box, on the Simscape pane, ensure that the Normalize using nominal values check box is selected.
Simulate your model using Solver Profiler and check the States Below Absolute Tolerance tab.
For each variable listed on this tab, determine if this variable is important for simulation. If it is, open the Property Inspector for the block that contains this variable and specify the nominal value for the variable.
You can also add or edit the value-unit pairs for the model, if needed, by using the Specify nominal values button on the Simscape pane of the Configuration Parameters dialog box.
For more information, see Use Scaling by Nominal Values to Improve Performance.
Upgrading Your Models to Use the
For Simscape models with DAEs created prior to R2021a, the default
VariableStepAuto solver is
ode23t, and this solver
selection does not change automatically when you open such an existing model in the current
software version. Use the Check integration method used by 'auto' solver for
Simscape DAEs check in the Upgrade Advisor to identify models that still use
ode23t as the variable-step auto solver and update them to use
daessc, which is designed specifically for physical modeling.
Before updating your models, ensure they are well-scaled and follow the other best practices described in Troubleshooting Your Models.
daessc solver tends to be more robust for most Simscape models, but some models may experience adverse effects due to this change.
After updating the model, simulate it and validate the results and performance. If you
decide that you want to restore the previous simulation behavior, change the
Solver model configuration parameter from
(Automatic solver selection) to