Crate fmi_sim

source ·
Expand description

§fmi-sim

github crates.io docs.rs build status

A pure-Rust FMI simulator framework. This crate is a work-in-progress.

§Scope

The purpose of fmi-sim is to simulate a single FMI 2.0 or FMI 3.0 FMU in ME/CS/SE modes as a way to drive testing and API completeness of the rust-fmi crates. The simulation algorithms are heavily inspired by those in fmusim.

§Running

➜ cargo run -p fmi-sim -- --help
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/fmi-sim --help`
Error: A pure Rust FMI simulator

Usage: fmi-sim [OPTIONS] --model <MODEL> <COMMAND>

Commands:
  model-exchange  Perform a ModelExchange simulation
  co-simulation   Perform a CoSimulation simulation
  help            Print this message or the help of the given subcommand(s)

Options:
      --model <MODEL>              The FMU model to read
  -i, --input-file <INPUT_FILE>    Name of the CSV file name with input data
  -o, --output-file <OUTPUT_FILE>  Simulation result output CSV file name. Default is to use standard output
  -c <SEPARATOR>                   Separator to be used in CSV input/output [default: ,]
  -m                               Mangle variable names to avoid quoting (needed for some CSV importing applications, but not according to the CrossCheck rules)
  -h, --help                       Print help
  -V, --version                    Print version

§License

Licensed under either of

at your option.

§Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

§Feature flags

  • fmi2 (enabled by default) — Enable support for FMI 2.0
  • fmi3 (enabled by default) — Enable support for FMI 3.0
  • me (enabled by default) — Enable support for Model Exchange
  • cs (enabled by default) — Enable support for Co-Simulation
  • se — Enable support for Scheduled Execution

Modules§

Enums§

Functions§

  • Simulate an FMI model parameterized by the given top-level options.