Searcharxiv⌕ Search

arXiv subjects

Joel A. E. Andersson

Publications and source records attributed to Joel A. E. Andersson.

2 recordsLinked to original sources

Towards an FMI Layered Standard for DAE: Applications for Simulation and Optimization

The Functional Mock-up Interface (FMI) 3.0 standard for Model Exchange is restricted to hybrid ordinary differential equations, requiring any internal algebraic equations to be solved inside the Functional Mock-up Unit (FMU) before derivatives are returned to the importer. For models originating from, e.g. Modelica, this means that non-linear algebraic equations must be solved through internal Newton iterations, which can reduce accuracy, increase computational cost, introduce hidden solver states, and cause robustness issues in downstream simulation and optimization workflows. In this article, we present a proposal for a layered standard, fmi-ls-dae, that exposes algebraic equations and their associated algebraic variables as part of a semi-explicit index-1 differential-algebraic equation. We describe the proposed extensions to the FMI XML schema and demonstrate the approach through prototype implementations: Dymola and CasADi generate FMUs that expose this semi-explicit index-1 formulation, while CasADi, FMIOPT, Simcenter Twin Activate, fmusim, and MOO (the dynamic optimization tool of OpenModelica) import them for simulation and dynamic optimization. On an industrially relevant multilink suspension corner model, the proposed DAE-FMU formulation enables the optimization routine to converge on an optimal control problem on which the equivalent ODE-FMU fails to converge. We outline ongoing work towards consistent initialization, event handling and future support for higher-index DAEs.

eess.SY↗

Rumoca: Modelica as a Universal Algebraic Frontend via a Rust-Native Compiler

Modelica is a well established cyber-physical modeling language, but many modern engineering workflows, such as optimization, differentiable simulation, scientific machine learning, and system analysis, make use of other environments such as CasADi, JAX, and Julia. Existing infrastructure for Modelica toolchains does not target these languages directly, meaning models must typically be rewritten, or lose important information in the interface. This paper presents Rumoca, a Rust-native Modelica compiler that turns Modelica into a universal algebraic frontend for a variety of tools. Rumoca is organized as a sequence of explicit phase boundaries from parsing through Differential-Algebraic Equation (DAE) construction and template-driven code generation, with a native Rust simulation backend that also supports real-time, software-in-the-loop execution. We report quantitative coverage of the Modelica Standard Library across pipeline phases, together with compile-time and simulation-time benchmarks against an open-source reference. The full compiler ships as a VS Code extension and runs in the browser via WebAssembly, enabling zero-install playgrounds and self-contained HTML simulators. End-to-end case studies demonstrate realtime software-in-the-loop control of a quadrotor model and deployment of a single Modelica source across multiple algebraic backends.

cs.PL↗