





![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Suiv.: 1.4.4 Un exemple complet
Sup.: 1.4 Le module APNOPO
Préc.: 1.4.2 Arbre de l'appel de APNOPO
Index
Table des matières
Ce programme est basé sur des MOTS CLE et travaille à partir d'un fichier de
données contenant la liste correspondante (Mots-clés et valeurs
associées). Une option permet de créer le fichier de données (ou de
commandes), une autre option permet alors de lire ce fichier et d'activer les requêtes qui y sont
stockées.
La bibliothèque Modulef [Bernadou et al. 1988] est organisée en plusieurs ensembles de programmes ou
(sous-)bibliothèques. Chacun de ceux-ci contient les programmes relatifs à un type d'application
déterminée. Ainsi les programmes utilitaires de champ général sont dans la bibliothèque
UTIL, ceux dédiés à la manipulation des Structures de Données sont dans UTSD, les mailleurs
et modules traitant les maillages bidimensionnels sont dans NOP2, ceux traitant les maillages
tridimensionnels sont dans NOP3, les programmes de maillage d'application non dédiée sont dans NOPO, ...,
les programmes principaux sont dans PPAL, les utilitaires employés dans le système
conversationnel sont dans CONV et CONW, etc.
Il y a 2 manières pour appeler le module APNOPO:
- via le préprocesseur APNOXX;
- directement.
Dans le premier cas, on devra réaliser l'édition de liens des bibliothèques CONV, CONW, NOP2,
NOPO, UTSD, UTIL et UTIF (utilitaires généraux non portables) avec le programme APNOXX .
Dans le second cas, les bibliothèques utiles sont les mêmes que ci-dessus, si ce n'est les bibliothèques
CONV et CONW maintenant inutiles.
Un programme d'appel, en FORTRAN 77, est à écrire de la façon suivante:
- COMMON M(LM)
Déclaration du super-tableau de travail M de LM mots
- EXTERNAL FFRONT
Déclaration de la "function" utile
- CALL INITI(M,LM,IMPRE,NNN)
Initialisation de tout travail MODULEF
- CALL APNOPO(M,M,FFRONT)
L'appel du module
- STOP
- END
Les seuls arguments de ce module sont le super-tableau M et le nom formel d'une éventuelle
fonction de projection. Les données sont contenues dans un fichier de commandes sous la
forme de mots-clés et des valeurs associées.
Suit la liste des mots-clés classés selon le niveau mentionné ci-dessus. Pour chaque valeur, on
précise le type attendu (I: entier, A: character, R: réel, ...).
COUR : Définition des fonctions descriptives des courbes présentes.
Cette donnée sera utilisée lors de la construction des lignes ou lors d'un redécoupage
d'un maillage.
- COUR (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- Boucle de J=1 au nombre de descriptions:
- 'COURBNN(X,Y) = X*X + (Y-2)*(Y-2) -0.125;'
par exemple, l'équation de la courbe repérée par le numéro NN
mettre l'expression entre ' et finir l'expression par ;
- FIN (A) : indique la fin des données de ce mot-clé.
Remarques:
- Si on utilise la fonction FFRONT, ce mot-clé est inutile;
- Les courbes peuvent avoir un numéro NN quelconque (de 1 à 99). La courbe de numéro NN sera
utilisée lorsque la référence de lignes (ou d'arêtes) NN sera rencontrée (voir les mots-clés
LIGN et RETR).
POIN : Définition des points caractéristiques .
- POIN (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NPOINT (I) : le nombre de points à décrire
- Boucle de J=1 à NPOINT le nombre de points caractéristiques
- NOP (I) : le numéro du point
- NOREF (I) : sa référence
- X (R) : son abscisse
- Y (R) : son ordonnée
- fin de la boucle J
Remarques:
- Les points peuvent être donnés dans le désordre (grâce à NOP);
- Si les points ne se prêtent pas à une saisie manuelle (de par leur nombre ou leur position) mais
sont plus facile à saisir via un sous-programme, on peut utiliser le sous-programme SPDPTS qui sera
appelé par le module APNOPO. Pour ce faire on devra:
- fixer NPOINT à la valeur - NPOINT et ne pas taper la boucle ci-dessus,
- fournir le sous-programme SPDPTS comme suit:
SUBROUTINE SPDPTS(NPOINT,MPPOI,MNRPC,XY)
avec
NPOINT : le nombre de points (input)
MPPOI(*) : le tableau entier indiquant que le point local I est le
point global J=MPPOI(I)
MNRPC(*) : le tableau des références des points (indicés par I)
XY(2,*) : le tableau réel des coordonnées des points (indicés par I), i.e.
X = XY(1,.), Y = XY(2,.)
LIGN : Définition des lignes caractéristiques à partir des points
caractéristiques (donnés auparavant via le mot-clé POIN).
Chaque ligne est construite à partir des points caractéristiques et est découpée en
segments en accord avec les prescriptions contenues dans sa description.
- LIGN (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NDLM (I) : le nombre de lignes à décrire
- Boucle de J=1 à NDLM le nombre de lignes caractéristiques
- NOLIG (I) : le numéro de la ligne
- NOELIG (I) : le nombre de points de la partition de la ligne (extrémités incluses)
- NEXTR1 (I) : le numéro du point extrémité 1 de la ligne
- NEXTR2 (I) : le numéro du point extrémité 2 de la ligne
- NOREF (I) : la référence de la ligne
- NFFRON (I) : l'option de description de la géométrie de la ligne (cf. plus bas)
- RAISON (R) : la raison de la progression géométrique entre les points à insérer sur la ligne
- si NFFRON = -1, boucle de K=1 à NOELIG -2
-
- NOEL(K) (I) : numéro des points (extrémités exclues) de la ligne
- si NFFRON = -3:
-
- NOCE (I) : numéro du centre du cercle (dans la liste des points caractéristiques)
- fin de la boucle J
Remarques:
- Les lignes peuvent être données dans le désordre (grâce à NOLIG);
- NFFRON précise la géométrie de la ligne (i.e. la manière dont seront créés ses points
intermédiaires). On trouve 5 options:
- i
- NFFRON = 0 : La ligne est la droite joignant les points NEXTR1 et NEXTR2;
- ii
- NFFRON > 0 : la ligne est décrite par la fonction FFRONT pour l'indice NOREFL ou par
la courbe COURBEJJ avec JJ = NOREFL;
Dans ces cas, la ligne doit être décrite dans le sens trigonométrique.
- iii
- NFFRON = -1 : la ligne est définie comme l'ensemble des segment formés par les points
NEXTR1
NOEL(1), NOEL(1)
NOEL(2), ...
..., NOEL(NOELIG-2)
NEXTR2.
- iv
- NFFRON = -2 : la ligne est le cercle centré à l'origine passant par les points NEXTR1 et NEXTR2
(attention au sens).
- v
- NFFRON = -3 : la ligne est le cercle de centre l'un des points caractéristiques (dont on donne le
numéro NOCE) passant par les points NEXTR1 et NEXTR2 (attention au sens).
- Pour NFFRON = -2 ou -3, on définit un cercle. Attention cette information ne sert
qu'à construire le maillage des lignes et est perdue par la suite; en conséquence, ceci n'empêche pas de
donner une
référence non nulle à la ligne et de donner l'équation du cercle associé (mot-clé COUR) qui,
de ce fait, pourra être utilisé, par exemple, en cas de redécoupage ou d'adjonction de noeuds
(mots-clés RETR ou ADPO).
Utilisant leur définition, le module COLIGN, appelé par APNOPO, va construire la forme
discrétisée des lignes, c'est-à-dire l'ensemble des NOELIG-1 segments de droite correspondants.
Les lignes permettront de définir les contours (discrétisés) des domaines à mailler. Un contour sera
formé d'un ensemble de lignes donc de l'ensemble de leurs items.
QUAC : Appel du mailleur QUACOO qui correspond à une méthode
algébrique
dans le cas d'un quadrangle généralisé. Les données utiles sont le contour du domaine en terme
de lignes (mot-clé LIGN).
- QUAC (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU (I) : le niveau de la S.D. résultat
- NUDSD (I) : le numéro de sous-domaine à affecter aux éléments créés
- NBRELI (I) : le nombre de lignes du contour du domaine
- NS1L (I) : le sens de parcours de la première ligne du contour: si NS1L = 1 , la ligne
sera parcourue de NEXTR1 vers NEXTR2, si NS1L = -1, la ligne
sera parcourue en sens inverse (de NEXTR2 vers NEXTR1)
- Boucle de J=1 à NBRELI le nombre de lignes du contour
- NOLIG(J) (I) : le numéro de la ligne J
- fin de la boucle J
- IMAX (I) : le nombre de points du premier côté du quadrangle à mailler (extrémités incluses)
- NQUAD (I): option de découpage des éléments (voir figures 1.2
à 1.5):
- 1 : maillage en quadrangles,
- 0 : maillage en triangles (choix de la meilleure diagonale pour couper les quadrangles),
- -1 : idem avec traitement des coins topologiques du quadrangle initial,
- -2 (-3) : maillage régulier (choix de la même diagonale pour chaque découpe de quadrangles) avec
traitement des coins,
- -4 (-5) : maillage régulier sans traitement particulier des coins.
Remarques:
- Deux lignes se suivant doivent avoir une extrémité commune;
- Le nombre de points sur le contour doit être pair. En fait le domaine est identifié à un quadrilatère
et le nombre de points sur 2 de ses côtés opposés doit être le même, par suite la connaissance
de IMAX suffit à définir le découpage;
- IMAX
2, idem pour JMAX (l'équivalent de IMAX pour les 2 autres côtés, implicitement calculé).
fig5bd.psfig:quac1Découpage régulierfig5be.psfig:quac11Autre choix
fig5bf.psfig:quac2Autre découpagefig5bh.psfig:quac21Autre choix
TRIC : Appel du mailleur TRICOO qui correspond à une méthode
algébrique
dans le cas d'un triangle généralisé. Les données utiles sont le contour du domaine en terme
de lignes (mot-clé LIGN).
- TRIC (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU (I) : le niveau de la S.D. résultat
- NUDSD (I) : le numéro de sous-domaine à affecter aux éléments créés
- NBRELI (I) : le nombre de lignes du contour du domaine
- NS1L (I) : le sens de parcours de la première ligne du contour: si NS1L = 1 , la ligne
sera parcourue de son extrémité NEXTR1 vers son extrémité NEXTR2, si NS1L = -1, la ligne
sera parcourue en sens inverse (donc de NEXTR2 vers NEXTR1)
- Boucle de J=1 à NBRELI le nombre de lignes du contour
- NOLIG(J) (I) : le numéro de la ligne J
- fin de la boucle J
- IMAX (I) : le nombre de points du premier côté du triangle à mailler (extrémités incluses)
Remarques:
- Deux lignes se suivant doivent avoir une extrémité commune;
- Le nombre de points sur le contour doit être un multiple de 3. En fait le domaine est identifié à
un triangle et le nombre de points sur ses côtés topologiques doit être le même, par suite la connaissance
de IMAX suffit à déterminer complètement le découpage;
- IMAX
2.
TRIA : Appel du mailleur TRIFRO qui correspond à une méthode frontale.
Les données utiles sont le contour du domaine en terme de lignes
(mot-clé LIGN). Il est possible de forcer des points
internes. Par ailleurs, ce mailleur accepte des contours
à plusieurs composantes et permet de créer des maillages triangles
ou quadrangles contrôlés ou non.
- TRIA (A) : le mot-clé à activer
- IMPRE, NIVEAU, NUDSD, NBRELI, NPROPA comme pour le mot-clé TRIH
- Boucle de J=1 à NBRELI le nombre de lignes du contour
- NOLIG(J) (I) : le numéro de la ligne J du contour.
- fin de la boucle J
- NCOMP, NBRINT comme pour le mot-clé TRIH
- IOPT (I) : option de gestion du front (choix du segment de départ)
- 0 : création de triangles - option lente
- 1 : création de triangles - option rapide (conseillé)
- 10 : création de triangles - option lente - version
contrôlée
- 11 : création de triangles - option rapide (conseillé) - version
contrôlée
- 20 : création de quadrangles - option lente
- 21 : création de quadrangles - option rapide (conseillé)
- 30 : création de quadrangles - option lente - version
contrôlée
- 31 : création de quadrangles - option rapide (conseillé) - version
contrôlée
- Si IOPT = 10, 11, 30 ou 31
- NOMFIC (C) : nom du fichier contenant le maillage initial
- NIVEAU (I) : niveau de ce maillage
- NOMFIC (C) : nom du fichier contenant une structure de
données B, indiquant pour chaque sommet du maillage
initial la densité du maillage en son voisinage
- NIVEAU (I) : niveau de cette structure de données B
- Boucle de K=1 à NCOMP le nombre de composantes du contour
- NTACO(K) (I) : le nombre de lignes de la composante K du contour (voir TRIH également).
- fin de la boucle K
- Boucle de L=1 à NBRINT le nombre de points internes fixés (si > 0)
- NUMPIN(L) (I) : le numéro du point interne L (cf. TRIH);
- DIAM(L) (R) : le diamètre souhaitable pour les triangles créés autour du point L.
- fin de la boucle L
Remarque:
Ce mot-clé nécessite les mêmes données que le mot-clé suivant (TRIH), hormis le
paramètre IOPT décrit ci-dessus.
TRIH : Appel du mailleur TRIHER qui correspond à une
méthode de Voronoï.
Les données utiles sont le contour du domaine en terme de lignes
(mot-clé LIGN).
Il est possible de forcer des points internes. Par ailleurs, ce
mailleur accepte des contours à plusieurs composantes et permet de
générer des maillages triangles contrôlés ou non.
Dans sa version standard (non contrôlée) il permet de forcer des arêtes
internes.
- TRIH (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU (I) : le niveau de la S.D. résultat
- NUDSD (I) : le numéro de sous-domaine à affecter aux éléments créés
- NBRELI (I) : le nombre de lignes du contour du domaine
- NPROPA (I) : type et coefficient de propagation (1 est une valeur possible, voir remarque)
- Boucle de J=1 à NBRELI le nombre de lignes du contour
- NOLIG(J) (I) : le numéro de la ligne J du contour décrit dans le sens direct pour
sa partie extérieure et dans le sens rétrograde pour ses éventuelles parties internes.
- fin de la boucle J
- NCOMP (I) : le nombre de composantes connexes de la frontière(
I.e. le nombre de trous +1, dans le
préprocesseur on demande d'ailleurs le nombre de trous et non ce nombre de composantes.)
- NBRINT (I) : le nombre de points internes fixés
- IOPT (I) : option de création des points internes:
- 0 : le mailleur ne place aucun point interne
- 1 : le mailleur insère tous les points internes
- -1 : le mailleur crée des points internes en plus de ceux donnés
- 11 : création de triangles - version contrôlée
- Si IOPT = 11
- NOMFIC (C) : nom du fichier contenant le maillage initial
- NIVEAU (I) : niveau de ce maillage
- NOMFIC (C) : nom du fichier contenant une structure de
données B, indiquant pour chaque sommet du maillage
initial la densité du maillage en son voisinage
- NIVEAU (I) : niveau de cette structure de données B
- Boucle de K=1 à NCOMP le nombre de composantes du contour
- NTACO(K) (I) : le nombre de lignes de la composante K du contour. Cette composante est parcourue
dans le sens NEXTR1 vers NEXTR2 pour sa première ligne si NTACO(K) > 0, en sens inverse sinon.
- fin de la boucle K
- Boucle de L=1 à NBRINT le nombre de points internes fixés (si > 0)
- NUMPIN(L) (I) : le numéro du point interne L (pris dans la liste des points définis au mot-clé
POIN);
- DIAM(L) (R) : le diamètre souhaitable pour les triangles créés autour du point L.
- fin de la boucle L
Remarques:
- Deux lignes se suivant (sur une même composante du contour)
doivent avoir une extrémité commune;
- Une ligne ne peut pas apparaître 2 fois dans le contour;
- Les points internes fixés permettent d'une part de forcer le
maillage à s'appuyer sur ces points et d'autre part à
spécifier la densité du maillage en leur voisinage (selon la
valeur de DIAM);
- Le paramètre NPROPA est utile lors de la création des points
internes. Ceux-ci sont répartis de manière géométrique si
NPROPA est positif et de façon arithmétique s'il est
négatif.
- La position des points internes est fonction de celle des points
de la frontière donnée. Un maillage fin au niveau de la
frontière induira un maillage fin à l'intérieur. Pour diluer
l'influence des données sur l'intérieur du domaine, on pourra
jouer sur la valeur de NPROPA (en fait sa valeur absolue a). A
partir de a on calcule le coefficient de propagation comme
.
Ainsi a=1 donne un effet
neutre; pour a=2,3,4,5 ... on obtient successivement
=1.05, 1.10, 1.15, 1.20 ....
- En version standard (non contrôlée) le mailleur TRIH permet de
forcer des arêtes internes (ces arêtes peuvent intersecter les
composantes connexes).
- En version contrôlée, l'utilisateur doit fournir
- la géométrie du domaine à mailler : les points et lignes
permettant de décrire les différentes composantes (il est
impératif que la référence des points soit négative)
- un premier maillage de ce domaine
- une structure de donnée de type B précisant la densité de
maillage souhaité au voisinage de chaque sommet du premier maillage
MANU : Appel du mailleur CONOPO qui correspond à une description manuelle , i.e. à partir
de points (mot-clé POIN).
- MANU (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU (I) : le niveau de la S.D. résultat
- NE (I) : le nombre d'éléments à créer
- Boucle de J=1 à NE le nombre d'éléments
- fin de la boucle J
Remarques:
- NUMSOM(*) est l'un des points de la liste créée avec le mot-clé POIN;
- L'ordre des sommets et des arêtes est l'ordre standard de la S.D. NOPO;
- Les numéros de référence des arêtes permettront éventuellement des
retriangulations (mot-clé RETR) avec projections sur une courbe ( FFRONT ou fonctions interprétées).
OBJE : Appel du mailleur CONOPO dans le cas d'un seul élément.
- OBJE (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU (I) : le niveau de la S.D. résultat
- NCGE (I) : le type de l'élément: 1
point, 2
segment,
3
triangle,
4
quadrangle;
- IREF (I) : l'option pour l'affectation des références
- 0 : toutes les références sont mises à 0
- 1 : les références sont différenciées: par exemple pour un triangle:
- pour les sommets : 1, 2, 3
- pour les arêtes : 4, 5, 6.
tandis que pour un quadrangle, on aura:
- pour les sommets : 1, 2, 3, 4
- pour les arêtes : 5, 6, 7, 8.
Remarques:
- Le numéro de sous-domaine est mis à 1;
- Le mot-clé NUME peut être utilisé pour modifier les numéros;
- Ce module sert à faire très vite des tests très simples.
BARR : Appel du mailleur CONOPO pour créer des segments à partir de la donnée d'un contour
défini en terme de lignes.
- BARR (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU (I) : le niveau de la S.D. résultat
- NUDSD (I) : le numéro de sous-domaine à affecter aux éléments créés
- NBRELI (I) : le nombre de lignes du contour du domaine
- NS1L (I) : le sens de parcours de la première ligne du contour: si NS1L = 1, la ligne
sera parcourue de son extrémité NEXTR1 vers son extrémité NEXTR2, si NS1L = -1, la ligne
sera parcourue en sens inverse (donc de NEXTR2 vers NEXTR1)
- Boucle de J=1 à NBRELI le nombre de lignes du contour
- NOLIG(J) (I) : le numéro de la ligne J
- fin de la boucle J
Remarques:
- Le contour est fermé ou non;
- Les lignes se suivent.
TRAN : Appel du module MODNOP pour réaliser le maillage issu d'une translation
d'un maillage donné.
- TRAN (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- NBNNF (I) : le nombre de numéros de référence à changer
- NBNNSD (I) : le nombre de numéros de sous-domaine à changer
- Boucle de J=1 à NBNNF (si NBNNF
0)
- NANCIEN(J) (I) : le numéro de référence à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- Boucle de J=1 à NBNNSD (si NBNNSD
0)
- NANCIEN(J) (I) : le numéro de sous-domaine à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- TRANX (R) : la composante en x de la translation
- TRANY (R) : la composante en y de la translation
Remarque:
- Si un numéro de référence indique la présence d'une courbe, on
veillera à établir la cohérence entre la courbe initiale et la courbe transformée.
ROTA : Appel du module MODNOP pour réaliser le maillage issu de la rotation d'un
maillage donné.
- ROTA (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- NBNNF (I) : le nombre de numéros de référence à changer
- NBNNSD (I) : le nombre de numéros de sous-domaine à changer
- Boucle de J=1 à NBNNF (si NBNNF
0)
- NANCIEN(J) (I) : le numéro de référence à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- Boucle de J=1 à NBNNSD (si NBNNSD
0)
- NANCIEN(J) (I) : le numéro de sous-domaine à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
-
(R) : l'angle de rotation en degré
- XC (R) : l'abscisse du centre de rotation
- YC (R) : son ordonnée
Remarque:
- Si un numéro de référence indique la présence d'une courbe, on
veillera à établir la cohérence entre la courbe initiale et la courbe transformée.
SYMD : Appel du module MODNOP pour réaliser le maillage issu d'une symétrie par rapport
à une droite d'un maillage donné.
- SYMD (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- NBNNF (I) : le nombre de numéros de référence à changer
- NBNNSD (I) : le nombre de numéros de sous-domaine à changer
- Boucle de J=1 à NBNNF (si NBNNF
0)
- NANCIEN(J) (I) : le numéro de référence à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- Boucle de J=1 à NBNNSD (si NBNNSD
0)
- NANCIEN(J) (I) : le numéro de sous-domaine à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- A (R) : les paramètres définissant la droite de symétrie donnée sous la forme AX + BY + C = 0.
- B (R) : le second coefficient de l'équation de la droite
- C (R) : son troisième coefficient
Remarque:
- Si un numéro de référence indique la présence d'une courbe, on
veillera à établir la cohérence entre la courbe initiale et la courbe transformée.
DILA : Appel du module MODNOP pour réaliser le maillage issu de la dilatation d'un
maillage donné.
- DILA (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- NBNNF (I) : le nombre de numéros de référence à changer
- NBNNSD (I) : le nombre de numéros de sous-domaine à changer
- Boucle de J=1 à NBNNF (si NBNNF
0)
- NANCIEN(J) (I) : le numéro de référence à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- Boucle de J=1 à NBNNSD (si NBNNSD
0)
- NANCIEN(J) (I) : le numéro de sous-domaine à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- DILX (R) : le coefficient de dilatation dans la direction x
- DILY (R) : le coefficient de dilatation dans la direction y
- XINV (R) : l'abscisse d'un point invariant par cette transformation
- YINV (R) : son ordonnée
Remarque:
- Si un numéro de référence indique la présence d'une courbe, on
veillera à établir la cohérence entre la courbe initiale et la courbe transformée.
Q4T : Appel du module QUATRI pour découper chaque quadrangle d'un maillage
donné en quatre triangles.
- Q4T (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
RETR : Appel du module RETRIN pour découper chaque élément d'un maillage
donné en sous-éléments du même type.
- RETR (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- N (I) : le paramètre de subdivision
Remarques:
- Chaque élément est découpé en N² éléments du même type (N dans le cas
d'un segment).
- Ce module est capable de projeter sur les frontières "courbes" les points qu'il crée dans le cas
où un numéro de référence (d'arête) associé à une courbe est rencontré.
- Pour N = -1 et un maillage composé de triangles seulement, on construit le barycentre et on
coupe chaque triangle en trois sous-triangles appuyés sur ce point.
REGU : Appel du module REGMA2 pour régulariser un maillage donné (par barycentrage).
- REGU (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
Pour IMPRE
5, on donne l'histogramme des qualités des éléments triangulaires avant et après
régularisation (La qualité d'un triangle est définie comme la
valeur Q =
où
est un coefficient de normalisation tel que Q=1 pour un triangle équilatéral, h est le diamètre
de l'élément mesuré,
est le rayon de son cercle inscrit: notons que Q augmente quand le triangle
s'aplatit).
AIGU : Appel du module AIGUNO pour supprimer les angles non aigus d'un maillage donné
composé de triangles.
- AIGU (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
AFFL : Appel du module AFFNOP pour affiner localement un maillage donné autour de certains de ses
sommets.
- AFFL (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- NQUAD (I) : 1 : en découpant des quadrangles, on peut créer des triangles, 0 sinon.
- LSAT (I) : le nombre de sommets à traiter
- Boucle de J=1 à LSAT
- NUMSOM(J) (I) : le numéro du sommet J autour duquel on veut affiner
- fin de la boucle J
Remarque:
- Chaque sommet est compté et donné autant de fois que l'on désire affiner en son
voisinage.
NUME : Appel du module MODNOP pour modifier des attributs (numéro de référence ou de
sous-domaine) dans un maillage donné.
- NUME (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- NBNNF (I) : le nombre de numéros de référence à changer
- NBNNSD (I) : le nombre de numéros de sous-domaine à changer
- Boucle de J=1 à NBNNF (si NBNNF
0)
- NANCIEN(J) (I) : le numéro de référence à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- Boucle de J=1 à NBNNSD (si NBNNSD
0)
- NANCIEN(J) (I) : le numéro de sous-domaine à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
Remarque:
- Si un numéro de référence indique la présence d'une courbe, on
veillera à établir la cohérence entre la courbe initiale et la courbe transformée
(au niveau des numéros de référence).
RECO : Appel du module RECOLC pour recoller deux maillages et créer ainsi un nouveau maillage.
- RECO (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ numéro 1
- NIVEAU2 (I) : le niveau de la S.D. de départ numéro 2
- NIVEAU3 (I) : le niveau de la S.D. résultat du recollement
- EPS (R) : la précision du recollement (0.01 par exemple)
- IOPT (I) : l'option de recollement: 0 recollement géométrique, 1 recollement physique.
- NBNNF (I) : le nombre de numéros de référence à changer
- NBNNSD (I) : le nombre de numéros de sous-domaine à changer
- Boucle de J=1 à NBNNF (si NBNNF
0)
- NANCIEN(J) (I) : le numéro de référence à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
- Boucle de J=1 à NBNNSD (si NBNNSD
0)
- NANCIEN(J) (I) : le numéro de sous-domaine à changer
- NOUVEAU(J) (I) : le numéro à associer aux items repérés
par NANCIEN(J)
- fin de la boucle J
Remarques:
- Le recollement géométrique consiste à identifier les points en ne tenant compte que de leurs
positions.
- Par opposition, le recollement physique consiste à identifier les points en tenant compte de leur
position et de leur numéro de référence (deux points sont reconnus identiques si leurs
positions sont les mêmes et si leurs références sont les mêmes).
En jouant sur l'option de recollement, on pourra réaliser des 'fissures'.
ADPO : Appel du module ADPNOP pour définir les noeuds
sur un maillage donné (un maillage non traité de la sorte aura ses noeuds identiques à
ses sommets).
- ADPO (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- N1 (I) : le nombre de noeuds sur les arêtes (extrémités exclues)
- ISET (I) : le nombre de noeuds internes à chaque triangle
- ISEQ (I) : le nombre de noeuds internes à chaque quadrangle
- NOESOM (I) : 1 les sommets sont des noeuds, 0 sinon
Remarques:
- Il n'est plus possible d'activer les mots-clés précédents, par suite ce mot-clé est à
appeler quand l'ensemble de la géométrie a été traité.
- Une renumérotation est souhaitable après cette opération
EXTR : Appel du module TRCOAC pour construire une S.D. NOPO contenant les arêtes
de numéro de référence donné.
- EXTR (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- NBNNF (I) : le nombre de numéros de référence d'arête à considérer
- Boucle de J=1 à NBNNF (si NBNNF
0)
- NREF(J) (I) : le numéro de référence des arêtes à retenir
- fin de la boucle J
RENC : Appel du module GIBBS pour renuméroter les noeuds d'un maillage.
- RENC (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
Remarque:
- Ce mot-clé vient généralement juste avant la sauvegarde du maillage final sur fichier.
RENE : Appel du module GIBBS pour renuméroter les éléments et les noeuds d'un maillage.
- RENE (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
Remarque:
- Ce mot-clé vient généralement juste avant la sauvegarde du maillage final sur fichier.
COUL : Appel du module COULE1 pour renuméroter les éléments par coloriage.
- COUL (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NIVEAU1 (I) : le niveau de la S.D. de départ
- NIVEAU2 (I) : le niveau de la S.D. résultat
- LVECT (I) : le nombre maximal d'éléments par couleur
- NLC (I) : le nombre de frontières courbes décrites
- NOMTAB (A) : le nom du tableau qui sera associé à la S.D.
- Boucle de J=1 à NLC le nombre de lignes courbes
- NREF(J) (I) le numéro de référence de la ligne J
- fin de la boucle J
Remarque:
- Ce mot-clé permet de regrouper les éléments d'un maillage en paquets disjoints, par suite, il
permet d'envisager un calcul, par exemple des matrices élémentaires, sur super-calculateurs.
SAUV : Appel du module SAUVER pour reporter sur fichier un maillage résidant en mémoire centrale.
- SAUV (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NINOPO (I) : le niveau de la S.D. à sauver sur fichier
- NTNOPO (I) : le nombre de tableaux à associer à la S.D. (le plus souvent 0)
- NOM (A) : le nom du fichier de sauvegarde
- Boucle de J=1 à NTNOPO (si NTNOPO
)
- NOMTAB (A) : le nom du tableau J (4 caractères)
- NTYP (I) : son type
- LONG (I) : son nombre de mots
- Boucle de K=1 au nombre de variables
- VAL(K) (NTYP) : les variables du tableau
- fin de la boucle K
- COMMENT (A) : commentaire sur le contenu du tableau J
- fin de la boucle J
Remarques:
- Ce mot-clé peut être activé à tout moment pour sauver un maillage
partiel ou final.
- Les éventuelles courbes définies en tant que fonctions interprétées sont stockées
automatiquement dans la S.D. en tant que tableaux associés.
INTR : Appel du module SDREST pour introduire en mémoire centrale un maillage résidant sur un
fichier.
- INTR (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NINOPO (I) : le niveau de la S.D. après introduction en mémoire
- NOM (A) : le nom du fichier contenant la S.D.
Remarques:
- Pour être utilisables par les modules de transformations géométriques, les maillages
ainsi introduits doivent être de type P1, i.e., leurs seuls noeuds sont leurs sommets.
- Les éventuelles courbes définies en tant que fonctions interprétées sont restaurées
automatiquement et ajoutées à celles déjà présentes.
TUER : Appel du module TUERSD pour supprimer de la mémoire une ou plusieurs Structures de Données
de maillage.
- TUER (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression pour l'exécution
- NBRE (I) : le nombre de S.D. à "tuer"
- Boucle de J=1 à NBRE
- NIVEAU(J) (I) : le niveau de la S.D. J à supprimer des tables
- fin de la boucle J
Remarque:
- Ce mot-clé peut être activé pour économiser de la place mémoire.
IMPR : Appel du module IMNOPO pour imprimer le contenu d'une Structure de Données de maillage.
- IMPR (A) : le mot-clé à activer
- IMPRE (I) : paramètre d'impression de la S.D. lors de l'exécution
- NINOPO (I) : le niveau de la S.D. à imprimer
DESS : Appel du module TRNOPO pour dessiner un maillage.
- DESS (A) : le mot-clé à activer
- ITERM1 (I) : le numéro du terminal dans la nomenclature de votre
installation du logiciel F3D
- ITERM2 (I) : mettre 0
- IOPT (I) : l'option de tracé du maillage: 1 le maillage, 2 le contour, 3 les frontières
référencées, 4 le maillage shrinké.
- NIVEAU (I) : le niveau de la S.D. à dessiner
Remarques:
- Le couple (ITERM1, ITERM2) sert à définir la console de visualisation.
- On utilisera plutot le préprocesseur TRNOXX pour visualiser ses maillages.
- Par suite, en supprimant ce mot-clé des possibilités de APNOPO, on évitera de charger les
bibliothèques graphiques au moment où l'on conçoit les maillages.
FIN : requête pour terminer le travail.
- FIN (A) : le mot-clé à activer
Dans le préprocesseur APNOXX, on trouve de plus les mots-clés suivants:
LIRE : requête pour demander la lecture d'un autre fichier de données (construit selon le même format).
CONT : requête pour supprimer les contrôles de cohérence entre les données fournies.
MENU : requête permettant d'obtenir la liste des mots-clés du menu .
Remarques:
- ? ou n'importe quoi : aiguille sur le mot-clé MENU.
- En cas d'erreur, le mot-clé MENU est sélectionné.






![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Suiv.: 1.4.4 Un exemple complet
Sup.: 1.4 Le module APNOPO
Préc.: 1.4.2 Arbre de l'appel de APNOPO
Index
Table des matières