Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 3.3 Contraintes bidimensionnelles TRSTXX Sup.: 3 Visualisation de solutions Préc.: 4.1 Introduction Index Table des matières


3.2 Solutions bidimensionnelles TRMCXX

3.2.1 But et limites d'utilisation

Le préprocesseur TRMCXX permet de visualiser des maillages et les solutions associées.

Il permet de visualiser un champ de déplacements sous la forme du maillage déformé obtenu en ajoutant aux noeuds du maillage initial les déplacements correspondants multipliés par un facteur donné.

Il permet de visualiser un champ de vitesses soit comme le maillage déformé obtenu en ajoutant aux noeuds du maillage initial les vitesses, considérées comme des déplacements, multipliées par un facteur donné, soit par des flèches placées aux noeuds.

Il permet de visualiser les isovaleurs de la solution sur le maillage (la solution est alors interprétée en terme de triangles P1, voir plus bas).

Il permet de visualiser les flux (S.D. B obtenue lors de la résolution du problème avec des éléments finis mixtes) sur un maillage.

Il permet d'effectuer des coupes sur une solution affichée.

Attention : la visualisation des isovaleurs, ... et des flux n'est possible que pour certains éléments finis.

3.2.2 Utilisation de TRMCXX

On active le préprocesseur TRMCXX.

On choisit le terminal de sortie.

On donne le nom des fichiers contenant le maillage (S.D. MAIL et COOR).

Apparaît alors le menu (cf. plus bas).

Un tracé automatique ( maillage seul) est alors obtenu en tapant 0.

La valeur des paramètres de visualisation est obtenue en tapant V.

On modifie, si besoin est, ces valeurs en choisissant la clé correspondante et en donnant les informations demandées. Quand l'état désiré est atteint, on tape 0 et le tracé apparaît. En particulier, la clé 10 permet de choisir de dessiner le champ associé au maillage et de choisir le type de tracé désiré. On demande alors le nom du fichier contenant la solution (S.D. B) puis ce type.

Sur le tracé, existe un menu graphique permettant de modifier le dessin, de finir ou de revenir dans le menu évoqué ci-dessus et décrit dans les sections suivantes.

Description complète de TRMCXX

En pratique et en utilisant le préprocesseur TRMCXX, on indiquera au module les différents choix retenus pour les possibilités offertes.

Le module calcule automatiquement les extrema associés au maillage et à la solution traitée qui permettent de définir les coins de la boîte dans laquelle sera affiché le dessin.

Le menu de TRMACO (module appelé dans ce cas) est indiqué ci-dessous.

 
 ------------------------------------------------------------ 
 | 10 | TYPE DU DESSIN            |         MAILLAGE SEUL                               
 ------------------------------------------------------------
 | 11 | NUMERO DU PERIPHERIQUE    |              1
 ------------------------------------------------------------
 | 12 | TITRE DU DESSIN           |                                                                                  
 ------------------------------------------------------------
 | 20 | S.D. MAIL A DESSINER      |         sd.mail                                                                 
 ------------------------------------------------------------
 | 20 | S.D. COOR A DESSINER      |         sd.coor                                                                 
 ------------------------------------------------------------
 | 31 | QUESTIONS SUR UNE S.D.    |   NON                                 
 ------------------------------------------------------------
 | 30 | TAILLE DU DESSIN          |  AUTO
 ------------------------------------------------------------
 | 40 | TYPE DES CARACTERES       |  HARD
 ------------------------------------------------------------
 | 50 | ITEMS TRACES              |  TRIANGULATION                        
 ------------------------------------------------------------
 | 60 | LEGENDE                   |  OUI                                  
 ------------------------------------------------------------
 | 70 | NUMERO                    |  AUCUN                                
 ------------------------------------------------------------
 | 80 | TYPE DES TRAITS (MAILLAGE)|  CONTINU                              
 ------------------------------------------------------------

Pour chaque option, une valeur par défaut est proposée (par défaut on ne visualise que le maillage, pour demander à voir la solution, il faut sélectionner la clé 10). Le tableau ci-dessus liste les choix automatiques retenus. Pour obtenir un tracé, on tape 0.

A chaque item correspondent une clé (un numéro) et un état. Pour modifier l'état, il suffit de taper la clé et de donner éventuellement (cf. introduction générale) les valeurs correspondant à l'état souhaité. La liste des clés est la suivante:

