nugcnu
C NUGCNU SOURCE CHAT 06/03/29 21:28:32 5360 C C > NOETRI,NOEMAX,NBE,COORD,IDIMC,NBP, > ITVL,NITMAX,iarr) C ***************************************************************** C OBJET NUGCNU : GARBAGE COLLECTOR ELEMENTS ET POINTS C OBJET SUPPRIME LES ELEMENTS NULS ET LES POINTS ISOLES C OBJET LES POINTS ET LES ELEMENTS SONT RENUMEROTES !!! C C EN ENTREE: C ITRNOE,NBNMAX,ITRITRI,NBCMAX,NOETRI,NOEMAX,NBE : LE MAILLAGE C NBNMAX: SI NBNMAX = 0 ALORS ITRNOE N'EST PAS CONSIDERE C NOEMAX: SI NOEMAX = 0 ALORS NOETRI N'EST PAS CONSIDERE C COORD,NBP : COORDONNEES ET NOMBRE DE NOEUDS C IDIMC : DIMENSION DE L'ESPACE, SI IDIMC = 0 ALORS ON NE COMPRIME C PAS LES NOEUDS. C C ITVL(NITMAX) : TABLEAU DE TRAVAIL (ENTIERS), SA TAILLE EST DE C 2*NBP POUR LA RENUMEROTATION DES NOEUDS C + 2*NBE POUR LA RENUMEROTATION DES ELEMENTS C + NBP SI NOETRI N4EST PAS DONNE (NOEMAX=0) C C EN SORTIE: C ITRNOE,NBE,ITRTRI,NOETRI,COORD,NBN : MIS A JOUR C C CONDITION D'APPLICATION : TOUT MAILLAGE C ***************************************************************** IMPLICIT INTEGER(I-N) INTEGER IDE,ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX INTEGER NOETRI(*),NOEMAX,NBE REAL*8 COORD(*) INTEGER IDIMC,NBP,ITVL(*),NITMAX,iarr C INTEGER I,J,NUM,ITRAMA,NUM1,NBISOL,NBENUL INTEGER NOETR2 C NUM = 1 NBISOL = 0 NBENUL = 0 IF(IDIMC.EQ.0)GOTO 40 C ============================ C --- 1. COMPRESSION DES NOEUDS --- C ============================ IF( NOEMAX.EQ. 0 )THEN NOETR2 = 0 NUM = NBP + NOETR2 ENDIF ITRAMA = NUM + NBP IF( NITMAX .LT. ITRAMA+NBP )THEN iarr = -2 GOTO 9999 ENDIF C C ---- RECHERCHE DES NOEUDS CONNECTES ---- C -------------------------------- IF( NOEMAX.EQ. 0 )THEN DO 105 I=1,NBP ITVL(NOETR2+I) = 0 105 CONTINUE DO 120 I=1,NBE DO 110 J=1,NBNMAX NUM1 = ITRNOE((I-1)*NBNMAX+J) IF( NUM1.NE.0 )ITVL(NOETR2+NUM1) = I 110 CONTINUE 120 CONTINUE C ELSE C ENDIF C IF( iarr.NE. 0 )THEN GOTO 9999 ENDIF C C ---- SUPPRESSION DES NOEUDS PAS CONNECTES ---- C -------------------------------------- > COORD,IDIMC, > ITVL(NUM+1),NBP,ITVL(ITRAMA+1),iarr) IF( iarr.NE. 0 )THEN GOTO 9999 ENDIF NBP = NBP - NBISOL C C ============================== C --- 2. COMPRESSION DES ELEMENTS --- C ============================== C 40 IF( IDE.EQ. 0 )GOTO 9999 IF( iarr.NE. 0 )THEN GOTO 9999 ENDIF C ITRAMA = NUM + NBE > NOEMAX,NBE,ITVL(NUM+1),ITVL(ITRAMA+1),iarr) C IF( iarr.NE. 0 )THEN GOTO 9999 ENDIF C NBE = NBE - NBENUL C C 9999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales