prsloa
C PRSLOA SOURCE CHAT 05/01/13 02:35:35 5004 $ NEWNUM, $ IMPR,IRET) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C NOM : PRSLOA C DESCRIPTION : Renumérotation d'un graphe par la méthode de SLOAN C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF) C mél : gounand@semt2.smts.cea.fr C BIBLIO : @Article{, C author = {S. W. Sloan}, C title = {A Fortran Program for Profile and Wavefront Reduction}, C journal = {International Journal for Numerical Methods in Engineering}, C year = {1989}, C volume = {28}, C pages = {2651-2679} C} C C*********************************************************************** C APPELES : LABEL, PROFIL C APPELE PAR : RENUME C*********************************************************************** C ENTREES : ADJAC C SORTIES : NEWNUM C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 10/11/99, version initiale C HISTORIQUE : v1, 10/11/99, création C HISTORIQUE : C HISTORIQUE : C*********************************************************************** C Prière de PRENDRE LE TEMPS de compléter les commentaires C en cas de modification de ce sous-programme afin de faciliter C la maintenance ! C*********************************************************************** -INC PPARAM -INC CCOPTIO -INC SMLENTI INTEGER JG POINTEUR IWORK.MLENTI POINTEUR NEWNUM.MLENTI * * Segment LSTIND (liste séquentielle indexée) * SEGMENT LSTIND INTEGER IDX(NBM+1) INTEGER IVAL(NBTVAL) ENDSEGMENT * * LISTE SEQUENTIELLE INDEXEE D'ENTIERS * * NBM : NOMBRE DE MULTIPLETS * NBTVAL : NOMBRE TOTAL DE VALEURS * IDX(I) : INDICE DE LA PREMIERE VALEUR DU IEME * MULTIPLET DANS LE TABLEAU IVAL * IVAL(IDX(I) -> IDX(I+1)-1) : VALEURS DU IEME MULTIPLET * *-INC SLSTIND POINTEUR ADJAC.LSTIND * INTEGER E2,NTOTPO INTEGER IMPR,IRET * * Executable statements * IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans prsloa' SEGACT ADJAC NTOTPO=ADJAC.IDX(/1)-1 JG=NTOTPO SEGINI NEWNUM JG=(3*NTOTPO)+1 SEGINI IWORK E2=ADJAC.IDX(NTOTPO+1)-1 $ NEWNUM.LECT, $ IWORK.LECT, $ IMPR,IRET) IF (IRET.NE.0) GOTO 9999 SEGSUP IWORK SEGDES NEWNUM SEGDES ADJAC * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine prsloa' RETURN * * End of subroutine PRSLOA * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales