OpenModelica

langage de programmation

OpenModelica est un logiciel libre de simulations numériques de système physique.

OpenModelica

Description de cette image, également commentée ci-après
OpenModelica
Informations
Développé par Open Source Modelica Consortium (OSMC)
Écrit en CVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Linux, Windows
Formats lus Modelica CombiTimeTable (d) et Modelica model format (d)Voir et modifier les données sur Wikidata
Formats écrits Modelica model format (d) et Modelica CombiTimeTable (d)Voir et modifier les données sur Wikidata
Type simulations numériques
Licence licence publique OSMC, EPL, GPL (Licence libre)
Site web openmodelica.org

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

modifier

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

modifier

Modélisation

modifier
schéma d'un moteur à courant continu

Le système est schématisé par les différents composants listés ci-dessous :

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 m2
  • 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

modifier

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

Résultat

modifier

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

modifier

Procédé et schéma structurel

modifier

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

modifier

Après simulation, il est possible notamment de visualiser les pressions et les débits dans les différentes parties du système.

Bibliothèque custom

modifier

Le régulateur PID PRC63 possède les paramètres conformes au domaine de la régulation des procédés industriels.

Paramètres du régulateur PID

Il est réalisé par l'encapsulation des blocs élémentaires nécessaires.

Structure interne du régulateur PID mixte
Structure interne du régulateur PID mixte

On y utilise ici par exemple fréquemment plusieurs instances du bloc custom de type LookUpOne, défini par le code interne Modelica suivant :

Code Modelica de l'objet "LookUpOne"
Code Modelica de l'objet "LookUpOne"

Notes et références

modifier

Voir aussi

modifier

Articles connexes

modifier

Liens externes

modifier