1 : C ARETE2 SOURCE PV 09/01/08 21:15:13 6254 2 : SUBROUTINE ARETE2 (MELEME,TS,ISEG,TN,INOR,TI,ICPR,LCPR) 3 : 4 : * APPELE PAR ARETE1 5 : * REMPLIT LES TABLES TSEG ET TNOR POUR LES CALCULS 6 : * D'ELIMINATION D'ARETES . 7 : * 8 : *------------------------------------------------------------------- 9 : * 10 : * ARBRE D'APPEL : 11 : * -------------- 12 : * ARETE2 : PREPARATION DU MAILLAGE PAR CALCUL DES NORMALES 13 : * AUX FACETTES , ET CLASSEMENT DES SEGMENTS APRES 14 : * ECLATES EN SEG2 15 : * 16 : *------------------------------------------------------------------- 17 : * 18 : * VARIABLES PRINCIPALES : 19 : * --------------------- 20 : * 21 : * TSEG : SEGMENT 2 DIMENSIONS CONTENANT 22 : * 23 : * | A TRACER (= 0 NON, =1 OUI) | 24 : * | COULEUR | 25 : * | N› NOEUD MIN | 26 : * | N› NOEUD MAX | 27 : * | ENTREES DANS TSEG | 28 : * 29 : * TNOR : SEGMENT 2 DIMENSIONS CONTENANT LES NORMALES A COMPARER 30 : * POUR CHAQUE FACE ELEMENTAIRE 31 : * 32 : * ISEG : TAILLE REELLE DU SEGMENT TSEG 33 : * INOR : TAILLE REELLE DU SEGMENT TNOR 34 : * 35 : *-------------------------------------------------------------------- 36 : * AUTEUR : J.BRUN (JUIN 90) 37 : 38 : IMPLICIT INTEGER(I-N) 39 : IMPLICIT REAL*8 (A-H,O-Y) 40 : IMPLICIT LOGICAL (Z) 41 : SEGMENT TN 42 : REAL*8 TNOR (N1,3) 43 : ENDSEGMENT 44 : SEGMENT TS 45 : INTEGER TSEG (M1,M2) 46 : ENDSEGMENT 47 : SEGMENT TI 48 : INTEGER TINDIC(MI1,MI2,2) 49 : ENDSEGMENT 50 : SEGMENT ICPR(0) 51 : -INC SMELEME 52 : REAL*8 VN(3) 53 : 54 : *--------------------------------------------------------------------- 55 : * 56 : * ELIMINATION ELEMENT POI1 ,SEG2 ,SEG3 57 : * 58 : *--------------------------------------------------------------------- 59 : 100 IF (ITYPEL.LE.3) GOTO 200 60 : *--------------------------------------------------------------------- 61 : * 62 : * BOUCLE SUR LES ELEMENTS 63 : * 64 : *--------------------------------------------------------------------- 65 : DO 2 NEL=1,NUM(/2) 66 : * 67 : * ELEMENT PLAN TRI3 OU TRI4 68 : * 69 : IF (ITYPEL.LT.5) THEN 69 : CALL NORFAC(VN,NUM(1,NEL),NUM(2,NEL),NUM(3,NEL)) 70 : DO 3 I=1,3 71 : 72 : IF (I.EQ.3) THEN 73 : N1=NUM(3,NEL) 74 : N2=NUM(1,NEL) 75 : N3=ICOLOR(NEL) 75 : CALL TRISEG(TS,ISEG,TN,INOR,TI,ICPR,LCPR,VN,N1,N2,N3) 76 : ELSE 77 : N1=NUM(I,NEL) 78 : N2=NUM(I+1,NEL) 79 : N3=ICOLOR(NEL) 79 : CALL TRISEG(TS,ISEG,TN,INOR,TI,ICPR,LCPR,VN,N1,N2,N3) 80 : ENDIF 81 : 3 CONTINUE 82 : ELSE 83 : * 84 : * ELEMENT POUVANT ETRE NON PLAN ( A REDECOUPER EN TRI3 ) 85 : * 86 : NB=NUM(/1) 87 : * TRI7 -> TRI6 88 : IF (ITYPEL.EQ.7) NB=6 89 : * QUA5 -> QUA4 90 : IF (ITYPEL.EQ.9) NB=4 91 : * QUA9 -> QUA8 92 : IF (ITYPEL.EQ.11) NB=8 93 : DO 4 I=1,NB,2 94 : IF (I.EQ.1) THEN 94 : CALL NORFAC(VN,NUM(NB,NEL),NUM(1,NEL),NUM(2,NEL)) 95 : N1=NUM(NB,NEL) 96 : N2=NUM(1,NEL) 97 : N3=ICOLOR(NEL) 97 : CALL TRISEG(TS,ISEG,TN,INOR,TI,ICPR,LCPR,VN,N1,N2,N3) 98 : N1=NUM(1,NEL) 99 : N2=NUM(2,NEL) 100 : N3=ICOLOR(NEL) 100 : CALL TRISEG(TS,ISEG,TN,INOR,TI,ICPR,LCPR,VN,N1,N2,N3) 101 : ELSE 101 : CALL NORFAC(VN,NUM(I-1,NEL),NUM(I,NEL),NUM(I+1,NEL)) 102 : N1=NUM(I-1,NEL) 103 : N2=NUM(I,NEL) 104 : N3=ICOLOR(NEL) 104 : CALL TRISEG(TS,ISEG,TN,INOR,TI,ICPR,LCPR,VN,N1,N2,N3) 105 : N1=NUM(I,NEL) 106 : N2=NUM(I+1,NEL) 107 : N3=ICOLOR(NEL) 107 : CALL TRISEG(TS,ISEG,TN,INOR,TI,ICPR,LCPR,VN,N1,N2,N3) 108 : ENDIF 109 : 4 CONTINUE 110 : ENDIF 111 : 2 CONTINUE 112 : 200 RETURN 113 : END 114 : 115 : 116 : 117 : 118 : 119 :
© Cast3M 2003 - All rights reserved.
Disclaimer