DAEdalus docs GitHub Open the workbench

DAEdalus

An open (Apache-2.0) Modelica modeling and simulation environment. One Rust compiler and solver runs on the command line, on a server and in a browser tab, with a Dymola-style workbench, the Modelica Standard Library 4.1.0, 3-D animation, sensitivity and calibration, FMI export and CasADi optimal control.

The workbench after simulating TorqueConverter.Launch: two cars launch side by side, one with a static K-factor converter and one with fluid torque build-up

The workbench runs entirely in the browser: the compiler and solvers are compiled to WebAssembly and run in a Web Worker, so nothing is installed and nothing is sent to a server. Pick a model in the package browser, press Simulate, then plot any variable or watch the 3-D animation.

Features

Browser workbenchPackage browser, icon, diagram, text and documentation views, variable browser, plots with display units. Structure and state selection NewBLT blocks, incidence, why each state was chosen, Jacobian eigenvalues and stiffness; pick other states without editing the model. Solvers NewBDF, Radau IIA, ESDIRK and automatic Dopri5/BDF switching with exact Jacobians, and a hint when another method would do better. Sensitivity and calibration NewExact sensitivities, Monte Carlo bands, Sobol and Morris indices, fitting to measured data and design optimization. Experiments and sweeps NewEvery run kept for overlays and differences, parallel parameter sweeps, and links that reopen a run. Performance analyzer NewStep sizes, the states that limit them, time per algebraic loop, the event log and chattering detection. Graphical editing NewDrag components onto the diagram, connect, rotate and set parameters; the source keeps its comments and layout. AI assistant and MCP NewAsk Claude to build, check, simulate and explain models, in the workbench or from Claude Code. 3-D animationReplays MultiBody results and every example in 3-D, with camera presets, chase cameras and video recording. Multibody vehiclesDouble wishbone, pushrod, multilink and MacPherson corners, K&C and seven-post rigs, a full car. Modelica Standard LibraryMSL 4.1.0 loads in the browser out of the box; 424 of its 534 examples match the reference results. Accuracy scoreboard NewEvery MSL example compared with the reference results, signal by signal, by package. Python API Newimport daedalus: load, set parameters, simulate to NumPy, linearize and export FMUs in-process. .mos scripts and trim NewRun Dymola and OpenModelica regression scripts; find steady states and trim with exact Jacobians. Example libraryTorque converters, landing gear, aileron actuator, hydraulic quarter car and EV efficiency, rebuilt from engineering blog posts. LinearizationExact A, B, C, D matrices at any time, as text, JSON or an OpenModelica-style linearized_model. FMI 2.0 exportModel Exchange and Co-Simulation in one FMU, validated with FMPy in CI. Optimal controlMinimum-time moves, MPC and moving horizon estimation with CasADi, straight from Modelica models.

Under the hood

DAEdalus does the symbolic work the commercial tools do before any numerics:

  • alias elimination, Pantelides index reduction with dummy derivatives, BLT sorting and tearing, and exact symbolic Jacobians;
  • a compiled register tape that evaluates the model, natively or in WebAssembly;
  • variable-order BDF with dense or sparse LU, plus Dopri5, RK4 and Euler, with zero-crossing events, when and reinit;
  • results as Dymola-format .mat files (readable by Dymola, OMEdit and DyMat) or CSV.

It scales close to linearly: a chain of 10,000 masses (130,000 unknowns after alias elimination) translates in 2.5 s and simulates for one second in 3.9 s. See Architecture for how each stage works.

Where to go next

DAEdalus is under active development. Modelica is a registered trademark of the Modelica Association; DAEdalus is not affiliated with or endorsed by it.

Edit this page on GitHub