inlmap
C INLMAP SOURCE CHAT 05/01/13 00:38:26 5004 $ LMACDB, $ IMPR,IRET) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C NOM : INLMAP C DESCRIPTION : Initialisation de la matrice produit. C C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : - C APPELE PAR : PROLIS C*********************************************************************** C ENTREES : ICDCDB, LMPCDB, LMDCDB C SORTIES : LMACDB C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 10/02/2000, version initiale C HISTORIQUE : v1, 10/02/2000, 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 * Includes persos * Segment LSTIND (liste séquentielle indexée) SEGMENT LSTIND INTEGER IDX(NBM+1) INTEGER IVAL(NBTVAL) ENDSEGMENT POINTEUR ICDCDB.LSTIND POINTEUR LMPCDB.LSTIND POINTEUR LMDCDB.LSTIND SEGMENT LSRIND INTEGER IDXX(NBM+1) REAL*8 XVAL(NBTVAL) ENDSEGMENT SEGMENT LLI POINTEUR LISLI(NBME).LSRIND ENDSEGMENT INTEGER NBM,NBTVAL,NBME POINTEUR LMACDB.LLI POINTEUR SLMCDB.LSRIND POINTEUR SLMPIX.LSRIND * INTEGER IMPR,IRET * INTEGER IBME,ILCDB INTEGER NCPL,NLCDB INTEGER NUVP,NUVD,NUVPD * * Executable statements * IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inlmap.eso' * - nombre d'inconnues : SEGACT ICDCDB NCPL=ICDCDB.IVAL(/1) NBME=NCPL SEGINI LMACDB SEGACT LMPCDB SEGACT LMDCDB NLCDB=LMPCDB.IDX(/1)-1 NBM=NLCDB NBTVAL=0 SEGINI SLMPIX DO 1 ILCDB=1,NLCDB NUVP=LMPCDB.IDX(ILCDB+1)-LMPCDB.IDX(ILCDB) NUVD=LMDCDB.IDX(ILCDB+1)-LMDCDB.IDX(ILCDB) NUVPD=NUVP*NUVD SLMPIX.IDXX(ILCDB+1)=NUVPD 1 CONTINUE * SLMPIX.IDXX est transformé en liste d'indexation SLMPIX.IDXX(1)=1 DO 3 ILCDB=1,NLCDB SLMPIX.IDXX(ILCDB+1)=SLMPIX.IDXX(ILCDB+1)+SLMPIX.IDXX(ILCDB) 3 CONTINUE * Initialisation des segments de LMACDB DO 5 IBME=1,NBME NBM=NLCDB NBTVAL=SLMPIX.IDXX(NLCDB+1)-1 SEGINI SLMCDB DO 52 ILCDB=1,NLCDB+1 SLMCDB.IDXX(ILCDB)=SLMPIX.IDXX(ILCDB) 52 CONTINUE SEGDES SLMCDB LMACDB.LISLI(IBME)=SLMCDB 5 CONTINUE SEGSUP SLMPIX SEGDES LMDCDB SEGDES LMPCDB SEGDES LMACDB SEGDES ICDCDB * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine inlmap' RETURN * * End of subroutine INLMAP * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales