Main Content

Essential Steps for Constructing a Physical Model

R2026b

Workflow Overview

The table lists the essential major steps for building and simulating a physical model, along with related documentation topics that provide background information on each step. Detailed step descriptions follow.

The graphic illustrates the key workflow steps as applied to the Mass-Spring-Damper with Controller example model. Step descriptions below include detailed instructions on how to create this model.

Block diagram with numbered workflow steps pointing to relevant blocks

Step 1: Create New Model Using sscnew

Using sscnew is the best way to start building Simscape™ models. It helps to ensure that you use recommended default settings for your model. When you use sscnew, it automatically:

  • Creates a new Simscape model, with required and commonly used blocks already on the model canvas

  • Selects recommended solver and tolerance settings

  • Enables data logging for the whole model

In the MATLAB® Command Window, type:

sscnew

Block diagram for new model

The new untitled model, with the default solver set to VariableStepAuto, contains a Solver Configuration block, a Simulink-PS Converter block, and a PS-Simulink Converter block connected to a Scope block.

The resources section at the bottom of the model window provides links to the relevant block libraries and documentation topics.

Step 2: Assemble Physical Network

To model your system, you add blocks from the Simscape libraries to a model, and then connect them into a physical network. The lines connecting the blocks in the schematic you create represent the physical connections that exist between the components in a real system that you are modeling. In other words, Simscape diagrams mimic the physical system layout.

Mass-spring-damper schematic and block diagram side-by-side

When constructing your network, it is important to include domain-specific reference blocks, such as Electrical Reference, Mechanical Translational Reference, and so on. Depending on domain, these blocks represent connection to ground, frame, or atmosphere. For more information, see Grounding Rules.

  1. Open the Simscape > Foundation Library > Mechanical > Translational Elements library.

  2. Drag the Mass, Translational Spring, Translational Damper, and Mechanical Translational Reference blocks into the model window.

  3. Connect the Translational Spring, Translational Damper, and Mass blocks to the Mechanical Translational Reference block as shown in the next illustration. To rotate a block, select it and press Ctrl+R.

    To adjust visual presentation of the model, shorten the names of the Spring and Damper blocks, as shown. To have the name of the Mass block appear along with Spring and Damper, select the Mass block and, in the model toolstrip, select Simscape Block > Auto Name > Name On.

    Block diagram with mass-spring-damper blocks added

Step 3: Adjust Block Parameters and Variable Targets

Simscape blocks represent generic components that have default initial values for block parameters and variables. You can adjust these values to suit your application or match the manufacturer data sheet.

To view and modify the block parameter values and initialization targets for the block variables, double-click the block to open its dialog box. Use the Settings tab.

For most of the Simscape blocks, the block dialog box contains the same information and has the same layout as the block Property Inspector. By default, changing a value in the Property Inspector immediately applies the new value. For better control, it is recommended that you clear the Auto Apply check box in the upper-right corner of the block dialog box to enable the Reset and Apply buttons. This is especially helpful when working with complex blocks, where you change multiple parameters at once. Change the parameter values to match the manufacturer data sheet, review the whole set, and then click Apply. Clearing the Auto Apply check box persists for the duration of your MATLAB session.

To view the description of a block, click the Description tab in the block dialog box. This tab also contains the Source code link. Click this link to open the Simscape source file for this block in the MATLAB Editor.

If a block has no parameters or variable targets that can be set, then the block dialog box does not have a Settings tab, only a Description tab.

To view the documentation for a block, click the Question Mark Question mark button in the upper-right corner of the block dialog box.

In this model, you will adjust parameters that control the mass, the spring stiffness, and the damping coefficient. You will also specify the initial velocity of the mass by adjusting the respective variable target.

  1. Double-click the Spring block. Clear the Auto Apply check box. Set Spring rate to 400 N/m and click Apply.

    Spring block dialog box

  2. Double-click the Damper block. Set Damping coefficient to 100 N/(m/s).

    Damper block dialog box

  3. Double-click the Mass block. Set Mass to 3.6 kg.

    Mass block dialog box

  4. To specify the desired initial value for mass velocity, in the Initial Targets section, expand Velocity. The variable already has its Priority specified as High, which means that the solver will try to exactly satisfy this beginning value when it computes the initial conditions to determine the simulation starting point. Select the Velocity check box. In the Value field, type 10, then click Apply.

    Mass block dialog box with initial target specified

Step 4: Add Sources

You can drive Simscape models using input signals. This technique allows you to represent physical effects, such as forces, voltages, or pressures, that act on your system. You can also specify other quantities that flow through your system, such as current, mass flow rate, and heat flux. You add signal input connections to your physical network by using Simscape source blocks.

To add the representation of the force acting on the mass, use the Ideal Force Source block.

  1. Open the Simscape > Foundation Library > Mechanical > Mechanical Sources library.

  2. Add the Ideal Force Source block to your diagram. Shorten the block name, as shown.

  3. To reflect the correct direction of the force shown in the original schematic, flip the block orientation. With the Force Source block selected, on the Format tab of the Simulink® Toolstrip, under Arrange, click Flip up-down.

  4. Copy the Mechanical Translational Reference block by right-clicking it and dragging to a new location. Then flip the orientation of the new block using the same technique as with the Force Source block.

  5. Connect port C of the Force Source block to this second Mechanical Translational Reference block and port R to the Mass block, as shown below.

    The input signal for the force profile will be supplied through port S, after you connect the physical network to a Simulink source (see Step 6: Connect to Simulink with Interface Blocks). A positive signal at port S will specify a force that acts from port C to port R.

    Block diagram with Force Source and Mechanical Translational Reference blocks added

