sfaide
C SFAIDE SOURCE CHAT 05/01/13 03:15:04 5004 C C C C ***************************************************************** C OBJET : RECHERCHE LA FACE COMMUME A 2 ELEMENTS C RENVOI LES INDICES I1 ET I2 CORRESPONDANTS AUX FRONTIERES C COMMUNES DES ELEMETS IT1 ET IT2. C EN ENTREE: C IT1,IT2: LES ELEMENTS A TESTER C N1 : (2..4) NOMBRE DE NOEUDS DE IT1 C N2 : (2..4) NOMBRE DE NOEUDS DE IT2 C IDE : (1..3) DIMENSION DES ELEMENTS C EN SORTIE: C I1,I2 : INDICES DES FRONTIERES COMMUNES C SFAIDE : 0 SI AUCUNE ARETE COMMUNE C -1 SI L'ARETE I1 ET L'ARETE I2 SONT PARCOURUS DANS LE MEME C SENS POUR IT1 ET IT2 C 1 SI " " " " " " DANS LE SENS C INVERSE C CONDITION D'APPLICATION : ARETE, TRIANGLE, QUADRANGLE, TETRA C REMARQUE : N'UTILISE PAS LA STRUCTURE DE DONNEES MAILLAGE C N'EXPLOITE AUCUNE HYPOTHESE SUR IT1 ET IT2 C ***************************************************************** IMPLICIT INTEGER(I-N) C INTEGER I,J EXTERNAL SFAC3D INTEGER SFAC3D C IF( IDE.EQ.2 )THEN C ----------------------- C CAS DES TRIANGLES OU DES QUADRANGLES C ON REALISE N1*N2*2 COMPARAISONS (X,Y) AVEC (A,B) ET (B,A) C ------------------------ DO 10 I=1,N1 DO 20 J=1,N2 IF ( (IT1(I) .EQ. IT2(J)) .AND. > (IT1(MOD(I,N1)+1) .EQ. IT2(MOD(J,N2)+1)) ) THEN I1 = I I2 = J GOTO 999 ENDIF IF( (IT1(I) .EQ. IT2(MOD(J,N2)+1)) .AND. > (IT1(MOD(I,N1)+1) .EQ. IT2(J)) ) THEN I1 = I I2 = J GOTO 999 ENDIF 20 CONTINUE 10 CONTINUE ELSE IF( IDE.EQ.1)THEN C ------------------------ C CAS DES ARETES : ON REALISE 4 COMPARAISONS (N1=N2=2) C ------------------------ DO 30 I=1,N1 DO 40 J=1,N2 IF (IT1(I) .EQ. IT2(J)) THEN I1 = I I2 = J IF( I.EQ.J )THEN ELSE ENDIF GOTO 999 ENDIF 40 CONTINUE 30 CONTINUE ELSE IF( IDE .EQ. 3 )THEN C ---------------------------- C CAS DES TETRAEDRES : ON REALISE 4*4*6 = 96 COMPARAISONS C ---------------------------- GOTO 999 ENDIF ENDIF ENDIF 999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales