ModOnda docs Open the workbench

Video tutorials

Short videos of the workbench, one per feature, each followed by the same tutorial written out step by step. The videos show the clicks on the live site with a caption for each step and have no sound. Each tutorial links to the page that covers the feature in full, where the same video also appears. Open the workbench in another tab and follow along.

Simulate your first model

Open an example, simulate it in the browser and plot any variable. More in Getting started.

  1. The workbench opens on an example. Type in the filter to find any model.
  2. Click a model to open it. PID_Controller is a drive train with a speed controller.
  3. The diagram shows its parts and how they connect. Press Simulate.
  4. It runs in your browser tab, and the plot strip shows the result. Click a part to plot its variables.
  5. Pick a variable from the menu: here the torque in the spring.
  6. The curve is added to the plot. Open in Simulation gives the full plot tools.
  7. Simulation mode: tick any variable in the variable browser to plot it, in the units you choose.

Plots, expressions and statistics

Plot result variables, add subplots and formulas, and read statistics over any window. More in Live plots and dashboards.

  1. CoupledClutches has been simulated. Switch to Simulation for the full plot view.
  2. Type in the filter to find variables by name.
  3. Tick a variable to plot it. Here the speed of the first inertia, J1.w.
  4. Tick more to add them to the same plot.
  5. New subplot adds a second plot with a shared time axis.
  6. Type a formula in the expression field: here the power through the first clutch.
  7. Plot evaluates it over the result, and again after every run.
  8. Drag across a plot to zoom in. Stats lists min, max, mean, RMS and peak-to-peak for the visible window.
  9. Display sets the units of each axis, or switches to imperial units.
  10. Double-click a plot to reset the zoom. Export CSV or .mat under Display saves the data.

Live runs and dashboards

Watch a run as it computes, and change parameters with sliders while it runs. More in Live plots and dashboards.

  1. TorqueConverter.Launch: two cars launch side by side. In Simulation, Dashboard opens a panel next to the plot.
  2. Add a widget. A slider sets a free parameter, here the throttle of both cars.
  3. Type the parameter name, then Add.
  4. Gauges, numbers and mini plots show result variables. Run live paces the run against the clock.
  5. Move the slider during the run: the model takes the new value at once, without a restart.
  6. Speed runs from 0.1× to 200× real time. Share copies a link that opens the model with this dashboard.

3-D animation

Replay a result in 3-D, move the camera and record a video. More in 3-D animation.

  1. Every bundled example has a 3-D view, here two cars launching with different torque converters. Press Simulate.
  2. Animation in the plot strip opens the 3-D view.
  3. It replays the run. Drag to orbit, scroll to zoom, and scrub the time slider to any moment.
  4. Camera presets: Iso, Front, Side, Rear and Top.
  5. Camera Follow keeps the cars in view as they move. Floor and Quality change the scene.
  6. Record plays the run from the start and saves it as a WebM video.

Build a model from parts

Drag components onto a diagram, connect them, set parameters and simulate. More in Workbench.

  1. File, New model adds an empty model to your own file, MyModels.mo.
  2. Name it, here RCCircuit. It opens with Edit on.
  3. Find a part in the package browser and drag it onto the diagram: a constant voltage source.
  4. Then a resistor from Modelica.Electrical.Analog.Basic.
  5. A capacitor.
  6. And a ground.
  7. R rotates the selection. Drag from one connector to another to connect them: matching connectors light up.
  8. Connect the resistor to the capacitor.
  9. The capacitor to ground.
  10. And the source to ground. Lines are routed at right angles.
  11. Double-click a part for its parameters.
  12. Set R to 100 ohm and press OK. Values are written into the model text as modifiers.
  13. Set the source to 10 V and the capacitor to 1 mF the same way, then press Simulate.
  14. Click the capacitor to plot its voltage: it charges to the source voltage.
  15. Ctrl+Z undoes any edit. Save .mo downloads your file.

Edit Modelica text

Read and edit the model text, with hover help, completion, rename and checks. More in Text editor.

  1. Library models are read-only. Duplicate to my models makes an editable copy.
  2. Open the Text view to see the Modelica source.
  3. Hover a name to see its class and description. Ctrl-click or F12 jumps to its definition.
  4. Type a name and press Ctrl+Space: completion lists the classes and components that fit.
  5. Put the cursor on a component name and press F2 to rename it everywhere it is used.
  6. Type the new name and press Enter.
  7. The declaration and every use now say flywheel. Check translates the model and reports any errors.
  8. Simulate uses the edited text at once, and Ctrl+Z undoes any change.

Compare runs

Change a parameter, run again, then overlay and diff the runs. More in Experiments: sweeps, runs and share links.

  1. Each Simulate keeps a run in the Runs pane on the right.
  2. Parameters are editable in the variable browser. Set the controller gain PI.k from 100 to 10.
  3. Type the new value and press Enter: the model runs again with it.
  4. Select both runs and press Overlay: each curve is drawn for every run, with the parameters that differ.
  5. Diff B − A plots the newer run minus the older one.
  6. Share link copies an address that reopens the model with these values, runs it and plots the same variables.
  7. Runs are kept in the browser: rename them, pin them with the star, or delete them.

Parameter sweeps

Run a model over a range of parameter values in parallel and compare the results. More in Experiments: sweeps, runs and share links.

  1. Sweep… in the Runs pane runs the model over a range of parameter values.
  2. Pick a parameter, here the controller gain PI.k.
  3. Give its values: a list, a linear or a log range. Add more parameters for a grid.
  4. Run sweep starts the runs on a pool of workers, one per core.
  5. A summary table and a plot of a scalar result against the parameter: here the peak speed. Every run is also overlaid in the plot.

Linear analysis

Bode and Nyquist plots, poles and zeros and step responses from the exact linearization. More in Linear analysis.

  1. An active suspension with an input force. Open More and pick Linear.
  2. Linear analysis needs a model with inputs: the Linear view lists them.
  3. Choose the input and output, the operating point, then Analyze.
  4. Bode magnitude and phase, the pole-zero map and the step response, with a summary of the modes.
  5. Nyquist switches the frequency plot.
  6. Impulse shows the impulse response. Reduce to and LQR design a simpler model and a controller.
  7. Every plot comes from the model's exact linear approximation, not from a fit.

Sensitivity, uncertainty and calibration

Find which parameters matter, propagate uncertainty and fit a model to data. More in Sensitivity, uncertainty and calibration.

  1. After a run, switch to Analysis in the toolbar.
  2. Tick the parameters to study: here the controller gain, its time constant and the drive angle.
  3. Run computes exact sensitivities dy/dp over time for every ticked parameter.
  4. The plot ranks the parameters by how much each one moves the outputs.
  5. Uncertainty: give each parameter a distribution.
  6. Run samples the model, here 200 runs, and shows the spread of the outputs. Sobol indices are one of the options.
  7. Calibrate loads measured data as CSV and fits the ticked parameters to it.
  8. DOE builds an experiment design over the parameter ranges.
  9. Run fits a response surface to the design, with the main effects of each parameter.
  10. Optimize tunes parameters for an objective. Each tab has its own Run, a progress bar and Cancel.

Structure and equation debugger

See how the equations are solved, why each state was chosen and how a variable is computed. More in Structure and state selection.

  1. Open More next to the view tabs and pick Structure.
  2. Structure translates the model and shows how it will be solved.
  3. The summary: states, dummy derivatives, blocks of equations, stiffness and a suggested solver.
  4. State selection explains why each variable became a state, and lets you choose others.
  5. The incidence matrix shows which equation uses which variable, in solving order.
  6. Type a variable and press Trace to see how it is computed, step by step.
  7. Each step names the equation as written and where it came from. Check initialization explains a failing start.

Solvers and the performance analyzer

Pick a solver, profile a run and see what slows it down. More in Performance analyzer.

  1. The arrow next to Simulate opens the run setup: stop time, intervals, tolerance and the solver.
  2. Method groups the solvers into stiff, switching, non-stiff and fixed step. Model default uses the model's own setting.
  3. Tick Profile to record where the solver spends its steps and its time, then Simulate.
  4. In Simulation, the Performance tab shows the profile of the last run.
  5. Step sizes over time, the states that limit the step, time per block of equations and the event log.
  6. If a run looks stiff, a Recommend chip in the setup suggests a better solver.

Install libraries

Add open Modelica libraries such as Buildings or OpenIPSL to the workbench. More in Libraries, packages and parameter data.

  1. Libraries are under File.
  2. Open Libraries.
  3. The dialog lists the loaded libraries and their versions, and checks the uses annotations.
  4. Pick a library from the index and its version, then Install. Here PhotoVoltaics.
  5. Installed libraries stay in this browser for the next visit, and appear in the package browser.
  6. A library's web address works too, or a zip from your disk with From zip.

ModOnda in ChatGPT and Claude

Add ModOnda as a connector, then ask for a diagram, the equations or a simulation. More in Use ModOnda in ChatGPT and Claude.

  1. In the workbench, Assistant opens a chat about the open model.
  2. It can read the model, explain it, edit it, simulate and plot. It uses your own OpenRouter key, or the hosted assistant on Pro.
  3. In Claude or ChatGPT, add ModOnda as a connector. Ask for a model's diagram, and it opens inside the chat.
  4. Ask for the equations: they are typeset, with the parameters next to them.
  5. Ask it to simulate: the result comes back as an interactive plot.
  6. The same works in ChatGPT.

Checked against reference results

See which Modelica Standard Library examples match their reference results. More in Modelica Standard Library.

  1. The scoreboard runs every example of the Modelica Standard Library and compares it with the reference results.
  2. Each row is one example: whether it matches, how long it took and which variables differ.
  3. Any example opens in the workbench with one click, ready to simulate.