SystemModelSimulate

SystemModelSimulate[model]

simulates model according to experiment settings.

SystemModelSimulate[model,tmax]

simulates from 0 to tmax.

SystemModelSimulate[model,{tmin,tmax}]

simulates from tmin to tmax.

SystemModelSimulate[model,vars,{tmin,tmax}]

stores only simulation data for the variables vars.

Details and Options

  • The model can be a SystemModel object, a full model name string or a shortened model name accepted by SystemModel.
  • SystemModelSimulate returns a SystemModelSimulationData object.
  • The stored simulation variables vars can have the following values:
  • Automaticautomatically choose what to store
    {v1,v2,}store only variables vi
    Allstore all variables
  • SystemModelSimulate[,spec] uses Association spec for initial values, parameters and inputs:
  • "ParameterValues"{"p1"val1,}parameter "pi" has value vali
    "InitialValues"{"v1"val1,}variable "vi" has value vali
    "Inputs"{"in1"fun1,}input "ini" has value funi[t] at time t
  • Setting "ParameterValues" or "InitialValues" to {pi->{c1,c2,},} runs simulations in parallel, with pi taking values cj.
  • "InitialValues" corresponds to the start property in the Modelica model.
  • The following options can be given:
  • InterpolationOrderAutomaticcontinuity degree of output between events
    MethodAutomaticwhat simulation method to use
    SystemModelProgressReportingAutomaticcontrol display of progress
  • Method settings take the form Method->"method" or Method{"method","sub1"->val1,}.
  • The following adaptive step methods can be used:
  • "DASSL"DASSL DAE solver
    "CVODES"CVODES ODE solver
  • Suboptions for adaptive-step methods include:
  • "InterpolationPoints"Automaticnumber of interpolation points
    "Tolerance"10^-6tolerance for adaptive step size
  • The following fixed-step methods can be used:
  • "Euler"explicit Euler's method of order 1
    "Heun"Heun's method of order 2
    "RungeKutta"explicit RungeKutta method of order 4
  • Suboptions for fixed-step methods include:
  • "StepSize"10^-3fixed step size
  • With Method->{"NDSolve",sub1->val1,}, NDSolve is used as the solver. Method options subi are passed to NDSolve.

Examples

open allclose all

Basic Examples  (4)

Simulate a model with the time interval of simulation settings from the model:

Do a parameter sweep over a voltage offset:

Plot the voltage for all simulations:

Use the diagram representation of a model as input:

Copy and paste the output above:

Simulate one of the included example models from the thermal domain:

Scope  (17)

Simulation Time  (4)

Simulate with settings from the model:

Simulate from time 0 to 5:

Simulate for an explicit time interval:

Use a Quantity to specify the time interval:

Variables, Parameters and Inputs  (8)

Initial values for variables can be set using "InitialValues":

Parameter values can be set using "ParameterValues":

Simulate a model that adds two inputs together:

Plot the inputs and the output:

Simulate for different initial values for the variable x:

Plot the variable x from all simulations:

Simulate a model with default parameters:

Set a parameter in the simulation:

Compare the variable capacitor1.v^(') between the simulations:

Do a parameter sweep over a voltage offset:

Plot the voltage for all simulations:

Setting ranges for two parameters simulates once for each position in the ranges:

Simulate a model with a TimeSeries as input:

Define a time series object:

Simulate the model:

Plot the input and the output:

Simulation Results  (5)

Simulate a model and plot the variables x1 and x2:

Simulate a model:

Get simulation results for the variables x and x':

Plot the variables using the Plot function:

Simulate a model and find the maximum of a variable:

Get the value of the variable angle1v:

Find the maximum value of the angle:

Run a simulation and plot in a single call:

Specify arguments to SystemModelSimulate:

Store only selected variables:

Only the given variables are saved:

Generalizations & Extensions  (1)

Debug messages are collected in the message group "WSMDebug":

Turn on debug messages for initialization:

Turn off all debug messages for "WSMDebug":

Options  (10)

InterpolationOrder  (1)

Simulate with interpolation orders 1 and 3, and 3 interpolation points:

Show the x variable:

Method  (8)

Use a fixed-step solver:

Plot the result:

Use an adaptive-step solver:

Show the result in a ParametricPlot:

For stiff problems, use an adaptive-step method:

Simulating with too few interpolation points can give inexact plots:

Increasing the number of points gives a better result:

The default step size for a fixed-step solver might be smaller than needed:

Use a larger step size to speed up computation:

The result is comparable:

Let an adaptive solver choose the solver steps:

Use NDSolve for simulating a model:

The result is a SystemModelSimulationData object containing the simulation results:

Pass options to NDSolve:

The accuracy is reduced because of the options:

SystemModelProgressReporting  (1)

Control progress reporting with SystemModelProgressReporting:

Applications  (11)

Calculate the overshoot of the height in a tank system:

Find the maximum peak value:

Get the value of the step sent in to the tank:

Calculate the overshoot:

Show the overshoot:

Calculate the rise time for the height in a tank system:

Get the required values at 10% and 90% by looking at the steady-state value for height:

Find the times at which the signal reaches these values:

Calculate the rise time:

Plot lines at the final value, and when the signal reaches 10% and 90% of the final value:

Calculate the settling time for the height in a tank system:

Find 5% bounds on the final value:

Find the time at which the signal stays within these values:

Plot the bounds and the found settling time:

Change parameter values interactively:

Simulate a rolling wheel for different starting inertias along the wheel axis:

Fetch the trajectories for the wheel:

Plot the trajectories:

Analyze resonance peaks when varying a spring constant:

Compute TemplateBox[{{H, (, {ⅈ,  , omega}, )}}, Abs] from :

Show the resonance peaks:

Calibrate parameters in a model by comparing to measurement data:

Set up a criteria function for model fitting:

Fit parameters to the test data:

Simulate with the fitted parameters:

Show the test data and the calibrated model together:

Filter sampled data from a Tinker Forge Weather Station:

Time shift and retrieve the magnitude of the data:

Run the time series through a lowpass filter:

Simulate a lowpass filter with sound as input:

Simulate with given input sound:

Retrieve the output and play both to compare:

Simulate a Newton's cradle:

Fetch trajectories from the result:

Visualize the cradle:

Visualize simulated data with a WaveletScalogram:

Pick out the data you are interested in:

Compute the wavelet transform:

Plot the wavelet vector coefficients:

Properties & Relations  (3)

The output from SystemModelSimulate is a SystemModelSimulationData object:

Use properties to get variable trajectories:

Use SystemModelSimulateSensitivity to also get sensitivities to parameters:

Plot the capacitor's voltage sensitivity to the frequency of "sineVoltage1":

Use SystemModelParametricSimulate for a function that can be evaluated for different values:

Compute solutions for different values of the frequency parameter:

Plot the solutions over time:

Neat Examples  (1)

Simulate a Van der Pol model and show in a parametric plot:

Introduced in 2018
 (11.3)