Skip to content

Commit 6628457

Browse files
committed
New content
1 parent c40175e commit 6628457

6 files changed

Lines changed: 124 additions & 116 deletions

File tree

doc/application/application.rst

Lines changed: 0 additions & 16 deletions
This file was deleted.
-8.11 KB
Binary file not shown.

doc/index.rst

Lines changed: 50 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,124 +1,80 @@
1-
otfmi documentation
2-
===================
3-
4-
`otfmi <https://github.com/openturns/otfmi>`__ facilitates the probabilistic study of functional mockup units (FMUs) by interfacing `OpenTURNS <http://openturns.github.io/openturns/master/contents.html>`__ with `PyFMI <https://pypi.org/project/PyFMI/>`__. Using otfmi, modelers can perform advanced probabilistic analysis on their FMU.
1+
:hide-sidebar-secondary: true:
52

6-
The core features of `otfmi <https://github.com/openturns/otfmi>`__ are:
7-
8-
* load an FMU in an OpenTURNS object
9-
* set some initial values to ease initialisation
10-
* simulate the model, for a single set of input values or a sample
11-
* retrieve and store the simulation results.
3+
OTFMI documentation
4+
===================
125

13-
.. image:: _static/logo_persalys.png
14-
:align: left
15-
:scale: 5%
6+
A bridge between `OpenTURNS <http://openturns.github.io/openturns/master/contents.html>`__ and functional mockup units (FMUs), based on `PyFMI <https://pypi.org/project/PyFMI/>`__ .
167

17-
| `otfmi <https://github.com/openturns/otfmi>`__ is notably employed as backend for `Persalys <https://persalys.fr/?la=en>`__ (OpenTURNS GUI).
18-
| The software is free and can be downloaded `here <https://persalys.fr/obtenir.php?la=en">`__.
8+
.. grid::
9+
:gutter: 3
1910

20-
.. container:: clearer
11+
.. grid-item::
12+
:columns: auto
2113

22-
.. image :: _static/spacer.jpg
14+
.. button-link:: examples/index.html
15+
:color: primary
16+
:shadow:
2317

24-
--------------
18+
🚀 Learn with examples
2519

26-
.. toctree::
27-
:maxdepth: 1
20+
.. grid-item::
21+
:columns: auto
2822

29-
install
23+
.. button-link:: api.html
24+
:color: primary
25+
:shadow:
3026

31-
.. toctree::
32-
:maxdepth: 1
27+
⚙️ Read the API doc.
3328

34-
api
29+
.. grid:: 1 2 1 2
30+
:gutter: 3
3531

36-
.. toctree::
37-
:maxdepth: 1
38-
:glob:
32+
.. grid-item-card:: 🎲 Load a FMU in OpenTURNS
3933

40-
examples/index
34+
You have a model in FMU format ? OTFMI transforms it into a `OpenTURNS <http://openturns.github.io/openturns/master/contents.html>`__ object, to let you analyze your model.
4135

42-
.. toctree::
43-
:maxdepth: 1
44-
:glob:
36+
.. grid-item-card:: 🚀 Simulate the model
4537

46-
application/application
38+
Initialise your model and run simulations, for a single set of input values or a sample
4739

48-
.. toctree::
49-
:maxdepth: 1
40+
.. grid-item-card:: 🔌 Integrate an OpenTURNS model into a Modelica model.
5041

51-
examples/persalys/use_persalys.rst
42+
You can export your machine learning model built with OpenTURNS, to use it as a component of your Modelica model.
5243

53-
--------------
44+
.. grid-item-card:: 🍒 Use OTFMI through Persalys
5445

55-
About FMI, OpenTURNS and PyFMI
56-
------------------------------
46+
.. image:: _static/logo_persalys.png
47+
:align: left
48+
:scale: 3%
5749

58-
The `functional mock-up interface (FMI)
59-
standard <https://fmi-standard.org/>`__ specifies a multipurpose
60-
interfaces to 0D/1D physical models. It is currently supported by many
61-
softwares, such as `OpenModelica <https://openmodelica.org/>`__,
62-
`Dymola <https://www.3ds.com/fr/produits-et-services/catia/produits/dymola/>`__,
63-
`Amesim <https://www.plm.automation.siemens.com/global/fr/products/simcenter/simcenter-amesim.html>`__,
64-
`Ansys <https://www.ansys.com/>`__,
65-
`Simulink <https://fr.mathworks.com/products/simulink.html>`__, etc.
50+
OTFMI is used within the OpenTURNS GUI `Persalys <https://persalys.fr/?la=en>`__ .
51+
Persalys is free and can be downloaded `here <https://persalys.fr/obtenir.php?la=en">`__.
6652

67-
`OpenTURNS <http://openturns.github.io/openturns/master/contents.html>`__
68-
library proposes a large range of mathematical methods to quantify,
69-
propagate and handle uncertainties.
70-
`PyFMI <https://pypi.org/project/PyFMI/>`__ is a package for loading and
71-
interacting with FMUs in Python.
7253

73-
The need for otfmi
74-
------------------
54+
.. include:: ../README.rst
55+
:start-line: 24
56+
:end-line: 29
7557

76-
Using Python to easily perform computer experiments on 0D/1D models is
77-
seducing. Yet the tool chain, from the physical model to OpenTURNS, was
78-
incomplete. PyFMI objects, close to the FMUs methods, were to be adapted
79-
for an easier use with OpenTURNS’ methods.
80-
81-
otfmi is developed by `Phimeca <http://www.phimeca.com>`__, on the
82-
demand of EDF Prisme department, to meet this need of compatibility
83-
between PyFMI objects and OpenTURNS.
84-
85-
Terminology
86-
-----------
87-
88-
**input, parameter, or input variable?**
89-
90-
The FMI standard and OpenTURNS meet a (minor) conflict in the definition of *inputs*.
91-
In the `FMI standard <https://fmi-standard.org/docs/3.0.1/#ModelVariables>`__
92-
(see table 18):
93-
94-
* a FMU *parameter* remains constant during simulation (a single value).
95-
* a FMU *input* evolves during simulation (time-dependent values).
58+
You can contribute to the project or signal issues on `otfmi GitHub repository <https://github.com/openturns/otfmi>`__.
59+
This package is licensed under the LGPL3.
9660

97-
In OpenTURNS, the terms *input* and *parameter* are synonym and designate a variable in input of a probabilistic model.
98-
To reconcile the two worlds, we employ in otfmi the terms of *parameter* and *input* in the sense of FMI.
99-
We call the input variables of a probabilistic model *variables*, or *input variables*.
10061

101-
**FMI : ME or CS?**
62+
.. toctree::
63+
:hidden:
64+
:maxdepth: 1
10265

103-
The FMI standard defines 2 kinds of FMUs: ModelExchange (ME) or CoSimulation (CS).
104-
The CoSimulation FMUs embed the numerical solver of their generation tool whereas
105-
the ModelExchange FMUs simulate with the solver of their host tool.
66+
why_otfmi
67+
terminology
10668

107-
Choosing ME or CS depends on the use of the FMU (see
108-
`here <https://www.modelon.com/fmi-functional-mock-up-unit-types/>`__).
109-
Both kinds are handled similarly by otfmi (and `Persalys <https://persalys.fr/?la=en>`__).
69+
.. toctree::
70+
:hidden:
71+
:maxdepth: 1
11072

111-
Contact
112-
-------
73+
examples/index
11374

114-
| You can contribute to the project or signal issues on `otfmi GitHub
115-
repository <https://github.com/openturns/otfmi>`__.
116-
| For questions on the code, contact `Sylvain
117-
Girard <https://github.com/SG-phimeca>`__.
118-
| For questions or remarks concerning the documentation, contact
119-
`Claire-Eleuthèriane
120-
Gerrer <https://github.com/Claire-Eleutheriane>`__.
75+
.. toctree::
76+
:hidden:
77+
:maxdepth: 1
12178

122-
--------------
79+
api
12380

124-
This package is licensed under the LGPL3.

doc/install.rst

Lines changed: 0 additions & 6 deletions
This file was deleted.

doc/terminology.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
Terminology
2+
===========
3+
4+
5+
Input, parameter, or input variable ?
6+
-------------------------------------
7+
8+
The FMI standard and OpenTURNS meet a (minor) conflict in the definition of *inputs*.
9+
In the `FMI standard <https://fmi-standard.org/docs/3.0.2/#ModelVariables>`__
10+
(see section 2.4.7, and table 22):
11+
12+
* a FMU *parameter* remains constant during simulation (a single value);
13+
* a FMU *input* evolves during simulation (time-dependent values).
14+
15+
In OpenTURNS, the terms *input* and *parameter* are synonym and designate a variable in input of a probabilistic model.
16+
17+
To reconcile the two worlds, we employ in otfmi the terms of *parameter* and *input* in the sense of FMI.
18+
We call the input variables of a probabilistic model *variables*, or *input variables*.
19+
20+
21+
FMI : ME or CS ?
22+
----------------
23+
24+
The FMI standard defines two kinds of FMUs: ModelExchange (ME) or CoSimulation (CS).
25+
The CoSimulation FMUs embed the numerical solver of their generation tool whereas
26+
the ModelExchange FMUs simulate with the solver of their host tool.
27+
28+
Choosing ME or CS depends on the use of the FMU (see
29+
`here <https://www.modelon.com/fmi-functional-mock-up-unit-types/>`__).
30+
Both kinds are handled similarly by otfmi (and `Persalys <https://persalys.fr/?la=en>`__).
31+
32+
OpenTURNS objects
33+
-----------------
34+
35+
OTFMI and related examples rely on some OpenTURNS objects such as:
36+
37+
- `Point <https://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Point.html>`__, which is a real multidimensional vector;
38+
39+
- `Mesh <https://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Mesh.html>`__, which is used in OTFMI to model a temporal discretisation.
40+
41+
- `Field <https://openturns.github.io/openturns/latest/auto_stochastic_processes/plot_field_manipulation.html>`__, which combines a mesh and a `sample <https://openturns.github.io/openturns/latest/user_manual/_generated/openturns.Sample.html>`__ to assign a value for each vertex of the mesh.

doc/why_otfmi.rst

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Why OTFMI ?
2+
============
3+
4+
About FMI, OpenTURNS and PyFMI
5+
------------------------------
6+
7+
The `functional mock-up interface (FMI)
8+
standard <https://fmi-standard.org/>`__ specifies a multipurpose
9+
interfaces to 0D/1D physical models. It is currently supported by many
10+
softwares, such as `OpenModelica <https://openmodelica.org/>`__,
11+
`Dymola <https://www.3ds.com/fr/produits-et-services/catia/produits/dymola/>`__,
12+
`Amesim <https://www.plm.automation.siemens.com/global/fr/products/simcenter/simcenter-amesim.html>`__,
13+
`Ansys <https://www.ansys.com/>`__,
14+
`Simulink <https://fr.mathworks.com/products/simulink.html>`__, etc.
15+
16+
`OpenTURNS <http://openturns.github.io/openturns/master/contents.html>`__
17+
library proposes a large range of mathematical methods to quantify,
18+
propagate and handle uncertainties.
19+
20+
`PyFMI <https://pypi.org/project/PyFMI/>`__ is a package for loading and
21+
interacting with FMUs in Python.
22+
23+
The need for otfmi
24+
------------------
25+
26+
Using Python to easily perform computer experiments on 0D/1D models is
27+
seducing. Yet the tool chain, from the physical model to OpenTURNS, was
28+
incomplete. PyFMI objects, close to the FMUs methods, were to be adapted
29+
for an easier use with OpenTURNS’ methods.
30+
31+
otfmi is developed by `Phimeca <http://www.phimeca.com>`__, on the
32+
demand of EDF Prisme department, to meet this need of compatibility
33+
between PyFMI objects and OpenTURNS.

0 commit comments

Comments
 (0)