Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 2.3 Le module CORNOE Sup.: 2 Interpolation Préc.: Généralités Index Table des matières


2.2 Les modules COMAC2, COMAC3 et COMACO

Nous décrivons tout d'abord les modules COMAC2 et COMAC3, ceux-ci d'une utilisation plus facile que COMACO sont respectivement utilisés dans les cas bi et tridimensionnels.

2.2.1 Le module COMAC2

 

But et limites d'utilisation

Ce module crée à partir d'une S.D. bidimensionnelle et des bibliothèques d'éléments finis Modulef (thermique, élastique ...) les structures de données MAIL et COOR.

Ces deux structures de données décrivent un maillage mono, bi ou tridimensionnel avec des informations sur les interpolations effectuées au niveau des inconnues et de la géométrie de l'élément.

Mise en oeuvre du module COMAC2

Le programme d'appel :

 

Sous-programmes et fonctions supplémentaires :


La fonction FFRONT est utilisée par le module COMAC2 pour décrire les frontières courbes.

La fonction FFRONT :
 
 

Cette fonction est utilisé en 2D, pour décrire les lignes courbes. FFRONT définit les courbes sur lesquelles les points non sommets, non internes doivent être projetés perpendiculairement à la corde de l'axe.

On peut éviter d'écrire cette fonction, en utilisant, pour définir les lignes courbes les fonctions interprétées.

L'utilisation des fonctions interprétées permet d'éviter la phase d'édition de lien dès que l'on modifie l'équation des courbes car celles-ci sont données dans des fichiers de données.

Nous donnons maintenant les paramètres de cette fonction :

FUNCTION FFRONT(ICOU, X, Y, Z)
Les paramètres d'entrée :
ICOU :
(I) numéro de référence de la ligne courbe décrite,
X :
(R) abscisse du point à projeter
Y :
(R) ordonnée du point à projeter

Les paramètres de sortie :
FFRONT :
( R) valeur de la courbe

Les fichiers et bibliothèques nécessaires :


Le fichier, de numéro de support NFNOPO (> 0), contenant la structure de données NOPO , si celle-ci ne réside pas en mémoire centrale.

Le fichier, de numéro de support NFMAIL (> 0), contenant la S.D. de sortie MAIL ; si celle-ci ne réside pas en mémoire centrale.

Le fichier, de numéro de support NFCOOR (> 0), contenant la structure de données COOR.

Les bibliothèques Modulef utilisées par ce module sont :

Pour effectuer une édition de lien avec le module COMAC2, il est nécessaire, sur certaines machines, d'ordonner le bibliothèques de la façon suivante :
cosd - flui - elas - elcp - ther - ela2 - ela3 - magn - utsd - zzzz_mod -
[4] utii - u_ nom de la machine,
(ceci afin de respecter les appels des modules entre les différentes bibliothèques)

Les tableaux associés :


Si NTMAIL (respectivement NTCOOR) est non nul on lira NTMAIL (NTCOOR) tableaux sur des cartes de données.
Pour I de 1 à NTMAIL (NTCOOR), Fin Pour

Les cartes de données :


Ce module n'utilise pas de cartes de données.

Exemple

  Nous illustrons l'utilisation de COMAC2 avec un problème d'élasticité bidimensionnel, la figure 2.4 représente le domaine d'étude du problème.

 
Figure: Domaine d'étude du problème 

L'énoncé du problème est donné en annexe C.

Pour résoudre ce problème, on choisit une formulation variationnelle en déplacement et l'on utilise une interpolation P2-Lagrange ; on travaille donc avec l'élément fini ELAS TRIA 2P2D.

Listing du programme appelant COMAC2 {

     1	      PROGRAM PROG2
     2	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     3	C   TEST D'ELASTICITE  DEFORMATIONS-CONTRAINTES PLANES 
     4	C   -----------------     ELEMENT  P2
     5	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     6	C   S.D.E. : NOPO  
     7	C
     8	C   S.D.S. : MAIL COOR 
     9	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    10	C     INTERPOLATION P2 
    11	C  ...................................................................
    12	      DOUBLE PRECISION DM
    13	C
    14	      DIMENSION ICODEL(7),NOLC(1)
    15	      CHARACTER*72 NOMFIC,NOMBIB*4
    16	      LOGICAL FONINT
    17	      REAL FFRONT
    18	      INTEGER NFMAIL, NFCOOR, NFNOPO, NINOPO, NIMAIL, NICOOR, NTMAIL,
    19	     +        NTCOOR, IMPRE, NNN, NDSD, NBSDC, NBSC, NBLC, NOLC
    20	C
    21	      PARAMETER (LM = 45000 )
    22	      EQUIVALENCE (M(1),DM)
    23	      COMMON M(LM)
    24	      EXTERNAL FFRONT
    25	C
    26	 50   FORMAT(' -- NOM DE LA S.D.E NOPO')
    27	 60   FORMAT(' -- NOM DE LA S.D.S MAIL')
    28	 70   FORMAT(' -- NOM DE LA S.D.S COOR')
    29	 110  FORMAT(' ** IMPRESSION DE LA S.D. MAIL')
    30	 120  FORMAT(' ** IMPRESSION DE LA S.D. COOR')
    31	C
    32	C    INITIALISATION
    33	C    --------------
    34	      NNN   = 0
    35	      IMPRE = 5
    36	      CALL INITIS(M,LM,IMPRE,NNN)
    37	C
    38	      IMPRIM = IINFO('I')
    39	C
    40	C    OUVERTURE DU FICHIER CONTENANT LA S.D.E. NOPO
    41	C    ---------------------------------------------
    42	      WRITE(IMPRIM,50)
    43	      CALL LIBCAR(NOMFIC)
    44	      CALL TRUNIT(NFNOPO)
    45	      CALL OUVRIS(NFNOPO,NOMFIC,'OLD,UNFORMATTED',0)
    46	      NINOPO = 1
    47	C
    48	C    OUVERTURE DU FICHIER CONTENANT LA S.D.S. MAIL
    49	C    ---------------------------------------------
    50	      WRITE(IMPRIM,60)
    51	      CALL LIBCAR(NOMFIC)
    52	      CALL TRUNIT(NFMAIL)
    53	      CALL OUVRIS(NFMAIL,NOMFIC,'UNFORMATTED',0)
    54	      NIMAIL = 1
    55	C
    56	C    OUVERTURE DU FICHIER CONTENANT LA S.D.S. COOR
    57	C    ---------------------------------------------
    58	      WRITE(IMPRIM,70)
    59	      CALL LIBCAR(NOMFIC)
    60	      CALL TRUNIT(NFCOOR)
    61	      CALL OUVRIS(NFCOOR,NOMFIC,'UNFORMATTED',0)
    62	      NICOOR = 1
    63	
    64	C    DESCRITION DU DOMAINE ETUDIE (PAS DE LIGNE COURBE)
    65	C    -------------------------------------------------
    66	C                              2 SOUS-DOMAINE 
    67	      NDSD = 2
    68	      NBLC = 0
    69	      NOLC(1) = 0
    70	C
    71	C    NOM DE LA BIBLIOTHEQUE  UTILISE (ELAS) ET DE L'E.F. (TRIA 2P2D) 
    72	C    ---------------------------------------------------------------
    73	C    SUR LES DEUX SOUS-DOMAINES
    74	C    --------------------------
    75	      NOMBIB = 'ELAS'
    76	      ICODEL(1) = 1
    77	      ICODEL(2) = ICHAR4('TRIA')
    78	      ICODEL(3) = ICHAR4('2P2D')
    79	      ICODEL(4) = 0
    80	      ICODEL(5) = 1
    81	      ICODEL(6) = ICHAR4('TRIA')
    82	      ICODEL(7) = ICHAR4('2P2D')
    83	
    84	C    AUCUN TABLEAU N'EST ASSOCIE AUX S.D. MAIL ET COOR
    85	C    -------------------------------------------------
    86	      NTMAIL = 0
    87	      NTCOOR = 0
    88	C
    89	C    ON N'UTILISE PAS DE FONCTIONS INTERPRETEES
    90	C    ------------------------------------------
    91	      FONINT = .FALSE.
    92	C
    93	C    APPEL DE COMAC2
    94	C    ---------------
    95	      CALL COMAC2(M,NDSD,NBLC,NOLC,NOMBIB,ICODEL,
    96	     +            NFNOPO,NINOPO,NFMAIL,NIMAIL,NTMAIL,
    97	     +            NFCOOR,NICOOR,NTCOOR,FONINT,FFRONT)
    98	C
    99	C    IMPRESSION DES S.D. MAIL ET COOR
   100	C    --------------------------------
   101	      WRITE(IMPRIM, 110)
   102	      CALL IMMAIL(M, NFMAIL, NIMAIL, IMPRE)
   103	      WRITE(IMPRIM, 120)
   104	      CALL IMCOOR(M, NFCOOR, NICOOR, IMPRE)
   105	C
   106	C    FERMETURE DES FICHIERS CONTENANT LES S.D.
   107	C    -----------------------------------------
   108	      CLOSE(NFNOPO)
   109	      CLOSE(NFCOOR)
   110	      CLOSE(NFMAIL)
   111	      END
   112
}

Listing d'exécution {

 M   M    OOO    DDDD    U   U   L       EEEEE   FFFFF
 MM MM   O   O   D   D   U   U   L       E       F
 M M M   O   O   D   D   U   U   L       EEEE    FFFF
 M   M   O   O   D   D   U   U   L       E       F
 M   M    OOO    DDDD     UUU    LLLLL   EEEEE   F      VERSION 92

 DATE   : 24/02/93
 AUTEUR : pate                    
 -- NOM DE LA S.D.E NOPO
SD.NOPO
 ++ OPEN(10,FILE='SD.NOPO',SPEC='OLD,UNFORMATTED',RECL=0)
 -- NOM DE LA S.D.S MAIL
SD.MAIL
 ++ OPEN(11,FILE='SD.MAIL',SPEC='UNFORMATTED',RECL=0)
 -- NOM DE LA S.D.S COOR
SD.COOR
 ++ OPEN(12,FILE='SD.COOR',SPEC='UNFORMATTED',RECL=0)
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 MODULE COMACO :                                                                                 
 S.D.S. MAIL             ( NFMAIL ET NIMAIL ) :     11     1
 S.D.S. COOR             ( NFCOOR ET NICOOR ) :     12     1
 S.D.E. NOPO             ( NFNOPO ET NINOPO ) :     10     1
 APPEL DE LA BIBLIOTHEQUE          ( IDLECA ) :      0
 FIN DU MODULE COMACO  
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

 ** IMPRESSION DE LA S.D. MAIL
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

     IMPRESSION DE LA S.D. MAIL DE NIVEAU  1

 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 TITRE                           :                                                                                 
 DATE ET NOM UTILISATEUR         : 24/02/93  pate                    
 TYPE DE LA STRUCTURE DE DONNEES : MAIL
 NIVEAU ET NUMERO D'ETAT         :      1     0
 NOMBRE DE TABLEAUX ASSOCIES     :      1

 LE  TABLEAU  1 : VERT DE TYPE ENTIER      A     21 MOTS
 CONTENU DE CE TABLEAU  :   
 VERT(I+1):CONTIENT LE NOMBRE D ELEMENTS DEJA COLORIES,COULEURS 1 A I    
 NOM  :   VERT TYPE :  1 VALEURS : 
                0          32          60          89         115         138
              157         173         186         190         192         224
              252         281         307         330         349         365
              378         382

 TABLEAU  M A I 2 
 ----------------

 DIMENSION DE L'ESPACE                     (NDIM) :      2
 NOMBRE D'INCONNUES DE LA FORMULATION VARIATIONNELLE (NINCFV) :      2
 NOMBRE DE TYPES D'ELEMENTS              (NTYELM) :      1
 NOMBRE DE NUMEROS DE REFERENCES            (NNR) :      3
 NOMBRE DE TYPES DE NOEUDS               (NTYNOE) :      1
 NOMBRE DE TYPES DE POINTS               (NTYPOI) :      1
 NOMBRE DE MOTS DU TABLEAU MAI3           (LMAI3) :     68
 LES POINTS NE SONT DEFINIS QUE PAR LEURS COORDONNEES
 NOEUDS ET POINTS NE COINCIDENT PAS PARTOUT (NCO) :      0
 NOMBRE MAXIMUM DE MOTS POUR UN ELEMENT  (NMMAEL) :     25
 NOMBRE DE MOTS DU TABLEAU MAIL           (LMAIL) :   6445
 OPTION DE STOCKAGE                       (NOPFI) :      0

 TABLEAU  M A I 3 
 ----------------

 NOMBRE D'ELEMENTS                           (NE) :    384
 NOMBRE DE NOEUDS                           (NOE) :    823
 NOMBRE DE POINTS                            (NP) :    220
 NOMBRE DE SOUS-DOMAINES                   (NDSD) :      2


                     *** TABLEAU DES TYPES D'ELEMENTS ***

--------------------------------------------------------------------------------
|  S-D |      NOEUD      |    SEGMENT      |     TRIANGLE    |    QUADRANGLE   |     
--------------------------------------------------------------------------------
|      |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |
--------------------------------------------------------------------------------
|  1   |        |        |        |        |TRIA2P2D|        |        |        |
|  2   |        |        |        |        |TRIA2P2D|        |        |        |
--------------------------------------------------------------------------------



--------------------------------------------------------------------------------
|  S-D |    TETRAEDRE    |    PENTAEDRE    |    HEXAEDRE     |   SUPER-ELEMENT |         
--------------------------------------------------------------------------------
|      |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |
--------------------------------------------------------------------------------
|  1   |        |        |        |        |        |        |        |        |
|  2   |        |        |        |        |        |        |        |        |
--------------------------------------------------------------------------------




 TABLEAUX  M A I 5   A   M A I 8 
 -------------------------------
   DESCRIPTION DES TYPES DE NOEUDS

 NOMBRE D'INCONNUES VARIATIONNELLES DE CHAQUE TYPE DE NOEUD
 ----------------------------------------------------------

  TYPE  1 :   2

 TYPE DE NOEUD     1 : 
 --------------------
          DEPLACEMENT EN X (INCONNUE :  1) : VN  
          DEPLACEMENT EN Y (INCONNUE :  2) : VN  

 TABLEAUX  M A I B   A   M A I K 
 -------------------------------
   DESCRIPTION DES TYPES D'ELEMENTS

 TYPE D'ELEMENT    1     : 
  -------------------
  NOM DE L'ELEMENT            : ELASTRIA2P2D
  CODE DE L'ELEMENT           : 200002
  L'ELEMENT EST UN            : TRIANGLE    
  NOMBRE DE NOEUDS            :      6
  NOMBRE DE POINTS            :      3
  NOMBRE DE TABLEAUX ASSOCIES :      1
 -------------------------------------------------------------------------------
 | NOEUD | TYPE  |    COORDONNEES SUR L'ELEMENT UNITE                          |
 -------------------------------------------------------------------------------
 |     1 |     1 |   0.0000000      0.0000000    
 |     2 |     1 |    1.000000      0.0000000    
 |     3 |     1 |   0.0000000       1.000000    
 |     4 |     1 |   0.5000000      0.0000000    
 |     5 |     1 |   0.5000000      0.5000000    
 |     6 |     1 |   0.0000000      0.5000000    
 -------------------------------------------------------------------------------
 -------------------------------------------------------------------------------
 | POINT | TYPE  |    COORDONNEES SUR L'ELEMENT UNITE                          |
 -------------------------------------------------------------------------------
 |     1 |     1 |   0.0000000      0.0000000    
 |     2 |     1 |    1.000000      0.0000000    
 |     3 |     1 |   0.0000000       1.000000    
 -------------------------------------------------------------------------------
  TABLEAU      1 ( TYPE ENTIER   ) :   1  INDICE(S) DE VALEUR MAXI :     7

 TABLEAU  M A I L 
 ----------------
 DESCRIPTION DES ELEMENTS SI NOPTFI = 0

-------------------------------------------------------------------
| ELEMENT | TYPE | NBRE DE MOTS | S-D | TABLEAUX | NBRE DE NOEUDS | 
-------------------------------------------------------------------
|     1   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :   396   382   432   385   384   399
 NOMBRE DE POINTS   3 :     67    49    14
-------------------------------------------------------------------
|     2   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :   103   145   152   106   147   105
 NOMBRE DE POINTS   3 :    115   114    85
-------------------------------------------------------------------
|     3   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :   262   250   205   252   207   206
 NOMBRE DE POINTS   3 :     64    63     8
-------------------------------------------------------------------
|     4   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :    40    17    41    18    19    43
 NOMBRE DE POINTS   3 :     41     2     3
-------------------------------------------------------------------
|     5   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :   190   144   179   149   146   178
 NOMBRE DE POINTS   3 :    113   112   110
-------------------------------------------------------------------
|     6   |  1   |     7        |   1 |     1    |     6          |
 NUMERO DES NOEUDS :    13     5     3     6     1     2
 NOMBRE DE POINTS   3 :     44    36     1
 REFERENCE (ARETES SOMMETS) :      0     3     0     0     3     3
            
-------------------------------------------------------------------
|     7   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :   230   229   288   235   234   233
 NOMBRE DE POINTS   3 :    111   108   109
-------------------------------------------------------------------
|     8   |  1   |     7        |   1 |     1    |     6          |
 NUMERO DES NOEUDS :   121   167   118   126   120   119
 NOMBRE DE POINTS   3 :     66    26    27
 REFERENCE (ARETES SOMMETS) :      0     1     0     0     1     1
            
-------------------------------------------------------------------
|     9   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :   129    87    79    88    81    80
 NOMBRE DE POINTS   3 :     50    42     4
-------------------------------------------------------------------
|    10   |  1   |     0        |   1 |     0    |     6          |
 NUMERO DES NOEUDS :   314   274   251   273   256   255
 NOMBRE DE POINTS   3 :     62    47    46
 ** IMPRESSION DE LA S.D. COOR
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

     IMPRESSION DE LA S.D. COOR DE NIVEAU  1

 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 TITRE                           :                                                                                 
 DATE ET NOM UTILISATEUR         : 24/02/93  pate                    
 TYPE DE LA STRUCTURE DE DONNEES : COOR
 NIVEAU ET NUMERO D'ETAT         :      1     0
 NOMBRE DE TABLEAUX ASSOCIES     :      1

 LE  TABLEAU  1 : VERT DE TYPE ENTIER      A     21 MOTS
 CONTENU DE CE TABLEAU  :  
 VERT(I+1):CONTIENT LE NOMBRE D ELEMENTS DEJA COLORIES,COULEURS 1 A I    
 NOM  :   VERT TYPE :  1 VALEURS : 
                0          32          60          89         115         138
              157         173         186         190         192         224
              252         281         307         330         349         365
              378         382

 TABLEAU C O O 2 
 ---------------
 TYPE DU TABLEAU COO4                 (NTYT) :     2
 NOMBRE DE SES INDICES               (NINDI) :     2
 DIMENSION DU DOMAINE                 (NDIM) :     2
 VALEUR MAXIMALE DU DEUXIEME INDICE     (M2) :   220
 CODE DE LA SEGMENTATION             (NCODS) :     1
 NOMBRE DE BLOCS                     (NBLOC) :     1
 TYPE DES AXES DES COORDONNEES      (NTACOO) :     1

 TABLEAU C O O 3 
 ---------------
  LISTE DES NUMERO DES COLONNES DE FIN DES PAGES

 ----------------------------------------------
 PAGE     1 :    220   PAGE 

 ----------------------------------------------


 TABLEAU C O O 4 
 ---------------
 -------------------------------------------------------------------------------
 | POINT |     X        |     Y       |   | POINT |     X        |     Y       |  
 -------------------------------------------------------------------------------
 |     1 |  -2.00000    | -1.00000    |   |     2 |  -1.77778    | -1.00000    |
 |     3 |  -1.55556    | -1.00000    |   |     4 |  -1.33333    | -1.00000    |
 |     5 |  -1.11111    | -1.00000    |   |     6 |  -.888889    | -1.00000    |
 |     7 |  -.666667    | -1.00000    |   |     8 |  -.444444    | -1.00000    |
 |     9 |  -.222222    | -1.00000    |   |    10 |  0.000000    | -1.00000    |
 --------------------------------------- ---------------------------------------
} Remarque Le tableau VERT était associé à la S.D. NOPO il est maintenant associés aux deux S.D. MAIL et COOR.

2.2.2 Le module COMAC3

 

But et limites d'utilisation

Ce module crée à partir d'une S.D. tridimensionnelle et des bibliothèques d'éléments finis Modulef (thermique, élastique ...) les structures de données MAIL et COOR.

Ces deux structures de données décrivent un maillage mono, bi ou tridimensionnel avec des informations sur les interpolations effectuées au niveau des inconnues et de la géométrie de l'élément.

Mise en oeuvre du module COMAC3

Le programme d'appel :


Sous-programmes et fonctions supplémentaires :


Le sous-programme CALFC est nécessaire au module COMAC3 pour décrire les frontières ou les sous-domaines courbes.

Il remplace la fonction FFRONT qui est trop restrictive (elle décrit uniquement les lignes courbes en 2D). En effet, en 3D

Nous donnons maintenant les paramètres de ce sous-programme :

SUBROUTINE CALFC(ICOU, X, Y, Z, F) Les paramètres d'entrée :
ICOU :
(I) numéro de référence de la surface courbe décrite,
X :
(R) abscisse du point à projeter
Y :
(R) ordonnée du point à projeter
Z :
(R) cote du point à projeter

Les paramètres de sortie :
F :
( R) tableau contenant la valeur de la courbe et de ses dérivées
Si l'on décrit une surface courbe, il suffit de retourner F(1) : l'équation de cette surface sinon pour une ligne courbe on fournit :
  • F(1) : l'équation de la première surface courbe
  • F(2) : l'équation de la deuxième surface courbe
  • F(3) : la dérivée de F(1) par rapport à X
  • F(4) : la dérivée de F(2) par rapport à X
  • F(5) : la dérivée de F(1) par rapport à Y
  • F(6) : la dérivée de F(2) par rapport à Y
  • F(7) : la dérivée de F(1) par rapport à Z
  • F(8) : la dérivée de F(2) par rapport à Z

Les fichiers et bibliothèques nécessaires :


Le fichier, de numéro de support NFNOPO (> 0), contenant la structure de données NOPO , si celle-ci ne réside pas en mémoire centrale

Si NOPTFI = 1, le fichier, de numéro de support NFMAIL (> 0), contenant la S.D. de sortie MAIL ; si NOPTFI est égal à 0 la S.D. peut résider en mémoire centrale

Le fichier, de numéro de support NFCOOR (> 0), contenant la structure de données COOR NOPO , si celle-ci ne réside pas en mémoire centrale.

Les bibliothèques Modulef utilisées par ce module sont :

Pour effectuer une édition de lien avec le module COMAC3, il est nécessaire, sur certaines machines, d'ordonner le bibliothèques de la façon suivante :
cosd - flui - elas - elcp - ther - ela2 - ela3 - magn - utsd - zzzz_mod -
[4] utii - u_ nom de la machine,
(ceci afin de respecter les appels des modules entre les différentes bibliothèques)

Si NTMAIL (respectivement NTCOOR) est non nul on lira NTMAIL (NTCOOR) tableaux sur des cartes de données.
Pour I de 1 à NTMAIL (NTCOOR),

Fin Pour

Les cartes de données :


Ce module n'utilise pas de cartes de données.

Exemple

  Nous étudions un problème thermique tridimensionnel, le domaine d'étude est donné figure 2.5.

 
Figure 2.5: Maillage tridimensionnel 

Les fichiers de données permettant de réaliser le maillage sont donnés en annexe B.

Le domaine est constitué de deux surfaces courbes (les surfaces portants les références 3 et 4) ; lors de l'interpolation géométrique on ne considère qu'une seule surface courbe (numéro 3). On utilise l'élément fini courbe HEXA 3Q2C.

Lors de l'appel de COMAC3, il est nécessaire d'indiquer (cf. paragraphe 2.1.4) qu'il y a un type d'élément fini droit HEXA 3Q2C et un type d'élément fini courbe HEXA 3Q2C, car tous les éléments ne s'appuient pas sur une surface courbe.

La figure 2.6 représente le domaine après l'interpolation.

 
Figure: Interpolation Q2 - Lagrange isoparamétrique - 1 surface courbe 

Listing du programme appelant COMAC3 et de la procédure CALFC :
{

     1	      PROGRAM PROG3
     2	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     3	C   TEST D'ELASTICITE  DEFORMATIONS-CONTRAINTES PLANES 
     4	C   -----------------     ELEMENT  P2
     5	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     6	C   S.D.E. : NOPO  
     7	C
     8	C   S.D.S. : MAIL COOR 
     9	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    10	C     INTERPOLATION P2 
    11	C  ...................................................................
    12	      DOUBLE PRECISION DM
    13	C
    14	      DIMENSION ICODEL(7), NOSDC(1) , NONSC(1) , NONFC(1) 
    15	      CHARACTER*72 NOMFIC, NOMBIB*4
    16	      LOGICAL FONINT
    17	      REAL FFRONT
    18	      INTEGER NFMAIL, NFCOOR, NFNOPO, NINOPO, NIMAIL, NICOOR, NTMAIL,
    19	     +        NTCOOR, IMPRE, NNN, NDSD, NBSDC, NOSDC, NBNSC, NONSC, 
    20	     +        NBNFC, NONFC
    21	       
    22	C
    23	      PARAMETER (LM = 200000 )
    24	      EQUIVALENCE (M(1),DM)
    25	      COMMON M(LM)
    26	      EXTERNAL FFRONT
    27	C
    28	 50   FORMAT(' -- NOM DE LA S.D.E NOPO')
    29	 60   FORMAT(' -- NOM DE LA S.D.S MAIL')
    30	 70   FORMAT(' -- NOM DE LA S.D.S COOR')
    31	 110  FORMAT(' ** IMPRESSION DE LA S.D. MAIL')
    32	 120  FORMAT(' ** IMPRESSION DE LA S.D. COOR')
    33	C
    34	C    INITIALISATION
    35	C    --------------
    36	      NNN   = 0
    37	      IMPRE = 3
    38	      CALL INITIS(M,LM,IMPRE,NNN)
    39	C
    40	      IMPRIM = IINFO('I')
    41	C
    42	C    OUVERTURE DU FICHIER CONTENANT LA S.D.E. NOPO
    43	C    ---------------------------------------------
    44	      WRITE(IMPRIM,50)
    45	      CALL LIBCAR(NOMFIC)
    46	      CALL TRUNIT(NFNOPO)
    47	      CALL OUVRIS(NFNOPO,NOMFIC,'OLD,UNFORMATTED',0)
    48	      NINOPO = 1
    49	C
    50	C    OUVERTURE DU FICHIER CONTENANT LA S.D.S. MAIL
    51	C    ---------------------------------------------
    52	      WRITE(IMPRIM,60)
    53	      CALL LIBCAR(NOMFIC)
    54	      CALL TRUNIT(NFMAIL)
    55	      CALL OUVRIS(NFMAIL,NOMFIC,'UNFORMATTED',0)
    56	      NIMAIL = 1
    57	C
    58	C    OUVERTURE DU FICHIER CONTENANT LA S.D.S. COOR
    59	C    ---------------------------------------------
    60	      WRITE(IMPRIM,70)
    61	      CALL LIBCAR(NOMFIC)
    62	      CALL TRUNIT(NFCOOR)
    63	      CALL OUVRIS(NFCOOR,NOMFIC,'UNFORMATTED',0)
    64	      NICOOR = 1
    65	
    66	C    DESCRITION DU DOMAINE ETUDIE (PAS DE LIGNE COURBE)
    67	C    --------------------------------------------------
    68	      NDSD = 1
    69	C     SOUS-DOMAINE COURBE
    70	      NBSDC = 0
    71	C     SURFACE COURBE
    72	      NBNSC = 1
    73	      NONSC(1) = 3
    74	C     FRONTIERE (LIGNE) COURBE
    75	      NBNFC = 0
    76	C
    77	C    NOM DE LA BIBLIOTHEQUE  UTILISE (ELAS) ET DE L'E.F. (TRIA 2P2D)
    78	C    ---------------------------------------------------------------
    79	      NOMBIB = 'THER'
    80	      ICODEL(1) = 1
    81	      ICODEL(2) = ICHAR4('HEXA')
    82	      ICODEL(3) = ICHAR4('3Q2C')
    83	      ICODEL(4) = 1 
    84	      ICODEL(5) = ICHAR4('HEXA')
    85	      ICODEL(6) = ICHAR4('3Q2C')
    86	
    87	C    AUCUN TABLEAU N'EST ASSOCIE AUX S.D. MAIL ET COOR
    88	C    -------------------------------------------------
    89	      NTMAIL = 0
    90	      NTCOOR = 0
    91	C
    92	C    ON N'UTILISE PAS DE FONCTIONS INTERPRETEES
    93	C    ------------------------------------------
    94	      FONINT = .FALSE.
    95	C
    96	C    APPEL DE COMAC3
    97	C    ---------------
    98	      CALL COMAC3(M,NDSD,NBSDC,NOSDC,NBNSC,NONSC,NBNFC,NONFC,
    99	     +            NOMBIB,ICODEL,NFNOPO,NINOPO,NFMAIL,NIMAIL,NTMAIL,
   100	     +            NFCOOR,NICOOR,NTCOOR,FONINT,FFRONT)
   101	C
   102	C    IMPRESSION DES S.D. MAIL ET COOR
   103	C    --------------------------------
   104	      WRITE(IMPRIM, 110)
   105	      CALL IMMAIL(M, NFMAIL, NIMAIL, IMPRE)
   106	      WRITE(IMPRIM, 120)
   107	      CALL IMCOOR(M, NFCOOR, NICOOR, IMPRE)
   108	C
   109	C    FERMETURE DES FICHIERS CONTENANT LES S.D.
   110	C    -----------------------------------------
   111	      CLOSE(NFNOPO)
   112	      CLOSE(NFCOOR)
   113	      CLOSE(NFMAIL)
   114	      END 
   115	
   116	C--------------------------------------------------------------------
   117	C                                                                   C
   118	C                   SOUS PROGRAMME CALFC                            C
   119	C                                                                   C
   120	C--------------------------------------------------------------------
   121	      SUBROUTINE CALFC(I,X,Y,Z,F)
   122	      INTEGER I, IMPRIM, IINFO
   123	      REAL X, Y, Z, F
   124	      DIMENSION F(*)
   125	C
   126	 100  FORMAT('LA REFERENCE  ',I6,' NE CORRESPOND PAS A',
   127	     +        'UNE FRONTIERE COURBE')
   128	C
   129	      IMPRIM = IINFO('I')
   130	      IF (I .EQ. 3 ) THEN 
   131	C       EQUATION DE LA COURBE 3
   132	           F(1) =   X**2+Y**2-2.05**2 
   133	      ELSE
   134	C        SORTIE EN ERREUR, PAS D'AUTRES COURBES QUE 3
   135	           WRITE(IMPRIM,100) I
   136	           CALL ARRET(10) 
   137	      ENDIF
   138	      END
   139
}

Listing d'exécution :
{

 M   M    OOO    DDDD    U   U   L       EEEEE   FFFFF
 MM MM   O   O   D   D   U   U   L       E       F
 M M M   O   O   D   D   U   U   L       EEEE    FFFF
 M   M   O   O   D   D   U   U   L       E       F
 M   M    OOO    DDDD     UUU    LLLLL   EEEEE   F      VERSION 92

 DATE   : 24/02/93
 AUTEUR : pate                    
 -- NOM DE LA S.D.E NOPO
UP.NOPO3D1
 ++ OPEN(10,FILE='UP.NOPO3D1',SPEC='OLD,UNFORMATTED',RECL=0)
 -- NOM DE LA S.D.S MAIL 
UP.MAIL
 ++ OPEN(11,FILE='UP.MAIL',SPEC='UNFORMATTED',RECL=0)
 -- NOM DE LA S.D.S COOR
UP.COOR
 ++ OPEN(12,FILE='UP.COOR',SPEC='UNFORMATTED',RECL=0)
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 MODULE COMACO :                                                                                 
 S.D.S. MAIL             ( NFMAIL ET NIMAIL ) :     11     1
 S.D.S. COOR             ( NFCOOR ET NICOOR ) :     12     1
 S.D.E. NOPO             ( NFNOPO ET NINOPO ) :     10     1
 APPEL DE LA BIBLIOTHEQUE          ( IDLECA ) :      0
 FIN DU MODULE COMACO  
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

 ** IMPRESSION DE LA S.D. MAIL
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

     IMPRESSION DE LA S.D. MAIL DE NIVEAU  1

 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 TITRE                           :                                                                                 
 DATE ET NOM UTILISATEUR         : 24/02/93  pate                    
 TYPE DE LA STRUCTURE DE DONNEES : MAIL
 NIVEAU ET NUMERO D'ETAT         :      1     0
 NOMBRE DE TABLEAUX ASSOCIES     :      2

 LE  TABLEAU  1 : CF03 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      3                                                
 LE  TABLEAU  2 : CF04 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      4                                                

 TABLEAU  M A I 2 
 ----------------

 DIMENSION DE L'ESPACE                     (NDIM) :      3
 NOMBRE D'INCONNUES DE LA FORMULATION VARIATIONNELLE (NINCFV) :      1
 NOMBRE DE TYPES D'ELEMENTS              (NTYELM) :      1
 NOMBRE DE NUMEROS DE REFERENCES            (NNR) :      4
 NOMBRE DE TYPES DE NOEUDS               (NTYNOE) :      1
 NOMBRE DE TYPES DE POINTS               (NTYPOI) :      1
 NOMBRE DE MOTS DU TABLEAU MAI3           (LMAI3) :     36
 LES POINTS NE SONT DEFINIS QUE PAR LEURS COORDONNEES
 NOEUDS ET POINTS COINCIDENT PARTOUT     (NCOPNP) :      1
 NOMBRE MAXIMUM DE MOTS POUR UN ELEMENT  (NMMAEL) :     55
 NOMBRE DE MOTS DU TABLEAU MAIL           (LMAIL) :    528
 OPTION DE STOCKAGE                       (NOPFI) :      0

 TABLEAU  M A I 3 
 ----------------

 NOMBRE D'ELEMENTS                           (NE) :     12
 NOMBRE DE NOEUDS                           (NOE) :    122
 NOMBRE DE POINTS                            (NP) :    122
 NOMBRE DE SOUS-DOMAINES                   (NDSD) :      1


                     *** TABLEAU DES TYPES D'ELEMENTS ***

--------------------------------------------------------------------------------
|  S-D |      NOEUD      |    SEGMENT      |     TRIANGLE    |    QUADRANGLE   |     
--------------------------------------------------------------------------------
|      |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |
--------------------------------------------------------------------------------
|  1   |        |        |        |        |        |        |        |        |
--------------------------------------------------------------------------------



--------------------------------------------------------------------------------
|  S-D |    TETRAEDRE    |    PENTAEDRE    |    HEXAEDRE     |   SUPER-ELEMENT |         
--------------------------------------------------------------------------------
|      |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |
--------------------------------------------------------------------------------
|  1   |        |        |        |        |HEXA3Q2C|HEXA3Q2C|        |        |
--------------------------------------------------------------------------------




 TABLEAUX  M A I 5   A   M A I 8 
 -------------------------------
   DESCRIPTION DES TYPES DE NOEUDS

 NOMBRE D'INCONNUES VARIATIONNELLES DE CHAQUE TYPE DE NOEUD
 ----------------------------------------------------------

  TYPE  1 :   1

 TYPE DE NOEUD     1 : 
 --------------------
          TEMPERATURE      (INCONNUE :  1) : VN  

 TABLEAUX  M A I B   A   M A I K 
 -------------------------------
   DESCRIPTION DES TYPES D'ELEMENTS

 TYPE D'ELEMENT    1     : 
  -------------------
  NOM DE L'ELEMENT            : THERHEXA3Q2C
  CODE DE L'ELEMENT           : 100018
  L'ELEMENT EST UN            : HEXAEDRE    
  NOMBRE DE NOEUDS            :     20
  NOMBRE DE POINTS            :     20
  NOMBRE DE TABLEAUX ASSOCIES :      1
 -------------------------------------------------------------------------------
 | NOEUD | TYPE  |    COORDONNEES SUR L'ELEMENT UNITE                          |
 -------------------------------------------------------------------------------
 |     1 |     1 |   0.0000000      0.0000000      0.0000000     |
 |     2 |     1 |    1.000000      0.0000000      0.0000000     |
 |     3 |     1 |    1.000000       1.000000      0.0000000     |
 |     4 |     1 |   0.0000000       1.000000      0.0000000     |
 |     5 |     1 |   0.0000000      0.0000000       1.000000     |
 |     6 |     1 |    1.000000      0.0000000       1.000000     |
 |     7 |     1 |    1.000000       1.000000       1.000000     |
 |     8 |     1 |   0.0000000       1.000000       1.000000     |
 |     9 |     1 |   0.5000000      0.0000000      0.0000000     |
 |    10 |     1 |    1.000000      0.5000000      0.0000000     |
 |    11 |     1 |   0.5000000       1.000000      0.0000000     |
 |    12 |     1 |   0.0000000      0.5000000      0.0000000     |
 |    13 |     1 |   0.0000000      0.0000000      0.5000000     |
 |    14 |     1 |    1.000000      0.0000000      0.5000000     |
 |    15 |     1 |    1.000000       1.000000      0.5000000     |
 |    16 |     1 |   0.0000000       1.000000      0.5000000     |
 |    17 |     1 |   0.5000000      0.0000000       1.000000     |
 |    18 |     1 |    1.000000      0.5000000       1.000000     |
 |    19 |     1 |   0.5000000       1.000000       1.000000     |
 |    20 |     1 |   0.0000000      0.5000000       1.000000     |
 -------------------------------------------------------------------------------
 -------------------------------------------------------------------------------
 | POINT | TYPE  |    COORDONNEES SUR L'ELEMENT UNITE                          |
 -------------------------------------------------------------------------------
 |     1 |     1 |   0.0000000      0.0000000      0.0000000     |
 |     2 |     1 |    1.000000      0.0000000      0.0000000     |
 |     3 |     1 |    1.000000       1.000000      0.0000000     |
 |     4 |     1 |   0.0000000       1.000000      0.0000000     |
 |     5 |     1 |   0.0000000      0.0000000       1.000000     |
 |     6 |     1 |    1.000000      0.0000000       1.000000     |
 |     7 |     1 |    1.000000       1.000000       1.000000     |
 |     8 |     1 |   0.0000000       1.000000       1.000000     |
 |     9 |     1 |   0.5000000      0.0000000      0.0000000     |
 |    10 |     1 |    1.000000      0.5000000      0.0000000     |
 |    11 |     1 |   0.5000000       1.000000      0.0000000     |
 |    12 |     1 |   0.0000000      0.5000000      0.0000000     |
 |    13 |     1 |   0.0000000      0.0000000      0.5000000     |
 |    14 |     1 |    1.000000      0.0000000      0.5000000     |
 |    15 |     1 |    1.000000       1.000000      0.5000000     |
 |    16 |     1 |   0.0000000       1.000000      0.5000000     |
 |    17 |     1 |   0.5000000      0.0000000       1.000000     |
 |    18 |     1 |    1.000000      0.5000000       1.000000     |
 |    19 |     1 |   0.5000000       1.000000       1.000000     |
 |    20 |     1 |   0.0000000      0.5000000       1.000000     |
 -------------------------------------------------------------------------------
  TABLEAU      1 ( TYPE ENTIER   ) :   1  INDICE(S) DE VALEUR MAXI :    27
 ** IMPRESSION DE LA S.D. COOR
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

     IMPRESSION DE LA S.D. COOR DE NIVEAU  1

 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 TITRE                           :                                                                                 
 DATE ET NOM UTILISATEUR         : 24/02/93  pate                    
 TYPE DE LA STRUCTURE DE DONNEES : COOR
 NIVEAU ET NUMERO D'ETAT         :      1     0
 NOMBRE DE TABLEAUX ASSOCIES     :      2

 LE  TABLEAU  1 : CF03 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      3                                                
 LE  TABLEAU  2 : CF04 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      4                                                

 TABLEAU C O O 2 
 ---------------
 TYPE DU TABLEAU COO4                 (NTYT) :     2
 NOMBRE DE SES INDICES               (NINDI) :     2
 DIMENSION DU DOMAINE                 (NDIM) :     3
 VALEUR MAXIMALE DU DEUXIEME INDICE     (M2) :   122
 CODE DE LA SEGMENTATION             (NCODS) :     1
 NOMBRE DE BLOCS                     (NBLOC) :     1
 TYPE DES AXES DES COORDONNEES      (NTACOO) :     1

 TABLEAU C O O 3 
 ---------------
  LISTE DES NUMERO DES COLONNES DE FIN DES PAGES

 ----------------------------------------------
 PAGE     1 :    122   PAGE 

 ----------------------------------------------
}

