Otfmi documentation =================== `Otfmi `__ facilitates the probabilistic study of functional mockup units (FMUs) by interfacing `OpenTURNS `__ with `PyFMI `__. Using Otfmi, modelers can perform advanced probabilistic analysis on their FMU. The core features of `Otfmi `__ are: * load an FMU in an OpenTURNS object * set some initial values to ease initialisation * simulate the model, for a single set of input values or a sample * retrieve and store the simulation results. .. image:: _static/logo_persalys.png :align: left :scale: 5% | `Otfmi `__ is notably employed as backend for `Persalys `__ (OpenTURNS GUI). | The software is free and can be downloaded `here `__. .. container:: clearer .. image :: _static/spacer.jpg -------------- .. toctree:: :maxdepth: 1 install .. toctree:: :maxdepth: 1 api .. toctree:: :maxdepth: 1 :glob: example/index .. toctree:: :maxdepth: 1 :glob: application/application .. toctree:: :maxdepth: 1 fmus/index .. toctree:: :maxdepth: 1 demo_persalys/use_persalys.rst -------------- About FMI, OpenTURNS and PyFMI ------------------------------ The `functional mock-up interface (FMI) standard `__ specifies a multipurpose interfaces to 0D/1D physical models. It is currently supported by many softwares, such as `OpenModelica `__, `Dymola `__, `Amesim `__, `Ansys `__, `Simulink `__, etc. `OpenTURNS `__ library proposes a large range of mathematical methods to quantify, propagate and handle uncertainties. `PyFMI `__ is a package for loading and interacting with FMUs in Python. The need for Otfmi ------------------ Using Python to easily perform computer experiments on 0D/1D models is seducing. Yet the tool chain, from the physical model to OpenTURNS, was incomplete. PyFMI objects, close to the FMUs methods, were to be adapted for an easier use with OpenTURNS’ methods. Otfmi is developed by `Phimeca `__, on the demand of EDF Prisme department, to meet this need of compatibility between PyFMI objects and OpenTURNS. Terminology ----------- **input, parameter, or input variable?** The FMI standard and OpenTURNS meet a (minor) conflict in the definition of *inputs*. In the `FMI standard `__ (see table 18): * a FMU *parameter* remains constant during simulation (a single value). * a FMU *input* evolves during simulation (time-dependent values). In OpenTURNS, the terms *input* and *parameter* are synonym and designate a variable in input of a probabilistic model. To reconcile the two worlds, we employ in Otfmi the terms of *parameter* and *input* in the sense of FMI. We call the input variables of a probabilistic model *variables*, or *input variables*. **FMI : ME or CS?** The FMI standard defines 2 kinds of FMUs: ModelExchange (ME) or CoSimulation (CS). The CoSimulation FMUs embed the numerical solver of their generation tool whereas the ModelExchange FMUs simulate with the solver of their host tool. Choosing ME or CS depends on the use of the FMU (see `here `__). Both kinds are handled similarly by Otfmi (and `Persalys `__). Contact ------- | You can contribute to the project or signal issues on `Otfmi GitHub repository `__. | For questions on the code, contact `Sylvain Girard `__ or `Claire-Eleuthèriane Gerrer `__. | For questions or remarks concerning the documentation, contact `Claire-Eleuthèriane Gerrer `__. -------------- This package is licensed under the LGPL3.