1 : C INIRPL SOURCE CHAT 05/01/13 00:38:03 5004 2 : SUBROUTINE INIRPL(MAIL, 3 : $ RPMAIL, 4 : $ IMPR,IRET) 5 : IMPLICIT INTEGER(I-N) 6 : IMPLICIT REAL*8 (A-H,O-Z) 7 : C*********************************************************************** 8 : C NOM : INIRPL 9 : C DESCRIPTION : Maillage n-partitionné => liste d'entiers de dim. n+1 10 : C permettant le repérage "global" des éléments du 11 : C maillage. 12 : C 13 : C Renvoie une liste d'entiers qui permet le 14 : C repérage des éléments dans MAIL. 15 : C nbsous=max(1,mail.lisous(/1)) 16 : C RPMAIL a pour dimension : (nbsous +1) 17 : C RPMAIL(i) numéro du 1er élément de lisous(i) 18 : C RPMAIL(nbsous+1)=nombre d'éléments de mail+1 19 : C LANGAGE : ESOPE 20 : C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF) 21 : C mél : gounand@semt2.smts.cea.fr 22 : C*********************************************************************** 23 : C APPELES (ESOPE) : OOOETA 24 : C APPELE PAR : PONBPO, 25 : C*********************************************************************** 26 : C ENTREES : MAIL 27 : C SORTIES : RPMAIL 28 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé 29 : C*********************************************************************** 30 : C VERSION : v1, 12/05/99, version initiale 31 : C HISTORIQUE : v1, 12/05/99, création 32 : C HISTORIQUE : 33 : C HISTORIQUE : 34 : C*********************************************************************** 35 : C Prière de PRENDRE LE TEMPS de compléter les commentaires 36 : C en cas de modification de ce sous-programme afin de faciliter 37 : C la maintenance ! 38 : C*********************************************************************** 39 : -INC CCOPTIO 40 : -INC SMELEME 41 : POINTEUR MAIL.MELEME 42 : POINTEUR SOUMAI.MELEME 43 : -INC SMLENTI 44 : INTEGER JG 45 : POINTEUR RPMAIL.MLENTI 46 : * 47 : INTEGER MAETA,SMETA 48 : INTEGER IMPR,IRET 49 : INTEGER INBSOU 50 : INTEGER NBSOUS 51 : INTEGER NBEL,NELCOU 52 : * 53 : * Executable statements 54 : * 55 : IF (IMPR.GT.1) THEN 56 : WRITE(IOIMP,*) 'Entrée dans inirpl.eso' 57 : ENDIF 58 : NELCOU=1 58 : CALL OOOETA(MAIL,MAETA) 59 : IF (MAETA.NE.1) SEGACT MAIL 60 : NBSOUS=MAX(1,MAIL.LISOUS(/1)) 61 : JG=NBSOUS+1 62 : SEGINI RPMAIL 63 : DO 1 INBSOU=1,NBSOUS 64 : IF (NBSOUS.EQ.1) THEN 65 : SOUMAI=MAIL 66 : ELSE 67 : SOUMAI=MAIL.LISOUS(INBSOU) 67 : CALL OOOETA(SOUMAI,SMETA) 68 : IF (SMETA.NE.1) SEGACT SOUMAI 69 : ENDIF 70 : RPMAIL.LECT(INBSOU)=NELCOU 71 : NBEL=SOUMAI.NUM(/2) 72 : NELCOU=NELCOU+NBEL 73 : IF (NBSOUS.NE.1.AND.SMETA.NE.1) SEGDES SOUMAI 74 : 1 CONTINUE 75 : RPMAIL.LECT(NBSOUS+1)=NELCOU 76 : IF (MAETA.NE.1) SEGDES MAIL 77 : SEGDES RPMAIL 78 : * 79 : * Normal termination 80 : * 81 : IRET=0 82 : RETURN 83 : * 84 : * Format handling 85 : * 86 : * 87 : * Error handling 88 : * 89 : 9999 CONTINUE 90 : IRET=1 91 : WRITE(IOIMP,*) 'An error was detected in subroutine inirpl' 92 : RETURN 93 : * 94 : * End of subroutine INIRPL 95 : * 96 : END 97 : 98 : 99 :
© Cast3M 2003 - All rights reserved.
Disclaimer