MODE D'EMPLOI


1/ INSTALLATION

2/ LANCEMENT DE VIGIE

3/ LECTURE DES DONNEES

4/ VISUALISATION


1/ INSTALLATION

VIGIE est un logiciel de visualisation dédié à la simulation d'écoulements en vitesses élevées et aux calcul de champs électromagnétiques.

Où se procurer VIGIE ?

Par FTP anonyme sur le serveur de l'INRIA SOPHIA-ANTIPOLIS: "zenon.inria.fr" dans le repertoire pub/vigie. A ce sujet, on peut trouver un grand nombre de logiciels à caractère scientifique et gratuits sur le site http://www.inria.fr .

Il faut alors recupérer la distribution correspondante à l'architecture le la machine utilisée. Pour ce qui nous concerne, nous utilisons la version SOLARIS. Il faut aussi rapatrier la distribution d'exemples "data" qui, elle, est commune à toutes les architectures.

On récuperera de même la documentation en anglais "docVigie.ps.Z", qui permet d'avoir une approche rapide et assez claire dans l'utilisation de ce logiciel.

Enfin, on peut rapatrier aussi deux utilitaires "verify_hdb.c" qui permet de vérifier des données au format binaire hdb et "weedb.f" qui fournit un modèle pour l'écriture des maillages pour la base de données eedb. (Ces programmes n'ont pas été testés !)

Comment installer VIGIE ?

La distribution fournit directement un executable "vigie", ainsi que quelques premiers exemples.

Comment installer les EXEMPLES ?

La distribution des autres exemples, assez volumineuse, doit, elle, être installée en suivant précisément les indications données dans le "README". En effet, il faut compiler les exemples selon l'architecture à l'aide du "Makefile" situé dans le répertoire "gener". (remarque pour les MFN et leur environnement : on a besoin pour cela du compilateur "gcc" situé dans "/opt/FSFgcc" ; Il faut donc ajouter ce path dans le .cshrc)

2/ LANCEMENT DE VIGIE

Sur les stations SUN ULTRASPARC le fichier de "BINDINGS" (fichier assignant des fonctions aux touches clavier) pris par défaut ne permet pas l'exécution de VIGIE. Il est donc nécessaire d'enlever les BINDINGS prédéfinis pour les remplacer par le bon fichier ( /usr/dt/lib/bindings/sun ). Le plus simple est de créer un alias dans le fichier .cshrc.

Exemple d'alias :    alias vigi 'xrdb -remove;xrdb -merge /usr/dt/lib/bindings/sun;vigie'

"xrdb -remove" : Enlève le fichier de bindings existant

"xrdb -merge /usr/dt/lib/bindings/sun" : Prend comme nouveau fichier de bindings le fichier sun

Il suffit alors de taper la commande "vigi" dans le répertoire où se trouve l'exécutable pour exécuter VIGIE.

ATTENTION : Les bindings sont ainsi modifiés sur toutes les fenêtres et pour toute la session. Il se peut que cela occasionne des problémes pour l'exécution d'autres logiciels. Il sera alors nécessaire de se déconnecter et de lancer une nouvelle session pour retrouver les anciens bindings (Il existe sans doute une solution plus simple mais nous n'avions pas le temps de nous apesantir sur le problème).


3/ LECTURE DES DONNEES

Figure 1

La figure 1 représente la fenêtre principale de VIGIE. Pour lire les données, il suffit de clicker su 'Files' puis sur le menu 'Read data'. Une boîte de sélection apparaît, il suffit alors de sélectionner le fichier de données voulu. Il est ainsi possible de lire autant de fichiers de données qu'on veut. La fenêtre principale est alors modifiée, on voit apparaître un bouton 'problème' et un autre 'solution'. En cliquant sur le premier on choisit la dimension du problème à traiter, en cliquant sur le deuxième on choisit le probléme proprement dit.

Vous avez à ce stade lu les données nécessaires à la visualisation.

4/ VISUALISATION

Pour commencer une visualisation :

Reportez-vous maintenant au paragraphe correspondant à la dimension de votre problème.

Nous ne disposions d'aucun exemple pour la visualisation d'écoulements 1D. Cependant, nous pensons que le système est le même que pour les visualisations d'écoulements de dimensions supérieures.

Si vous voulez des informations supplémentaires, vous pouvez toujours vous reporter au manuel en anglais.

Le module de visualisation 2D de VIGIE permet :

Pour commencer la visualisation :

Figure 2

Vous pouvez visualiser le maillage en clickant sur 'mesh' puis sur 'redraw'. Le bouton 'redraw' doit être clické à chaque fois qu'on modifie la visualisation. (Exemple de maillage)

Tracé des isovaleurs en surfaces colorées:

Vous pouvez visualiser la palette de couleurs en clickant sur 'Show ColMap'.

Vous pouvez changer de palette de couleurs en clickant sur 'ColorMap' et en choisissant une des palettes proposées.

De même, vous pouvez changer le nombre de couleurs en clickant sur 'NbColors'.

Vous pouvez modifier les échelles de couleurs en clickant sur 'Set Isos', une boîte de dialogue apparaît :

Vous pouvez sauver ces valeurs en donnant un fichier de sauvegarde (par défaut : vigie_2d.isos) et en clickant sur 'save'. Vous pouvez rétablir les valeurs initiales avec 'reset', ou celles sauvegardées en donnant le nom du fichier de sauvegarde et en clickant sur 'restore'.

(EXEMPLES)

Tracé des isolignes :

Vous pouvez changer le nombre d'isolignes en clickant sur 'NbIlines'.

Vous pouvez modifier les échelles des isolignes en clickant sur 'Set Isos', une boîte de dialogue apparaît :

Vous pouvez sauver ces valeurs en donnant un fichier de sauvegarde (par défaut : vigie_2d.isos) et en clickant sur 'save'. Vous pouvez rétablir les valeurs initiales avec 'reset', ou celles sauvegardées en donnant le nom du fichier de sauvegarde et en clickant sur 'restore'.

(Exemples)

Tracé des lignes de courant :

Ce module apparaît uniquement si les données contiennent des champs de vecteurs.

Clicker sur 'vector' dans la fenêtre de travail et choisir le champ de vecteur avec l'option "vector selected".

Pour commencer le tracé d'une ligne de courant, clicker sur 'point' dans la fenêtre principale. Une fenêtre apparaît donnant des informations sur les coordonnées. (Pour connaître les coordonnées d'un point du maillage, clicker de manière continue sur le bouton du milieu de la souris, les coordonnées sont indiquées dans la fenêtre du mode point, et changent pour suivre le mouvement de la souris.) Il suffit alors de clicker avec le bouton gauche de la souris dans le domaine maillé, une ligne de courant est calculée et des informations concernant le champ de vecteur apparaissent dans la fenêtre.Vous pouvez tracer autant de lignes de courant que vous voulez et les sauver afin de les retracer en clickant sur 'save lines'. Pour les retracer, clicker sur 'flow' dans la fenêtre principale, pour les détruires clicker sur 'destroy lines' puis 'redraw'.

