FMI 3 Simulation Runtime in Rust | Dweve FMI
Dweve FMI is an Apache-2.0 FMI 3 runtime in Rust for Model Exchange, Co-Simulation and Scheduled Execution. Publishing in the tenth release round.
What is Dweve FMI?
Dweve FMI is an FMI 3 simulation runtime implemented in Rust. FMI 3.0.2 defines three interface types: Model Exchange (ME), where the importer performs numerical integration; Co-Simulation (CS), where the FMU typically contains its own solver or scheduler; and Scheduled Execution (SE), where the importer triggers model partitions. A given FMU can expose one or more of these types.
- The Rust implementation exposes the standard `fmi3*` C function table through `fmi-ffi`, so an existing FMI host can call the runtime without becoming a Rust application.
- Source is available under Apache-2.0 terms by request. There is no public Dweve FMI repository.
- The runtime documents deterministic fixed-point paths and comparison checks. Validate your own model, solver configuration and target matrix before relying on a result.
Choose the audience that matches your question
The page contains three selectable readings of the same subject.
For consumers
FMI makes simulation models interoperable. Dweve FMI keeps the same model useful from the first test to operation beside the real machine: try a lift, pump or vehicle as a model before anything is built, then keep that model working alongside the machine.
For businesses
FMI, the Functional Mock-up Interface, makes simulation models interoperable. Dweve FMI is an open-source FMI 3 co-simulation runtime in Rust under Apache-2.0 that carries one model from the first design study into live operation beside the asset, without a rewrite at each stage.
For engineers
FMI makes models interoperable. Dweve FMI is an FMI 3 co-simulation runtime in Rust: one model contract, solved deterministically, orchestrated across FMUs and placed on the backend you choose. Rust sits inside; the standard fmi3 function table remains at the boundary.