inirpl
C INIRPL SOURCE GOUNAND 25/04/30 21:15:07 12258 $ RPMAIL, $ IMPR,IRET) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C NOM : INIRPL C DESCRIPTION : Maillage n-partitionné => liste d'entiers de dim. n+1 C permettant le repérage "global" des éléments du C maillage. C C Renvoie une liste d'entiers qui permet le C repérage des éléments dans MAIL. C nbsous=max(1,mail.lisous(/1)) C RPMAIL a pour dimension : (nbsous +1) C RPMAIL(i) numéro du 1er élément de lisous(i) C RPMAIL(nbsous+1)=nombre d'éléments de mail+1 C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES (ESOPE) : OOOETA C APPELE PAR : PONBPO, C*********************************************************************** C ENTREES : MAIL C SORTIES : RPMAIL C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 12/05/99, version initiale C HISTORIQUE : v1, 12/05/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 SMELEME POINTEUR MAIL.MELEME POINTEUR SOUMAI.MELEME -INC SMLENTI INTEGER JG POINTEUR RPMAIL.MLENTI * INTEGER MAETA,SMETA INTEGER IMPR,IRET INTEGER INBSOU INTEGER NBSOUS INTEGER NBEL,NELCOU * * Executable statements * IF (IMPR.GT.1) THEN WRITE(IOIMP,*) 'Entrée dans inirpl.eso' ENDIF NELCOU=1 SEGACT MAIL NBSOUS=MAX(1,MAIL.LISOUS(/1)) JG=NBSOUS+1 SEGINI RPMAIL DO 1 INBSOU=1,NBSOUS IF (NBSOUS.EQ.1) THEN SOUMAI=MAIL ELSE SOUMAI=MAIL.LISOUS(INBSOU) SEGACT SOUMAI ENDIF RPMAIL.LECT(INBSOU)=NELCOU 1 CONTINUE RPMAIL.LECT(NBSOUS+1)=NELCOU * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine inirpl' RETURN * * End of subroutine INIRPL * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales