Unification du code

Situation Initiale et objectifs

Le code initial visant à modéliser et à dimensionner un combusteur, qui nous a été delivré par l'encadrant est un code multilithique écrit en deux différents langages de programmation ( Matlab et Fortran ). La résolution de la partie dense était implémentée sur Matlab, pour des raisons de non disponibilité d'un équivalent de la fonction intrinsèque de Matlab (lsqnonlin) sur Fortran, car cette dernière repose sur un calcul symbolique, option qui n'est pas prise en charge par un langage comme Fortran. La résolution de la partie transportée, quant à elle, est implémentée en Fortran et genère ses résultats sous format ASCII, qui seront ensuite récupérés par Matlab, qui se chargera de faire le post traitement. Il en est de même concernant la partie où le bilan de population est établi.

 

Parmi les problèmes les plus contraignant de cette configuration est la nécessité de disposer d'un outil de partie tierce payant comme Matlab pour pouvoir faire  une simulation complète. D'autre part, pour l'utilisateur du programme doit faire un va-et-vient au moins 3 fois entre la partie Fortran et la partie Matlab.

Ainsi, comme premier objectif, nous avions à implémenter l'équivalent de la partie dense en code Fortran, pour remédier au problème de multilithicité. Ensuite, nous devions trouver un moyen libre gratuit, et independant de la plateforme (Win/Linux)  pour faire le post-processing des résultats obtenus.À cela , il fallait prendre en compte que le code doit être opérationnel sur les deux systèmes d'exploitations Windows et Linux.

Le second axe principal, est d'intégrer le bilan de population dans le code intial, de sorte que ce dernier puisse prendre en compte différents classes représentées par leurs diamètres.

Nous avons, parsuite, établi en accord avec les encadrants de suivre le plan d'action suivant :

  • Prendre en main le code initial.
  • Implémenter le code de résolution de la partie dense en code Fortran.
  • Permettre aux codes de partie dense et de la partie transportée de prendre en compte une distribution de tailles au lieu d'une seule.
  • Faire le post-processing sur un outil répondant au critères ci-dessous.
  • Encapsuler le tout dans une interface graphique conviviale, automatisant la simulation.