tmafrt
C TMAFRT SOURCE CHAT 06/03/29 21:35:52 5360 > IFAC,NBFAC,NFAMAX,iarr) C ************************************************************** C OBJET : C CALCULE LA FRONTIERE D'UN ENSEMBLE DE MAILLES CONSECUTIVES C DANS LE MAILLAGE C EN ENTREE: C IDE : (1..3) DIMENSION DES ELEMENTS C ITRNOE: LES NOEUDS DES ELEMENTS C NBNMAX : (2..8) NOMBRE DE NOEUDS MAXIMUM DES ELEMENTS C ITRTRI: LES VOISINS DES ELEMENTS C NBCMAX : (2..6) NOMBRE DE COTES MAXIMUM DES ELEMENTS C IND : INDICE DU PREMIER ELEMENT DE L'ENSEMBLE C NBE : NOMBRE D'ELEMENTS DE L'ENSEMBLE C NCFMAX: NOMBRE MAXIMUM DE SOMMETS DES ELEMENTS FRONTIERE C =IDE SAUF EN 3D POUR LES PRISMES,PYRAMIDES,HEXA C EN SORTIE: C IFAC : LISTE DES FACES DE LA FRONTIERE C NUMERO D'ELEMENT,INDICE DE LA FACE POUR L'ELEMENT C L'INDICE EST POSITIF SI LA FRONTIERE EST REELLE C L'INDICE EST NEGATIF SI C'EST UNE FRONTIERE INTERIEURE C EN ABSOLU 0 < | INDICE | < NBCMAX+1 C NBFAC : NOMBRE D'ELEMENTS DE LA FRONTIERE C iarr : CODE D'ERREUR 0 => OK, -2 => NCFMAX TROP PETIT C CONDITION D'APPLICATION : MAILLAGE MIXTE 1D,2D ET C ET TETRAEDRES C ************************************************************ IMPLICIT INTEGER(I-N) INTEGER IDE,ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX,IND,NBE INTEGER IFAC(*),NBFAC,NFAMAX,iarr C INTEGER I,J,INDF,NBRN,NBC C iarr = 0 NBFAC = 0 INDF = (NBE-IND)+1 DO 20 I=IND,INDF DO 10 J=1,NBCMAX IF(( ITRTRI((I-1)*NBCMAX+J) .LE. 0 ).OR. > ( ITRTRI((I-1)*NBCMAX+J) .GT. INDF ))THEN IF(NBC.LT.J)GO TO 20 NBFAC = NBFAC + 1 IF(NBFAC.GT.NFAMAX)THEN iarr = -2 GO TO 999 ENDIF IFAC((NBFAC-1)*2+1) = I IFAC((NBFAC-1)*2+2) = J C --- POUR LES FRONTIERES INTERIEURES --- IF(ITRTRI((I-1)*NBCMAX+J).LT.0) > IFAC((NBFAC-1)*2+2) = -J ENDIF 10 CONTINUE 20 CONTINUE 999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales