inirpm
C INIRPM SOURCE PV 20/09/26 21:17:27 10724 $ RPMAT, $ IMPR,IRET) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C NOM : INIRPM C DESCRIPTION : Ensemble de matrices élémentaires n-partitionné => liste C d'entiers de dim. n+1 permettant le repérage "global" C des matrices élémentaires. C C Renvoie une liste d'entiers qui permet le C repérage des matrices élémentaires dans IMAT. C nbsous=imat.lizafm(/1) C RPMAT a pour dimension : (nbsous +1) C RPMAT(i) numéro de la 1ere matrice élémentaire C de lizafm(i). C RPMAT(nbsous+1)=nombre de matrice élémentaires C de imat+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 : ELELMA C*********************************************************************** C ENTREES : IMAT C SORTIES : RPMAT C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 28/05/99, version initiale C HISTORIQUE : v1, 28/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 SMMATRIK POINTEUR IMAT.IMATRI POINTEUR SOUMAT.IZAFM -INC SMLENTI INTEGER JG POINTEUR RPMAT.MLENTI * INTEGER IMPR,IRET * INTEGER MAETA,SMETA INTEGER NELCOU,INBSOU INTEGER NBEL ,NBSOUS * * Executable statements * IF (IMPR.GT.1) THEN WRITE(IOIMP,*) 'Entrée dans inirpm.eso' ENDIF NELCOU=1 CALL OOOETA(IMAT,MAETA,IMOD) IF (MAETA.NE.1) SEGACT IMAT NBSOUS=IMAT.LIZAFM(/1) JG=NBSOUS+1 SEGINI RPMAT DO 1 INBSOU=1,NBSOUS SOUMAT=IMAT.LIZAFM(INBSOU,1) CALL OOOETA(SOUMAT,SMETA,IMOD) IF (SMETA.NE.1) SEGACT SOUMAT RPMAT.LECT(INBSOU)=NELCOU IF (SMETA.NE.1) SEGDES SOUMAT 1 CONTINUE RPMAT.LECT(NBSOUS+1)=NELCOU IF (MAETA.NE.1) SEGDES IMAT SEGDES RPMAT * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine inirpm' RETURN * * End of subroutine INIRPM * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales