nuenul
C NUENUL SOURCE CHAT 05/01/13 02:02:55 5004 C C C ***************************************************************** C OBJET NUENUL : PROPOSE UNE RENUMEROTATION POUR METTRE EN FIN LES C OBJET ELEMENTS NULS. C C EN ENTREE: C ITRNOE: LES NOEUDS DES ELEMENTS DU MAILLAGE C NBNMAX: NOMBRE MAXIMUM DE NOEUDS PAR ELEMENT C NBE : NOMBRE D'ELEMENTS C C EN SORTIE: C NBENUL : NOMBRE D'ELEMENTS NULS C NUM : NOUVELLE NUMEROTATION C NUM(I) = NOUVEAU NUMERO DE L'ELEMENT I C NUM EST UN TABLEAU DE TAILLE NBE C C C CONDITION D'APPLICATION : TOUT MAILLAGE C REMARQUE : IDEM NUNISO => UTILITAIRE SUR LES TABLEAUX ? C ***************************************************************** IMPLICIT INTEGER(I-N) INTEGER ITRNOE(*),NBNMAX,NBE INTEGER NUM(*),NBENUL,IERR C INTEGER I C NBENUL = 0 I = 1 10 IF(I.GT.(NBE-NBENUL))GOTO 9999 C --- LE NOEUD EST ISOLE --- IF( ITRNOE((I-1)*NBNMAX+1).EQ.0 )THEN C C --- RECHERCHE D'UN NOEUD (A LA FIN) POUR PERMUTER --- 20 IF( ITRNOE((NBE-NBENUL-1)*NBNMAX+1).EQ. 0 )THEN NUM(NBE-NBENUL) = NBE-NBENUL NBENUL = NBENUL + 1 C --- TOUS LES NOEUDS SONT ISOLES --- IF( NBENUL.EQ.NBE )GOTO 9999 C --- ON A TROUVE TOUS LES NOEUDS ISOLES --- IF( I.GT.(NBE-NBENUL))GOTO 9999 GOTO 20 ENDIF C C --- ON A LE NOEUD POUR PERMUTER --- NUM(NBE-NBENUL) = I NUM(I) = NBE-NBENUL NBENUL = NBENUL + 1 ELSE NUM(I) = I ENDIF I = I + 1 GOTO 10 C 9999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales