trjior
C TRJIOR SOURCE CHAT 05/01/13 03:50:04 5004 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C RECHERCHE IOR DEGRE DE ROTATION DES FACES EN CORRESPONDANCE C IELL NUMERO DE L' ELEMENT DE DEPART (DANS LE SOUS MAILLAGE) C IELL2 NUMERO DE L' ELEMENT D ARRIVE (DANS LE SOUS MAILLAGE) C IPT1 POINTEUR DU SOUS MAILLAGE CONTENANT L'ELEMENT DE DEPART C IPT2 POINTEUR DU SOUS MAILLAGE CONTENANT L'ELEMENT D ARRIVEE C IFA NUMERO DE LA FACE DANS L'ELEMENT DE DEPART C JFA NUMERO DE LA FACE DANS L'ELEMENT D'ARRIVEE C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC SMELEME DIMENSION ICUB1(4,6),ICUB2(4,6),IPRI1(4,5),IPRI2(4,5) DIMENSION ITET1(3,4),ITET2(3,4) DIMENSION LE(2,3),LF(3,4) DATA ICUB1/1,2,3,4, 5,8,7,6, 1,5,6,2, 2,6,7,3, 4,3,7,8, 1,4,8,5/ DATA ICUB2/1,4,3,2, 5,6,7,8, 1,2,6,5, 2,3,7,6, 4,8,7,3, 1,5,8,4/ DATA IPRI2/1,3,2,0, 4,5,6,0, 1,2,5,4, 2,3,6,5, 1,4,6,3/ DATA IPRI1/1,2,3,0, 4,6,5,0, 1,4,5,2, 2,5,6,3, 1,3,6,4/ DATA ITET1/1,4,2, 1,2,3, 2,4,3, 1,3,4/ DATA ITET2/1,2,4, 1,3,2, 2,3,4, 1,4,3/ DATA LF/2,3,4, 3,4,1, 4,1,2, 1,2,3/ DATA LE/2,3, 3,1, 1,2/ C C PRI6 ITYPEL=16 CUB8 ITYPEL=14 TET4 ITYPEL=23 IF(ITY.EQ.16)THEN IF(JTY.EQ.16)THEN C PRI6 PRI6 IF(IFA.GT.2)THEN C FACES RECTANGULAIRES DO 10 KJ=1,4 IF(IPT1.NUM(IPRI1(KJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(1,JFA),IELL2))THEN DO 12 J=1,3 LJ=LF(J,KJ) LI=J+1 IF(IPT1.NUM(IPRI1(LJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 12 CONTINUE ENDIF 10 CONTINUE ELSE C FACES TRIANGULAIRES DO 15 KJ=1,3 IF(IPT1.NUM(IPRI1(KJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(1,JFA),IELL2))THEN DO 17 J=1,2 LJ=LE(J,KJ) LI=J+1 IF(IPT1.NUM(IPRI1(LJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 17 CONTINUE ENDIF 15 CONTINUE ENDIF ELSEIF(JTY.EQ.14)THEN C PRI6 CUB8 DO 20 KJ=1,4 IF(IPT1.NUM(IPRI1(KJ,IFA),IELL).EQ. * IPT2.NUM(ICUB2(1,JFA),IELL2))THEN DO 22 J=1,3 LJ=LF(J,KJ) LI=J+1 IF(IPT1.NUM(IPRI1(LJ,IFA),IELL).EQ. * IPT2.NUM(ICUB2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 22 CONTINUE ENDIF 20 CONTINUE ELSEIF(JTY.EQ.23)THEN C PRI6 TET4 DO 25 KJ=1,3 IF(IPT1.NUM(IPRI1(KJ,IFA),IELL).EQ. * IPT2.NUM(ITET2(1,JFA),IELL2))THEN DO 27 J=1,2 LJ=LE(J,KJ) LI=J+1 IF(IPT1.NUM(IPRI1(LJ,IFA),IELL).EQ. * IPT2.NUM(ITET2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 27 CONTINUE ENDIF 25 CONTINUE ENDIF ELSEIF(ITY.EQ.14)THEN IF(JTY.EQ.14)THEN C CUB8 CUB8 DO 30 KJ=1,4 IF(IPT1.NUM(ICUB1(KJ,IFA),IELL).EQ. * IPT2.NUM(ICUB2(1,JFA),IELL2))THEN DO 35 J=1,3 LJ=LF(J,KJ) LI=J+1 IF(IPT1.NUM(ICUB1(LJ,IFA),IELL).EQ. * IPT2.NUM(ICUB2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 35 CONTINUE ENDIF 30 CONTINUE ELSEIF(JTY.EQ.16)THEN C CUB8 PRI6 DO 40 KJ=1,4 IF(IPT1.NUM(ICUB1(KJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(1,JFA),IELL2))THEN DO 45 J=1,3 LJ=LF(J,KJ) LI=J+1 IF(IPT1.NUM(ICUB1(LJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 45 CONTINUE ENDIF 40 CONTINUE ENDIF ELSEIF(ITY.EQ.23)THEN IF(JTY.EQ.23)THEN C TET4 TET4 DO 50 KJ=1,3 IF(IPT1.NUM(ITET1(KJ,IFA),IELL).EQ. * IPT2.NUM(ITET2(1,JFA),IELL2))THEN DO 52 J=1,2 LJ=LE(J,KJ) LI=J+1 IF(IPT1.NUM(ITET1(LJ,IFA),IELL).EQ. * IPT2.NUM(ITET2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 52 CONTINUE ENDIF 50 CONTINUE ELSEIF(JTY.EQ.16)THEN C TET4 PRI6 DO 55 KJ=1,3 IF(IPT1.NUM(ITET1(KJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(1,JFA),IELL2))THEN DO 57 J=1,2 LJ=LE(J,KJ) LI=J+1 IF(IPT1.NUM(ITET1(LJ,IFA),IELL).EQ. * IPT2.NUM(IPRI2(LI,JFA),IELL2))THEN IOR=KJ GO TO 99 ENDIF 57 CONTINUE ENDIF 55 CONTINUE ENDIF ENDIF 99 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales