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.

Chaque sous-ensemble du système est modélisé 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 = 
 une inductance : L =  
 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 = 
 un coefficient : k EMF = 
 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 = -
 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 
On lance la simulation 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)]

Étude d'une régulation de pression d'air avec bibliothèque custom

Procédé et schéma structurel 

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, on peut notamment visualiser les pressions et les débits dans les différentes parties du système

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 :

Notes et références

Voir aussi

Articles connexes

Liens externes 
 
 Dépôt GitHub d'OpenModelica

Logiciel sous licence libre