How Simscape Simulation Works

Simscape Simulation Phases

Simscape™ software gives you multiple ways to simulate and
analyze physical systems in the Simulink® environment. Running
a physical model simulation is similar to simulating any Simulink model.
It entails setting various simulation options, starting the simulation,
and viewing the simulation results. This topic describes various aspects
of simulation specific to Simscape models. For specifics of simulating
and analyzing with individual Simscape add-on products, refer
to the documentation for those individual add-on products.

If your model contains hydraulic elements, each topologically
distinct hydraulic circuit in a diagram must connect to a Custom
Hydraulic Fluid block (or Hydraulic Fluid block,
available with Simscape
Fluids™ block libraries). These blocks define
the fluid properties that act as global parameters for all the blocks
that connect to the hydraulic circuit. If no hydraulic fluid block
is attached to a loop, the hydraulic blocks in this loop use the default
fluid. However, more than one hydraulic fluid block in a loop generates
an error.

Similarly, if your model contains gas elements, default gas
properties are for dry air. If you attach a Gas Properties
(G) block to a topologically distinct circuit, you can change
gas properties for all the blocks connected to the circuit. However,
more than one Gas Properties (G) block in a circuit
generates an error.

Signal units specified in a Simulink-PS Converter block
must match the input type expected by the Simscape block connected
to it. For example, when you provide the input signal for an Ideal
Angular Velocity Source block, specify angular velocity units,
such as rad/s or rpm, in the Simulink-PS
Converter block, or leave it unitless. Similarly, units specified
in a PS-Simulink Converter block must match the type
of physical signal provided by the Simscape block outport.

Network Construction

After validating the model, the Simscape solver constructs
the physical network based on the following principles:

Two directly connected Conserving ports have the same
values for all their Across variables (such as voltage or angular
velocity).

Any Through variable (such as current or torque) transferred
along the Physical connection line is divided among the multiple components
connected by the branches. For each Through variable, the sum of all
its values flowing into a branch point equals the sum of all its values
flowing out.

Equation Construction

Based on the network configuration, the parameter values in
the block dialog boxes, and the global parameters defined by the fluid
properties, if applicable, the Simscape solver constructs the
system of equations for the model.

These equations contain system variables of the following types:

Dynamic — Time derivatives
of these variables appear in equations. Dynamic, or differential,
variables add dynamics to the system and require the solver to use
numerical integration to compute their values. Dynamic variables can
produce either independent or dependent states for simulation.

Algebraic — Time derivatives
of these variables do not appear in equations. These variables appear
in algebraic equations but add no dynamics, and this typically occurs
in physical systems due to conservation laws, such as conservation
of mass and energy. The states of algebraic variables are always dependent
on dynamic variables, other algebraic variables, or inputs.

The solver then performs the analysis and eliminates variables
that are not needed to solve the system of equations. After variable
elimination, the remaining variables (algebraic, dynamic dependent,
and dynamic independent) get mapped to Simulink state vector
of the model.

For information on how to view and analyze model variables,
see Model Statistics.

Initial Conditions Computation

The Simscape solver computes the initial conditions only
once, at the beginning of simulation (t =
0). In the Solver Configuration block
dialog box, the default is that the Start simulation from
steady state check box is not selected. If it is selected
in your model, see Finding an Initial Steady State.

The solver computes the initial conditions by finding initial values for all the system
variables that exactly satisfy all the model equations. You can affect the initial
conditions computation by block-level variable initialization, that
is, by specifying the priority and target initial values on the
Variables tab of the block dialog boxes. You can also initialize
variables for a whole model from a saved operating point.

The values you specify during variable initialization are not the actual values of the
respective variables, but rather their target values at the beginning of simulation (t = 0). Depending on the results of the solve, some of these targets may or may
not be satisfied. The solver tries to satisfy the high-priority targets first, then the
low-priority ones:

At first, the solver tries to find a solution where
all the high-priority variable targets are met exactly, and the low-priority
targets are approximated as closely as possible. If the solution is
found during this stage, it satisfies all the high-priority targets.
Some of the low-priority targets might also be met exactly, the others
are approximated.

If the solver cannot find a solution that exactly
satisfies all the high-priority targets, it issues a warning and enters
the second stage, where High priority is relaxed
to Low. That is, the solver tries to find a solution
by approximating both the high-priority and the low-priority targets
as closely as possible.

After you initialize the variables and prior to simulating the model, you can open the
Variable Viewer to see which of the variable targets have been satisfied. For more
information on block-level variable initialization, see Variable Initialization.

Finding an Initial Steady State

When you select the Start simulation from steady state check
box, the solver attempts to find the steady state that would result
if the inputs to the system were held constant for a long enough time,
starting from the initial state obtained from the initial conditions
computation just described. If the steady-state solve succeeds, the
state found is some steady state (within tolerance), but not necessarily
the state expected from the given initial conditions. Steady state
means that the system variables are no longer changing with time.
Simulation then starts from this steady state.

A model can have more than one steady state. In this case, the
solver selects the steady-state solution that is consistent with the
variable targets specified during block-level variable initialization.
For more information, see Variable Initialization.

Transient Initialization

After computing the initial conditions, or after a subsequent
event (such as a discontinuity resulting, for example, from a valve
opening, or from a hard stop), the Simscape solver performs transient
initialization. Transient initialization fixes all dynamic variables
and solves for algebraic variables and derivatives of dynamic variables.
The goal of transient initialization is to provide a consistent set
of initial conditions for the next phase, transient solve.

Transient Solve

Finally, the Simscape solver performs transient solve of
the system of equations. In transient solve, continuous differential
equations are integrated in time to compute all the variables as a
function of time.

The solver continues to perform the simulation according to
the results of the transient solve until the solver encounters an
event, such as a zero crossing or discontinuity. The event may be
within the physical network or elsewhere in the Simulink model.
If the solver encounters an event, the solver returns to the phase
of transient initialization, and then back to transient solve. This
cycle continues until the end of simulation.

Was this topic helpful?

Select Your Country

Choose your country to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .