ident
C IDENT SOURCE OF166741 26/02/19 21:15:01 12437 *--------------------------------------------------------------------* * * * Verfication de compatibilit{ de MCHAML du point de vue des * * tableaux INFCHE et creation du tableau INFOS pour COMCHA * * * * * * Entr{es: * * * * IPMAIL MAILLAGE de la sous zone consideree * * CONM NOM DU CONSTITUANT * * IPCHE1 Pointeur sur un MCHAML * * IPCHE2 Pointeur sur un MCHAML * * * * Sorties: * * * * INFOS tableau de INFCHE a injecter dans KOMCHA * * IRET 1 si donnees compatibles, 0 sinon * * * *--------------------------------------------------------------------* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMCHAML INTEGER INFOS(*) CHARACTER*(*) CONM CHARACTER*4 cnoha INTEGER*4 inoha DATA cnoha/'NOHA'/ EQUIVALENCE(cnoha,inoha) INFOS(1) = 0 INFOS(2) = 0 INFOS(3) = 0 IRET = 1 * Cas general : IF (IFOUR.NE.1) THEN INFOS(3) = NIFOUR * Cas particulier (IFOUR = 1) : ELSE NHRM1 = 0 NHRM2 = 0 IF (IPCHE1.NE.0) THEN mchelm = IPCHE1 NSOUS = mchelm.IMACHE(/1) DO IS = 1, NSOUS IF (IPMAIL.EQ. mchelm.IMACHE(IS) .AND. & CONM .EQ. mchelm.CONCHE(IS)) THEN NHRM1 = mchelm.INFCHE(IS,3) GOTO 105 ENDIF ENDDO IRET = 0 RETURN 105 CONTINUE ENDIF IF (IPCHE2.NE.0) THEN mchelm = IPCHE2 NSOUS = mchelm.IMACHE(/1) DO IS = 1, NSOUS IF (IPMAIL.EQ. mchelm.IMACHE(IS) .AND. & CONM .EQ. mchelm.CONCHE(IS)) THEN NHRM2 = mchelm.INFCHE(IS,3) GOTO 205 ENDIF ENDDO IRET = 0 RETURN 205 CONTINUE ENDIF IF ((IPCHE1.NE.0) .AND. (IPCHE2.NE.0)) THEN IF (NHRM1.EQ.NHRM2 .OR. & NHRM1.EQ.INOHA .OR. NHRM2.EQ.INOHA) THEN INFOS(3) = NHRM1 ENDIF ELSE IF (IPCHE1.NE.0) THEN INFOS(3) = NHRM1 ELSE IF (IPCHE2.NE.0) THEN INFOS(3) = NHRM2 ELSE write(ioimp,*) 'IDENT : IFOUR = 1 & IPCHE1 = IPCHE2 = 0 !' ENDIF ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales