Suiv.: Méthode pour une topologie hexaédrique
Sup.: Méthode d'extrusion (topologie cylindrique)
Préc.: Le préprocesseur MA23XX
Index
Table des matières
Suivent des exemples d'appels batch du module MA2D3E et d'appels via le préprocesseur MA23XX.
Un exemple avec TTYPE = -1 et le même avec TTYPE = - 2 i.e. la définition pas-à-pas de sections à partir de la base via la matrice générale MAT ou via la fonction XYZ23.
Suivent les programmes d'appels, le listing obtenu lors de l'exécution dans le cas 1 et une vue du maillage obtenu (figure 3.14).
Cas d'une définition via MAT (TTYPE = -1):
C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE D'APPEL DU MODULE MA2D3E : TEST AVEC MATRICE C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER (LM = 100000 , MAXFON = 4 , MAXSEC = 9 , MAXDES = 10 ) COMMON M(LM) INTEGER NUCOU(3,MAXFON),DESREF(5,MAXDES) REAL MAT(4,4,MAXFON) REAL ZINT(0:MAXSEC) LOGICAL BFONC,COLLER,RAPIDE EXTERNAL XYZ23,XYZ33 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LA SD E NOPO ET LA SD S NOPO ------ NFNOPO = 10 NINOPO = 1 CALL OUVRIR(NFNOPO,'nopo2d.ma23.2', + 'OLD,UNFORMATTED',0,IOSTAT) NFNOPS = 11 NINOPS = 2 CALL OUVRIR(NFNOPS,'nopo3d.ma23.1','UNFORMATTED',0,IOSTAT) C ----------------------------------------------- C ------ TRANSFORMATIONS GEOMETRIQUES ------ C ----------------------------------------------- C --- LA BASE : BFONC = .FALSE. ZINT(0) = -1. NBCOU = 4 C --- DES MATRICES C ENTRE LA BASE ET LE DESSUS DEFINIES PAR MAT C POUR CONSTRUIRE LES SECTIONS 1 A 4 NBFONC = 4 DO ISEC=1,4 NUCOU(1,ISEC) = ISEC - 1 NUCOU(2,ISEC) = ISEC NUCOU(3,ISEC) = -1 ENDDO C DO ISEC=1,4 MAT(1,1,ISEC) = 0.8 MAT(1,2,ISEC) = 0. MAT(1,3,ISEC) = 0. MAT(1,4,ISEC) = 0. MAT(2,1,ISEC) = 0. MAT(2,2,ISEC) = 0.8 MAT(2,3,ISEC) = 0. MAT(2,4,ISEC) = 0. MAT(3,1,ISEC) = 0. MAT(3,2,ISEC) = 0. MAT(3,3,ISEC) = 1. MAT(3,4,ISEC) = 1. + ISEC MAT(4,1,ISEC) = 0. MAT(4,2,ISEC) = 0. MAT(4,3,ISEC) = 0. MAT(4,4,ISEC) = 1. ENDDO C ----------------------------------------------- C ------ DEFINITION DES REFERENCES ------ C ----------------------------------------------- NBDES = 2 C --- BASE : FACES ARETES ET POINTS MIS A LA REFERENCE 1 : IDES = 1 DESREF(1,IDES) = 0 DESREF(2,IDES) = 0 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 1 C --- C --- DESSUS : FACES ARETES ET POINTS MIS A LA REFERENCE 2 : IDES = 2 DESREF(1,IDES) = 9 DESREF(2,IDES) = 9 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 2 C ----------------------------------------------- C ------ APPEL DU MODULE ------ C ----------------------------------------------- EPS = 0.001 COLLER = .FALSE. RAPIDE = .TRUE. C CALL MA2D3E(M,M,NFNOPO,NINOPO,NFNOPS,NINOPS,NBCOU,EPS,NBFONC, + NUCOU,MAT,COLLER,RAPIDE,DESREF,NBDES,ZINT,BFONC, + XYZ23,XYZ33) END
Figure: Exemple MA2D3E (cas de définitions pas à pas via MAT ou XYZ23)
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 90 DATE : 26/11/90 AUTEUR : george ++ OPEN(10,FILE='nopo2d.ma23.2',SPEC='OLD,UNFORMATTED',RECL=0) ++ OPEN(11,FILE='nopo3d.ma23.1',SPEC='UNFORMATTED',RECL=0) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MODULE MA2D3E : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& COTE DE LA BASE INFERIEURE : -0.1000000E+01 NOMBRE DE TRANSFORMATIONS GEOMETRIQUES : 4 LISTE DES TRANSFORMATIONS : SECTION 0 A 1 TYPE DE TRANSFORMATION -1 SECTION 1 A 2 TYPE DE TRANSFORMATION -1 SECTION 2 A 3 TYPE DE TRANSFORMATION -1 SECTION 3 A 4 TYPE DE TRANSFORMATION -1 NOMBRE DE TRANSFERTS DE NUMEROS : 2 LISTE DES TRANSFERTS : SECTION 0 A 0 TYPE DU TRANSFERT 0 : -100 DONNE 1 SECTION 9 A 9 TYPE DU TRANSFERT 0 : -100 DONNE 2 MAILLAGE EFFECTUE : SAUVEGARDE DE LA SD TABLEAU N O P 2 ---------------- CARACTERISTIQUES DU MAILLAGE DIMENSION DE L'ESPACE (NDIM ) : 3 MAXIMUM DES NUMEROS DE REFERENCE (NDSR ) : 1 MAXIMUM DES NUMEROS DE SOUS-DOMAINE (NDSD ) : 1 NOEUDS ET POINTS COINCIDENT PARTOUT (NCOPNP) : 1 NOMBRE D'ELEMENTS DU MAILLAGE (NE ) : 880 NOMBRE DE PENTAEDRES (NPENT) : 880 NOMBRE D'ELEMENTS FRONTALIERS (NEF ) : 72 NOMBRE DE NOEUDS (NOE ) : 710 NOMBRE DE NOEUDS PAR SEGMENT (HORS EXTREMITES) : 0 TYPE DES VALEURS DES COORDONNEES (NTYCOO) : REEL1MOT DIFFERENCE MAX + 1 ENTRE 2 NOEUDS D'UN ELEMENT : 271 NOMBRE D'ELEMENTS GROSSIERS (NBEGM ) : 0 NOMBRE DE MOTS DU TABLEAU NOP5 (LNOP5 ) : 13420 AXES DE REFERENCE X,Y,Z (NTACOO) : 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN DU MODULE MA2D3E &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Cas d'une définition via XYZ23 (TTYPE = -2):
C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE D'APPEL DU MODULE MA2D3E : TEST AVEC XYZ23 PARTOUT C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER (LM = 100000 , MAXFON = 4 , MAXSEC = 9 , MAXDES = 10 ) COMMON M(LM) INTEGER NUCOU(3,MAXFON),DESREF(5,MAXDES) REAL MAT(4,4,MAXFON) REAL ZINT(0:MAXSEC) LOGICAL BFONC,COLLER,RAPIDE EXTERNAL XYZ23,XYZ33 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LA SD E NOPO ET LA SD S NOPO ------ NFNOPO = 10 NINOPO = 1 CALL OUVRIR(NFNOPO,'nopo2d.ma23.2', + 'OLD,UNFORMATTED',0,IOSTAT) NFNOPS = 11 NINOPS = 2 CALL OUVRIR(NFNOPS,'nopo3d.ma23.2','UNFORMATTED',0,IOSTAT) C ----------------------------------------------- C ------ TRANSFORMATIONS GEOMETRIQUES ------ C ----------------------------------------------- C --- LA BASE : BFONC = .FALSE. ZINT(0) = -1. NBCOU = 4 C --- DES FONCTIONS XYZ23 C ENTRE LA BASE ET LE DESSUS DEFINIES PAR XYZ23 C POUR CONSTRUIRE LES SECTIONS 1 A 4 NBFONC = 4 DO ISEC=1,4 NUCOU(1,ISEC) = ISEC - 1 NUCOU(2,ISEC) = ISEC NUCOU(3,ISEC) = -2 ENDDO C C ----------------------------------------------- C ------ DEFINITION DES REFERENCES ------ C ----------------------------------------------- NBDES = 2 C --- BASE : FACES ARETES ET POINTS MIS A LA REFERENCE 1 : IDES = 1 DESREF(1,IDES) = 0 DESREF(2,IDES) = 0 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 1 C --- C --- DESSUS : FACES ARETES ET POINTS MIS A LA REFERENCE 2 : IDES = 2 DESREF(1,IDES) = 9 DESREF(2,IDES) = 9 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 2 C ----------------------------------------------- C ------ APPEL DU MODULE ------ C ----------------------------------------------- EPS = 0.001 COLLER = .FALSE. RAPIDE = .TRUE. C CALL MA2D3E(M,M,NFNOPO,NINOPO,NFNOPS,NINOPS,NBCOU,EPS,NBFONC, + NUCOU,MAT,COLLER,RAPIDE,DESREF,NBDES,ZINT,BFONC, + XYZ23,XYZ33) END C C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C SUBROUTINE XYZ23 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SUBROUTINE XYZ23(I,NUM,NREF,X,Y,Z,X3,Y3,Z3) REAL*4 DZ(4) DATA DZ/ 2., 5. , 9., 14./ C X3 = 0.8 **I * X Y3 = 0.8 **I * Y Z3 = Z + DZ(I) END
Un exemple avec TTYPE = -3 pour les sections 5 à 9 et TTYPE = -6 pour les premières sections. Par suite on a:
Suivent le programme d'appel, le listing obtenu lors de l'exécution et une vue du maillage obtenu.
C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE D'APPEL DU MODULE MA2D3E : TEST NUMERO 3 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER (LM = 100000 , MAXFON = 2 , MAXSEC = 9 , MAXDES = 10 ) COMMON M(LM) INTEGER NUCOU(3,MAXFON),DESREF(5,MAXDES) REAL MAT(4,4,MAXFON) REAL ZINT(0:MAXSEC) LOGICAL BFONC,COLLER,RAPIDE EXTERNAL XYZ23,XYZ33 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LA SD E NOPO ET LA SD S NOPO ------ NFNOPO = 10 NINOPO = 1 CALL OUVRIR(NFNOPO,'nopo2d.ma23.2', + 'OLD,UNFORMATTED',0,IOSTAT) NFNOPS = 11 NINOPS = 2 CALL OUVRIR(NFNOPS,'nopo3d.ma23.36','UNFORMATTED',0,IOSTAT) C ----------------------------------------------- C ------ TRANSFORMATIONS GEOMETRIQUES ------ C ----------------------------------------------- C --- LA BASE : BFONC = .FALSE. ZINT(0) = -1. C --- LES COTES INTERMEDIAIRES : NBCOU = 9 ZINT(1) = 0. ZINT(2) = 2. ZINT(3) = 4. ZINT(4) = 6. ZINT(5) = 7. C --- UNE FONCTION : UNE INTERPOLATION MANUELLE C ENTRE LA BASE ET LE DESSUS DEFINI PAR XYZ23 C POUR LA COTE 10. ( CF XYZ23 ) C POUR CONSTRUIRE LES SECTIONS 1 A 5 NBFONC = 2 C IFONC = 1 NUCOU(1,IFONC) = 0 NUCOU(2,IFONC) = 5 NUCOU(3,IFONC) = -6 C --- UNE FONCTION : DEFINITION LOCALE PAR XYZ33 C POUR CONSTRUIRE LES SECTIONS 6 A 9 IFONC = 2 NUCOU(1,IFONC) = 5 NUCOU(2,IFONC) = 9 NUCOU(3,IFONC) = -3 C ----------------------------------------------- C ------ DEFINITION DES REFERENCES ------ C ----------------------------------------------- NBDES = 2 C --- BASE : FACES ARETES ET POINTS MIS A LA REFERENCE 1 : IDES = 1 DESREF(1,IDES) = 0 DESREF(2,IDES) = 0 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 1 C --- C --- DESSUS : FACES ARETES ET POINTS MIS A LA REFERENCE 2 : IDES = 2 DESREF(1,IDES) = 9 DESREF(2,IDES) = 9 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 2 C ----------------------------------------------- C ------ APPEL DU MODULE ------ C ----------------------------------------------- EPS = 0.001 COLLER = .FALSE. RAPIDE = .TRUE. C CALL MA2D3E(M,M,NFNOPO,NINOPO,NFNOPS,NINOPS,NBCOU,EPS,NBFONC, + NUCOU,MAT,COLLER,RAPIDE,DESREF,NBDES,ZINT,BFONC, + XYZ23,XYZ33) END C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C SUBROUTINE XYZ33 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SUBROUTINE XYZ33(I,NUM,NREF,X,Y,Z,X3,Y3,Z3) C X3 = 0.10 * I * X Y3 = 0.10 * I * Y Z3 = Z + 0.450 END C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C SUBROUTINE XYZ23 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SUBROUTINE XYZ23(I,NUM,NREF,X,Y,Z,X3,Y3,Z3) C X3 = X / 2.5 Y3 = Y / 2.5 Z3 = 10. END
Figure: Exemple MA2D3E (cas d'une interpolation puis de définitions pas à pas)
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 90 DATE : 26/11/90 AUTEUR : george ++ OPEN(10,FILE='nopo2d.ma23.2',SPEC='OLD,UNFORMATTED',RECL=0) ++ OPEN(11,FILE='nopo3d.ma23.36',SPEC='UNFORMATTED',RECL=0) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MODULE MA2D3E : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& COTE DE LA BASE INFERIEURE : -0.1000000E+01 NOMBRE DE TRANSFORMATIONS GEOMETRIQUES : 2 LISTE DES TRANSFORMATIONS : SECTION 0 A 5 TYPE DE TRANSFORMATION -6 SECTION 5 A 9 TYPE DE TRANSFORMATION -3 NOMBRE DE TRANSFERTS DE NUMEROS : 2 LISTE DES TRANSFERTS : SECTION 0 A 0 TYPE DU TRANSFERT 0 : -100 DONNE 1 SECTION 9 A 9 TYPE DU TRANSFERT 0 : -100 DONNE 2 MAILLAGE EFFECTUE : SAUVEGARDE DE LA SD TABLEAU N O P 2 ---------------- CARACTERISTIQUES DU MAILLAGE DIMENSION DE L'ESPACE (NDIM ) : 3 MAXIMUM DES NUMEROS DE REFERENCE (NDSR ) : 2 MAXIMUM DES NUMEROS DE SOUS-DOMAINE (NDSD ) : 1 NOEUDS ET POINTS COINCIDENT PARTOUT (NCOPNP) : 1 NOMBRE D'ELEMENTS DU MAILLAGE (NE ) : 1980 NOMBRE DE PENTAEDRES (NPENT) : 1980 NOMBRE D'ELEMENTS FRONTALIERS (NEF ) : 72 NOMBRE DE NOEUDS (NOE ) : 1420 NOMBRE DE NOEUDS PAR SEGMENT (HORS EXTREMITES) : 0 TYPE DES VALEURS DES COORDONNEES (NTYCOO) : REEL1MOT DIFFERENCE MAX + 1 ENTRE 2 NOEUDS D'UN ELEMENT : 271 NOMBRE D'ELEMENTS GROSSIERS (NBEGM ) : 0 NOMBRE DE MOTS DU TABLEAU NOP5 (LNOP5 ) : 29040 AXES DE REFERENCE X,Y,Z (NTACOO) : 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN DU MODULE MA2D3E &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Un exemple avec TTYPE = -4 i.e. à partir de la donné d'un maillage 2D (une couronne avec la référence 1 sur les items du cercle interne et la référence 2 sur ceux du cercle externe) on définit la base via ZINT(0) = 10. et on construit par translation les sections 1 à 4 de cotes données dans le tableau ZINT(1:4).
Les références du maillage 3D sont attribuées via le tableau DESREF(.,.) (cf. programme d'appel pour la spécification des transferts et figure 3.16 pour le résultat obtenu.
Suivent le programme d'appel, le listing obtenu lors de l'exécution et une vue du maillage obtenu.
C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE D'APPEL DU MODULE MA2D3E : TEST NUMERO 4 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER (LM = 100000 , MAXFON = 1 , MAXSEC = 9 , MAXDES = 10 ) COMMON M(LM) INTEGER NUCOU(3,MAXFON),DESREF(5,MAXDES) REAL MAT(4,4,MAXFON) REAL ZINT(0:MAXSEC) LOGICAL BFONC,COLLER,RAPIDE EXTERNAL XYZ23,XYZ33 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LA SD E NOPO ET LA SD S NOPO ------ NFNOPO = 10 CALL TRUNIT (NFNOPO) NINOPO = 1 CALL OUVRIR(NFNOPO,'NOPO2D.MA23.1','OLD,UNFORMATTED',0,IOSTAT) NFNOPS = 11 CALL TRUNIT (NFNOPS) NINOPS = 2 CALL OUVRIR(NFNOPS,'NOPO3D.MA23.4','UNFORMATTED',0,IOSTAT) C ----------------------------------------------- C ------ TRANSFORMATIONS GEOMETRIQUES ------ C ----------------------------------------------- C --- LA BASE : BFONC = .FALSE. ZINT(0) = 10. C --- LES COTES INTERMEDIAIRES : NBCOU = 4 ZINT(1) = 11. ZINT(2) = 12. ZINT(3) = 13. ZINT(4) = 14.5 C --- UNE FONCTION : UNE TRANSLATION MANUELLE NBFONC = 1 C IFONC = 1 NUCOU(1,IFONC) = 0 NUCOU(2,IFONC) = 4 NUCOU(3,IFONC) = -4 C ----------------------------------------------- C ------ DEFINITION DES REFERENCES ------ C ----------------------------------------------- NBDES = 6 C --- BASE : FACES ARETES ET POINTS MIS A LA REFERENCE 3 : IDES = 1 DESREF(1,IDES) = 0 DESREF(2,IDES) = 0 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 3 C --- C --- DESSUS : FACES ARETES ET POINTS MIS A LA REFERENCE 4 : C DESSUS : PUIS ARETE 1 (2D) ==> ARETE 7 (3D) C DESSUS : PUIS ARETE 2 (2D) ==> ARETE 8 (3D) IDES = 2 DESREF(1,IDES) = 4 DESREF(2,IDES) = 4 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 4 IDES = 3 DESREF(1,IDES) = 4 DESREF(2,IDES) = 4 DESREF(3,IDES) = 4 DESREF(4,IDES) = 1 DESREF(5,IDES) = 7 IDES = 4 DESREF(1,IDES) = 4 DESREF(2,IDES) = 4 DESREF(3,IDES) = 4 DESREF(4,IDES) = 2 DESREF(5,IDES) = 8 C --- FACES VERTICALES : ARETE 1 (2D) ==> FACE 5 (3D) C ARETE 2 (2D) ==> FACE 6 (3D) IDES = 5 DESREF(1,IDES) = 0 DESREF(2,IDES) = 4 DESREF(3,IDES) = 3 DESREF(4,IDES) = 1 DESREF(5,IDES) = 5 IDES = 6 DESREF(1,IDES) = 0 DESREF(2,IDES) = 4 DESREF(3,IDES) = 3 DESREF(4,IDES) = 2 DESREF(5,IDES) = 6 C ----------------------------------------------- C ------ APPEL DU MODULE ------ C ----------------------------------------------- EPS = 0.001 COLLER = .FALSE. RAPIDE = .TRUE. C CALL MA2D3E(M,M,NFNOPO,NINOPO,NFNOPS,NINOPS,NBCOU,EPS,NBFONC, + NUCOU,MAT,COLLER,RAPIDE,DESREF,NBDES,ZINT,BFONC, + XYZ23,XYZ33) END
Figure 3.16: Exemple MA2D3E (cas d'une translation)
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 90 DATE : 23/11/90 AUTEUR : george ++ OPEN(10,FILE='nopo2d.ma23.1',SPEC='OLD,UNFORMATTED',RECL=0) ++ OPEN(11,FILE='nopo3d.ma23.4',SPEC='UNFORMATTED',RECL=0) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MODULE MA2D3E : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& COTE DE LA BASE INFERIEURE : 0.1000000E+02 NOMBRE DE TRANSFORMATIONS GEOMETRIQUES : 1 LISTE DES TRANSFORMATIONS : SECTION 0 A 4 TYPE DE TRANSFORMATION -4 NOMBRE DE TRANSFERTS DE NUMEROS : 6 LISTE DES TRANSFERTS : SECTION 0 A 0 TYPE DU TRANSFERT 0 : -100 DONNE 3 SECTION 4 A 4 TYPE DU TRANSFERT 0 : -100 DONNE 4 SECTION 4 A 4 TYPE DU TRANSFERT 4 : 1 DONNE 7 SECTION 4 A 4 TYPE DU TRANSFERT 4 : 2 DONNE 8 SECTION 0 A 4 TYPE DU TRANSFERT 3 : 1 DONNE 5 SECTION 0 A 4 TYPE DU TRANSFERT 3 : 2 DONNE 6 MAILLAGE EFFECTUE : SAUVEGARDE DE LA SD TABLEAU N O P 2 ---------------- CARACTERISTIQUES DU MAILLAGE DIMENSION DE L'ESPACE (NDIM ) : 3 MAXIMUM DES NUMEROS DE REFERENCE (NDSR ) : 8 MAXIMUM DES NUMEROS DE SOUS-DOMAINE (NDSD ) : 1 NOEUDS ET POINTS COINCIDENT PARTOUT (NCOPNP) : 1 NOMBRE D'ELEMENTS DU MAILLAGE (NE ) : 144 NOMBRE DE HEXAEDRES (NHEX ) : 144 NOMBRE D'ELEMENTS FRONTALIERS (NEF ) : 28 NOMBRE DE NOEUDS (NOE ) : 240 NOMBRE DE NOEUDS PAR SEGMENT (HORS EXTREMITES) : 0 TYPE DES VALEURS DES COORDONNEES (NTYCOO) : REEL1MOT DIFFERENCE MAX + 1 ENTRE 2 NOEUDS D'UN ELEMENT : 78 NOMBRE D'ELEMENTS GROSSIERS (NBEGM ) : 0 NOMBRE DE MOTS DU TABLEAU NOP5 (LNOP5 ) : 4968 AXES DE REFERENCE X,Y,Z (NTACOO) : 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN DU MODULE MA2D3E &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Un exemple avec TTYPE = -5 i.e. définition d'une base supérieure (via XYZ23 à la cote Z=10.) et interpolation entre la base (ZINT(0) = -1.) et cette section pour construire 5 sections de côtes équiréparties entre celles de la base et de la section supérieure.
Les références du maillage 3D sont attribuées via le tableau DESREF(.,.) (cf. programme d'appel pour la spécification des transferts et figure 3.18 pour le résultat obtenu.
Suivent des extraits du programme d'appel et une vue du maillage obtenu.
C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE D'APPEL DU MODULE MA2D3E : TEST NUMERO 5 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER (LM = 100000 , MAXFON = 1 , MAXSEC = 9 , MAXDES = 10 ) COMMON M(LM) INTEGER NUCOU(3,MAXFON),DESREF(5,MAXDES) REAL MAT(4,4,MAXFON) REAL ZINT(0:MAXSEC) LOGICAL BFONC,COLLER,RAPIDE EXTERNAL XYZ23,XYZ33 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LA SD E NOPO ET LA SD S NOPO ------ NFNOPO = 10 NINOPO = 1 CALL OUVRIR(NFNOPO,'nopo2d.ma23.2', + 'OLD,UNFORMATTED',0,IOSTAT) NFNOPS = 11 NINOPS = 2 CALL OUVRIR(NFNOPS,'nopo3d.ma23.5','UNFORMATTED',0,IOSTAT) C ----------------------------------------------- C ------ TRANSFORMATIONS GEOMETRIQUES ------ C ----------------------------------------------- C --- LA BASE : BFONC = .FALSE. ZINT(0) = -1. C --- LES COTES INTERMEDIAIRES : NBCOU = 5 C --- UNE FONCTION : UNE INTERPOLATION MANUELLE C ENTRE LA BASE ET LE DESSUS DEFINI PAR XYZ23 C POUR LA COTE 10. ( CF XYZ23 ) NBFONC = 1 C IFONC = 1 NUCOU(1,IFONC) = 0 NUCOU(2,IFONC) = 5 NUCOU(3,IFONC) = -5 C ----------------------------------------------- C ------ DEFINITION DES REFERENCES ------ C ----------------------------------------------- NBDES = 5 C --- BASE : FACES ARETES ET POINTS MIS A LA REFERENCE 1 : IDES = 1 DESREF(1,IDES) = 0 DESREF(2,IDES) = 0 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 1 C --- .... .... (CF. EXEMPLE CI-DESSOUS) .... C ----------------------------------------------- C ------ APPEL DU MODULE ------ C ----------------------------------------------- EPS = 0.001 COLLER = .FALSE. RAPIDE = .TRUE. C CALL MA2D3E(M,M,NFNOPO,NINOPO,NFNOPS,NINOPS,NBCOU,EPS,NBFONC, + NUCOU,MAT,COLLER,RAPIDE,DESREF,NBDES,ZINT,BFONC, + XYZ23,XYZ33) END C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C SUBROUTINE XYZ23 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SUBROUTINE XYZ23(I,NUM,NREF,X,Y,Z,X3,Y3,Z3) C X3 = X / 2.5 Y3 = Y / 2.5 Z3 = 10. END
Figure: Exemple MA2D3E (cas d'une interpolation équirépartie en z)
Un exemple avec TTYPE = -6 i.e. définition d'une base supérieure virtuelle (via XYZ23 à la côte Z=10.) et interpolation entre la base (ZINT(0) = -1.) et cette section pour construire 5 sections de cotes contenues dans le tableau ZINT(1:5).
Les références du maillage 3D sont attribuées via le tableau DESREF(.,.) (cf. programme d'appel pour la spécification des transferts et figure 3.18 pour le résultat obtenu.
Suivent le programme d'appel, le listing obtenu lors de l'exécution et une vue du maillage obtenu.
C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C EXEMPLE D'APPEL DU MODULE MA2D3E : TEST NUMERO 6 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PARAMETER (LM = 100000 , MAXFON = 1 , MAXSEC = 9 , MAXDES = 10 ) COMMON M(LM) INTEGER NUCOU(3,MAXFON),DESREF(5,MAXDES) REAL MAT(4,4,MAXFON) REAL ZINT(0:MAXSEC) LOGICAL BFONC,COLLER,RAPIDE EXTERNAL XYZ23,XYZ33 C IMPRE = 5 CALL INITIS(M,LM,IMPRE,0) C ------ LA SD E NOPO ET LA SD S NOPO ------ NFNOPO = 10 NINOPO = 1 CALL OUVRIR(NFNOPO,'nopo2d.ma23.2', + 'OLD,UNFORMATTED',0,IOSTAT) NFNOPS = 11 NINOPS = 2 CALL OUVRIR(NFNOPS,'nopo3d.ma23.6','UNFORMATTED',0,IOSTAT) C ----------------------------------------------- C ------ TRANSFORMATIONS GEOMETRIQUES ------ C ----------------------------------------------- C --- LA BASE : BFONC = .FALSE. ZINT(0) = -1. C --- LES COTES INTERMEDIAIRES : NBCOU = 5 ZINT(1) = 0. ZINT(2) = 2. ZINT(3) = 4. ZINT(4) = 6. ZINT(5) = 7. C --- UNE FONCTION : UNE INTERPOLATION MANUELLE C ENTRE LA BASE ET LE DESSUS DEFINI PAR XYZ23 C POUR LA COTE 10. ( CF XYZ23 ) NBFONC = 1 C IFONC = 1 NUCOU(1,IFONC) = 0 NUCOU(2,IFONC) = 5 NUCOU(3,IFONC) = -6 C ----------------------------------------------- C ------ DEFINITION DES REFERENCES ------ C ----------------------------------------------- NBDES = 5 C --- BASE : FACES ARETES ET POINTS MIS A LA REFERENCE 1 : IDES = 1 DESREF(1,IDES) = 0 DESREF(2,IDES) = 0 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 1 C --- C --- DESSUS : FACES ARETES ET POINTS MIS A LA REFERENCE 2 : C DESSUS : PUIS ARETE 1 (2D) ==> ARETE 4 (3D) IDES = 2 DESREF(1,IDES) = 5 DESREF(2,IDES) = 5 DESREF(3,IDES) = 0 DESREF(4,IDES) = -100 DESREF(5,IDES) = 2 IDES = 3 DESREF(1,IDES) = 5 DESREF(2,IDES) = 5 DESREF(3,IDES) = 4 DESREF(4,IDES) = 1 DESREF(5,IDES) = 4 C --- FACES VERTICALES : ARETE 1 (2D) ==> FACE 2 (3D) C ARETE 2 (2D) ==> FACE 3 (3D) IDES = 4 DESREF(1,IDES) = 0 DESREF(2,IDES) = 5 DESREF(3,IDES) = 3 DESREF(4,IDES) = 1 DESREF(5,IDES) = 2 IDES = 5 DESREF(1,IDES) = 0 DESREF(2,IDES) = 5 DESREF(3,IDES) = 3 DESREF(4,IDES) = 2 DESREF(5,IDES) = 3 C ----------------------------------------------- C ------ APPEL DU MODULE ------ C ----------------------------------------------- EPS = 0.001 COLLER = .FALSE. RAPIDE = .TRUE. C CALL MA2D3E(M,M,NFNOPO,NINOPO,NFNOPS,NINOPS,NBCOU,EPS,NBFONC, + NUCOU,MAT,COLLER,RAPIDE,DESREF,NBDES,ZINT,BFONC, + XYZ23,XYZ33) END C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ C SUBROUTINE XYZ23 C +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SUBROUTINE XYZ23(I,NUM,NREF,X,Y,Z,X3,Y3,Z3) C X3 = X / 2.5 Y3 = Y / 2.5 Z3 = 10. END
Figure 3.18: Exemple MA2D3E (cas d'une interpolation)
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 90 DATE : 26/11/90 AUTEUR : george ++ OPEN(10,FILE='nopo2d.ma23.2',SPEC='OLD,UNFORMATTED',RECL=0) ++ OPEN(11,FILE='nopo3d.ma23.6',SPEC='UNFORMATTED',RECL=0) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& MODULE MA2D3E : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& COTE DE LA BASE INFERIEURE : -0.1000000E+01 NOMBRE DE TRANSFORMATIONS GEOMETRIQUES : 1 LISTE DES TRANSFORMATIONS : SECTION 0 A 5 TYPE DE TRANSFORMATION -6 NOMBRE DE TRANSFERTS DE NUMEROS : 5 LISTE DES TRANSFERTS : SECTION 0 A 0 TYPE DU TRANSFERT 0 : -100 DONNE 1 SECTION 5 A 5 TYPE DU TRANSFERT 0 : -100 DONNE 2 SECTION 5 A 5 TYPE DU TRANSFERT 4 : 1 DONNE 4 SECTION 0 A 5 TYPE DU TRANSFERT 3 : 1 DONNE 2 SECTION 0 A 5 TYPE DU TRANSFERT 3 : 2 DONNE 3 MAILLAGE EFFECTUE : SAUVEGARDE DE LA SD TABLEAU N O P 2 ---------------- CARACTERISTIQUES DU MAILLAGE DIMENSION DE L'ESPACE (NDIM ) : 3 MAXIMUM DES NUMEROS DE REFERENCE (NDSR ) : 4 MAXIMUM DES NUMEROS DE SOUS-DOMAINE (NDSD ) : 1 NOEUDS ET POINTS COINCIDENT PARTOUT (NCOPNP) : 1 NOMBRE D'ELEMENTS DU MAILLAGE (NE ) : 1100 NOMBRE DE PENTAEDRES (NPENT) : 1100 NOMBRE D'ELEMENTS FRONTALIERS (NEF ) : 72 NOMBRE DE NOEUDS (NOE ) : 852 NOMBRE DE NOEUDS PAR SEGMENT (HORS EXTREMITES) : 0 TYPE DES VALEURS DES COORDONNEES (NTYCOO) : REEL1MOT DIFFERENCE MAX + 1 ENTRE 2 NOEUDS D'UN ELEMENT : 271 NOMBRE D'ELEMENTS GROSSIERS (NBEGM ) : 0 NOMBRE DE MOTS DU TABLEAU NOP5 (LNOP5 ) : 21500 AXES DE REFERENCE X,Y,Z (NTACOO) : 1 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& FIN DU MODULE MA2D3E &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
A titre d'exemple d'appel par MA23XX ou le mot-clé MA23 de APNOP3, nous renvoyons d'une part au chapitre 2 (cas d'une translation), ensuite au chapitre 5 (un exemple complet est donné avec explications) et nous donnons les 4 exemples suivants (pour chacun seront donnés le listing du fichier de données, une vue du maillage 2D de départ et une vue du résultat).
Un exemple (figure 3.19) de translation couplée avec une rotation.
2 $ IMPRE engr2d.nopo$ NOMF2D engr3d.nopo$ NOMF3D $ === DEFINITION DE LA FONCTION === BASE 0.1000000E+02 $ LA BASE TRAN 3 $ SECTION SUPERIEURE 0.0000000E+00 0.0000000E+00 0.4000000E+00 $ VECTEUR TRANSLATION COMBINE ROTA 0.2500000E+01 $ ANGLE DE ROTATION 0.0000000E+00 0.0000000E+00 0.0000000E+00 $ UN POINT DE L'AXE 0.0000000E+00 0.0000000E+00 0.1000000E+01 $ AXE DE ROTATION FIN $ FIN DE LA DEFINITION DE LA FONCTION $ =========== LES OPTIONS ========= $ === DESCRIPTION DES REFERENCES === REF ARFA 0 3 3 3 $ TYPE : DE .. A .. , .. 2D DONNE .. 3D ARFA 0 3 2 1 $ TYPE : DE .. A .. , .. 2D DONNE .. 3D ARFA 0 3 4 2 $ TYPE : DE .. A .. , .. 2D DONNE .. 3D F $ FIN DE DESCRIPTION DES REFERENCES $ ======= APPEL DU MAILLEUR ======= GO
engr2d.psfig:maxx1Maillage de départengr3d.psfig:maxx11Résultat
Un exemple (figure 3.21) de rotation complète avec recollement des 2 sections extrêmes.
2 $ IMPRE piston2d.nopo$ NOMF2D piston3d.nopo$ NOMF3D $ === DEFINITION DE LA FONCTION === BASE 0.0000000E+00 $ LA BASE ROTA 36 $ SECTION SUPERIEURE 0.1000000E+02 $ ANGLE DE ROTATION 0.0000000E+00 0.0000000E+00 0.0000000E+00 $ UN POINT DE L'AXE 0.0000000E+00 0.1000000E+01 0.0000000E+00 $ AXE DE ROTATION FIN $ FIN DE LA DEFINITION DE LA FONCTION $ =========== LES OPTIONS ========= COLLER $ === DESCRIPTION DES REFERENCES === REF GLOB 0 36 0 0 $ TYPE : DE .. A .. , BIDON , BIDON F $ FIN DE DESCRIPTION DES REFERENCES $ ======= APPEL DU MAILLEUR ======= GO
piston2d.psfig:maxx2Maillage de départpiston3d.psfig:maxx21Résultat
Un exemple de translation et de rotation avec dégénérescence.
On notera la création de pentaèdres (et non d'hexaèdres) dans la zone de rentrée de matière (figure 3.23).
2 $ IMPRE dege2d.nopo$ NOMF2D dege3d.nopo$ NOMF3D $ === DEFINITION DE LA FONCTION === XYZ23 0 $ SECTION SUPERIEURE 1 $ VIA F. INTERPRETEE X01(N,X,Y)= X; Y01(N,X,Y)= Y; Z01(N,X,Y)= 0.; FIN TRAN 5 $ SECTION SUPERIEURE 0.0000000E+00 0.0000000E+00 0.5000000E+00 $ VECTEUR TRANSLATION ROTA 10 $ SECTION SUPERIEURE -0.6000000E+01 $ ANGLE DE ROTATION 0.0000000E+00 0.0000000E+00 0.2500000E+01 $ UN POINT DE L'AXE 0.1000000E+01 0.0000000E+00 0.0000000E+00 $ AXE DE ROTATION TRAN 15 $ SECTION SUPERIEURE 0.0000000E+00 0.0000000E+00 0.2500000E+00 $ VECTEUR TRANSLATION FIN $ FIN DE LA DEFINITION DE LA FONCTION $ =========== LES OPTIONS ========= VERVOL $ === DESCRIPTION DES REFERENCES === REF FASU 1 $ TYPE : NUMERO AFFECTE F $ FIN DE DESCRIPTION DES REFERENCES $ ======= APPEL DU MAILLEUR ======= GO
dege2d.psfig:maxx3Maillage de départdege3d.psfig:maxx31Résultat
Un exemple (figure 3.25) de rotation d'une section constituée d'une ligne, de la sorte, on construit le maillage d'une surface (figure 3.26).
2 $ IMPRE verre2d.nopo$ NOMF2D verre3d.nopo$ NOMF3D $ === DEFINITION DE LA FONCTION === BASE 0.0000000E+00 $ LA BASE ROTA 36 $ SECTION SUPERIEURE -0.1000000E+02 $ ANGLE DE ROTATION 0.0000000E+00 0.0000000E+00 0.0000000E+00 $ UN POINT DE L'AXE 0.1000000E+01 0.0000000E+00 0.0000000E+00 $ AXE DE ROTATION FIN $ FIN DE LA DEFINITION DE LA FONCTION $ =========== LES OPTIONS ========= COLLER $ ======= APPEL DU MAILLEUR ======= GO
verre2d.psfig:maxx4Maillage de départverre3d.psfig:maxx41Résultat