Step 5: Add Sensors

You can measure quantities from your physical network and use them in other locations in your model. Some common uses of those quantities include feedback for a control algorithm, modeling physical components whose behavior depends on other physical quantities (such as temperature-dependent resistor), or simply viewing the results during simulation.

You measure quantities using sensor blocks, connected in series or in parallel depending on the measured value. To measure a quantity defined by a Through variable (such as current, flow rate, force), connect the sensor in series. To measure a quantity defined by an Across variable (such as voltage, pressure, velocity), connect the sensor in parallel. For more information on Through and Across variables, see Variable Types.

To measure spring deformation, connect an Ideal Translational Motion Sensor block in parallel with the spring.

  1. Open the Simscape > Foundation Library > Mechanical > Mechanical Sensors library.

  2. Add the Ideal Translational Motion Sensor block to your diagram.

  3. To rotate the block, select it and press Ctrl+R.

  4. Connect the block as shown in the next illustration. Shorten the block name, as shown.

    Block diagram with Motion Sensor block added

Step 6: Connect to Simulink with Interface Blocks

Equations in a Simscape network are solved simultaneously, while Simulink blocks are evaluated sequentially. Interface blocks, such as Simulink-PS Converter and PS-Simulink Converter, handle the boundary between these two modeling conventions. You need interface blocks when Simulink signals specify quantities in a Simscape network, or when passing Simscape quantities to Simulink for control design or other purposes. Every time you connect a Simulink block to a Simscape physical network, you have to use an appropriate converter block.

You are now going to connect your physical network to a controller built out of regular Simulink blocks. First, prepare the physical network to be connected to Simulink signals:

  1. Delete the Scope block.

    While you can use scopes to view simulation results, they add clutter to the block diagram. A more efficient way to view and analyze simulation results is to use the Simscape Results Explorer, as described in Step 8: View Simulation Results.

  2. Connect the physical signal output port of the Simulink-PS Converter block to port S of the Force Source block.

  3. Connect the output port P of the Motion Sensor block to the physical signal input port of the PS-Simulink Converter block.

  4. Connect the Solver Configuration block to the circuit and hide the converter block names. Your diagram now looks like this.

    Block diagram with Solver Configuration block added

Then, build and connect the controller:

  1. Open the Simulink > Sources library and drag the Pulse Generator block into the model. Change the block name to Position Command. Set the block parameters as shown.

    Pulse Generator block dialog box

  2. Open the Simulink > Math Operations library and drag the Sum block into the model. In the List of signs, replace the second plus sign with a minus sign, as shown.

    Sum block dialog box

  3. Open the Simulink > Continuous library and drag the PID Controller block into the model. Set the Proportional (P), Integral (I), and Derivative (D) parameter values as shown.

    PID Controller block dialog box

  4. Connect the blocks as shown in the following diagram.

    Block diagram with controller blocks added

    The control Simulink signal goes to the input port of the Simulink-PS Converter block, where it is converted into a physical signal driving the force profile of the Ideal Force Source block.

    The output port P of the Ideal Translational Motion Sensor block, which measures the spring deformation, connects to the PS-Simulink Converter block. This block converts the physical signal into a feedback Simulink signal for the controller.

To compare the input and feedback signals, connect them to a signal viewer:

  1. Right-click the Simulink signal that goes from the Pulse Generator block to the Sum block. From the context menu, select Add Viewer button Add viewer button.

  2. Then, right-click the Simulink signal that goes from the PS-Simulink Converter block to the Sum block. From the context menu, select Add Viewer button Add viewer button .

Step 7: Simulate Model

You run simulations by clicking the Run button in the Simulink Toolstrip (at the top of the model window) or in a Scope Viewer toolbar. The Simscape solver evaluates the model, calculates the initial conditions, and runs the simulation. For a detailed description of this process, see How Simscape Simulation Works. The message in the bottom-left corner of the model window provides the status update.

To run the simulation, click Run button in the Simulink Toolstrip.

The Scope Viewer displays overlaid plots of the input and feedback signals.

Simulation results in the Scope Viewer window

Step 8: View Simulation Results

The Simscape Results Explorer lets you view and analyze simulation data by using the data logging functionality. For example, you can compare two simulation runs to analyze how changing the mass affects the spring deformation.

  1. Select the Spring block.

  2. In the model toolstrip, select Simscape Block > Results Explorer.

    The Simscape Results Explorer window opens, with the node corresponding to the Spring block highlighted in the left pane. The right pane displays the simulation data plots for the three variables associated with the block.

    Simscape Results Explorer window

  3. Under the Spring node, select node x. The right pane displays the spring deformation data plotted over time.

    Simscape Results Explorer window with Spring node expanded

  4. Double-click the Mass block. Set its Mass to 7.2 kg.

  5. Rerun the simulation.

  6. To reload the logged data, click the Import Data button located in the toolbar of Simscape Results Explorer window. In the pop-up window displaying the log variable name, click OK.

    Simscape Results Explorer window with reloaded data

    Notes

    • To have the data reload automatically after each simulation run, in the Configuration Parameters dialog box, in the Simscape pane, select the Open viewer after simulation check box.

    • To explore the simulation results side by side, in two separate Simscape Results Explorer windows, click the Linked button after the first simulation run to unlink the first explorer window. For more information, see Simscape Results Explorer.

See Also

|

Topics