# fmi-sim [github](https://github.com/jondo2010/rust-fmi) [crates.io](https://crates.io/crates/fmi-sim) [docs.rs](https://docs.rs/fmi-sim) [build status](https://github.com/jondo2010/rust-fmi/actions?query=branch%3Amain) 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](https://github.com/modelica/Reference-FMUs/tree/main/fmusim). ## Running ```bash ➜ 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 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 The FMU model to read -i, --input-file Name of the CSV file name with input data -o, --output-file Simulation result output CSV file name. Default is to use standard output -c 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 * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or ) * MIT license ([LICENSE-MIT](LICENSE-MIT) or ) 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.