Cours en ligne et simulateur de thermodynamique appliquée

Utilisation et conception des classes externes

Remarque

Ce document constitue une introduction au mécanisme des classes externes de Thermoptim, qui permet d'étendre les fonctionnalités du progiciel

Le mécanisme des classes externes

L'environnement graphique de Thermoptim présente le grand intérêt de permettre de construire visuellement des modèles de nombreux systèmes énergétiques, des plus simples comme un réfrigérateur, aux plus complexes comme des centrales électriques à cycle combiné à gazéification intégrée mettant en jeu plusieurs centaines d'éléments.

Non seulement une telle manière de faire simplifie notablement la démarche de modélisation et facilite ultérieurement l'utilisation et la maintenance du modèle, mais surtout elle sécurise sa construction en automatisant l'établissement des couplages entre les différents éléments qui le composent et en garantissant leur cohérence.

Jusqu'à la version 1.4, seuls les composants disponibles dans le noyau de Thermoptim pouvaient être ainsi assemblés, ce qui limitait les possibilités de l'outil, et plusieurs utilisateurs ont exprimé le souhait de pouvoir définir leurs propres éléments ou leurs propres corps.

L'interfaçage de Thermoptim avec des classes (éléments de code Java) externes permet de répondre à cette demande et facilite l'inter-opérabilité du progiciel avec l'extérieur, notamment avec d'autres applications développées sous Java.

Son intérêt est double :

  • pouvoir réaliser des extensions de Thermoptim à partir du noyau commun, en ajoutant des modules externes reconnus par le progiciel, qui définissent des éléments qui apparaissent automatiquement dans ses écrans de manière transparente pour l'utilisateur. C'est ainsi qu'un utilisateur peut ajouter ses propres corps ou des composants non disponibles dans le noyau ;

  • pouvoir piloter Thermoptim à partir d'une autre application, soit pour guider un utilisateur (tuteur intelligent), soit pour contrôler l'exécution du code (pilotage, simulation de fonctionnement en régime non-nominal  ou régulation, accès aux bibliothèques thermodynamiques).

 Sur le plan pratique, ajouter une nouvelle transfo externe est très simple : il suffit de créer une classe spécifique, qui hérite de la classe mère abstraite extThopt.ExtProcess, l'interaction avec Thermoptim étant assurée à deux niveaux :

  • par des méthodes générales permettant d'effectuer les calculs requis ;

  • par un JPanel qui est incorporé dans l'écran de la transfo externe. De cette manière, le concepteur de la classe peut créer sa propre interface graphique, qui s'insère ensuite dans l'écran dans Thermoptim

Le mécanisme des classes externes permet aussi de coupler Thermoptim à des serveurs de propriétés thermodynamiques afin de lui donner accès à des modèles de fluides non disponibles dans le noyau, notamment des mélanges de vapeurs.

Aujourd'hui, les modèles de TEP Lib , TEP ThermoSoft , ThermoBlend et de RefProp peuvent ainsi être directement utilisés, moyennant l'ajout de bibliothèques spécifiques. Ces quatre outils sont respectivement développés par le L aboratoire de Thermodynamique des Équilibres entre Phases, par l'établissement de Paris du Centre Energétique et Processus de l'Ecole des Mines de Paris et par le NIST .

 Si vous êtes intéressé par ces développements, adressez-vous à info-th@thermoptim.org .

Utilisation des classes externes

L'utilisation de classes externes déjà développées est très simple : il suffit de rajouter ces classes aux bibliothèques de Thermoptim, en les plaçant dans une archive nommée extUser.zip pour la version 1.5, et extUser2.zip pour les versions 2.5 et supérieures. La seule contrainte est que la structure de cette archive doit respecter un format bien déterminé.

Ces classes font appel à certaines bibliothèques contenues dans une autre archive, appelée extThopt.zip pour la version 1.5 et extThopt2.zip pour la version 2.5. Il faut aussi s'assurer que la version de cette archive est compatible avec les classes utilisées.

Les fichiers extThopt.zip et extThopt2.zip valables pour les différentes versions de Thermoptim sont disponibles depuis cette page.

A partir de la version 2.51, le gestionnaire de classes externes permet d'intégrer des classes externes dans la bibliothèque extUser2.zip. Il est accessible depuis le menu Spécial du simulateur. Sinon, le plus simple est d'utiliser un compacteur standard comme expliqué dans le tome 3 du manuel de référence de Thermoptim.

La modélothèque de Thermoptim met à votre disposition  cinq catégories de classes externes :

  • les corps externes

  • les transfos externes

  • les diviseurs externes

  • les mélangeurs externes

  • les pilotes

Le tome 3 du manuel de référence de Thermoptim vous expliquera comment utiliser et concevoir des classes externes pour Thermoptim, et la séance Diapason S07_ext   vous guidera dans vos premiers pas.

Création de nouvelles classes externes

Sans être très difficile, la création de nouvelles classes externes demande un minimum de compétences en programmation Java. Les exemples présentés dans le tome 3 du manuel de référence vous permettront de vous initier à cet exercice, et un environnement de développement des classes externes vous est proposé ci-dessous.

Des explications spécifiques sur l'utilisation des classes externes pour calculer les propriétés des mélanges humides sont aussi disponibles.

Environnement de développement des classes externes (version 1.5)

Pour mettre au point les classes externes, si vous ne disposez pas déjà d'un environnement de développement Java et si vous travaillez sous Windows, vous pouvez utiliser un outil disponible en freeware, appelé JCreator . Développé par Xinox Software, JCreator est téléchargeable gratuitement sur Internet.

JCreator vous permet d'écrire vos classes en langage Java, de les compiler et de tester directement leur intégration dans Thermoptim.

Une page Web vous expliquant comment procéder pour installer et configurer cet environnement a été préparée à votre attention.

Bien évidemment, vous pouvez aussi configurer JCreator pour développer des classes externes pour la version 2.5 de Thermoptim. Nous vous laissons le soin de configurer JCreator en vous inspirant des indications données dans le lien mentionné ci-dessus, en utilisant les bibliothèques fournies avec le Workspace d'Eclipse présenté ci-dessous

Environnement de développement des classes externes (version 2.5)

Pour mettre au point les classes externes, si vous ne disposez pas déjà d'un environnement de développement Java et si vous travaillez sous Windows, vous pouvez utiliser un outil disponible en freeware, appelé Eclipse, téléchargeable gratuitement sur Internet.

Eclipsevous permet d'écrire vos classes en langage Java, de les compiler et de tester directement leur intégration dans Thermoptim.

Une page Web vous expliquant comment procéder pour installer et configurer cet environnement a été préparée à votre attention.

Bien évidemment, vous pouvez aussi configurer Eclipse pour développer des classes externes pour la version 1.5 de Thermoptim. Nous vous laissons le soin de configurer Eclipse en vous inspirant des indications données dans le lien mentionné ci-dessus, en utilisant les bibliothèques fournies avec le Workspace de JCreator présenté un peu plus haut.

Création de pilotes externes

Le dimensionnement technologique des composants nécessite d'affiner les modèles phénoménologiques utilisés dans le noyau de Thermoptim, en les complétant de manière appropriée.

Les implémentations de ces nouvelles fonctionnalités de Thermoptim sont pour l'essentiel effectuées sous forme de classes externes, ce qui offre une grande latitude aux utilisateurs pour les personnaliser.

La version classique phénoménologique de Thermoptim reste inchangée : elle est complétée par une couche logicielle permettant de prendre en compte les modèles de dimensionnement technologique et de non-nominal.

Les classes de dimensionnement technologique complètent celles du noyau en permettant la prise en compte des équations propres aux choix technologiques effectués, comme par exemple le calcul du coefficient d'échange thermique U d'un échangeur de chaleur, ou bien le débit et le rendement isentropique d'un compresseur.

Le pilote assure quant à lui la coordination systémique des calculs relatifs aux différents composants qui entrent en jeu. Il recherche un ensemble de variables de couplage cohérent avec le problème physique et technologique posé, et permet ainsi de modifier le paramétrage du projet Thermoptim.

Vous trouverez l'ensemble des explications relatives à ces nouveaux développements dans le tome 4 du manuel de référence du progiciel , et des illustrations autour d'exemples concrets dans la rubrique Guides méthodologiques.

copyright R. Gicquel

Réalisé avec Scenari (nouvelle fenêtre)