WSMSimulateSensitivity
WSMSimulateSensitivity["mmodel",{p1,p2,…}]
simulates "mmodel" and sensitivities to parameters pi following experiment settings.
WSMSimulateSensitivity["mmodel",tmax,{p1,p2,…}]
simulates from 0 to tmax.
WSMSimulateSensitivity["mmodel",{tmin,tmax},{p1,p2,…}]
simulates from tmin to tmax.
WSMSimulateSensitivity["mmodel",vars,{tmin,tmax},{p1,p2,…}]
stores only simulation data for the variables vars.
Details and Options
- WSMSimulateSensitivity returns a WSMSimulationData object.
- The "mmodel" refers to the fully qualified Modelica name.
- WSMSimulateSensitivity generates solutions for all variables , as well as derivatives , , … for all states , for .
- Sensitivities can be listed in a WSMSimulationData object sd with sd["SensitivityNames"].
- The shortest unique model name mmodel can be used where WSMNames["*.mmodel"] gives a unique match.
- The stored simulation variables vars can have the following values:
-
Automatic automatically choose what to store {v1,v2,…} store only variables vi All store all variables - The following options can be given:
-
InterpolationOrder Automatic continuity degree of output between events WSMInitialValues Automatic overriding initial values WSMInputFunctions Automatic overriding input values WSMParameterValues Automatic overriding parameter values WSMProgressMonitor Automatic control display of progress - The option setting Automatic normally means that the setting is taken from "mmodel" or its experiment setting.
- Setting WSMParameterValues or WSMInitialValues to {pi->{c1,c2,…},…} runs simulations in parallel, with pi taking values cj.
- WSMInitialValues corresponds to the start property in the Modelica model.
- WSMInputFunctions->{"var1"->fun1,…} uses funi[t] as the input value for vari at time t.
- The CVODES solver used can be controlled with Method->{"opt1"->val1}.
- Possible suboptions for the CVODES method include:
-
"InterpolationPoints" Automatic number of interpolation points "Tolerance" 106 tolerance for adaptive step size
Examples
open allclose allBasic Examples (4)
Scope (10)
Simulation Time (3)
Sensitivity Results (6)
Study the sensitivity of one parameter:
Simulate with sensitivity to parameter a:
Get the sensitivity y has to changes in a:
Study the sensitivities from one parameter:
Plot one of the sensitivities:
Show the sensitivity of a signal to a parameter:
Simulate with sensitivity to a:
Get the sensitivity y has to changes in a, as well as the nominal trajectory for y:
Plot y with original parameter a, and with parameter a increased by 0.05:
Show the sensitivity of a signal to relative changes in a parameter:
Get the sensitivity y and z have to changes in a, as well as nominal trajectories and value:
Plot bounds for y and z when varying a by 10% of the sensitivity:
Show the sensitivity of a signal to absolute changes in a parameter:
Simulate with sensitivity to a:
Get the sensitivity y has to changes in a, as well as the trajectory for y:
Compute the change in y when parameter a changes with absolute value 0.1:
Generalizations & Extensions (1)
Options (5)
InterpolationOrder (1)
WSMInputFunctions (1)
WSMProgressMonitor (1)
Turn off the progress dialog with WSMProgressMonitor:
Applications (5)
Study the sensitivity of a model:
Get the value of the parameter:
Find the peak deviation when varying the parameter:
Show a 5% sensitivity bound and the peak deviation time:
Find out which variable is most sensitive to a parameter:
Simulate with sensitivities to a frequency parameter:
A 10% sensitivity bound shows that "integrator3.y" is most sensitive to the parameter:
Select the position of the wheel and its sensitivities to different parameters:
Show the path of the wheel with 4% variation of the wheel radius and mass, respectively:
Calibrate parameters in a model by comparing to measurement data:
Set up caching for simulation:
Use WSMSimulateSensitivity to get gradients:
Fit parameters to the measurement data:
Not using gradients takes longer:
Simulate with the fitted parameters:
Show the test data and the calibrated model together:
Plot a solution with its sensitivity bounds:
Get the nominal value of the parameter:
Simulate with a maximal variation of 5%:
Show that the trajectories are mostly contained in the approximated sensitivity bounds:
Properties & Relations (4)
Compare a sensitivity simulation with the sensitivity of the corresponding differential equation:
Plot bounds for a relative parameter change:
Get the sensitivity y has to changes in a, as well as y and the value for a:
Plot bounds for y when varying a by 10% of the sensitivity:
Use WSMPlot instead:
Sensitivities are valid for small changes in the parameter:
Get sensitivities to a parameter:
Simulate with variation of the parameter:
Comparing in a plot, a 10% variation gives trajectories outside computed bounds:
Use WSMParametricSimulate for a function that can be evaluated for different values:
Compute solutions for different values of the frequency parameter: