Contenido principal

Simscape Model Advisor Checks

Simscape Checks Overview

Use Simscape™ Model Advisor checks to identify Simscape blocks with ambiguous setting of parameter units, or outdated Simscape blocks in your model.

See Also

Modeling Physical Systems Checks Overview

Use the Modeling Physical Systems Model Advisor checks to identify Simscape blocks with ambiguous setting of parameter units.

See Also

Check consistency of block parameter units

Check model for Simscape blocks with ambiguous setting of parameter units.

Description

This check identifies blocks in your model that have an ambiguous setting of parameter units. This situation most often applies to frequency and angular velocity units.

For example, a parameter expected in Hz (1/s) may be specified in the block dialog with unit of rad/s. These units are commensurate, but not directly convertible, and using one instead of the other may result in unexpected conversion factors applied to the numerical value by the block equations. The purpose of the check is to verify that the specified unit matches your design intent.

Available with Simscape.

Results and Recommended Actions

ConditionRecommended Action

This model contains blocks where parameter units are not directly convertible to those expected by the block.

After running the check, you get a table of results in the right pane of the Model Advisor window. Each cell in the first column of the table contains a link to the problematic block, and the corresponding cell in the second column contains the name of parameter in question, the expected unit, and the specified unit.

Clicking a link highlights the corresponding block in the model.

Double-click the highlighted block, verify the parameter unit setting and correct it, if necessary. Then save and reload the model.

See Also

Check for dry hydraulic nodes

Check model for hydraulic nodes that are considered dry due to a lack of compliance.

Description

This check identifies hydraulic nodes in a Simscape model that are considered dry due to a lack of compliance.

The presence of dry hydraulic nodes can reduce the solver robustness in complex Simscape models. By adding a hydraulic chamber to a node, you can considerably improve the convergence and computational efficiency of a model. Adding a chamber adds a degree of freedom. By adding a chamber, you replace a complex algebraic constraint (the dry node) with a dynamic constraint. The hydraulic chamber is represented by the Constant Volume Hydraulic Chamber block.

Available with Simscape.

Results and Recommended Actions

ConditionRecommended Action

This model contains hydraulic nodes that are considered dry due to a lack of compliance.

After running the check, you get a table of results in the right pane of the Model Advisor window. The first column lists the dry nodes found, with the middle column listing the blocks connected to each dry node. Each cell in the middle column of the table contains a link to the block in question, and the corresponding cell in the third column contains the name of port that connects to the dry node.

Clicking a link highlights the corresponding block in the model.

Consider adding one Constant Volume Hydraulic Chamber block to each dry node in the list.

See Also

Check and update outdated Simscape Physical Signal blocks

Check model for Physical Signal blocks that should be updated to the current version of the product.

Description

This check identifies Physical Signal blocks in your model that do not match the latest version of the block in the Simscape block libraries. Blocks from previous versions do not propagate physical signal size and units.

Available with Simscape.

Results and Recommended Actions

ConditionRecommended Action

This model contains legacy Simscape Physical Signal blocks that do not propagate units.

After running the check, you get a list of links to the outdated blocks in the right pane of the Upgrade Advisor window. Clicking a link highlights the corresponding block in the model.

The links can be divided in multiple groups:

  • The first group contains outdated blocks that can be updated automatically, if any. The Upgrade link under this group converts all these blocks to the latest version.

  • Sometimes the legacy blocks cannot be converted automatically because direct conversion will result in a compilation error or a different answer. These blocks are listed in a table, grouped by the underlying issue. Each row of the table contains:

    1. A list of links to blocks affected by the issue

    2. Issue description

    3. Switch to new version link

To update the blocks:

  • If the model contains outdated blocks that can be updated automatically, click the Upgrade link under the list of block links.

  • If the message says that some of the blocks, when switched to propagate signal units, will result in a compilation error or different answer, review the table that groups the blocks based on the underlying issue. For each table row, click the Switch to new version link to convert all blocks listed in the first cell of this row, and then visit the affected blocks individually to resolve the issue.

See Also

Check usage of Simscape event variables with unspecified priority

Check model for event variables with unspecified priority that can affect initialization results.

Description

This check identifies custom components in your model that have event variables declared with unspecified priority and used outside of a when clause. This situation can affect model initialization results.

Prior to R2019b, event variables were not part of the initial solve and event variable targets always had high priority. Now, event variables are treated the same as any other type of variables during initial solve. Therefore, their default priority is none, and you might have to explicitly declare them as high-priority to achieve the previous model behavior during initialization.

Available with Simscape.

Results and Recommended Actions

ConditionRecommended Action

This model contains custom components with event variables that are:

  • Declared with unspecified priority

  • Used outside of a when clause

After running the check, you get a table of results in the right pane of the Upgrade Advisor window. Clicking a link highlights the corresponding block in the model. The results also point to the location of the variable declaration in the source code.

To update the model, inspect variables flagged by the check in the Variable Viewer. For variables that initialize to a value other than the target, change the priority to high, either in the underlying source code or in the Variables section of the block interface.

See Also

Check integration method used by 'auto' solver for Simscape DAEs

Check and update the integration method used when a model containing Simscape Differential Algebraic Equations (DAEs) is configured with Simulink® VariableStepAuto solver.

Description

This check identifies models containing Simscape DAEs and configured with VariableStepAuto solver, which uses ode23t as the integration method. Starting in R2021a, if your model contains Simscape DAEs, auto solver defaults to daessc.

In previous releases, the default VariableStepAuto solver for such models was ode23t. If you open an existing model saved with VariableStepAuto, the solver selection does not change automatically. Use this check to identify models that still use ode23t as variable-step auto solver and update them to use daessc, which is designed specifically for physical modeling.

Available with Simscape.

Results and Recommended Actions

ConditionRecommended Action

This model was saved with VariableStepAuto solver prior to R2021a, it contains Simscape DAEs and uses ode23t as variable-step auto solver.

Starting in R2021a, the recommended variable-step auto solver for such models is daessc.

To update the model, click the Update button. If the automatic update is successful, the Result box displays a message that the model has been updated to use daessc integration algorithm when simulating Simscape DAEs with variable-step auto solver.

daessc solver tends to be more robust for most Simscape models, but a few 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 auto (Automatic solver selection) to ode23t (mod.stiff/Trapezoidal).

See Also

Check Simscape use of state-based consistency tolerances

Check that Simscape networks use state-based absolute and relative consistency tolerances during initialization.

Description

This check identifies models where the Consistency tolerance parameter of the Solver Configuration block has a numeric value, which means that the block uses a nonlinear solver based on the equation residual tolerance to initialize the model.

Starting in R2022b, new models use state-based absolute and relative consistency tolerances during initialization. This method provides better robustness and efficiency, especially if used in conjunction with scaling the model by nominal values.

If you open a model created prior to R2022b, the consistency tolerance computation method does not change automatically. Use this check to identify models that still use residual-based consistency tolerance during initialization and update them to use state-based absolute and relative consistency tolerances.

Available with Simscape.

Results and Recommended Actions

ConditionRecommended Action

This model contains a physical network, or multiple networks, where the Solver Configuration block has a numeric value. These networks use residual-based consistency tolerance during initialization.

The state-based consistency tolerance computation method, introduced in R2022b, provides better robustness and efficiency, especially if used in conjunction with scaling the model by nominal values.

After running the check, you get a list of networks using residual-based tolerance in the right pane of the Upgrade Advisor window. Clicking a link highlights the corresponding block in the model.

To update the model, click the Upgrade to using state-based tolerances button. The Upgrade Advisor updates the listed Solver Configuration blocks to use the default Consistency tolerance and Tolerance factor parameter values. The Result box displays a message that the model has been updated to use state-based consistency tolerances during initialization.

After the upgrade, you can use the Solver Configuration block dialog box to adjust the parameter values, as needed.

See Also

Check Simscape use of robust variable and equation ordering

Check that Simscape networks use robust variable and equation ordering during compilation.

Description

This check identifies models where the Solver Configuration block does not use the robust variable and equation ordering algorithm.

Starting in R2025b, new models use robust variable and equation ordering algorithm during compilation. This method reduces the sensitivity of the model compilation process to block and variable naming, improving the consistency of simulation results.

If you open a model created prior to R2025b, the variable and equation ordering method does not change automatically. Use this check to identify models that still use the old algorithm and update them.

Available with Simscape.

Results and Recommended Actions

ConditionRecommended Action

This model contains a physical network, or multiple networks, that do not use the robust variable and equation ordering algorithm.

After running the check, you get a list of networks in the right pane of the Upgrade Advisor window. Clicking a link highlights the corresponding Solver Configuration block in the model.

To update the model, click the Fix button. The Upgrade Advisor updates the listed Solver Configuration blocks to use the robust ordering algorithm. The Result box displays a message that all Simscape networks use robust variable and equation ordering during compilation.

See Also