Un dessin étant affiché à l'écran, on dispose, comme pour les autres modules, d'un menu graphique permettant de :

Nous donnons maintenant quelques précisions sur les choix possibles dépendant du type de visualisation choisi:

Un maillage seul :

On retrouve alors le cas décrit ci-dessus (identique quant à ses possibilités au cas où on utilise le préprocesseur TRNOXX en 2D auquel nous renvoyons).

Une déformée :

On active la clé 10 et on choisit l'option 1. Il faut alors donner le nom du fichier contenant la S.D. B contenant les solutions (déplacements ou vitesses interprétées comme des déplacements). Le menu s'enrichit alors (clés en gras) et devient:

 
 ------------------------------------------------------------
 | 10 | TYPE DU DESSIN            |    MAILLAGE ET SA DEFORMEE                     
 ------------------------------------------------------------
 | 11 | NUMERO DU PERIPHERIQUE    |              1
 ------------------------------------------------------------
 | 12 | TITRE DU DESSIN           |                                                                                  
 ------------------------------------------------------------
 | 20 | S.D. MAIL A DESSINER      |         carre.mail                                                              
 ------------------------------------------------------------
 | 20 | S.D. COOR A DESSINER      |         carre.coor                                                              
 ------------------------------------------------------------
 | 21 | S.D. B UTILISEE           |         carre.solu2                                                             
 ------------------------------------------------------------
 | 24 | CAS DE CHARGE             |              1
 ------------------------------------------------------------
 | 27 | TABLEAU B4 SELECTIONNE    |              1
 ------------------------------------------------------------
 | 22 | RAPPORT DE DEFORMATION    |           0.1000000    
 ------------------------------------------------------------
 | 31 | QUESTIONS SUR UNE S.D.    |   NON                                 
 ------------------------------------------------------------
 | 30 | TAILLE DU DESSIN          |  AUTO
 ------------------------------------------------------------
 | 40 | TYPE DES CARACTERES       |  HARD
 ------------------------------------------------------------
 | 50 | ITEMS TRACES              |  TRIANGULATION                        
 ------------------------------------------------------------
 | 50 | ITEMS TRACES ( DEFORMEE ) |  TRIANGULATION                        
 ------------------------------------------------------------
 | 60 | LEGENDE                   |  OUI                                  
 ------------------------------------------------------------
 | 70 | NUMERO                    |  AUCUN                                
 ------------------------------------------------------------
 | 80 | TYPE DES TRAITS (MAILLAGE)|  POINTILLE                            
 ------------------------------------------------------------
 | 80 | TYPE DES TRAITS (DEFORMEE)|  CONTINU                              
 ------------------------------------------------------------

Pour chaque option, une valeur par défaut est proposée. Le tableau ci-dessus liste les choix automatiques retenus dans le cas du tracé des déformations. Pour obtenir un tracé, on tape 0.

A chaque item correspondent une clé (un numéro) et un état. Pour modifier l'état, il suffit de taper la clé et de donner éventuellement (cf. introduction générale) les valeurs correspondant à l'état souhaité. La liste des clés est la suivante:

Un dessin étant affiché à l'écran, on dispose, comme pour les autres modules, d'un menu graphique permettant d'effectuer les opérations (0), (1), (2), (3), (4), (5 ou M), (6), (8) et (9) déjà décrites.

Exemple :

Un exemple de dessin de maillage bidimensionnel et de sa déformée obtenu via TRMCXX est donné sur la figure 3.1. Il s'agit de l'exemple du test 2 en élasticité 2D en déformations planes décrit dans [Guide Modulef - 1]. Les déformations sont amplifiées d'un facteur 4., valeur affichée dans la fenêtre F4 du dessin.

Le dessin a été obtenu en tapant la séquence suivante:

 
Figure: Exemple TRMCXX 2D: maillage et déformée 

Des isovaleurs :

On active la clé 10 et on choisit l'option 2. Il faut alors donner le nom du fichier contenant la S.D. B contenant les solutions. Le menu s'enrichit (clés en gras) alors et devient:

 
 ------------------------------------------------------------
 | 10 | TYPE DU DESSIN            |    MAILLAGE ET ISOVALEURS                      
 -------------------------------------------------------------
 | 11 | NUMERO DU PERIPHERIQUE    |              1
 -------------------------------------------------------------
 | 12 | TITRE DU DESSIN           |                                                                                  
 -------------------------------------------------------------
 | 20 | S.D. MAIL A DESSINER      |         carre.mail                                                              
 -------------------------------------------------------------
 | 20 | S.D. COOR A DESSINER      |         carre.coor                                                              
 -------------------------------------------------------------
 | 21 | S.D. B UTILISEE           |         carre.solu                                                              
 -------------------------------------------------------------
 | 24 | CAS DE CHARGE             |              1
 -------------------------------------------------------------
 | 27 | TABLEAU B4 SELECTIONNE    |              1
 -------------------------------------------------------------
 | 32 | INCONNUE CHOISIE          |       1
 -------------------------------------------------------------
 | 32 | MNEMONIQUE CHOISI         |  VN  
 -------------------------------------------------------------
 | 25 | NOMBRE D'ISOVALEURS       |      20
 -------------------------------------------------------------
 | 26 | CHOIX DES ISOVALEURS      |   MIN < ** < MAX                      
 -------------------------------------------------------------
 | 72 | DESSIN DES ISOVALEURS     |   AU TRAIT COULEUR                    
 -------------------------------------------------------------
 | 45 | SPECTRE DE COULEURS       |   STANDARD : ROUGE -> BLEU            
 -------------------------------------------------------------
 | 46 | SENS DU SPECTRE           |   DIRECTE                             
 -------------------------------------------------------------
 | 34 | COULEUR-VALEUR IMPOSE     |   NON                                 
 -------------------------------------------------------------
 | 71 | MARQUAGE DES ISOVALEURS   |   NON                                 
 -------------------------------------------------------------
 | 31 | QUESTIONS SUR UNE S.D.    |   NON                                 
 -------------------------------------------------------------
 | 30 | TAILLE DU DESSIN          |  AUTO
 -------------------------------------------------------------
 | 40 | TYPE DES CARACTERES       |  HARD
 -------------------------------------------------------------
 | 50 | ITEMS TRACES              |  TRIANGULATION                        
 -------------------------------------------------------------
 | 60 | LEGENDE                   |  OUI                                  
 -------------------------------------------------------------
 | 70 | NUMERO                    |  AUCUN                                
 -------------------------------------------------------------
 | 80 | TYPE DES TRAITS (MAILLAGE)|  CONTINU                              
 -------------------------------------------------------------
 | 80 | TYPE DES TRAITS (ISOVAL.) |  CONTINU                              
 -------------------------------------------------------------

Pour chaque option, une valeur par défaut est proposée. Le tableau ci-dessus liste les choix automatiques retenus dans le cas du tracé des isovaleurs. Pour obtenir un tracé, on tape 0.

A chaque item correspondent une clé (un numéro) et un état. Pour modifier l'état, il suffit de taper la clé et de donner éventuellement (cf. introduction générale) les valeurs correspondant à l'état souhaité. La liste des clés est la suivante:

Un dessin étant affiché à l'écran, on dispose, comme pour les autres modules, d'un menu graphique permettant de :

La seule nouveauté est l'item d'interrogation sur la valeur d'une isovaleur. Il y a plusieurs moyens d'effectuer cette interrogation, un moyen correspond à la lettre tapée en cliquant sur l'isovaleur traitée:

Remarque : Quelques différences entre cette description et le résultat effectivement obtenu sont possibles en fonction du type de terminal utilisé (couleur, noir et blanc, ... ), du type de visualisation demandé (traits ou remplissage) et de la précision de la désignation des points.

Exemple

L'exemple montré sur les figures 3.2 à 3.4 correspond au dessin des isovaleurs des déplacements en X du problème test 2. Le premier dessin est fait sans marquage des isovaleurs mais en cliquant (action (S) du menu graphique) certaines isolignes de manière à faire apparaître sur l'écran la valeur correspondante tandis que le second inclut le marquage des isovaleurs (notons que d'une ligne à l'autre, le type de traits change). Le troisième dessin est réalisé sur un terminal couleur et envoyé en softcopie sur une imprimante postcript noir et blanc.

Les dessins ont été obtenus en tapant les séquences suivantes:

 
Figure 3.2: Exemple TRMCXX 2D: Maillage et isovaleurs 

 
Figure: Exemple TRMCXX 2D: Isovaleurs marquées 

 
Figure 3.4: Exemple TRMCXX 2D: Isovaleurs avec remplissage 

