C S3FASO SOURCE CHAT 06/03/29 21:32:51 5360 C FUNCTION S3FASO(I,N,ISENS,ISOM) C ************************************************************ C OBJET : K SOMMETS DE LA FACE (INDICE RELATIF) C EN ENTREE: C I : LES INDICES DES FACES DE L'ELEMENT C N : (4) NOMBRE DE NOEUDS DE L'ELEMENT C TETRA(4),PYRAM(5),PRISME(6),HEXA(8) C EN SORTIE: C ISOM : INDICE DES NOEUDS DE LA FACE (SENS DIRECT) C CONDITION D'APPLICATION : TETRAEDRE ET HEXAEDRE SEULEMENT C ************************************************************ IMPLICIT INTEGER(I-N) INTEGER S3FASO INTEGER I,N,ISENS,ISOM(*) C COMMON /STRTET/ ITA2F(4,4),IT2FA(4,4),IT3SF(3,4) INTEGER ITA2F, IT2FA, IT3SF COMMON /STRHEX/ IQ4SF(4,6),IQ3FS(3,8) INTEGER IQ4SF,IQ3FS INTEGER J,iarr C GOTO (1,1,1,100,1,1,1,200) N C ===================== C --- ELEMENT NON RECONNU --- C ===================== 1 S3FASO = 0 iarr = -1 CALL DSERRE(1,iarr,'S3FASO',' TYPE D ELEMENT INCONNU') GOTO 9999 C ================== C --- CAS DU TETRAEDRE --- C ================== 100 S3FASO = 3 IF( ISENS .EQ. 1 )THEN DO 110 J=1,S3FASO ISOM(J) = IT3SF(J,I) 110 CONTINUE ELSE DO 120 J=1,S3FASO ISOM(J) = IT3SF(S3FASO+1-J,I) 120 CONTINUE ENDIF GOTO 9999 C ================== C --- CAS DE L'HEXAEDRE --- C ================== 200 S3FASO = 4 IF( ISENS .EQ. 1 )THEN DO 210 J=1,S3FASO ISOM(J) = IQ4SF(J,I) 210 CONTINUE ELSE DO 220 J=1,S3FASO ISOM(J) = IQ4SF(S3FASO+1-J,I) 220 CONTINUE ENDIF GOTO 9999 C 9999 END