# OpenModelica

OpenModelica est un logiciel libre de simulations numériques de système physique.
Basé sur le langage de modélisation Modelica, il permet la modélisation causale (schéma fonctionnel) ou acausale (schéma structurel), la simulation, l’optimisation et l'analyse de systèmes physiques complexes (électrique, mécanique, thermique, pneumatique, chimique, hydraulique, etc.).
La communauté d’OpenModelica poursuit activement le développement du logiciel notamment à travers une organisation à but non lucratif.
Le logiciel est aussi bien utilisé par le monde universitaire que par le secteur industriel. De nombreuses bibliothèques (base de données composants) permettent la modélisation de systèmes automobiles, traitement de l’eau, aéronautique, défense, énergie, process, équipement industriel…

## Applications

OpenModelica permet de simuler le fonctionnement de systèmes physiques pour analyser leur comportement.
L’utilisateur modélise chaque sous-ensemble du système par des composants issus d’une base de données intégrée au logiciel.
Ce schéma est transformé en un ensemble d'équations que le simulateur associé résout.
De ce fait, l’utilisateur peut analyser toutes les caractéristiques de chaque composant du système.
L'interface graphique d’OpenModelica se compose de plusieurs fenêtres :
* une fenêtre pour l’interface graphique utilisateur / logiciel pour la modélisation par glisser-déposer
* à gauche, la base de données composants (électrique, mécanique, thermique, hydraulique...)
* à droite, la fenêtre courbe résultat
* en haut, pour lancer les simulations

### Étude d’un système électro mécanique : un moto-réducteur alimenté en courant continu
#### Modélisation

Le système est schématisé par les différents composants listés ci-dessous :
* une alimentation continue
** une source de tension continue : U = 6 V
le moto-réducteur est modélisée par ses différents composants
* un bobinage, modélisé par
** une résistance : R = 4 Ω
** une inductance : L = 10$^{−3}$ H
* une Machine Électro Mécanique qui transforme l’énergie électrique en énergie mécanique
Cette machine EM est modélisée par
* une masse modélisée par son inertie en rotation : J = 10$^{−6}$ kg m$^2$
* un coefficient : k EMF = 0,006 8 N m/A
* un couple résistant constant lié au moteur
Ce couple résistant constant lié au moteur est modélisée par
* un couple résistant : k Torque = -0,001 N m
* un bloc source qui agit de manière constante sur le couple résistant
Le réducteur est modélisé par un réducteur avec rendement dont les caractéristiques sont
* un rapport de réduction : R = 1/19
* un rendement : Ƞ = 0,9

#### Simulation

La simulation doit être lancée en mentionnant la durée souhaitée.

#### Résultat

L'utilisateur peut analyser et faire afficher toutes les caractéristiques de chaque composant du système.
Dans cet exemple, seules 2 courbes sont représentées :
* la courbe de l’intensité fonction du temps, mesurée aux bornes de la résistance [i = f(t)],
* la courbe de la vitesse de rotation au cours du temps, mesurée via l’inertie de la masse [w = f(t)].
* w = f(t)
* i = f(t)

### Étude d'une régulation de pression d'air avec bibliothèque custom
#### Procédé et schéma structurel

* Séparateur Eau/Huile
* Schéma acausal de la régulation de pression de ciel gazeux
Il s'agit de la régulation de pression d'air à deux organes réglants (vannes de régulation) du ciel d'un séparateur biphasique industriel Eau/Huile. Une bibliothèque d'objets conformes à la norme ISA 5.1 des schémas d’instrumentation et régulation (P&ID) a été créé pour se rapprocher au mieux de la réalité industrielle.
La pression dans le ciel gazeux (Capacité S1) est augmentée par l'apport d'air contrôlé par la vanne FV75 et diminué par la vanne FV78. Un régulateur PID PRC63 permet de fixer la pression à la valeur désirée quelles que soient les variations de volume du ciel gazeux dues aux variations de niveaux de fluides eau et huile.

#### Résultats de la simulation

Après simulation, il est possible notamment de visualiser les pressions et les débits dans les différentes parties du système.
* Pression dans le ciel gazeux de S1 (bar g)
* Pression en aval du détendeur PC1 (barg)
* Débit d'air De et Vers S1 (m$^3$/h)
* Débit d'air dans les vannes (m$^3$/h)

#### Bibliothèque custom

Le régulateur PID PRC63 possède les paramètres conformes au domaine de la régulation des procédés industriels.
Il est réalisé par l'encapsulation des blocs élémentaires nécessaires.
On y utilise ici par exemple fréquemment plusieurs instances du bloc custom de type LookUpOne, défini par le code interne Modelica suivant :