2.2.3 Le module COMACO

 

But et limite d'utilisation

Ce module crée à partir

les structures de données MAIL et COOR.

Ces deux structures de données décrivent un maillage mono, bi ou tridimensionnel avec des informations sur les interpolations effectuées au niveau des inconnues et de la géométrie de l'élément (élément droit ou courbe).

Mise en oeuvre du module COMACO

Le programme d'appel :


Sous-programmes et fonctions supplémentaires :


Un sous-programme et une fonction sont nécessaires à COMACO pour décrire les frontières ou sous-domaines courbes, ce sont respectivement la fonction FFRONT et le sous-programme utilisateur CALFC.

La fonction FFRONT :
 
 

Cette fonction est utilisé, en 2D, pour décrire les lignes courbes. FFRONT définit les courbes sur lesquelles les points non sommets, non internes doivent être projetés perpendiculairement à la corde de l'axe.

On peut éviter d'écrire cette fonction, en utilisant, pour définir les lignes courbes les fonctions interprétées.

L'utilisation des fonctions interprétées permet d'éviter la phase d'édition de lien dès que l'on modifie l'équation des courbes car celles-ci sont données dans des fichiers de données.

Nous donnons maintenant les paramètres de cette fonction :

FUNCTION FFRONT(ICOU, X, Y, Z) Les paramètres d'entrée :
ICOU :
(I) numéro de référence de la ligne courbe décrite,
X :
(R) abscisse du point à projeter
Y :
(R) ordonnée du point à projeter

Les paramètres de sortie :
FFRONT :
( R) valeur de la courbe

Le sous-programme CALFC :
 
Ce sous-programme donne des équations des lignes et surfaces courbes sur lesquelles le maillage est projeté ; il remplace la fonction FFRONT qui est trop restrictive (elle décrit uniquement les lignes courbes)

Nous donnons maintenant les paramètres de ce sous-programme :

SUBROUTINE CALFC(ICOU, X, Y, Z, F) Les paramètres d'entrée :
ICOU :
(I) numéro de référence de la surface courbe décrite,
X :
(R) abscisse du point à projeter
Y :
(R) ordonnée du point à projeter
Z :
(R) cote du point à projeter

Les paramètres de sortie :
F :
(R) valeur de la courbe et de ses dérivées

Les fichiers et bibliothèques nécessaires :


Le fichier, de numéro de support NFNOPO (> 0), contenant la structure de données NOPO , si celle-ci ne réside pas en mémoire centrale

Si NOPTFI = 1, le fichier, de numéro de support NFMAIL (> 0), contenant la S.D. de sortie MAIL ; si NOPTFI est égal à 0 cette S.D. peut résider en mémoire centrale

Le fichier, de numéro de support NFCOOR (> 0), contenant la structure de données COOR NOPO , si celle-ci ne réside pas en mémoire centrale.

Les bibliothèques Modulef utilisées par ce module sont :

Pour effectuer une édition de lien avec le module COMACO, il est nécessaire, sur certaines machines, d'ordonner le bibliothèques de la façon suivante :
cosd - flui - elas - elcp - ther - ela2 - ela3 - magn - utsd - zzzz_mod -
[4] utii - u_ nom de la machine,
(ceci afin de respecter les appels des modules entre les différentes bibliothèques)

Les tableaux associés :


Si NTMAIL (respectivement NTCOOR) est non nul on lira NTMAIL (NTCOOR) tableaux sur des cartes de données.
Pour I de 1 à NTMAIL (NTCOOR),

Fin Pour

Les cartes de données :


La description du maillage, de la bibliothèque et de l'élément fini utilisé peut ètre effectuée à l'aide de cartes de données cependant, cette méthode est fastidieuse. On préfère donc utiliser la S.D. NOPO et les sous-programmes de description des éléments pour entrer toutes ces données.

Exemple

  Nous reprenons l'exemple cité dans le paragraphe 2.2.2, le domaine d'étude est donné figure 2.5 page gif.

Le domaine est constitué de deux surfaces courbes (les surfaces portants les références 3 et 4), lors de l'interpolation géométrique on considère ces deux surfaces courbes (numéro 3 et 4), tout le domaine sera interpolé par un élément fini courbe HEXA 3Q2C. Lors de l'appel de COMACO, il est nécessaire d'indiquer (cf. paragraphe 2.1.4) qu'il y a un type d'élément fini droit HEXA 3Q2C et un type d'élément fini courbe HEXA 3Q2C, car tous les éléments ne s'appuient pas sur une surface courbe.

La figure 2.7 représente le domaine après l'interpolation.

 
Figure: Interpolation Q2 - Lagrange isoparamétrique - 2 surfaces courbes 

