inirpl
C INIRPL SOURCE CB215821 18/09/27 21:15:28 9936 $ 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 CALL OOOETA(MAIL,MAETA,IMOD) IF (MAETA.NE.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) CALL OOOETA(SOUMAI,SMETA,IMOD) IF (SMETA.NE.1) SEGACT SOUMAI ENDIF RPMAIL.LECT(INBSOU)=NELCOU IF (NBSOUS.NE.1.AND.SMETA.NE.1) SEGDES SOUMAI 1 CONTINUE RPMAIL.LECT(NBSOUS+1)=NELCOU IF (MAETA.NE.1) SEGDES MAIL SEGDES RPMAIL * * 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