Vous pouvez modifier le pas (coefficient multiplicatif utilisé pour progressé le long d'un vecteur et passer au vecteur suivant) en clickant sur 'step' et en entrant une nouvelle valeur.

L'algorithme utilisé par défaut pour calculer les lignes de courant est une méthode d'Euler explicite simple. Elle peut se révéler peu précise dans le cas de lignes de courant complexes avec de grands pas. C'est pourquoi il est possible d'utiliser une méthode de Runge-Kutta d'ordre 4. Il suffit pour cela de clicker sur 'RK4' dans la fenêtre "vecteur". En cas de doute sur la précision du calcul, il est conseillé d'essayer les 2 options avec plusieurs valeurs du pas. Bien sûr les résultats les plus précis seront obtenus avec la méthode de Runge-Kutta et le pas le plus petit, mais c'est aussi la méthode qui demande le plus de temps de calcul.

(Exemple)

Tracé d'un champ de vecteur :

Ce module apparaît uniquement si les données contiennent des champs de vecteurs.

  • Clicker sur 'vector' dans la fenêtre de travail et choisir le champ de vecteur avec l'option "vector selected".
  • Clicker sur 'draw vect nodes' dans la fenêtre "vecteur", et sur 'vect' dans la fenêtre de travail.
  • Vous pouvez mettre une flêche à vos vecteurs en clickant sur 'arrow' (fenêtre "vecteur").
  • Vous pouvez modifier l'échelle des vecteurs en modifiant le pas (clicker sur 'step').
  • Valeur d'une variable sur une ligne droite arbitraire :

  • Choisir une variable en clickant sur 'value' dans la fenêtre de travail
  • Choisir une direction de droite, pour cela :
  • Clicker sur 'Choose Direction', une ligne horizontale apparaît par défaut, on peut prendre un droite verticale en clickant sur 'Y'. (X correspond à l'horizontale, Y à la verticale)
  • Translation de la ligne : - choisir un point en clickant avec le bouton gauche de la souris, la ligne passe alors par ce point
  • Rotation : - Choisir un point en clickant avec le bouton gauche de la souris
  •         puis       - clicker 'Rotation Axis'

            puis       - choisir un second point du maillage, vous avez défini l'axe de rotation avec ces deux points.

            puis       - définir l'angle de rotation en déplaçant le curseur 'Rot'

           (Ces opérations peuvent être effectuées en clickant sur le bouton 'Rot')

  • clicker sur le bouton '1D cut line view', une fentre apparaît donnant des informations sur la coupe effectuées.
  • On peut visualiser une autre variable dans un autre type de représentation en clickant sur '__', le bouton change et devient '+++'. Cela signifie que la nouvelle ligne de coupe sera visualisée avec des marqueurs positionnés à l'intersection de la ligne de coupe et des segments du maillage 2D. Puis choisir une nouvelle variable ('value').
  • (EXEMPLE)

    La fonction '1D cut boundary view' est un outil du même genre, il trace l'évolution d'une variable le long des frontières du maillage.

    Pour commencer la visualisation :

    Quelque soit le mode de représentation choisi, des outils interactifs permettent une meilleure visualisation :

    Pour visualiser chaque changement, clicker sur 'redraw'.

    Le module 'PLANE CUT' :

  • Clicker sur 'Choose Plane', l'outil permettant de déplacer le point de vue à la souris est désactivé.
  • Des boutons sont activés.
  • Choisir une orientation de plan de coupe en clickant sur 'XY', 'YZ' ou 'ZX'. (par défaut le plan est orienté suivant XY).
  • Translation du plan : - choisir un point en clickant avec le bouton gauche de la souris, le plan passe alors par ce point
  • Rotation : - Choisir un point en clickant avec le bouton gauche de la souris sur un point de la frontière
  •         puis       - clicker 'Rotation Axis'

            puis       - choisir un second point de frontière, vous avez défini l'axe de rotation avec ces deux points.

            puis       - définir l'angle de rotation en déplaçant le curseur 'Rot'

           (Ces opérations peuvent être effectuées en clickant sur le bouton 'Rot')

  • Pour sauver ce plan, clickez sur 'plane equation', une fenêtre apparaît. Par défaut, le nom de sauvegarde est "vigie_3d.equation. 'reset' permet de revenir au plan défini par défaut, 'restore' de revenir au plan sauvegardé en en indiquant le nom.
  • Vous pouvez maintenant visualiser des isolignes et des surfaces colorées dans ce plan de coupe. La procédure à suivre est la même que celle décrite pour les problèmes 2D (isolignes 2D et isovaleurs 2D).

    (EXEMPLE)

    Vous pouvez aussi visualiser le maillage de ce plan en clickant sur 'mesh plane'.

    Il est possible de convertir une coupe plane en un problème 2D :

    Le module 'FLOW'

    Clicker sur 3D puis sur 'Flow', une fenêtre de travail apparaît.

    Choisir un champ de vecteur avec le menu 'vector'.

    POUR CALCULER UNE LIGNE DE COURANT :

    (EXEMPLE)

    POUR CALCULER UNE SURFACE DE COURANT :

    (EXEMPLE)

    Le module 'ISOSURFACES' :

    (EXEMPLE)

    Le module 'VOLUME RENDERING' :

    PRINCIPE :

    La technique du "Volume rendering" est souvent utilisée pour visualiser un champ scalaire pour un maillage 3D: le volume est considéré comme transparent. Chaque point émet une lumière proportionnelle à l'amplitude du scalaire.Le principe est de visualiser toutes les valeurs du volume connue aux points de maillage.

    AVANTAGES ET LIMITES D'UNE TELLE REPRËSENTATION :

    L'intensité de la lumière de l'image calculée est la seule information fournie et ne peut pas être utilisée pour différencier les variations de la variables et la profondeur de volume. Il est donc nécessaire de visualiser l'objet sous différents points de vue. C'est pourquoi le 'Volume Rendering' est associé à un outil permettant une animation. Cependant, nous n'avons pas réussi à animer la représentation.

    MODE D"EMPLOI :

    Clicker sur 3D puis sur 'Volume Rendering'

    CALCUL D'UN RENDU VOLUMIQUE:

    VISUALISER UNE ANIMATION :

    Le but est de définir une série de séquences d'images qui définissent une animation. Toutes les opérations suivantes sont exécutées dans la partie 'define animation' de la fenêtre de travail.

    ZOOM :

  • Clicker sur 'zoom', une fenêtre apparaît définissant la zone de zoom.
  • Vous pouvez :
  • Validez ces valeurs avec 'set'.
  • Sauver ces valeurs avec 'save', revenir aux valeurs initiales avec 'reset', revenir à celles sauvées avec 'restore'.
  • POSTSCRIPT :

    Vous pouvez éditer des fichiers postscripts en clickant sur 'PS' dans les fenêtres de travail, une fenêtre apparaît vous n'avez plus qu'à choisir un nom pour le fichier.






    Remarque :

    Le 'multi XD plot' permet de visualiser,semble-t-il, plusieurs problèmes à la fois. C'est une nouvelle fonctionnalité de VIGIE qui n'est pas encore documentée mais qui doit l'être prochainement. On y retrouve les mêmes fonctions que pour le 'mono XD plot'. Nous n'en parlerons plus par la suite car nous estimons que si l'on sait se servir du 'mono XD plot', l'utilisation de VIGIE en 'multi XD plot'ne posera pas de problème. Le développeur de VIGIE conseille cependant ce mode de visualisation qui est mieux "débuggé" notamment pour les problèmes 3D. En effet, des segmentation faults peuvent survenir lors de l'utilisation de VIGIE.