Listing du programme appelant COMACO et du sous-programme CALFC : {

     1	      PROGRAM PROGO
     2	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     3	C   TEST D'ELASTICITE  DEFORMATIONS-CONTRAINTES PLANES 
     4	C   -----------------     ELEMENT  P2
     5	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     6	C   S.D.E. : NOPO  
     7	C
     8	C   S.D.S. : MAIL COOR 
     9	C  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    10	C     INTERPOLATION P2 
    11	C  ...................................................................
    12	      DOUBLE PRECISION DM
    13	C
    14	      DIMENSION ICODEL(7), NOSDC(1) , NONSC(2) , NONFC(1) 
    15	      CHARACTER*72 NOMFIC
    16	      LOGICAL FONINT
    17	      REAL FFRONT
    18	      INTEGER NFMAIL, NFCOOR, NFNOPO, NINOPO, NIMAIL, NICOOR, NTMAIL,
    19	     +        NTCOOR, IMPRE, NNN, NDSD, NBSDC, NOSDC, NBNSC, NONSC, 
    20	     +        NBNFC, NONFC,NOMBIB, ICHAR4, IINFO
    21	       
    22	C
    23	      PARAMETER (LM = 200000 )
    24	      EQUIVALENCE (M(1),DM)
    25	      COMMON M(LM)
    26	      EXTERNAL FFRONT
    27	C
    28	 50   FORMAT(' -- NOM DE LA S.D.E NOPO')
    29	 60   FORMAT(' -- NOM DE LA S.D.S MAIL')
    30	 70   FORMAT(' -- NOM DE LA S.D.S COOR')
    31	 110  FORMAT(' ** IMPRESSION DE LA S.D. MAIL')
    32	 120  FORMAT(' ** IMPRESSION DE LA S.D. COOR')
    33	C
    34	C    INITIALISATION
    35	C    --------------
    36	      NNN   = 0
    37	      IMPRE = 3
    38	      CALL INITIS(M,LM,IMPRE,NNN)
    39	C
    40	      IMPRIM = IINFO('I')
    41	      NPACD = 0
    42	C
    43	C    DIMENSIONNEMENT DU DOMAINE D'ETUDE (3D)
    44	C    ---------------------------------------
    45	      NDIM = 3
    46	C
    47	C    LE DOMAINE EST DECRIT A L'AODE DE LA S.D. NOPO
    48	C    ----------------------------------------------
    49	      NOPOEX = 1   
    50	C
    51	C    OUVERTURE DU FICHIER CONTENANT LA S.D.E. NOPO
    52	C    ---------------------------------------------
    53	      WRITE(IMPRIM,50)
    54	      CALL LIBCAR(NOMFIC)
    55	      CALL TRUNIT(NFNOPO)
    56	      CALL OUVRIS(NFNOPO,NOMFIC,'OLD,UNFORMATTED',0)
    57	      NINOPO = 1
    58	C
    59	C    OUVERTURE DU FICHIER CONTENANT LA S.D.S. MAIL
    60	      WRITE(IMPRIM,60)
    61	      CALL LIBCAR(NOMFIC)
    62	      CALL TRUNIT(NFMAIL)
    63	      CALL OUVRIS(NFMAIL,NOMFIC,'UNFORMATTED',0)
    64	      NIMAIL = 1  
    65	C
    66	C    LE TABLEAU MAIL DE LA S.D MAIL CORRESPOND A UN SEUL ENREGISTREMENT
    67	C    ------------------------------------------------------------------
    68	      NOPTFI =  0
    69	C
    70	C    OUVERTURE DU FICHIER CONTENANT LA S.D.S. COOR
    71	C    ----------------------------------------------
    72	      WRITE(IMPRIM,70)
    73	      CALL LIBCAR(NOMFIC)
    74	      CALL TRUNIT(NFCOOR)
    75	      CALL OUVRIS(NFCOOR,NOMFIC,'UNFORMATTED',0)
    76	      NICOOR = 1
    77	C
    78	C    LE TABLEAU COO4 DE LA S.D. COOR NE SERA PS PAGINE
    79	C    -------------------------------------------------
    80	      NDCSMC = IINFO('GRAND')
    81	
    82	C    DESCRITION DU DOMAINE ETUDIE (PAS DE LIGNE COURBE)
    83	C    --------------------------------------------------
    84	      NDSD = 1
    85	C
    86	C    NOMBRE DE REFERENCE
    87	C    -------------------
    88	      NNR = 2
    89	C
    90	C    SOUS-DOMAINE COURBE
    91	C    -------------------
    92	      NBSDC = 0
    93	C
    94	C    SURFACE COURBE
    95	C    --------------
    96	      NBNSC = 2
    97	      NONSC(1) = 3
    98	      NONSC(2) = 4
    99	C
   100	C    FRONTIERE (LIGNE) COURBE
   101	C    ------------------------
   102	      NBNFC = 0
   103	C
   104	C    ON FAIT APPEL A UNE BIBLIOTHEQUE D'ELEMENT
   105	C    ------------------------------------------
   106	      IELECA = 0
   107	C
   108	C    NOM DE LA BIBLIOTHEQUE  UTILISE (ELAS) ET DE L'E.F. (TRIA 2P2D)
   109	C    ---------------------------------------------------------------
   110	      NOMBIB = ICHAR4('THER')
   111	      ICODEL(1) = 1
   112	      ICODEL(2) = ICHAR4('HEXA')
   113	      ICODEL(3) = ICHAR4('3Q2C')
   114	      ICODEL(4) = 1
   115	      ICODEL(5) = ICHAR4('HEXA')
   116	      ICODEL(6) = ICHAR4('3Q2C')
   117	C
   118	C    AUCUN TABLEAU N'EST ASSOCIE AUX S.D. MAIL ET COOR
   119	C    -------------------------------------------------
   120	      NTMAIL = 0
   121	      NTCOOR = 0
   122	C
   123	C    ON N'UTILISE PAS DE FONCTIONS INTERPRETEES
   124	C    ------------------------------------------
   125	      FONINT = .FALSE.
   126	C
   127	C    APPEL DE COMACO
   128	C    ---------------
   129	      CALL COMACO(M,NDIM,NDSD,NBSDC,NOSDC,NNR,NBNSC,NONSC,NBNFC,
   130	     +            NONFC,IELECA,NOMBIB,ICODEL,NOPOEX,NFNOPO,
   131	     +            NINOPO,NFMAIL,NIMAIL,NTMAIL,NOPTFI,NFCOOR,
   132	     +            NICOOR,NTCOOR,NPACD,NDCSMC,FONINT,FFRONT)
   133	C
   134	C    IMPRESSION DES S.D. MAIL ET COOR
   135	C    --------------------------------
   136	      WRITE(IMPRIM, 110)
   137	      CALL IMMAIL(M, NFMAIL, NIMAIL, IMPRE)
   138	      WRITE(IMPRIM, 120)
   139	      CALL IMCOOR(M, NFCOOR, NICOOR, IMPRE)
   140	C
   141	C    FERMETURE DES FICHIERS CONTENANT LES S.D.
   142	C    -----------------------------------------
   143	      CLOSE(NFNOPO)
   144	      CLOSE(NFCOOR)
   145	      CLOSE(NFMAIL)
   146	      END 
   147	
   148	C--------------------------------------------------------------------
   149	C                                                                   C
   150	C                   SOUS PROGRAMME CALFC                            C
   151	C                                                                   C
   152	C--------------------------------------------------------------------
   153	      SUBROUTINE CALFC(I,X,Y,Z,F)
   154	      INTEGER I, IMPRIM, IINFO
   155	      REAL X, Y, Z, F
   156	      DIMENSION F(*)
   157	C
   158	 100  FORMAT('LA REFERENCE  ',I6,' NE CORRESPOND PAS A',
   159	     +        'UNE FRONTIERE COURBE')
   160	C
   161	      IMPRIM = IINFO('I')
   162	      IF (I .EQ. 3 ) THEN 
   163	C       EQUATION DE LA COURBE 3
   164	           F(1) =   X**2+Y**2-2.05**2 
   165	      ELSEIF (I .EQ. 4 ) THEN 
   166	C       EQUATION DE LA COURBE 4
   167	           F(1) =  X**2+Y**2-0.85**2
   168	      ELSE
   169	C        SORTIE EN ERREUR, PAS D'AUTRES COURBES QUE 3 ET 4
   170	           WRITE(IMPRIM,100) I
   171	           CALL ARRET(10) 
   172	      ENDIF
   173	      END
   174
}

Listing d'exécution {

 M   M    OOO    DDDD    U   U   L       EEEEE   FFFFF
 MM MM   O   O   D   D   U   U   L       E       F
 M M M   O   O   D   D   U   U   L       EEEE    FFFF
 M   M   O   O   D   D   U   U   L       E       F
 M   M    OOO    DDDD     UUU    LLLLL   EEEEE   F      VERSION 92

 DATE   : 24/02/93
 AUTEUR : pate                    
 -- NOM DE LA S.D.E NOPO
 ++ OPEN(10,FILE='UP.NOPO3D1',SPEC='OLD,UNFORMATTED',RECL=0)
UP.NOPO3D1
 -- NOM DE LA S.D.S MAIL
 ++ OPEN(11,FILE='UP.MAIL',SPEC='UNFORMATTED',RECL=0)
UP.MAIL
 -- NOM DE LA S.D.S COOR
UP.COOR
 ++ OPEN(12,FILE='UP.COOR',SPEC='UNFORMATTED',RECL=0)
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 MODULE COMACO :                                                                                 
 S.D.S. MAIL             ( NFMAIL ET NIMAIL ) :     11     1
 S.D.S. COOR             ( NFCOOR ET NICOOR ) :     12     1
 S.D.E. NOPO             ( NFNOPO ET NINOPO ) :     10     1
 APPEL DE LA BIBLIOTHEQUE          ( IDLECA ) :      0
 FIN DU MODULE COMACO  
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

 ** IMPRESSION DE LA S.D. MAIL
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

     IMPRESSION DE LA S.D. MAIL DE NIVEAU  1

 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 TITRE                           :                                                                                 
 DATE ET NOM UTILISATEUR         : 24/02/93  pate                    
 TYPE DE LA STRUCTURE DE DONNEES : MAIL
 NIVEAU ET NUMERO D'ETAT         :      1     0
 NOMBRE DE TABLEAUX ASSOCIES     :      2

 LE  TABLEAU  1 : CF03 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      3                                                
 LE  TABLEAU  2 : CF04 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      4                                                

 TABLEAU  M A I 2 
 ----------------

 DIMENSION DE L'ESPACE                     (NDIM) :      3
 NOMBRE D'INCONNUES DE LA FORMULATION VARIATIONNELLE (NINCFV) :      1
 NOMBRE DE TYPES D'ELEMENTS              (NTYELM) :      1
 NOMBRE DE NUMEROS DE REFERENCES            (NNR) :      4
 NOMBRE DE TYPES DE NOEUDS               (NTYNOE) :      1
 NOMBRE DE TYPES DE POINTS               (NTYPOI) :      1
 NOMBRE DE MOTS DU TABLEAU MAI3           (LMAI3) :     36
 LES POINTS NE SONT DEFINIS QUE PAR LEURS COORDONNEES
 NOEUDS ET POINTS COINCIDENT PARTOUT     (NCOPNP) :      1
 NOMBRE MAXIMUM DE MOTS POUR UN ELEMENT  (NMMAEL) :     55
 NOMBRE DE MOTS DU TABLEAU MAIL           (LMAIL) :    528
 OPTION DE STOCKAGE                       (NOPFI) :      0

 TABLEAU  M A I 3 
 ----------------

 NOMBRE D'ELEMENTS                           (NE) :     12
 NOMBRE DE NOEUDS                           (NOE) :    122
 NOMBRE DE POINTS                            (NP) :    122
 NOMBRE DE SOUS-DOMAINES                   (NDSD) :      1


                     *** TABLEAU DES TYPES D'ELEMENTS ***

--------------------------------------------------------------------------------
|  S-D |      NOEUD      |    SEGMENT      |     TRIANGLE    |    QUADRANGLE   |     
--------------------------------------------------------------------------------
|      |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |
--------------------------------------------------------------------------------
|  1   |        |        |        |        |        |        |        |        |
--------------------------------------------------------------------------------



--------------------------------------------------------------------------------
|  S-D |    TETRAEDRE    |    PENTAEDRE    |    HEXAEDRE     |   SUPER-ELEMENT |         
--------------------------------------------------------------------------------
|      |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |  DROIT   COURBE |
--------------------------------------------------------------------------------
|  1   |        |        |        |        |HEXA3Q2C|HEXA3Q2C|        |        |
--------------------------------------------------------------------------------




 TABLEAUX  M A I 5   A   M A I 8 
 -------------------------------
   DESCRIPTION DES TYPES DE NOEUDS

 NOMBRE D'INCONNUES VARIATIONNELLES DE CHAQUE TYPE DE NOEUD
 ----------------------------------------------------------

  TYPE  1 :   1

 TYPE DE NOEUD     1 : 
 --------------------
          TEMPERATURE      (INCONNUE :  1) : VN  

 TABLEAUX  M A I B   A   M A I K 
 -------------------------------
   DESCRIPTION DES TYPES D'ELEMENTS

 TYPE D'ELEMENT    1     : 
  -------------------
  NOM DE L'ELEMENT            : THERHEXA3Q2C
  CODE DE L'ELEMENT           : 100018
  L'ELEMENT EST UN            : HEXAEDRE    
  NOMBRE DE NOEUDS            :     20
  NOMBRE DE POINTS            :     20
  NOMBRE DE TABLEAUX ASSOCIES :      1
 -------------------------------------------------------------------------------
 | NOEUD | TYPE  |    COORDONNEES SUR L'ELEMENT UNITE                          |
 -------------------------------------------------------------------------------
 |     1 |     1 |   0.0000000      0.0000000      0.0000000     |
 |     2 |     1 |    1.000000      0.0000000      0.0000000     |
 |     3 |     1 |    1.000000       1.000000      0.0000000     |
 |     4 |     1 |   0.0000000       1.000000      0.0000000     |
 |     5 |     1 |   0.0000000      0.0000000       1.000000     |
 |     6 |     1 |    1.000000      0.0000000       1.000000     |
 |     7 |     1 |    1.000000       1.000000       1.000000     |
 |     8 |     1 |   0.0000000       1.000000       1.000000     |
 |     9 |     1 |   0.5000000      0.0000000      0.0000000     |
 |    10 |     1 |    1.000000      0.5000000      0.0000000     |
 |    11 |     1 |   0.5000000       1.000000      0.0000000     |
 |    12 |     1 |   0.0000000      0.5000000      0.0000000     |
 |    13 |     1 |   0.0000000      0.0000000      0.5000000     |
 |    14 |     1 |    1.000000      0.0000000      0.5000000     |
 |    15 |     1 |    1.000000       1.000000      0.5000000     |
 |    16 |     1 |   0.0000000       1.000000      0.5000000     |
 |    17 |     1 |   0.5000000      0.0000000       1.000000     |
 |    18 |     1 |    1.000000      0.5000000       1.000000     |
 |    19 |     1 |   0.5000000       1.000000       1.000000     |
 |    20 |     1 |   0.0000000      0.5000000       1.000000     |
 -------------------------------------------------------------------------------
 -------------------------------------------------------------------------------
 | POINT | TYPE  |    COORDONNEES SUR L'ELEMENT UNITE                          |
 -------------------------------------------------------------------------------
 |     1 |     1 |   0.0000000      0.0000000      0.0000000     |
 |     2 |     1 |    1.000000      0.0000000      0.0000000     |
 |     3 |     1 |    1.000000       1.000000      0.0000000     |
 |     4 |     1 |   0.0000000       1.000000      0.0000000     |
 |     5 |     1 |   0.0000000      0.0000000       1.000000     |
 |     6 |     1 |    1.000000      0.0000000       1.000000     |
 |     7 |     1 |    1.000000       1.000000       1.000000     |
 |     8 |     1 |   0.0000000       1.000000       1.000000     |
 |     9 |     1 |   0.5000000      0.0000000      0.0000000     |
 |    10 |     1 |    1.000000      0.5000000      0.0000000     |
 |    11 |     1 |   0.5000000       1.000000      0.0000000     |
 |    12 |     1 |   0.0000000      0.5000000      0.0000000     |
 |    13 |     1 |   0.0000000      0.0000000      0.5000000     |
 |    14 |     1 |    1.000000      0.0000000      0.5000000     |
 |    15 |     1 |    1.000000       1.000000      0.5000000     |
 |    16 |     1 |   0.0000000       1.000000      0.5000000     |
 |    17 |     1 |   0.5000000      0.0000000       1.000000     |
 |    18 |     1 |    1.000000      0.5000000       1.000000     |
 |    19 |     1 |   0.5000000       1.000000       1.000000     |
 |    20 |     1 |   0.0000000      0.5000000       1.000000     |
 -------------------------------------------------------------------------------
  TABLEAU      1 ( TYPE ENTIER   ) :   1  INDICE(S) DE VALEUR MAXI :    27
 ** IMPRESSION DE LA S.D. COOR
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

     IMPRESSION DE LA S.D. COOR DE NIVEAU  1

 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 TITRE                           :                                                                                 
 DATE ET NOM UTILISATEUR         : 24/02/93  pate                    
 TYPE DE LA STRUCTURE DE DONNEES : COOR
 NIVEAU ET NUMERO D'ETAT         :      1     0
 NOMBRE DE TABLEAUX ASSOCIES     :      2

 LE  TABLEAU  1 : CF03 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      3                                                
 LE  TABLEAU  2 : CF04 DE TYPE CARACTER    A     12 MOTS
 CONTENU DE CE TABLEAU  :   COURBE ASSOCIEE :      4                                                

 TABLEAU C O O 2 
 ---------------
 TYPE DU TABLEAU COO4                 (NTYT) :     2
 NOMBRE DE SES INDICES               (NINDI) :     2
 DIMENSION DU DOMAINE                 (NDIM) :     3
 VALEUR MAXIMALE DU DEUXIEME INDICE     (M2) :   122
 CODE DE LA SEGMENTATION             (NCODS) :     1
 NOMBRE DE BLOCS                     (NBLOC) :     1
 TYPE DES AXES DES COORDONNEES      (NTACOO) :     1

 TABLEAU C O O 3 
 ---------------
  LISTE DES NUMERO DES COLONNES DE FIN DES PAGES

 ----------------------------------------------
 PAGE     1 :    122   PAGE 

 ----------------------------------------------
}


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 2.3 Le module CORNOE Sup.: 2 Interpolation Préc.: Généralités Index Table des matières