Des vitesses :

On active la clé 10 et on choisit l'option 3. Il faut alors donner le nom du fichier contenant la S.D. B contenant les vitesses. Le menu s'enrichit alors et devient:

 
 ------------------------------------------------------------
 | 10 | TYPE DU DESSIN            |    MAILLAGE ET VITESSES                        
 ------------------------------------------------------------
 | 11 | NUMERO DU PERIPHERIQUE    |              1
 ------------------------------------------------------------
 | 12 | TITRE DU DESSIN           |                                                                                  
 ------------------------------------------------------------
 | 20 | S.D. MAIL A DESSINER      |         carre.mail                                                              
 ------------------------------------------------------------
 | 20 | S.D. COOR A DESSINER      |         carre.coor                                                              
 ------------------------------------------------------------
 | 21 | S.D. B UTILISEE           |         carre.solu2                                                             
 ------------------------------------------------------------
 | 24 | CAS DE CHARGE             |              1
 ------------------------------------------------------------
 | 27 | TABLEAU B4 SELECTIONNE    |              1
 ------------------------------------------------------------
 | 29 | FLECHE MAXI EN CM.        |            2.000000    
 ------------------------------------------------------------
 | 28 | EXTREMITE DES FLECHES     |             -1
 ------------------------------------------------------------
 | 31 | QUESTIONS SUR UNE S.D.    |   NON                                 
 ------------------------------------------------------------
 | 30 | TAILLE DU DESSIN          |  AUTO
 ------------------------------------------------------------
 | 40 | TYPE DES CARACTERES       |  HARD
 ------------------------------------------------------------
 | 50 | ITEMS TRACES              |  TRIANGULATION                        
 ------------------------------------------------------------
 | 60 | LEGENDE                   |  OUI                                  
 ------------------------------------------------------------
 | 70 | NUMERO                    |  AUCUN                                
 ------------------------------------------------------------
 | 80 | TYPE DES TRAITS (MAILLAGE)|  POINTILLE                            
 ------------------------------------------------------------
 | 80 | TYPE DES TRAITS (FLECHES) |  CONTINU                              
 ------------------------------------------------------------

Pour chaque option, une valeur par défaut est proposée. Le tableau ci-dessus liste les choix automatiques retenus dans le cas du tracé des vitesses. Pour obtenir un tracé, on tape 0.

A chaque item correspondent une clé (un numéro) et un état. Pour modifier l'état, il suffit de taper la clé et de donner éventuellement (cf. introduction générale) les valeurs correspondant à l'état souhaité. La liste des clés est la suivante:

Un dessin étant affiché à l'écran, on dispose, comme pour les autres modules, d'un menu graphique permettant d'effectuer les opérations (0), (1), (2), (3), (4), (5 ou M), (6), (7 X A Z), (8) et (9) déjà décrites.

La seule nouveauté est l'item d'interrogation sur la valeur d'une vitesse. Il y a plusieurs moyens d'effectuer cette interrogation, un moyen correspond à la lettre tapée en cliquant sur un point du maillage:

Remarque : Quelques différences entre cette description et le résultat effectivement obtenu sont possibles en fonction du type de terminal utilisé (couleur, noir et blanc, ... ) et de la précision de la désignation des points.

Exemple

L'exemple de la figure 3.5 n'est autre que l'interprétation des déplacements du test 2, utilisé lors de l'option déformée, en terme de vitesses.

Le dessin a été obtenu en tapant la séquence suivante:

 
Figure 3.5: Exemple TRMCXX 2D: maillage (zoom) et vitesses 

Des coupes :

