s2glar
C S2GLAR SOURCE CHAT 05/01/13 03:10:13 5004 > ITRTRI,NBCMAX,NBCCOL) C ***************************************************************** C OBJET : COLLE LA FRONTIERE D'UN MAILLAGE SUR LA FRONTIERE D'UN C DEUXIEME C EN ENTREE: C IFR1 : FRONTIERE A COLLER C NBFR1: NOMBRE D'ELEMENTS DE LA FRONTIERE C IFR2 : FRONTIERE SUR LAQUELLE ON COLLE C NBFR2: NOMBRE D'ELEMENTS DE LA FRONTIERE C --- LE MAILLAGE ------------------------ C ITRNOE,NBNMAX,ITRTRI,NBCMAX : LE MAILLAGE C C EN SORTIE: LE MAILLAGE MODIFIE (ITRTRI) C NBCCOL: LE NOMBRE D'ARETE DE IFR1 COLLEES A IFR2 C REMARQUES : C PAS DE VERIFICATION DE LA REGULARITE DE LA FRONTIERE C LES 2 MAILLAGES DOIVENT ETRE DANS LES MEMES TABLEAUX C ET ORIENTES DE LA MEME FACON. C COMPLEXITE : POUR CHAQUE AREET DE IFR1 ON PARCOURS TOUTES LES C ARETES DE IFR2 C ***************************************************************** IMPLICIT INTEGER(I-N) INTEGER IFR1(*),NBF1,IFR2(*),NBF2 INTEGER ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX,NBCCOL C INTEGER I,J,IT1,IT2,IF1,IF2,IORIG,IEXTR,NBRN1 INTEGER ISENS INTEGER STRNBN EXTERNAL STRNBN C C --- MISE A JOUR DE ITRTRI ----------------- C NBCCOL = 0 DO 20 I=1,NBF1 IT1 = IFR1((I-1)*2+1) IF1 = IFR1((I-1)*2+2) C --- POUR LES FRONTIERES INTERIEURES --- ISENS = 1 IF( IF1.LT. 0 )THEN ISENS = -1 IF1 = -IF1 ENDIF IEXTR = ITRNOE((IT1-1)*NBNMAX+MOD(IF1,NBRN1)+1) DO 10 J=1,NBF2 IT2 = IFR2((J-1)*2+1) IF2 = IFR2((J-1)*2+2) C --- POUR LES FRONTIERES INTERIEURES --- IF( IF2.LT. 0 )THEN ISENS = -1 IF2 = -IF2 ENDIF IORIG = ITRNOE((IT2-1)*NBNMAX+IF2) IF( IORIG .EQ. IEXTR )THEN ITRTRI((IT2-1)*NBCMAX+IF2) = ISENS * IT1 ITRTRI((IT1-1)*NBCMAX+IF1) = ISENS * IT2 NBCCOL = NBCCOL+1 GO TO 20 ENDIF 10 CONTINUE C --- ON EST SUR LA FRONTIERE --- ITRTRI((IT1-1)*NBCMAX+IF1) = 0 20 CONTINUE 999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales