Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 5 Exemples d'apprentissage Sup.: 4 Liste des modules Préc.: Modules de création de maillages Index Table des matières


4.3 Modules de modification de maillages

Suit la liste alphabétique des modules de modification de maillages (en premier est rappelé l'utilitaire INITI).

INITI :

----------

But : Initialiser les variables utiles à toute utilisation d'un module de la bibliothèque Modulef, en particulier initialisation de la gestion dynamique. L'appel de  cet utilitaire est donc indispensable dans  tout programme principal écrit par un utilisateur.

Appel de l'utilitaire :

CALL INITI (M,LM,IMPRE,NNN)

avec :

Données:

Ce sous-programme lit un TITRE selon les règles du format libre.

Remarque :

Le sous-programme INITIS a les mêmes arguments que INITI et remplit le même rôle mais ne demande pas de titre.

ADPNOP : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Définir les noeuds des éléments quand ils différent des sommets de ceux-ci. Ce module permet donc d'ajouter des noeuds sur les arêtes, les faces ou à l'intérieur des éléments; de plus il permet de préciser si les sommets sont des noeuds.

A partir d'un maillage de  départ de type P1 i.e. noeuds = sommets, le module produit la liste des noeuds en  affectant un numéro à chacun de ceux-ci (la position exacte des noeuds sera calculée par le module d'interpolation); cette opération est effectuée afin de permettre une renumérotation optimale des noeuds.

Pour des raisons de compatibilité, le nombre de noeuds dans un triangle ou sur une face triangulaire doit être 1 ou un multiple de 3, de même dans un quadrangle ou sur une face quadrangulaire il peut être 1 ou un multiple de 4.

Appel du module :

Mot-clé ADPO de APNOPO (cas 2D) ou de APNOP3 (cas 3D)

Ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL ADPNOP (M,ISEG,ISET,ISEQ,ISETE,ISEPE,ISEHE,NOESOM,
. NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

AFFNOP : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Affiner un  maillage de type P1 autour de sommets dont on donne la liste. Ce module permet plusieurs affinages  successifs autour d'un même sommet, il suffit de le répéter autant de fois que voulu dans la liste des sommets fournie en donnée.

La méthode n'est programmée que dans le cas bidimensionnel.

 
Figure 4.4: Affinage autour de sommets 

Selon le type de l'élément dont au moins un point est donné dans la liste des points à traiter et selon la position des sommets à considérer plusieurs cas sont rencontrés (voir la figure 4.4).

Appel du module :

Mot-clé AFFL de APNOPO (cas 2D)

Ou appel classique :

Dimensionner le tableau M (dans le common blanc) et les tableaux NSAT et NNFRON, déclarer le logique FONINT, déclarer l'external FFRONT, appeler INITI

CALL AFFNOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,NQUAD,LSAT,
. NSAT,NBFRON,NNFRON,FONINT,FFRONT)

avec :

Remarque :

la fonction FFRONT est celle définie au chapitre 1.

affini.psfig:aff2Maillage initialaffout.psfig:aff21Après affinage

AIGUNO : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Supprimer les  angles obtus  d'un maillage bidimensionnel composé de triangles.

Appel du module :

Mot-clé AIGU de APNOPO (cas 2D)

Ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL AIGUNO (M,NOPTION,NITER,NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

Remarque :

En tableau associé, de nom IFRO, de type entier et de longueur NP+1 où NP est le nombre de sommets du maillage, sont stockées les informations suivantes:

AKHHAT : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Renuméroter les  noeuds ou les noeuds et les éléments d'un maillage. La méthode employée est celle de  Akhras et Gouri d'Hatt.

Appel du module :

Appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL AKHHAT (M,NOCODE,NITER,NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

Remarque :

voir également le module GIBBS.

CLNO** :

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

But : Les utilitaires CLNO5C , CLNOIA , CLNOIN  et CLNOPO  permettent de lire de façon aisée le tableau NOP5 d'une S.D. NOPO afin d'en extraire telle ou telle information sans se soucier de la gestion des adresses des éléments contenus dans ce tableau.

CLNO5C :

Avec en entrée NDIM, NCOPNP, le tableau NOP5, l'adresse IA d'un élément et le tableau NOP4, cet utilitaire permet de connaître NCGE, NDSDE, NNO et NONO(.) le nombre et la liste des noeuds de l'élément concerné, NPO et NOPOI(.) le nombre et la liste de ses points ainsi que leurs coordonnées.

Dimensionner les tableaux NONO, NOPOI, COORP et appeler CLNO5C comme suit:

CALL CLNO5C (NDIM,NCOPNP,NOP5,IA,NCGE,NDSDE,NNO,NONO,
. NPO,NOPOI,NOP4,COORP)

avec :

CLNOIA :

Avec en entrée NCOPNP, le tableau NOP5 et l'adresse IA d'un élément, cet utilitaire permet de connaître NCGE, NPO et NOPOI(.) le nombre et la liste des points de l'élément ainsi que IAS, IAR, IAF les adresses dans NOP5 des références des points, arêtes et faces de cet élément.

Dimensionner le tableau NOPOI et appeler CLNOIA comme suit:

CALL CLNOIA (NCOPNP,NOP5,IA,NCGE,IAS,IAR,IAF,NPO,NOPOI)

avec :

CLNOIN :

Similaire à CLNOIA, cet utilitaire permet de connaître NNO et NONO(.) le nombre et la liste des noeuds de l'élément.

Dimensionner le tableau NONO et appeler CLNOIN comme suit:

CALL CLNOIN (NCOPNP,NOP5,IA,NCGE,IAS,IAR,IAF,NPO,NNO,NONO)

avec :

CLNOPO :

Très similaire à CLNO5C, cet utilitaire utilise le super-tableau M et non directement le tableau NOP5. Il permet de connaître NCGE, NDSDE, NNO et NONO(.) le nombre et la liste des noeuds de l'élément concerné, NPO et NOPOI(.) le nombre et la liste de ses points, leurs coordonnées et les références des sommets arêtes et faces de cet élément.

Dimensionner les tableaux NONO, NOPOI, NREF, COORP et appeler CLNOPO comme suit:

CALL CLNOPO (M,M,IA2,IA4,IA,NCGE,NDSDE,NNO,NONO,
. NPO,NOPOI,COORP,NREF)

avec :

Remarques :

Un exemple :

 
      SUBROUTINE REFNOP(M,XM,DM,NFNOPE,NINOPE,NREFE,INDIC,LINDIC)
C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
.
.
.
C
C     ------    ADRESSAGES   ------
C     ON MAJORE LE NBRE DE NOEUDS ( DONC DE POINTS ) PAR 20 ...
C
      NDIM  = M(IANOP2)
      NOE23 = NDIM * 20
      CALL READRE(2,'XCOO',IACOO,NOE23,M,NRET)
      NOE2  = 2 * 20
      CALL READRE(1,'AUX ',IANOE,NOE2,M,NRET)
      IAPOI = IANOE + 20
      LREF  = 26
      CALL READRE(1,'NREF',IAREF,LREF,M,NRET)
C
      LINDIC = 0
      IANOP5 = M( ICNOPO + 17 )
      IA     = IANOP5
      DO 10 J=1,NE
         CALL CLNOPO(M,M,IANOP2,IANOP4,IA,NCGE,NDSDE,NNO,M(IANOE),
     +               NPO,M(IAPOI),XM(IACOO),M(IAREF))
         LONG  = NTOT(NCGE)
         ITEST = 0
         DO 1 K=1,LONG
            IF ( M(IAREF+K-1) .NE. 0 ) ITEST = 1
    1    CONTINUE
         IF ( ITEST .EQ. 0 ) GO TO 10
         IDEB = LONG - NFAC(NCGE) + 1
         IF ( NDIM .EQ. 2) IDEB = LONG - NARE(NCGE) + 1
         DO 2 K=IDEB,LONG
            IF ( M(IAREF+K-1) .NE. NREFE ) GO TO 2
            LINDIC = LINDIC + 1
            INDIC(LINDIC) = J
            GO TO 3
    2    CONTINUE
    3    CONTINUE
   10 CONTINUE 
.
.
.
      END

COULE1 : S.D.E. NOPO

------------- S.D.S. NOPO

But : Renuméroter les  éléments d'un maillage de façon à former des ensembles disjoints d'éléments. La méthode revient donc à colorier judicieusement les éléments afin que 2 éléments voisins n'aient pas  la même couleur.

Le but de ce traitement est de permettre des calculs vectoriels et/ou parallèles, par exemple au niveau du calcul des matrices associées aux éléments.

Appel du module :

Mot-clé COUL de APNOPO (cas 2D) ou de APNOP3 (cas 3D) ou encore appel via le préprocesseur COULXX.

Ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer le tableau entier COURB de longueur NLC, appeler INITI

CALL COULE1 (M,M,NFNOPE,NINOPE,NFNOPS,NINOPS,
. LVECT,NOMCOU,COURB,NLC)

avec :

Remarque :

Le tableau associé contient un pointeur sur les couleurs, il indique que les éléments à sont dans la couleur 1, etc.

DEFNOP : S.D.E. NOPO et B

--------------- S.D.S. NOPO

But : Construire la  déformée d'un maillage (S.D.E. NOPO) en ajoutant aux coordonnées des sommets des éléments les valeurs d'un champ de déplacements (S.D.E. B). Il s'agit donc d'un post-traitement d'un problème en  élasticité 2 ou 3D. Le résultat est une S.D. NOPO que l'on peut visualiser.

La méthode fonctionne pour les éléments de type Lagrange ou pour ceux dont les 2 (en 2D) ou 3 (en 3D) premiers d.l. correspondent à des déplacements.

Appel du module :

Via le préprocesseur DEFNXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL DEFNOP (M,M,M,NFNOPE,NINOPE,NFB,NIB,RAPORT,NO,
. NFNOPS,NINOPS,NFNDL1,NINDL1)

avec :

DILNOP : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Construire la  déformée d'un maillage (S.D.E. NOPO) par dilatation  anisotrope. La méthode fonctionne pour les éléments de type Lagrange P1.

Appel du module :

Mot-clé DILA de APNOPO (2D) ou APNOP3 (3D).

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer les tableaux entiers NNF et NNDSD de longueur 2 (si non utilisés) ou 2 LNNF et 2 LNDSD (voir ci-dessous), appeler INITI

CALL DILNOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,A,B,C,X0,Y0,Z0,
. LNNF,NNF,LNDSD,NNDSD)

avec :

DTRI3D : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Découper les  éléments d'un maillage 3D composé de tétraèdres, pentaèdres et d'hexaèdres en tétraèdres sans rajouter de  points.

La S.D.E. est de type Lagrange P1.

Appel du module :

Mot-clé TETR de APNOP3 (3D).

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL DTRI3D (M,NFNOPE,NINOPE,NFNOPS,NINOPS,IOPT)

avec :

ELIMNO : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Eliminer un ou plusieurs éléments  d'une  S.D.E. de type NOPO et créer la S.D.S. de type NOPO correspondante.

Appel du module :

Via le préprocesseur ELIMXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer le tableau LISTE et appeler INITI

CALL ELIMNO (M,NFNOPE,NINOPE,NBRE,LISTE,NFNOPS,NINOPS,IAPOI)

avec :

GEONOP : S.D.E. GEOM

--------------- S.D.S. NOPO

But : Convertir  une  S.D.E. de type GEOM  en une S.D.S. de type NOPO.

Appel du module :

Via le préprocesseur GEONXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL GEONOP (M,NFGEOM,NIGEOM,NFNOPS,NINOPS)

avec :

GIBBS : S.D.E. NOPO

------------- S.D.S. NOPO

But : Renuméroter les  noeuds ou les noeuds et les éléments d'un maillage. La méthode employée est celle de  Gibbs.

Appel du module :

Mot-clé RENC de APNOPO (cas 2D) ou de APNOP3 (cas 3D) pour renuméroter les noeuds d'un maillage ou mot-clé RENE des mêmes modules pour renuméroter les noeuds et les éléments ou encore appel via le préprocesseur GIBBXX.

Ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL GIBBS (M,NOCODE,NFNOPE,NINOPE,NFNOPS,NINOPS,
. NOMTAB,LONTAB,IANOUV)

avec :

Remarque :

Un exemple : l'exemple n°1 du chapitre 5.

 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 MODULE GIBBS : PARTIE_FOUR                                                                     
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 MODULE RENUM1 : PARTIE_FOUR                                                                     
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

 PERMUTATION DES COORDONNEES
 ---------------------------

 RENUMEROTATION DES NOEUDS
 -------------------------

 NOMBRE DE NOEUDS :       166

 ------------------------------------------------------------------
 I CARACTERISTIQUES I AVANT RENUMEROTATION I APRES RENUMEROTATION I
 ------------------------------------------------------------------
 I LARGEUR DE BANDE I              120     I               16     I
 ------------------------------------------------------------------
 I PROFIL TOTAL     I             4247     I             2034     I
 I PROFIL MOYEN     I               25.584 I               12.253 I
 ------------------------------------------------------------------
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 FIN DU MODULE RENUM1 
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 FIN DU MODULE GIBBS 
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

IMGEOM : S.D.E. GEOM

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

But : Imprimer le  contenu  d'une S.D.E. de type GEOM .

Appel du module :

Via le préprocesseur IMAGXX.

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL IMGEOM (M,NFGEOM,NIGEOM,IMPRE)

avec :

IMNOPO : S.D.E. NOPO

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

But : Imprimer le  contenu  d'une S.D.E. de type NOPO.

Appel du module :

Mot-clé IMPR de APNOPO ou APNOP3 ou via le préprocesseur IMAGXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL IMNOPO (M,NFNOPO,NINOPO,IMPRE)

avec :

Nous donnons maintenant la description complète de la structure de données NOPO .

Bâtie selon le même principe que les autres structures de données, elle est composée de six tableaux dont l'organisation est prédéfinie.

Tableau NOP0 : Informations générales.

De type entier, ce tableau possède 32 variables. Il contient une description générale du travail (titre,date, nom), de la S.D. NOPO (type, niveau, ...) et indique la présence du tableau NOP1.

Tableau NOP1 : Descripteur de tableaux supplémentaires.

Ce tableau de type entier existe si NTACM (cf. NOP0) est non nul. Il contient, pour chaque tableau à décrire, 22 variables. En règle générale, il n'y a pas de tableaux associés sauf pour certaines applications où l'on a besoin de conserver dans la structure de données des valeurs n'entrant pas dans le cadre de sa définition standard.

Si le tableau NOP1 existe, il contient séquentiellement:

Boucle I de 1 à NTACM

Fin de boucle.

Tableau NOP2 : Description générale du maillage.

Ce tableau de type entier contient 27 valeurs.

Tableau NOP3 : Pointeur éventuel.

Si NBEGM (tableau NOP2) est non nul, ce tableau de type entier contient sur une variable une information relative à chaque super-élément ou description (ce tableau n'est pas actuellement utilisé).

Tableau NOP4 : Coordonnées des sommets.

De type NTYCOO ce tableau contient les NDIM.NP coordonnées des sommets:

X1, Y1, X2, Y2, ... ou X1, Y1, Z1, X2, ...

Tableau NOP5 : Description séquentielle des éléments.

De type entier, ce tableau décrit séquentiellement chaque élément du maillage, il contient:

Boucle I de 1 à NE

Fin de la boucle I.

INFOGE : S.D.E. GEOM

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

But : Imprimer certains items contenus dans une  S.D. GEOM en fonction de critères de sélection.

Appel du module :

Via le préprocesseur INFOXX

Ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI, restaurer en mémoire centrale la S.D. GEOM à traiter (cf. SDREST [George et al. 1989d]) afin de connaître les adresses des tableaux génériques GEO2, GEO3, ... GEO7, appeler le module comme suit:

CALL INFOGE (M,IOPT,TYPESD,NIVEAU,TAB2,TAB3,TAB4,
. TAB5,TAB6,TAB7,NUMREC,XREC,YREC,ZREC)

avec :

Remarques :

De par le mode de stockage des informations dans cette S.D., le choix gouverné par le paramètre IOPT peut induire des calculs délicats et longs, par suite seules certaines sélections sont possibles. Pour accéder aux autres choix, on pourra:

INFONO : S.D.E. NOPO

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

But : Imprimer certains items contenus dans une  S.D. NOPO en fonction de critères de sélection.

Appel du module :

Via le préprocesseur INFOXX

Ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI, restaurer en mémoire centrale la S.D. NOPO à traiter (cf. SDREST [George et al. 1989d]) afin de connaître les adresses des tableaux génériques NOP2, NOP4 et NOP5, appeler le module comme suit:

CALL INFONO (M,IOPT,TYPESD,NIVEAU,TAB2,TAB4,
. TAB5,NUMREC,XREC,YREC,ZREC)

avec :

INITI :

----------

But : Initialiser les variables utiles à toute utilisation d'un module de la bibliothèque Modulef, en particulier initialisation  de la gestion dynamique. L'appel de cet utilitaire est donc indispensable dans tout programme principal écrit par un utilisateur.

Appel de l'utilitaire :

CALL INITI (M,LM,IMPRE,NNN)

avec :

Données:

Ce sous-programme lit un TITRE selon les règles du format libre.

Remarque:

Le sous-programme INITIS  a les mêmes arguments que INITI  et remplit le même rôle mais ne demande pas de titre.

MODNOP : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Construire le  maillage déduit d'un maillage (S.D.E. NOPO) par translation, dilatation anisotrope, rotation, symétrie, transformation  linéaire quelconque ou combinaison des ces transformations. La méthode fonctionne pour les éléments de type Lagrange P1.

Appel du module :

Mot-clés TRAN, DILA, ROTA, SYMD de APNOPO (2D) ou APNOP3 (3D) ou utilisation du préprocesseur MODNXX.

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer les tableaux entiers NNF et NNDSD de longueur 2 (si non utilisés) ou 2 LNNF et 2 LNDSD (voir ci-dessous), déclarer le tableau entier ITYPE de longueur NTRANS, déclarer le tableau réel TRANS à la dimension 12 NTRANS, appeler INITI

CALL MODNOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,NTRANS,
. ITYPE,TRANS,INVER,LNNF,NNF,LNDSD,NNDSD)

avec :

Remarques :

NOP2P1 : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Transformer une S.D.E. NOPO  contenant des triangles de type P2 en une S.D.S. NOPO formée de triangles P1. Chaque élément P2 est coupé  en 3 triangles P1. La numérotation des noeuds est inchangée.

Ce module permet un post-traitement. En effet, si un problème présente des symétries, il est possible de le résoudre uniquement sur une partie du domaine. Il est par contre intéressant de visualiser les résultats sur l'ensemble du domaine. Pour ce faire, on doit créer le maillage symétrique de la partie traitée et la solution obtenue par symétrie à partir de la solution effectivement calculée; ensuite on doit recoller les 2 maillages et les 2 solutions obtenus (cf. RECOLC). Ce type d'opérations n'étant possible que dans le cas de maillage P1 (ou Q1), il convient de convertir les données initiales en P1 (ou Q1), c'est le rôle de ce module.

Appel du module :

Appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL NOP2P1 (M,NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

NOPGEO : S.D.E. NOPO

--------------- S.D.S. GEOM

But : Convertir  une S.D.E. de type NOPO  en une S.D.S. de type GEOM.

Appel du module :

Via le préprocesseur NOPGXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL NOPGEO (M,NFNOPO,NINOPO,NFGEOM,NIGEOM)

avec :

QUA4TR : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Transformer une  S.D.E. NOPO contenant des triangles et des quadrangles en une S.D.S. NOPO formée uniquement de triangles. Chaque élément quadrangulaire est découpé  en 4 triangles.

Appel du module :

Mot-clé Q4T de APNOPO

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL QUA4TR (M,NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

QUADRA : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Réaliser , à partir d'un maillage formé de triangles, un maillage formé de quadrangles (éventuellement quelques triangles peuvent subsister).

Appel du module :

Appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL QUADRA (M,NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

QUALNO : S.D.E. NOPO

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

But : Mesurer la qualité d'un maillage . Voir [Guide Modulef - 6].

Appel du module  :

Via le préprocesseur QUALXX.

RECOLC : S.D.E. NOPO et B

------------- S.D.S. NOPO et B

But : Recoller  2 maillages (les 2 S.D.E. NOPO) afin de n'en former qu'un seul (S.D.S. NOPO).

De plus, ce module permet de recoller  2 S.D. B, contenant le champ de solutions associées aux 2 maillages de départ afin de former la S.D. B associée au maillage résultant du recollement des 2 maillages initiaux.

Maillages comme solutions sont de type P1.

La méthode utilisée pour reconnaître les items (points, arêtes et faces) communs aux 2 maillages de départ est basée sur un codage par hachage de la position des points. Les points communs sont de 2 natures:

Les arêtes et les faces sont reconnus identiques si leurs extrémités (en termes de points) sont les mêmes; on trouve également la distinction vue ci-dessus faisant ou ne faisant pas intervenir le numéro de référence de l'item considéré.

Un paramètre définit la précision du recollement.

Appel du module :

Mot-clé RECO de APNOPO ou APNOP3 ou via le préprocesseur RECOXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL RECOLC (M,M,EPS,NFNOP1,NINOP1,NFNOP2,NINOP2,
. IOPT,IEB,NFB1,NIB1,NFB2,NIB2,NFNOPS,NINOPS,NTNOPS,
. NFBS,NIBS,NTBS)

avec :

Remarques :

REFNOP : S.D.E. NOPO

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

But : Trouver dans un  maillage, les éléments dont une face est référencée à un numéro donné (cas 3D) ou dont une arête est référencée à un numéro donné (cas 2D).

Sortir les numéros de ces éléments dans un tableau utilisable par la suite.

Appel du module :

Via le préprocesseur REFNXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer le tableau entier TABNUM de LTAB mots, appeler INITI

CALL REFNOP (M,M,M,NFNOPE,NINOPE,NREF,TABNUM,LONG)

avec :

Remarque :

LTAB sera majoré en entrée, LONG n'étant connu qu'après le calcul.

REFPOI : S.D.E. NOPO

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

But : Trouver dans un  maillage, les points de référence de numéro donné.

Sortir les numéros de ces points dans un tableau utilisable par la suite.

Appel du module :

Via le préprocesseur REFPXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer le tableau entier TABNUM de LTAB mots, appeler INITI

CALL REFPOI (M,M,M,IACOOR,NP,NFNOPE,NINOPE,NREF,TABNUM,
. LONG)

avec :

Remarque :

LTAB sera majoré en entrée, LONG n'étant connu qu'après le calcul.

REGMA2 : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Régulariser un  maillage 2D en déplacant chaque sommet non frontalier ou non spécifié par  barycentrage.

Certains points ne sont pas affectés par la transformation:

Appel du module :

Mot-clé REGU de APNOPO

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer le tableau entier NPFIX de LNBFIX mots, appeler INITI

CALL REGMA2 (M,NFNOPE,NINOPE,NFNOPS,NINOPS,
. NBI,NPFIX,NBFIX)

avec :

inter.psfig:regu2Maillage initialinterregu.psfig:regu21Régularisé

RETRIN : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Découper  les  éléments d'un maillage en sous-éléments du même type.

Appel du module :

Mot-clé RETR de APNOPO ou APNOP3 ou via le préprocesseur RETRXX

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer le tableau entier NNFRON de 1 ou NBFRON mots, déclarer le logique FONINT et l'external FFRONT, appeler INITI

CALL RETRIN (M,NFNOPE,NINOPE,NFNOPS,NINOPS,NAUXI,N,
. NBFRON,NNFRON,FONINT,FFRONT)

avec :

Remarque :

la fonction FFRONT est celle définie au chapitre 1.

afffin.psfig:retrMaillage initialretr.psfig:retr1Après découpe

ROTNOP : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Construire la  déformée d'un maillage (S.D.E. NOPO) par rotation . La méthode fonctionne pour les éléments de type Lagrange P1.

Appel du module :

Mot-clé ROTA de APNOPO (2D) ou APNOP3 (3D).

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer les tableaux entiers NNF et NNDSD de longueur 2 (si non utilisés) ou 2 LNNF et 2 LNDSD (voir ci-dessous), appeler INITI

CALL ROTNOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,A,B,C,X0,Y0,Z0,
. TETA,LNNF,NNF,LNDSD,NNDSD)

avec :

Remarque :

En 2D, A,B,C et Z0 ne servent pas

SYMNOP : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Construire la  déformée d'un maillage (S.D.E. NOPO) par symétrie . La méthode fonctionne pour les éléments de type Lagrange P1.

Appel du module :

Mot-clé SYMD de APNOPO (2D) ou SYMP de APNOP3 (3D).

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer les tableaux entiers NNF et NNDSD de longueur 2 (si non utilisés) ou 2 LNNF et 2 LNDSD (voir ci-dessous), appeler INITI

CALL SYMNOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,A,B,C,D,
. LNNF,NNF,LNDSD,NNDSD)

avec :

Remarque :

En 2D, D ne sert pas.

TN3D2D : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Transformer un  maillage 3D (S.D.E. NOPO) en un maillage 2D par mise à 0 des z. La méthode fonctionne pour les éléments de type Lagrange P1.

Appel du module :

Appel classique :

Dimensionner le tableau M (dans le common blanc), appeler INITI

CALL TN3D2D (M,NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

Remarque :

Aucune vérification n'est effectuée.

TRANOP : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Construire la  déformée d'un maillage (S.D.E. NOPO) par translation . La méthode fonctionne pour les éléments de type Lagrange P1.

Appel du module :

Mot-clé TRAN de APNOPO (2D) ou de APNOP3 (3D).

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer les tableaux entiers NNF et NNDSD de longueur 2 (si non utilisés) ou 2 LNNF et 2 LNDSD (voir ci-dessous), appeler INITI

CALL TRANOP (M,NFNOPE,NINOPE,NFNOPS,NINOPS,A,B,C,
. LNNF,NNF,LNDSD,NNDSD)

avec :

Remarque :

En 2D, C ne sert pas.

TRCOAC : S.D.E. NOPO

--------------- S.D.S. NOPO

But : Construire un  maillage (S.D.S. NOPO) contenant comme éléments les faces (3D) ou les arêtes (2D) du maillage initial de numéro de référence donné.

Appel du module :

Mot-clé EXTR de APNOPO (2D) ou de APNOP3 (3D).

ou appel classique :

Dimensionner le tableau M (dans le common blanc), déclarer le tableau entier REF de longueur NBREF, appeler INITI

CALL TRCOAC (M,M,M,REF,NBREF,NFNOPE,NINOPE,NFNOPS,NINOPS)

avec :

TRNOPO : S.D.E. NOPO ou GEOM

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

But : Dessiner  un  maillage 2D ou 3D (S.D.E. NOPO ou S.D.E. GEOM).

Appel du module :

Mot-clé DESS de APNOPO (2D) ou de APNOP3 (3D) (voir la remarque sur ces mots-clés).

ou appel via le préprocesseur TRNOXX 

Voir, pour plus de détails, le rapport Modulef [George et al. 1987].


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 5 Exemples d'apprentissage Sup.: 4 Liste des modules Préc.: Modules de création de maillages Index Table des matières