chicmp
C CHICMP SOURCE CHAT 05/01/12 21:57:00 5004 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C ------------------------------------------------------------------- C C AJOUT DE NOUVELLES COMPOSANTES ( CHIMIE) C C ------------------------------------------------------------------- -INC SMTABLE -INC SMLENTI POINTEUR MLIDEN.MLENTI,MLXMX.MLENTI -INC PPARAM -INC CCOPTIO SEGMENT IDSCHI REAL*8 GK(NYDIM),AA(NYDIM,NXDIM),FF(NZDIM,NPDIM) INTEGER IDX(NXDIM),IDY(NYDIM),IDZ(NZDIM),IDP(NPDIM),NN(6) INTEGER IDECY(NYDIM),IONZ(NXDIM) CHARACTER*32 NAME(NXDIM),NAMESP(NYDIM) ENDSEGMENT CHARACTER*8 MTYPI,CHARI,MTYPR,CHARR CHARACTER*32 CHARM LOGICAL LOGRE INTEGER LINIT C NYDIM=IDY(/1) NXDIM=IDX(/1) NZDIM=IDZ(/1) NPDIM=IDP(/1) MTAB1=NVCOMP SEGACT MTAB1 NNCOMP= MTAB1.MLOTAB NICOMP=NNCOMP IVALI=0 XVALI=0.D0 IRETI=0 IVALR=0 XVALR=0.D0 IRETR=0 MTYPI='MOT ' MTYPR=' ' CHARR=' ' * MTYPR,IVALR,XVALR,CHARR,LOGRE,IRETR) IF(IERR.NE.0)RETURN SEGACT MTAB1 IF(MTYPR.EQ.'MOT ')THEN C C on a trouvé CLASSE c'est un OBJET on va compter les indices entier C NICOMP= 0 DO 5 IESP=1,NNCOMP IF((MTAB1.MTABTI(IESP)).EQ.'ENTIER') NICOMP= NICOMP+1 5 CONTINUE ENDIF DO 50 ICOMP=1,NICOMP IVALI=ICOMP XVALI=0.D0 IRETI=0 IVALR=0 XVALR=0.D0 IRETR=0 MTYPI='ENTIER ' MTYPR=' ' CHARR=' ' CHARI=' ' *MTYPR,IVALR,XVALR,CHARR,LOGRE,IRETR) IF(IERR.NE.0)RETURN SEGACT MTAB1 IF((MTYPR.EQ.'TABLE ').OR.(MTYPR.EQ.'OBJET ')) THEN MTAB2=IRETR SEGACT MTAB2 NXDIM=NXDIM+1 NYDIM=NYDIM+1 SEGADJ IDSCHI IVALI=1 XVALI=0.D0 IRETI=0 IVALR=0 XVALR=0.D0 IRETR=0 MTYPI='MOT ' MTYPR='ENTIER ' CHARR=' ' *MTYPR,IVALR,XVALR,CHARR,LOGRE,IRETR) IF(IERR.NE.0)RETURN SEGACT MTAB1 NVIDEN=IVALR IVALI=1 XVALI=0.D0 IRETI=0 IVALR=0 XVALR=0.D0 IRETR=0 MTYPI='MOT ' MTYPR='MOT ' CHARM=' ' * MTYPR,IVALR,XVALR,CHARM,LOGRE,IRETR) SEGACT MTAB1 IF(IERR.NE.0)RETURN NAME(NXDIM)=CHARM IVALI=1 XVALI=0.D0 IRETI=0 IVALR=0 XVALR=0.D0 IRETR=0 MTYPI='MOT ' MTYPR='ENTIER ' CHARR=' ' *IRETI,MTYPR,IVALR,XVALR,CHARR,LOGRE,IRETR) IF(IERR.NE.0)RETURN SEGACT MTAB1 IONZ(NXDIM)=IVALR NN(6)=NN(6)+1 IDY(NYDIM)=NVIDEN LINIT=6 AA(NN(1),NXDIM)=1.D0 IDX(NXDIM)=NVIDEN GK(NN(1))=0.D0 SEGDES MTAB2 ELSE MOTERR(1:40)='******** NVCOMP ??????????? ' RETURN ENDIF 50 CONTINUE SEGDES MTAB1 C WRITE(6,*)' FIN CHICMP NXDIM NYDIM' ,NXDIM,NYDIM C WRITE(6,*)(NAME(I),I=1,NXDIM) C WRITE(6,*)'IDX',(IDX(I),I=1,NXDIM) C WRITE(6,*)'IDY',(IDY(I),I=1,NYDIM) C WRITE(6,*)'GK',(GK(I),I=1,NYDIM) C WRITE(6,110)((AA(I,J),I=1,NYDIM),J=1,NXDIM) 110 FORMAT( 2X ,'AA',(10(1PE10.3))) RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales