Les concepts et les outils de la différentiation automatique appliqués aux simulateurs de procédés
Auteur / Autrice : | Catherine Mischler |
Direction : | Xavier Joulia |
Type : | Thèse de doctorat |
Discipline(s) : | Génie des procédés |
Date : | Soutenance en 1996 |
Etablissement(s) : | Toulouse, INPT |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
La differentiation automatique (da), developpee dans le cadre du calcul formel, regroupe l'ensemble des methodes permettant d'obtenir un programme informatique calculant les derivees d'une fonction, elle-meme representee par un programme. L'enjeu de ces travaux est de definir avec precision les besoins en derivees, et de proposer des strategies de da, afin d'adapter un differentiateur automatique au domaine du genie des procedes. Les methodes mises en uvre dans les simulateurs commerciaux pour simuler (en regime permanent ou dynamique), concevoir ou optimiser un procede, et qui necessitent des derivees, ont ete recensees. Trois grandes classes de programmes ont ete degagees, respectivement associees aux proprietes thermodynamiques, aux operations unitaires (modules), et aux reseaux d'unites (sequence de modules). Sur la base du simulateur prosim, les algorithmes de da et, lorsque c'etait possible, le differentiateur odyssee ont ete testes sur des codes fortran, representatifs de chaque classe. Les tests montrent que, en thermodynamique, il faut differentier les proprietes scalaires en mode inverse et les proprietes vectorielles en mode direct. Des solutions pour pallier aux problemes specifiques des programmes des simulateurs sont proposees. Elles rendent les programmes generes par da aussi rapides que ceux generes a la main a partir des derivees analytiques. Notamment, une procedure pour le traitement des fonctions implicites et une representation adaptee des vecteurs et des matrices permettent la da des modules. De plus, pour l'utilisation de la methode de newton-raphson niveau procede, le jacobien est obtenu par propagation directe des derivees dans la sequence de modules. Les resultats prouvent qu'il est possible de developper un differentiateur adapte aux besoins du genie des procedes et qu'un tel outil devrait permettre d'une part un gain en travail humain pour la maintenance, le developpement et la qualite des codes, et d'autre part l'utilisation de methodes numeriques fiables et efficaces tant en simulation qu'en optimisation