WSMLink`
WSMLink`

WSMSimulationData

WSMSimulationData is being phased out in favor of SystemModelSimulationData, which was introduced experimentally in Version 11.3.

WSMSimulationData[]

represents Modelica simulation data.

Details

  • WSMSimulationData is typically generated by functions such as WSMSimulate and WSMSimulateSensitivity.
  • In standard output format, only the simulation interval and the number of variables in a WSMSimulationData object are printed explicitly.
  • WSMSimulationData[]["Properties"] gives a list of possible properties.
  • Properties of simulation data are obtained from WSMSimulationData[]["property"].
  • For simulations with dynamic graphics, sim["Diagram",t] returns Graphics at time t.
  • Dynamic graphics for component "c1.c2..." are shown with sim["Diagram",{"c1","c2",},t].
  • Properties of the simulated model: »
  • "VariableNames"dependent variables in the model
    "ParameterNames"parameter variables in the model
    "StateVariables"continuous state variables in the model
    "ModelName"fully qualified name of the model
    "Descriptions"variable and parameter descriptions
    "PlotNames"names of plots in model
  • For variable and parameter lists, WSMSimulationData[][{property,patt}] returns the elements of property whose Modelica forms match the string pattern patt.
  • Properties specific to the simulation: »
  • "SimulationInterval"simulation interval {tmin,tmax}
    "SimulationLength"simulation length tmax-tmin
    "NumberOfEvents"number of events in the simulation
    "Events"time points where events occurred
    "Samples"time points when variables were sampled
  • Properties related to values of variables and parameters: »
  • {"v1","v2",}simulation for v1, v2,
    {"p1","p2",}parameter value for p1, p2,
    "RawData",{"v1","v2"}time-value pairs for v1, v2,
  • Simulation results for variables "vi" are returned as functions that can be evaluated for any time t. »
  • Simulation results from WSMSimulationData object sim can be evaluated at a point t with sim[{"v1","v2",},t].
  • In sim["RawData",{"v1",}] events are indicated by duplicate time-value pairs at the same time point.
  • Variables "vi" and parameters "pi" can be given using strings or DotName.
  • Complete lists of simulation results and parameter values: »
  • "VariableValues"simulations {DotName["v1"]->f1,}
    "ParameterValues"parameters {DotName["p1"]->c1,}
  • Lists of simulation results from sim can be evaluated at a point t with sim["VariableValues",t].
  • Variables depend on parameters vi[t,pj]; the sensitivity of a variable to a parameter pj is the partial derivative pjvi[t,pj]. Sensitivities can be computed using WSMSimulateSensitivity. »
  • Sensitivities can be accessed using WSMSensitivityName[vi,pi], where vi and pi are given using DotName.
  • Properties related to sensitivities include:
  • "SensitivityNames"variable parameter sensitivities
    "SensitivityValues"sensitivities {WSMSensitivityName[vi,pi]->gi,j,}
  • The option TargetUnits controls the unit of simulation results:
  • Noneno unit (default)
    "Unit"unit defined in model
    "DisplayUnit"display unit defined in model

Examples

open allclose all

Basic Examples  (2)

Load Wolfram SystemModeler Link:

Simulate a model:

Get all variable names in the model:

Get the trajectory of one variable:

Get trajectories for all variables:

Show the simulation interval:

Scope  (19)

Model Properties  (7)

Get a list of all possible properties of a simulation data object:

Simulate a model:

Get all variable names in the model:

Get all parameter names in the model:

Simulate a model:

Get names of stored plots in model:

Show a stored plot:

Simulate a model:

Get variable names matching a pattern:

Get parameter names matching a pattern:

Get the state variables from a simulation:

Plot the sensitivity of the state variable with respect to a parameter:

Show the full name of the model that was simulated:

Plot variables and use a short model name as a label:

Get descriptions for variables and parameters in a simulation:

Simulation Properties  (4)

Show the time interval of the simulation:

Use the simulation interval property to specify a plot interval:

Show the length of a simulation between 2 and 7 seconds:

Simulate a model with events:

Study the complexity by looking at the number of events during simulation:

Get the time points of all the events:

Use time points when variables were sampled to retrieve values that are not interpolated:

Retrieve the sample points:

Retrieve a variable at these sample points:

Variables and Parameters  (6)

Pick out variables and parameters:

Get the functions for two variables:

The values of two parameters:

Retrieve simulation results with units:

Use the base unit from the model:

Use the display unit defined in the model:

Retrieve raw data from a simulation:

Retrieve the time value pairs for a loss power variable:

Find the point where the variable is the largest:

Show the largest point on the complete variable trajectory:

Simulate a model with arrays:

Retrieve the 2×2 matrix v.x as a vector-valued function:

Plot the elements of the vector:

Retrieve the two elements of vector v[1].x:

Use variable and parameter rules to get data:

Pick out simulation trajectories for two variables:

Get replacement rules for all parameters in the model:

Simulate with sensitivities:

Get simulation and sensitivity values:

Find the nominal value of the parameter:

Plot the variation for :

Dynamic Diagrams  (2)

Show the dynamic model diagram at time 2:

Show an animation of the diagram over the complete simulation:

Show the diagram while controlling a few options:

Show the dynamic model diagram for a component at time 2:

Show an animation of the component diagram over the complete simulation:

Applications  (9)

Show the events in a simulation of a bouncing ball:

Show the event times in a plot of the height:

Compute the inverse function to an InterpolatingFunction from WSMSimulationData:

Simulate the model:

Pick out one InterpolatingFunction and compute its inverse:

Plot the result:

Find maxima in a simulation:

Simulate the model:

Search for the highest points:

Show the results:

Analyze several variables:

Use several simulations:

Calculate a number of metrics for simulation data:

Plot the function:

Calculate the 1-norm TemplateBox[{f, 1}, Norm2]=int_0^3TemplateBox[{{f, (, t, )}}, Abs]dt:

The 2-norm TemplateBox[{f, 2}, Norm2]=int_0^3TemplateBox[{{f, (, t, )}}, Abs]^2dt:

The RMS-norm TemplateBox[{f}, Norm]_(RMS)=sqrt(1/3 int_0^3TemplateBox[{{f, (, t, )}}, Abs]^2dt):

Simulate bouncing balls dropped from different heights:

Animate the balls and their heights in a plot:

Visualize with ParametricPlot3D:

Filter simulation data with LowpassFilter:

Extract the raw data of a variable:

Create a TimeSeries and plot together with the lowpass filtered signal:

Properties & Relations  (1)

WSMSimulationData can be created in SystemModeler and imported into the Wolfram Language: