Suiv.: 4 Liste des modules
Sup.: Méthode pour une topologie hexaédrique
Préc.: 3.4.3 Appel du module GEL3D1
Index
Table des matières
A titre d'illustrations, nous donnons trois exemples en précisant pour chacun le listing du programme d'appel, le listing obtenu lors de l'exécution (IMPRE = 5 ) et une vue du maillage résultat.
Le premier exemple est le maillage d'un cube en tétraèdres. Les données sont équiréparties (pas h=0.4) dans les 3 directions, un seul numéro de sous-domaine est affecté (- JOPTSD). Le maillage final est celui de la figure 3.31.
Le programme d'appel est le suivant:
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE 1 : MODULE GEL3D1 C --------- ( DOMAINE PARALLELIPEDIQUE ==> TETRAEDRES ) C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER ( LM = 18000 ) COMMON M(LM) REAL H(1) INTEGER NUMAT(1),ITYP(1) EXTERNAL F1,F2,F3 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LE FICHIER NOPO RESULTAT : NFNOPO = 10 NINOPO = 0 CALL OUVRIR(NFNOPO,'GEL1.NOPO','UNFORMATTED',0,IOSTAT) C ------ LA GEOMETRIE : N1 = 8 N2 = 7 NB = 4 H(1) = .4 IOPTM = 0 NOPTDE = 5 C ------ LES NUMEROS : JOPTSD = -1 C NFAUX = 0 C ------ APPEL DU MODULE ------ CALL GEL3D1(M,IOPTM,JOPTSD,NOPTDE,N1,N2,NB,H,H,H,F1,F2,F3, + NUMAT,ITYP,NFNOPO,NINOPO,NFAUX) END
Le listing de l'exécution est le suivant:
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 87 DATE : 14/10/88 AUTEUR : george ++ OPEN(10,FILE='gel1.nopo',SPEC='UNFORMATTED',RECL=0) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MODULE GEL3D1 : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& GENERATION DE 840 TETRAEDRES ET DE 280 NOEUDS LONGUEUR DE M (MAJORATION) POUR GENERER NOPO : 17238 NOMBRE DE POINTS EN X (NX) : 8 NOMBRE DE POINTS EN Y (NY) : 7 NOMBRE DE BANDES (NB) : 4 OPTION DE GENERATION (IOPT) : 0 OPTION DE NUMEROTATION DES S.D. (JOPT) : -1 OPTION DE SUBDIVISION (NOPT) : 5 PAS SELON X (X(1)) : 0.4000E+00 PAS SELON Y (Y(1)) : 0.4000E+00 PAS SELON Z (H(1)) : 0.4000E+00 LONGUEUR CALCULEE DE M POUR LA S.D. NOPO 14726 FIN DE LA GENERATION DE NOPO SUR LE FICHIER : 10 TABLEAU N O P 2 ---------------- CARACTERISTIQUES DU MAILLAGE DIMENSION DE L'ESPACE (NDIM ) : 3 NOMBRE DE NUMEROS DE REFERENCE (NDSR ) : 26 NOMBRE DE SOUS-DOMAINES (NDSD ) : 1 NOEUDS ET POINTS COINCIDENT PARTOUT (NCOPNP) : 1 NOMBRE D'ELEMENTS DU MAILLAGE (NE ) : 840 NOMBRE DE TETRAEDRES (NTET ) : 840 NOMBRE D'ELEMENTS FRONTALIERS (NEF ) : 640 NOMBRE DE NOEUDS (NOE ) : 280 NOMBRE DE NOEUDS PAR SEGMENT (HORS EXTREMITES) : 0 TYPE DES VALEURS DES COORDONNEES (NTYCOO) : REEL1MOT DIFFERENCE MAX + 1 ENTRE 2 NOEUDS D'UN ELEMENT : 64 NOMBRE D'ELEMENTS GROSSIERS (NBEGM ) : 0 NOMBRE DE MOTS DU TABLEAU NOP5 (LNOP5 ) : 13808 AXES DE REFERENCE X,Y,Z (NTACOO) : 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN DU MODULE GEL3D1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Figure: Premier exemple de maillage réalisé par GEL3D1
Le second exemple est le maillage d'un cube en hexaèdres. Les données sont constituées de plusieurs bandes de hauteur variée (tableau h(.)). Plusieurs numéros de sous-domaine sont affectés (tableaux ITYP et NUMAT). Le maillage final est celui de la figure 3.32.
Le programme d'appel est le suivant:
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE 2 : MODULE GEL3D1 C --------- ( DOMAINE PARALLELIPEDIQUE ==> HEXAEDRES ) C ( BANDES DE HAUTEUR DIFFERENTE , PLUSIEURS MILIEUX ) C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER ( LM = 18000 ) COMMON M(LM) REAL X(7),Y(7),H(6) INTEGER NUMAT(6,6,2),ITYP(5) EXTERNAL F1,F2,F3 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LE FICHIER NOPO RESULTAT : NFNOPO = 10 NINOPO = 0 CALL OUVRIR(NFNOPO,'GEL2.NOPO','UNFORMATTED',0,IOSTAT) C ------ LA GEOMETRIE : N1 = 7 X(1) = 0. X(2) = 1. X(3) = 1.5 X(4) = 2. X(5) = 3.5 X(6) = 5.5 X(7) = 7.5 N2 = 7 Y(1) = 0. Y(2) = 1. Y(3) = 1.5 Y(4) = 2. Y(5) = 3. Y(6) = 4. Y(7) = 5. NB = 5 H(1) = 0. H(2) = 1. H(3) = 1.5 H(4) = 2. H(5) = 3. H(6) = 4. IOPTM = 2 NOPTDE = 0 C ------ LES NUMEROS : JOPTSD = 2 C ------ LES TYPES DE COUCHES : DO 1 I=1,5 ITYP(I) = 1 1 CONTINUE ITYP(2) = 2 ITYP(3) = 2 C ------ LES SOUS-DOMAINES : DO 2 I=1,6 DO 2 J=1,6 DO 2 K=1,2 NUMAT(I,J,K) = 1 2 CONTINUE NUMAT(4,4,1) = 2 NUMAT(4,4,2) = 3 C NFAUX = 0 C ------ APPEL DU MODULE ------ CALL GEL3D1(M,IOPTM,JOPTSD,NOPTDE,N1,N2,NB,X,Y,H,F1,F2,F3, + NUMAT,ITYP,NFNOPO,NINOPO,NFAUX) END
Le listing de l'exécution est le suivant:
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 87 DATE : 14/10/88 AUTEUR : george ++ OPEN(10,FILE='gel2.nopo',SPEC='UNFORMATTED',RECL=0) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MODULE GEL3D1 : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& GENERATION DE 180 HEXAEDRES ET DE 294 NOEUDS LONGUEUR DE M (MAJORATION) POUR GENERER NOPO : 6684 NOMBRE DE POINTS EN X (NX) : 7 NOMBRE DE POINTS EN Y (NY) : 7 NOMBRE DE BANDES (NB) : 5 OPTION DE GENERATION (IOPT) : 2 OPTION DE NUMEROTATION DES S.D. (JOPT) : 2 OPTION DE SUBDIVISION (NOPT) : 0 ABSCISSES DES POINTS (X(*)) : 0.0000E+00 0.1000E+01 0.1500E+01 0.2000E+01 0.3500E+01 0.5500E+01 0.7500E+01 ORDONNEES DES POINTS (Y(*)) : 0.0000E+00 0.1000E+01 0.1500E+01 0.2000E+01 0.3000E+01 0.4000E+01 0.5000E+01 COTES DES POINTS (H(*)) : 0.0000E+00 0.1000E+01 0.1500E+01 0.2000E+01 0.3000E+01 0.4000E+01 TYPE DES BANDES : 1 2 2 1 1 TABLEAU NUMAT DE TYPE 1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 TABLEAU NUMAT DE TYPE 2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 LONGUEUR CALCULEE DE M POUR LA S.D. NOPO 6684 FIN DE LA GENERATION DE NOPO SUR LE FICHIER : 10 TABLEAU N O P 2 ---------------- CARACTERISTIQUES DU MAILLAGE DIMENSION DE L'ESPACE (NDIM ) : 3 NOMBRE DE NUMEROS DE REFERENCE (NDSR ) : 26 NOMBRE DE SOUS-DOMAINES (NDSD ) : 3 NOEUDS ET POINTS COINCIDENT PARTOUT (NCOPNP) : 1 NOMBRE D'ELEMENTS DU MAILLAGE (NE ) : 180 NOMBRE DE HEXAEDRES (NHEX ) : 180 NOMBRE D'ELEMENTS FRONTALIERS (NEF ) : 132 NOMBRE DE NOEUDS (NOE ) : 294 NOMBRE DE NOEUDS PAR SEGMENT (HORS EXTREMITES) : 0 TYPE DES VALEURS DES COORDONNEES (NTYCOO) : REEL1MOT DIFFERENCE MAX + 1 ENTRE 2 NOEUDS D'UN ELEMENT : 57 NOMBRE D'ELEMENTS GROSSIERS (NBEGM ) : 0 NOMBRE DE MOTS DU TABLEAU NOP5 (LNOP5 ) : 5724 AXES DE REFERENCE X,Y,Z (NTACOO) : 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN DU MODULE GEL3D1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Figure: Second exemple de maillage réalisé par GEL3D1
Le troisième exemple est le maillage d'un cube en pentaèdres. Les données sont fournies via les fonctions F1, F2 et F3, un numéro de sous-domaine différent est affecté aux couches (tableau NUMAT). Le maillage obtenu est présenté sur la figure 3.33.
Le programme d'appel est le suivant:
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE 3 : MODULE GEL3D1 C --------- ( DOMAINE PARALLELIPEDIQUE ==> PENTAEDRES ) C ( UTILISATION DES 3 FONCTIONS F1, F2 ET F3 ) C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER ( LM = 30000 ) COMMON M(LM) COMMON /CENTR/XC,YC,ANG REAL X(8,5),Y(8,5),H(1) INTEGER NUMAT(14,4),ITYP(1) EXTERNAL F1,F2,F3 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LE FICHIER NOPO RESULTAT : NFNOPO = 10 NINOPO = 0 CALL OUVRIR(NFNOPO,'GEL3.NOPO','UNFORMATTED',0,IOSTAT) C ------ LA GEOMETRIE : XC = -7. YC = 0. XPI = 3.141592654 ANG = XPI / 20. C N1 = 8 N2 = 5 XH1 = 2. XH2 = 1. DO 1 I=1,8 X(I,1) = ( I - 1 ) * XH1 X(I,5) = ( I - 1 ) * XH2 + 3.5 X(I,2) = .25 * ( 3.* X(I,1) + X(I,5) ) X(I,3) = .50 * ( X(I,1) + X(I,5) ) X(I,4) = .25 * ( X(I,1) + 3.*X(I,5) ) Y(I,1) = 0. Y(I,2) = 1.5 Y(I,3) = 3. Y(I,4) = 4.5 Y(I,5) = 6. 1 CONTINUE NB = 20 IOPTM = 7 NOPTDE = 1 C ------ LES NUMEROS : JOPTSD = 3 C ------ LES SOUS-DOMAINES : DO 2 I=1,14 DO 2 J=1,4 NUMAT(I,J) = 1 2 CONTINUE NUMAT(5,2) = 2 NUMAT(5,3) = 2 NUMAT(6,3) = 2 NUMAT(7,3) = 2 C NFAUX = 0 C ------ APPEL DU MODULE ------ CALL GEL3D1(M,IOPTM,JOPTSD,NOPTDE,N1,N2,NB,X,Y,H,F1,F2,F3, + NUMAT,ITYP,NFNOPO,NINOPO,NFAUX) END C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C LES TROIS FONCTIONS F1, F2 ET F3 C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ FUNCTION F1(I,J,X,Y,K) COMMON /CENTR/ XC,YC,ANG F1 = XC + ( X - XC ) * COS( ( K - 1 ) * ANG ) END FUNCTION F2(I,J,X,Y,K) COMMON /CENTR/ XC,YC,ANG F2 = Y END FUNCTION F3(I,J,X,Y,K) COMMON /CENTR/ XC,YC,ANG F3 = ( X - XC ) * SIN( ( K - 1 ) * ANG ) END
Le listing de l'exécution est le suivant:
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 87 DATE : 14/10/88 AUTEUR : george ++ OPEN(10,FILE='gel3.nopo',SPEC='UNFORMATTED',RECL=0) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MODULE GEL3D1 : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& GENERATION DE 1120 PENTAEDRES ET DE 840 NOEUDS LONGUEUR DE M (MAJORATION) POUR GENERER NOPO : 29758 NOMBRE DE POINTS EN X (NX) : 8 NOMBRE DE POINTS EN Y (NY) : 5 NOMBRE DE BANDES (NB) : 20 OPTION DE GENERATION (IOPT) : 7 OPTION DE NUMEROTATION DES S.D. (JOPT) : 3 OPTION DE SUBDIVISION (NOPT) : 1 COORDONNEES INITIALES FOURNIES : X Y DE I,J 1 1 : 0.0000E+00 0.0000E+00 2 1 : 0.2000E+01 0.0000E+00 3 1 : 0.4000E+01 0.0000E+00 4 1 : 0.6000E+01 0.0000E+00 5 1 : 0.8000E+01 0.0000E+00 6 1 : 0.1000E+02 0.0000E+00 7 1 : 0.1200E+02 0.0000E+00 8 1 : 0.1400E+02 0.0000E+00 1 2 : 0.8750E+00 0.1500E+01 2 2 : 0.2625E+01 0.1500E+01 3 2 : 0.4375E+01 0.1500E+01 4 2 : 0.6125E+01 0.1500E+01 5 2 : 0.7875E+01 0.1500E+01 6 2 : 0.9625E+01 0.1500E+01 7 2 : 0.1138E+02 0.1500E+01 8 2 : 0.1313E+02 0.1500E+01 1 3 : 0.1750E+01 0.3000E+01 2 3 : 0.3250E+01 0.3000E+01 3 3 : 0.4750E+01 0.3000E+01 4 3 : 0.6250E+01 0.3000E+01 5 3 : 0.7750E+01 0.3000E+01 6 3 : 0.9250E+01 0.3000E+01 7 3 : 0.1075E+02 0.3000E+01 8 3 : 0.1225E+02 0.3000E+01 1 4 : 0.2625E+01 0.4500E+01 2 4 : 0.3875E+01 0.4500E+01 3 4 : 0.5125E+01 0.4500E+01 4 4 : 0.6375E+01 0.4500E+01 5 4 : 0.7625E+01 0.4500E+01 6 4 : 0.8875E+01 0.4500E+01 7 4 : 0.1013E+02 0.4500E+01 8 4 : 0.1138E+02 0.4500E+01 1 5 : 0.3500E+01 0.6000E+01 2 5 : 0.4500E+01 0.6000E+01 3 5 : 0.5500E+01 0.6000E+01 4 5 : 0.6500E+01 0.6000E+01 5 5 : 0.7500E+01 0.6000E+01 6 5 : 0.8500E+01 0.6000E+01 7 5 : 0.9500E+01 0.6000E+01 8 5 : 0.1050E+02 0.6000E+01 TABLEAU NUMAT DE TYPE 1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 LONGUEUR CALCULEE DE M POUR LA S.D. NOPO 28318 FIN DE LA GENERATION DE NOPO SUR LE FICHIER : 10 TABLEAU N O P 2 ---------------- CARACTERISTIQUES DU MAILLAGE DIMENSION DE L'ESPACE (NDIM ) : 3 NOMBRE DE NUMEROS DE REFERENCE (NDSR ) : 26 NOMBRE DE SOUS-DOMAINES (NDSD ) : 2 NOEUDS ET POINTS COINCIDENT PARTOUT (NCOPNP) : 1 NOMBRE D'ELEMENTS DU MAILLAGE (NE ) : 1120 NOMBRE DE PENTAEDRES (NPENT) : 1120 NOMBRE D'ELEMENTS FRONTALIERS (NEF ) : 760 NOMBRE DE NOEUDS (NOE ) : 840 NOMBRE DE NOEUDS PAR SEGMENT (HORS EXTREMITES) : 0 TYPE DES VALEURS DES COORDONNEES (NTYCOO) : REEL1MOT DIFFERENCE MAX + 1 ENTRE 2 NOEUDS D'UN ELEMENT : 49 NOMBRE D'ELEMENTS GROSSIERS (NBEGM ) : 0 NOMBRE DE MOTS DU TABLEAU NOP5 (LNOP5 ) : 25720 AXES DE REFERENCE X,Y,Z (NTACOO) : 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN DU MODULE GEL3D1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Figure: Troisième exemple de maillage réalisé par GEL3D1