NEPTUNIX : Questions et réponses

Contact :    alain.buhsing@free.fr               (vous pouvez en poser d'autres)

o Sommaire

o Pourquoi générer du FORTRAN ?
o Peut-on générer du C ?
o Que sont NEPTUNIX 1, 2, 3, 4 et Plus ?

o Comment se situe NEPTUNIX par rapport à ALLAN ?
o Comment se situe NEPTUNIX par rapport à MATLAB ?
o Comment se situe NEPTUNIX par rapport à SIMULINK ?
o Comment se situe NEPTUNIX par rapport à DASSL ?



o Pourquoi générer du FORTRAN ?

FORTRAN est le langage le plus adapté aux calculs à virgule flottante. C'est sur ce langage que les optimiseurs de compilateurs sont les plus efficaces et que les travaux sur le parallélisme sont les plus avancés.

Il ne faut pas perdre de vue que pour NEPTUNIX,  FORTRAN est un code généré au même titre que l'assembleur pour un compilateur. En principe, il n'est pas lu par un être humain. Parfois par les développeurs de NEPTUNIX.

Si l'utilisateur ne dispose pas de compilateur FORTRAN, il est possible d'utiliser le compilateur free-ware g77 diffusé par GNU.

o Peut-on générer du C ?

Comme NEPTUNIX a considérablement évolué durant ces deux dernières années, on a préféré ne maintenir qu'une seule version du générateur. NEPTUNIX ne génère donc pas directement du C. Néanmoins, nous préconisons l'usage du produit free-ware f2c (f-to-C). Son usage a été validé au GIAT sur plusieurs gros modèles.



o Les différentes versions de NEPTUNIX

NEPTUNIX 1 est la version "prototype" conçue au CEA Saclay en 1977 et terminée en 1979.

NEPTUNIX 2 est la première version commercialisée, issue d'une collaboration entre le  CEA Saclay et Cisi. Spécifiée en 1979, elle fut disponible en 1981 (version 2.0) et évolua par étapes pour se stabiliser en 1990 (version 2.6) .

NEPTUNIX 3 fut une version intermédiaire associée à ALLAN.3 entre 1993 et 1996. Elle ne fut jamais commercialisée seule. Le changement de version était dû à un nouvel environnement d'exploitation (nouveau langage d'exploitation + gestion de sous-process).

NEPTUNIX 4 est le fruit d'une collaboration entre Cisi et GIAT INDUSTRIES. Le générateur est entièrement réécrit en C++. Le langage de description des modèles est compatible avec NEPTUNIX 2.

NEPTUNIX Plus apparait comme un pré/post-processeur de Neptunix 4 : surlangage synthétisé et actualisé, schémas-blocs, post-traitements, etc... NEPTUNIX 4 est inclus dans NEPTUNIX Plus.

Pour plus de détails, voir l'historique.



o Comment se situe NEPTUNIX par rapport à ALLAN ?

ALLAN est un progiciel développé au Gaz de France avec l'appui de Cisi.  Il permet de modéliser des systèmes physiques ou techniques sous forme de schémas-blocs et/ou d'équations.

ALLAN est un modeleur : il offre une interface graphique conviviale pour composer et assembler des sous-modèles (approche de type schémas-blocs), générer des simulateurs via des solveurs comme ASTEC ou  NEPTUNIX, les exploiter, et enfin visualiser les courbes de résultats.

ALLAN fut maquetté en Basic HP par la Direction de la recherche de GDF dès 1984.  GDF confia à l'équipe NEPTUNIX alors à Cisi  la définition, la conception et le développement de ALLAN.2 ( FORTRAN +  interface graphique GKS)  puis de ALLAN.3 ( C +X11/Motif). En 1996 GDF  ajouta à au logiciel un traducteur ALLAN-> DASSL développé par DDS.

Depuis 1998, les deux logiciels sont commercialisés séparément, même si techniquement, ALLAN et NEPTUNIX 4 sont complémentaires. Le traducteur NEPTUNIX 4 est toujours intégré à ALLAN.

Les deux langages de de description sont (forcément) très proches. NEPTUNIX Plus dispose de quelques fonctionnalités supplémentaires : itérations d'équations, identifieurs longs et une démarche différente au niveau de l'intégration de la partie procédurale et des équations de liaison. Il existe un traducteur ALLAN -> NEPTUNIX+



o Comment se situe NEPTUNIX par rapport à MATLAB ?

Difficile de les situer l'un par rapport à l'autre : leur démarche est totalement différente. MATLAB est un langage de programmation destiné au calcul matriciel, NEPTUNIX est un langage de description de systèmes physiques ou techniques.

MATLAB est utilisable si vous connaissez les fonctions à utiliser pour simuler votre modèle et si ces fonctions font partie de l'un des modules MATLAB. NEPTUNIX peut simuler tout système modélisable au moyen d'équations différentielles implicites.

o Comment se situe NEPTUNIX par rapport à SIMULINK ?

SIMULINK propose une description de systèmes au moyen de schémas-blocs. Il existe des blocs prédéfinis.
Les principales différences sont :

o Comment se situe NEPTUNIX par rapport à DASSL ?

DASSL est une bibliothèque free-ware destinée à résoudre des systèmes d'équations algebro-différentielles implicites. La méthode d'intégration  est proche de celle de NEPTUNIX (Gear à pas variable). Une version de DASSL (DASSRT) permet de gérer des discontinuités.

La différence provient de la présence d'un générateur NEPTUNIX et de l'environnement d'exploitation : langage d'exploitation, debugger, gestion de sous-process.

C'est le générateur NEPTUNIX qui va générer automatiquement la matrice jacobienne (tâche ô combien fastidieuse pour des gros modèles !).