On active la clé 10 et on choisit l'option 4. Il faut alors donner le nom du fichier contenant la S.D. B contenant la solution. Le menu s'enrichit alors et devient:

 
 ------------------------------------------------------------
 | 10 | TYPE DU DESSIN            | MAILLAGE ET COUPES D'UNE S.D. B             
 ------------------------------------------------------------
 | 11 | NUMERO DU PERIPHERIQUE    |              1
 ------------------------------------------------------------
 | 12 | TITRE DU DESSIN           |                                                                                  
 ------------------------------------------------------------
 | 20 | S.D. MAIL A DESSINER      |         carre.mail                                                              
 ------------------------------------------------------------
 | 20 | S.D. COOR A DESSINER      |         carre.coor                                                              
 ------------------------------------------------------------
 | 21 | S.D. B UTILISEE           |         carre.solu                                                              
 ------------------------------------------------------------
 | 24 | CAS DE CHARGE             |              1
 ------------------------------------------------------------
 | 27 | TABLEAU B4 SELECTIONNE    |              1
 ------------------------------------------------------------
 | 37 | SELECTION DE LA COUPE     |         AUTO
 ------------------------------------------------------------
 | 38 | INCONNUE CHOISIE          |          1   
 ------------------------------------------------------------
 | 38 | MNEMO CHOISIE             |         VN   
 ------------------------------------------------------------
 | 39 | TYPE DES FONCTION(S)      |         VC                                                                      
 ------------------------------------------------------------
 | 31 | QUESTIONS SUR UNE S.D.    |   NON                                 
 ------------------------------------------------------------
 | 30 | TAILLE DU DESSIN          |  AUTO
 ------------------------------------------------------------
 | 40 | TYPE DES CARACTERES       |  HARD
 ------------------------------------------------------------
 | 50 | ITEMS TRACES              |  TRIANGULATION                        
 ------------------------------------------------------------
 | 60 | LEGENDE                   |  OUI                                  
 ------------------------------------------------------------
 | 70 | NUMERO                    |  AUCUN                                
 ------------------------------------------------------------
 | 80 | TYPE DES TRAITS (MAILLAGE)|  CONTINU                              
 ------------------------------------------------------------

Pour chaque option, une valeur par défaut est proposée. Le tableau ci-dessus liste les choix automatiques retenus dans le cas du tracé des coupes. Pour obtenir un tracé, on tape 0, on obtient le tracé du maillage sur lequel on va pouvoir définir la coupe via l'item (7) du menu graphique ou via la clé 37.

A chaque item correspondent une clé (un numéro) et un état. Pour modifier l'état, il suffit de taper la clé et de donner éventuellement (cf. introduction générale) les valeurs correspondant à l'état souhaité. La liste des clés est la suivante:

Un dessin (maillage seul) étant affiché à l'écran, on dispose, comme pour les autres modules, d'un menu graphique permettant d'effectuer les opérations (0), (1), (2), (3), (4), (5 ou M), (6), (8) et (9) déjà décrites. L'option (7) sert à définir la droite de coupe:

Apparaît alors sur la console la question:

   VOULEZ VOUS PRECISER LES AXES (OUI-NON)

Une réponse négative déclenche le tracé automatique de la coupe.

Une réponse positive déclenche le sous-menu suivant :

 ------------------------------------------------------------
 | 22 | ECHELLE EN X              |   LINEAIRE                            
 ------------------------------------------------------------
 | 22 | ECHELLE EN Y              |   LINEAIRE                            
 ------------------------------------------------------------
 | 61 | LEGENDE SUR LES AXES      |   NON                                  
 ------------------------------------------------------------
 | 62 | DEFINITION DES AXES       |   AUTO                                
 ------------------------------------------------------------
 | 63 | COURBE(S) AVEC LEGENDE    |   NON                                  
 ------------------------------------------------------------

qui est analogue au menu de TRACXX permettant de définir et d'habiller les axes du tracé de la coupe (il s'agit donc du tracé d'une courbe, cas expliqué en détails dans TRACXX auquel on se reportera).

Le dessin de la coupe étant obtenu, on a le menu graphique suivant:

Exemple

L'exemple de la figure 3.6 n'est autre qu'une coupe sur les déplacements en X du test 2. La droite de coupe est verticale et passe aux milieux des cercles (ce qui explique la présence de deux trous dans la coupe, voir la géométrie sur les figures ci-dessus).

Le dessin a été obtenu en tapant la séquence suivante:

 
Figure 3.6: Exemple TRMCXX 2D: coupe 

Un flux :

Cette option ne permet de visualiser les flux que pour des éléments finis mixtes. Le flux sera représenté à l'aide de flèches (comme une vitesse). Par suite on retrouve comme mode d'emploi de ce cas celui lié au tracé des vitesses. La seule différence étant au niveau de la clé 56 présente dans le menu principal.

 ------------------------------------------------------------
 | 56 | VISUALISATION DU FLUX     |          PARTOUT                                    
 ------------------------------------------------------------

Ce choix (par défaut) peut être modifié, en activant la clé 56, en:

    SUR TOUTES LES REFERENCES  : 0             
    PARTOUT                    : 1             
    SUR DES REFERENCES         : 2

Le cas 2 consiste à choisir des numéros de référence que l'on demandera.

3.2.4 Interpolation P1 des champs solutions

Dans le cas du tracé des isovaleurs d'une solution, il convient de définir précisément ce que l'on trace. Les éléments finis utilisés (décrits dans la S.D. MAIL) peuvent être plus ou moins riches (en fonction du degré de l'interpolation choisie).

Le programme de tracé est purement P1 et s'applique au cas d'un élément de type triangle. A partir des valeurs de la solution aux trois sommets d'un triangle, on calcule les isovaleurs présentes dans ce triangle.

Par suite, chaque élément fini devra être décomposé en l'ensemble le plus judicieux de triangles de telle sorte que la qualité de son interpolation soit préservée: il ne s'agit pas de faire des tracés jolis mais des tracés conformes aux informations connues. Cette décomposition doit donc répondre à ce souci. Il s'agira donc pour chaque élément de l'interpréter en terme de triangles P1.

Les choix retenus pour les éléments courants sont les suivants:

Seuls certains éléments sont actuellement connus et donc traités par le module de tracé. Si un élément n'est pas connu, le module stoppera et indiquera qu'il ne connaît pas ce type d'élément. L'utilisateur devra alors le rajouter en le décomposant de manière consistante avec l'interpolation correspondante.

La décomposition est l'objet du sous-programme RANGPQ de la bibliothèque UTIL. Ce sous-programme a la forme suivante:

 
      SUBROUTINE RANGPQ(NOM1,NOM2,NCGE,NNO,NONO,NPO,NOPOI,COORP,
     +                  SOLU,XX,YY,SOL,NTRIP1)
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  BUT : DECOMPOSER L'ELEMENT EN TRIANGLES P1 UNIQUEMENT
C  ---
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  PARAMETRES D'ENTREE :
C  -------------------  
C  NOM1, NOM2 : NOMS DE L'ELEMENT
C  NCGE,NNO,NONO(*),NPO,NOPOI(*) : NOTATIONS HABITUELLES
C  COORP   : COORDONNEES DES POINTS
C  SOLU    : TABLEAU DES SOLUTIONS = B4(NDSMT,NDT,1:NOE)
C            AVEC NDSMT : LE SECOND MEMBRE CONSIDERE ( ENTRE 1 ET NDSM )
C                 NDT   : LE D.L. CONSIDERE ( ENTRE 1 ET ND )
C                 B4    : LE TABLEAU B4 CONSIDERE
C            REMARQUE   : LE SP CHARB4 CREE SOLU A PARTIR DU B4 GLOBAL
C  PARAMETRES DE SORTIE :
C  ---------------------
C  XX(*),YY(*) : COORDONNEES DES POINTS P1
C  SOL     : SOLUTIONS CORRESPONDANTES
C  NTRIP1  : NOMBRE D ELEMENT P1 DANS LA DECOMPOSITION DE L ELEMENT
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
C
C  SUBROUTINE A COMPLETER POUR TOUT NOUVEL ELEMENT INTERPRETE EN P1.   
C
C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C  PROGRAMMEUR  : PL GEORGE  INRIA  1987
C  ....................................................................
      DIMENSION NONO(*),NOPOI(*),COORP(2,*),SOLU(*),XX(*),YY(*),
     +          SOL(*),SOLP1(3),SOLP2(6),SOLQ1(4),SOLQ2(9),INDIC(4),
     +          SOLQ5(5)
      CHARACTER*4 NOM1,NOM2
  200 FORMAT(' %% ERREUR RANGPQ : ELEMENT ',A4,A4,' NON CONNU'///
     +       ' VOIR LE SP RANGPQ ET AJOUTER CET ELEMENT'///)
C
      IMPRIM = IINFO('I') 
C     -------------------------------------------------------
C     ------------         LES TRIANGLES         ------------
C     -------------------------------------------------------
      IF ( NOM1 .EQ. 'TRIA'  ) THEN
C        -------------   TRIANGLE :  NOM COMMENCANT PAR TRIA
         IF( NOM2 .EQ. '2P1D' ) THEN  
C        ------   TRIA 2P1D   ------
             NTRIP1 = 1
             NUMER  = 0
             DO 301 J=1,NNO
                SOLP1(J) = SOLU(NONO(J))
                INDIC(J) = J
  301        CONTINUE
             CALL RANGP1(NUMER,COORP,INDIC,SOLP1,XX,YY,SOL)
         ELSE IF( NOM2 .EQ. 'AP1D' ) THEN  
C        ------   TRIA AP1D   ------
             NTRIP1 = 1
             NUMER  = 0
             DO 339 J=1,NNO
                SOLP1(J) = SOLU(NONO(J))
                INDIC(J) = J
  339        CONTINUE
             CALL RANGP1(NUMER,COORP,INDIC,SOLP1,XX,YY,SOL)
         ELSE .....  
              .....
              .....               elements connus
         ELSE
             WRITE (IMPRIM,200) NOM1,NOM2  
             CALL TILT                           elements inconnus
         END IF 
C     -------------------------------------------------------
C     ------------         LES QUADRANGLES       ------------
C     -------------------------------------------------------
      ELSE IF ( NOM1 .EQ. 'QUAD' ) THEN
         IF ( NOM2 .EQ. '2Q1D' ) THEN
C        ------   QUAD 2Q1D   ------
             NTRIP1 = 4
             DO 406 J=1,NNO
               SOLQ1(J) = SOLU(NONO(J))
               INDIC(J) = J
  406        CONTINUE
             NUMER = 0
             CALL RANGQ1(NUMER,COORP,INDIC,SOLQ1,XX,YY,SOL) 
         ELSE .....
              .....
              .....               elements connus
         ELSE
             WRITE (IMPRIM,200) NOM1,NOM2  
             CALL TILT
         END IF                               elements inconnus
      ELSE 
         WRITE (IMPRIM,200) NOM1,NOM2  
         CALL TILT                      elements inconnus
      END IF 
      END

Le sous-programme RANGPQ utilise un certain nombre de sous-programmes élémentaires (RANGP1, RANGP2, RANGQ1, RANGQ2 ...). Ajouter un élément fini revient à ajouter la bonne branche et à utiliser le bon sous-programme élémentaire ou à en écrire un nouveau (chacun est très simple). Pour gouverner ce calcul, on dispose en particulier de NOM1 et NOM2, les 2 parties du nom de l'élément, de son code géométrique, de son nombre de points et de noeuds et des tableaux de ses points et de ses noeuds (il semble qu'avec ces informations on soit capable de reconnaître sans ambiguïté tous les éléments).

Remarque : l'étiquette utilisée pour un élément rappelle sa géométrie et son numéro (par exemple, le triangle 2P1D a pour code géométrique NCGE = 3 et pour numéro 1 (100001 ou 200001), on a donc fixé l'étiquette de cet élément à 301).

Exemple de décomposition avec le nom des subroutines employées:

       RANGPQ
        si TRIA 2P1D  : RANGP1      1 P1 ===> 1 P1 
           TRIA AP1D  : Idem
        si TRIA 2P2D  : RANGP2      1 P2 ===> 4 P1 
                        on calcule les coordonnees des milieux
                        et on range RANGP1 la solution
        si TRIA 2P2C  : RANGP2      1 P2 ===> 4 P1
                        on range RANGP1 la solution  
           TRIA AP2C  : Idem
        si QUAD 2Q1D  : RANGQ1      1 Q1 ===> 4 P1
                        on calcule le barycentre  et sa solution
                        et on range RANGP1 cette solution 
           QUAD AQ1C  : Idem
        si QUAD 2Q2D  : RANGQ2      1 Q2 ===> 16 P1
                        on calcule les coordonnees des milieux
                        on calcule le barycentre et sa solution
                        et on range RANGQ1 (RANGP1) cette solution
        si QUAD 2Q2C  : RANGQ2      1 Q2 ===> 16 P1
                        on calcule le barycentre et sa solution
                        et on range RANGQ1 (RANGP1) cette solution 
           QUAD AQ2C  : Idem
        ...... etc


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 3.3 Contraintes bidimensionnelles TRSTXX Sup.: 3 Visualisation de solutions Préc.: 4.1 Introduction Index Table des matières