elmors
C ELMORS SOURCE PV 20/09/26 21:16:41 10724 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C ************************************************* C MATRIK contient la matrice a transformer en morse C L est le numero de la matrice dans MATRIK a C transformer. C ************************************************* -INC SMMATRIK -INC SMELEME POINTEUR SPGP.MELEME,SPGD.MELEME POINTEUR MELEMP.MELEME, MELEMD.MELEME -INC SMLENTI POINTEUR IPADP.MLENTI,IPADD.MLENTI SEGMENT ASSTAB ENDSEGMENT C ********************************** C On rempli le tableau ASSTAB qui C contient le preassemblage en morse C de la matrice C ********************************** C ************************************* C On Rempli les segments MINCP et MINCD C pour le MATRIK C ************************************* SEGACT MATRIK*MOD IF (IRIGEL(7,L).NE.6) THEN MELEMP=IRIGEL(1,L) MELEMD=IRIGEL(2,L) IMATRI=IRIGEL(4,L) SEGACT IMATRI C On recupere le nombre de composante de la matrice et C le nombre de noeuds primaux NPTP et duaux NPTD NBSOUS=LIZAFM(/1) NBME=LIZAFM(/2) SPGP=KSPGP SPGD=KSPGD IF (NBSOUS.EQ.0) NBSOUS=1 SEGACT SPGP,SPGD NPTP=SPGP.NUM(/2) NPTD=SPGD.NUM(/2) SEGDES SPGP,SPGD C *********************************************** C On rempli a present les segments MINCP et MINCD C pour le calcul du profil morse C *********************************************** NBI=NBME NPT=NPTP SEGINI MINCP C ******** MINCP ************** LINC1=0 DO I=1,NBME IFLAG=0 DO J=1,LINC1 END DO IF (IFLAG.EQ.0) THEN LINC1=LINC1+1 END IF END DO NBI=LINC1 SEGADJ MINCP NBI=NBME NPT=NPTD SEGINI MINCD C ******** MINCD ************** LINC2=0 DO I=1,NBME IFLAG=0 DO J=1,LINC2 IF (MINCD.LISINC(J).EQ.LISDUA(I)) IFLAG=1 END DO IF (IFLAG.EQ.0) THEN LINC2=LINC2+1 MINCD.LISINC(LINC2)=LISDUA(I) END IF END DO NBI=LINC2 SEGADJ MINCD C ****************************** C On rempli les tableaux MPOS et C NPOS des segements MINCP et C MINCD C ****************************** MINCP.NPOS(1)=1 DO I=1,NPTP DO J=1,LINC1 MINCP.MPOS(I,J)=J END DO MINCP.MPOS(I,LINC1+1)=LINC1 MINCP.NPOS(I+1)=MINCP.NPOS(I)+LINC1 END DO MINCD.NPOS(1)=1 DO I=1,NPTD DO J=1,LINC2 MINCD.MPOS(I,J)=J END DO MINCD.MPOS(I,LINC2+1)=LINC2 MINCD.NPOS(I+1)=MINCD.NPOS(I)+LINC2 END DO SEGDES MINCP,MINCD SEGDES IMATRI END IF KMINCP=MINCP KMINCD=MINCD SEGDES MATRIK SEGACT MATRIK*MOD SEGACT IMATRI IRIGEL(1,L)=KSPGP IRIGEL(2,L)=KSPGD IRIGEL(7,L)=6 SEGDES IMATRI SEGDES MATRIK RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales