dyne77
C DYNE77 SOURCE CB215821 24/04/12 21:15:40 11897 &NPLB) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Opérateur DYNE : algorithme de Fu - de Vogelaere * * ________________________________________________ * * * * Dimensionne les variables NLS et NVAR * * * * Paramètres: * * * * e ITABL Table définissant les liaisons en sortie. * * e ITLIA modèle définissant toutes les liaisons sur une base. * * e KTRAV Segment de travail * * es II Compteur * * s NLS Nombre de demandes de liaisons en sortie * * s NVAR Nombre maxi de variables internes de liaisons * * * * * * Auteur, date de création: * * d après * * Lionel VIVAN, le 2 octobre 1989. * * Ibrahim PINTO, 05/97 ,liaisons ligne_cercle * *--------------------------------------------------------------------* -INC PPARAM -INC CCOPTIO -INC SMMODEL -INC SMCHAML * SEGMENT,MTRAV INTEGER ICHRE2(NBLS),MPOLA(NBLS),MNULA(NBLS) INTEGER MPOLB(NBLS),MNULB(NBLS) INTEGER IVLIAA(NBLS,NTVAR),INLIAA(NBLS,NTVAR) INTEGER IVLIAB(NBLS,NTVAR),INLIAB(NBLS,NTVAR) ENDSEGMENT * LOGICAL L0,L1,LVAR,CHPO CHARACTER*8 MONMOT,TYPRET,MONSEUIL,CHARRE,CMATE CHARACTER*40 CMOT CHARACTER*4 MO4 * MTRAV = KTRAV NLS = 0 NVAR = 0 mmodel = itlia segact mmodel * table indicée par des entiers mmodel = itlia segact mmodel mchelm = itcara segact mchelm * * recherche des liaisons en sortie * INDICE = 0 CHPO= .FALSE. 100 CONTINUE INDICE = INDICE + 1 TYPRET = ' ' & TYPRET,I1,X1,CHARRE,L1,ITTL) * write(6,*) 'd77',typret,ittl IF (TYPRET.EQ.'MMODEL ' .AND. ITTL.NE.0) THEN TYPRET = ' ' & TYPRET,I1,X1,CHARRE,LVAR,ITVAR) mmode1 = ittl segact mmode1 * on attend une liaison elementaire imode1 = mmode1.kmodel(1) segact imode1 do ik = 1,kmodel(/1) imodel = kmodel(ik) segact imodel * write(6,*) imodel,imode1,conmod,imode1.conmod,imamod,imode1.imamod if (imode1.conmod.eq.conmod.or.imode1.imamod.eq.imamod) goto 110 enddo goto 100 110 continue * * toutes les variables de la liaison sont en sortie * IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR) THEN NLS = NLS + 1 MNULB(NLS) = INDICE MPOLB(NLS) = ITTL CMATE = CMATEE lcham = 0 MONMOT = ' ' do im = 1,imache(/1) if(imache(im).eq.imamod.and.conche(im).eq.conmod) then mchaml = ichaml(im) lcham = mchaml segact mchaml do l=1,nomche(/2) MO4=nomche(l) if (MO4.eq.'AMOR') MONMOT='FLOTTANT' enddo endif enddo * IF ( CMATE.EQ.'PO_PL_FR' .OR. & CMATE.EQ.'PO_CE_FR'.OR. & CMATE.EQ.'PO_CE_MO') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 5 + IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 4 + IDIM ENDIF NVAR = MAX(NVAR,IVAR) II = II + 1 IDD2 = 3 + 2*IDIM ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 IVLIAB(NLS,IDD2+1) = 1 INLIAB(NLS,IDD2+1) = 37 IVLIAB(NLS,IDD2+2) = 1 INLIAB(NLS,IDD2+2) = 81 IVLIAB(NLS,IDD2+3) = 1 INLIAB(NLS,IDD2+3) = 38 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP = 18 ELSE IP = 15 ENDIF DO 210 ID = 1,IDIM ID2 = 3 + ID IVLIAB(NLS,ID2) = 1 INLIAB(NLS,ID2) = IP + ID 210 CONTINUE * END DO * ELSE IF (CMATE.EQ.'LI_LI_FR') THEN ivar = 2 NVAR = MAX(NVAR,IVAR) II = II + 1 IDD2 = 3 + 2*IDIM ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 IVLIAB(NLS,10) = 1 INLIAB(NLS,10) = 37 ELSE IF (CMATE.EQ.'LI_CE_FR') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 5 + IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 4 + IDIM ENDIF NVAR = MAX(NVAR,IVAR) II = II + 1 IDD2 = 3 + 2*IDIM ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 IVLIAB(NLS,IDD2+1) = 1 INLIAB(NLS,IDD2+1) = 37 IVLIAB(NLS,IDD2+2) = 1 INLIAB(NLS,IDD2+2) = 81 IVLIAB(NLS,IDD2+3) = 1 INLIAB(NLS,IDD2+3) = 38 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP = 106 ELSE IP = 103 ENDIF DO 213 ID = 1,IDIM ID2 = 3 + ID IVLIAB(NLS,ID2) = 1 INLIAB(NLS,ID2) = IP + ID 213 CONTINUE ELSE IF (CMATE.EQ.'PO_PL_FL') THEN IVAR = 6 + IDIM NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP = 18 ELSE IP = 15 ENDIF DO 220 ID = 1,IDIM IVLIAB(NLS,ID) = 1 INLIAB(NLS,ID) = IP + ID 220 CONTINUE * END DO ID1 = IDIM + 1 IVLIAB(NLS,ID1) = 1 INLIAB(NLS,ID1) = 39 ID2 = ID1 + 1 IVLIAB(NLS,ID2) = 1 INLIAB(NLS,ID2) = 76 ID3 = ID2 + 1 IVLIAB(NLS,ID3) = 1 INLIAB(NLS,ID3) = 75 ID4 = ID3 + 1 IVLIAB(NLS,ID4) = 1 INLIAB(NLS,ID4) = 70 ID5 = ID4 + 1 IVLIAB(NLS,ID5) = 1 INLIAB(NLS,ID5) = 71 ID6 = ID5 + 1 IVLIAB(NLS,ID6) = 1 INLIAB(NLS,ID6) = 72 * ELSE IF (CMATE.EQ.'CE_PL_FR' .OR. & CMATE.EQ.'CE_CE_FR') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 4 + 4*IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 3 + 4*IDIM ENDIF NVAR = MAX(NVAR,IVAR) II = II + 1 IDD1 = 3 + IDIM IDD2 = 3 + 2*IDIM IDD3 = 6 + 2*IDIM IDD4 = 6 + 3*IDIM ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 IVLIAB(NLS,IDD2+1) = 1 INLIAB(NLS,IDD2+1) = 37 IVLIAB(NLS,IDD2+3) = 1 INLIAB(NLS,IDD2+3) = 38 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP2 = 53 IP3 = 59 IP4 = 47 IP5 = 65 ELSE IP2 = 50 IP3 = 56 IP4 = 44 IP5 = 62 ENDIF DO 310 ID = 1,IDIM ID2 = 3 + ID ID3 = IDD1 + ID ID4 = IDD3 + ID ID5 = IDD4 + ID IVLIAB(NLS,ID2) = 1 INLIAB(NLS,ID2) = IP2 + ID IVLIAB(NLS,ID3) = 1 INLIAB(NLS,ID3) = IP3 + ID IVLIAB(NLS,ID4) = 1 INLIAB(NLS,ID4) = IP4 + ID IVLIAB(NLS,ID5) = 1 INLIAB(NLS,ID5) = IP5 + ID 310 CONTINUE * END DO * ELSE IF (CMATE.EQ.'PO_PL'.OR. & CMATE.EQ.'PO_CE') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 2 + IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 1 + IDIM ENDIF ** ianis MONSEUIL = ' ' mchaml = lcham segact mchaml do l=1,nomche(/2) MO4=nomche(l) if (MO4.eq.'SPLA') MONSEUIL='FLOTTANT' enddo IF (MONSEUIL.EQ.'FLOTTANT'.OR.MONSEUIL.EQ.'ENTIER ')THEN IVAR = IVAR + 1 IVLIAB(NLS,13) = 1 INLIAB(NLS,13) = 82 ENDIF * NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 15 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP = 18 ELSE IP = 15 ENDIF DO 102 ID = 1,IDIM ID2 = 3 + ID IVLIAB(NLS,ID2) = 1 INLIAB(NLS,ID2) = IP + ID 102 CONTINUE * END DO * ELSE IF (CMATE.EQ.'PO_PO_FR') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 5 + 2 *IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 4 + 2 *IDIM ENDIF NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,1) = 22 INLIAB(NLS,2) = 23 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP1 = 26 IP2 = 32 ELSE IP1 = 23 IP2 = 29 ENDIF DO 103 ID = 1,IDIM ID2 = 3 + ID ID3 = ID2 + IDIM IVLIAB(NLS,ID2) = 1 IVLIAB(NLS,ID3) = 1 INLIAB(NLS,ID2) = IP1 + ID INLIAB(NLS,ID3) = IP2 + ID 103 CONTINUE IVLIAB(NLS,4 + 2 * idim) = 1 InLIAB(NLS,4 + 2 * idim) = 37 IVLIAB(NLS,6 + 2 * idim) = 1 InLIAB(NLS,6 + 2 * idim) = 38 * END DO * ELSE IF & (CMATE.EQ.'PO_PO_DP') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 5 + 2 *IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 4 + 2 *IDIM ENDIF IVAR = IVAR + 1 IVLIAB(NLS,13) = 1 INLIAB(NLS,13) = 82 IVLIAB(NLS,14) = 1 INLIAB(NLS,14) = 100 IVLIAB(NLS,15) = 1 INLIAB(NLS,15) = 111 * NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,1) = 22 INLIAB(NLS,2) = 23 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP1 = 26 IP2 = 32 ELSE IP1 = 23 IP2 = 29 ENDIF DO 105 ID = 1,IDIM ID2 = 3 + ID ID3 = ID2 + IDIM IVLIAB(NLS,ID2) = 1 IVLIAB(NLS,ID3) = 1 INLIAB(NLS,ID2) = IP1 + ID INLIAB(NLS,ID3) = IP2 + ID 105 CONTINUE * * ELSE IF & (CMATE.EQ.'PO_PO_RP') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 5 + 2 *IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 101 ELSE IVAR = 4 + 2 *IDIM ENDIF IVAR = IVAR + 1 IVLIAB(NLS,13) = 1 INLIAB(NLS,13) = 102 IVLIAB(NLS,14) = 1 INLIAB(NLS,14) = 99 IVLIAB(NLS,15) = 1 INLIAB(NLS,15) = 112 * NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,1) = 85 INLIAB(NLS,2) = 86 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP1 = 89 IP2 = 95 ELSE IP1 = 86 IP2 = 92 ENDIF DO 400 ID = 1,IDIM ID2 = 3 + ID ID3 = ID2 + IDIM IVLIAB(NLS,ID2) = 1 IVLIAB(NLS,ID3) = 1 INLIAB(NLS,ID2) = IP1 + ID INLIAB(NLS,ID3) = IP2 + ID 400 CONTINUE * * ELSE IF (CMATE.EQ.'PO_PO') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 3 + 2 *IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 2 + 2 *IDIM ENDIF NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,1) = 22 INLIAB(NLS,2) = 23 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP1 = 26 IP2 = 32 ELSE IP1 = 23 IP2 = 29 ENDIF DO 104 ID = 1,IDIM ID2 = 3 + ID ID3 = ID2 + IDIM IVLIAB(NLS,ID2) = 1 IVLIAB(NLS,ID3) = 1 INLIAB(NLS,ID2) = IP1 + ID INLIAB(NLS,ID3) = IP2 + ID 104 CONTINUE * END DO ELSE IF (CMATE.EQ.'PR_PR_IN' .OR. & CMATE.EQ.'PR_PR_EX') THEN IVAR = 1 + IDIM NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 15 IF (IFOUR.EQ.0 .OR. IFOUR.EQ.1) THEN IP = 18 ELSE IP = 15 ENDIF DO 106 ID = 1,IDIM ID2 = 3 + ID IVLIAB(NLS,ID2) = 1 INLIAB(NLS,ID2) = IP + ID 106 CONTINUE * END DO * * Ajout liaison PALIER_FLUIDE ELSE IF (CMATE.EQ.'PA_FL_RO') THEN IVAR = 7 NVAR = MAX(NVAR,IVAR) II = II + 1 ICHRE2(II) = IVAR IP = 112 DO 410 ID = 1,7 IVLIAB(NLS,ID) = 1 INLIAB(NLS,ID) = IP + ID 410 CONTINUE C ELSE IF * Fin ajout liaison PALIER_FLUIDE ELSE RETURN ENDIF * * choix sur certaines variables de la liaison en sortie * ELSE IF (TYPRET.EQ.'TABLE ' .AND. ITVAR.NE.0) THEN * kich : on met toutes les variables CMATE = CMATEE NLS = NLS + 1 MNULB(NLS) = INDICE MPOLB(NLS) = ITTL * CALL ACCTAB(ITTL,'MOT',I0,X0,'TYPE_LIAISON',L0,IP0, * & 'MOT',I1,X1,CMOT,L1,IT1) IVAR = 0 * IF (CMATE.EQ.'PO_PL_FR' .OR. & CMATE.EQ.'PO_CE_FR'.OR. & CMATE.EQ.'PO_CE_MO') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,10) = 1 INLIAB(NLS,10) = 37 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,12) = 1 INLIAB(NLS,12) = 38 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,11) = 1 INLIAB(NLS,11) = 81 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 16 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 17 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 18 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 19 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 20 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * ELSE IF (CMATE.EQ.'LI_LI_FR') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,10) = 1 INLIAB(NLS,10) = 37 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,12) = 1 INLIAB(NLS,12) = 38 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,11) = 1 INLIAB(NLS,11) = 81 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 104 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 105 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 106 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 107 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 108 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVLIAB(NLS,7) = 2 INLIAB(NLS,7) = 110 CHPO= .TRUE. II = II + 1 ICHRE2(II) = IVAR +1 IVAR = IVAR + NPLB*2 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * * liaisons ligne_cercle ELSE IF & (CMATE.EQ.'LI_CE_FR') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,10) = 1 INLIAB(NLS,10) = 37 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,12) = 1 INLIAB(NLS,12) = 38 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,11) = 1 INLIAB(NLS,11) = 81 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 104 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 105 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 106 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 107 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 108 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVLIAB(NLS,7) = 2 INLIAB(NLS,7) = 110 CHPO= .TRUE. II = II + 1 ICHRE2(II) = IVAR +1 IVAR = IVAR + NPLB*2 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * fin liaisons segment_cercle ELSE IF (CMATE.EQ.'PO_PL_FL') THEN TYPRET = ' ' & TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 ID1 = IDIM + 3 IVLIAB(NLS,ID1) = 1 INLIAB(NLS,ID1) = 75 ENDIF TYPRET = ' ' & TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 ID1 = IDIM + 4 IVLIAB(NLS,ID1) = 1 INLIAB(NLS,ID1) = 70 ENDIF & TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 ID1 = IDIM + 5 IVLIAB(NLS,ID1) = 1 INLIAB(NLS,ID1) = 71 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 ID1 = IDIM + 6 IVLIAB(NLS,ID1) = 1 INLIAB(NLS,ID1) = 72 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 ID1 = IDIM + 2 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 76 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 ID1 = IDIM + 1 IVLIAB(NLS,ID1) = 1 INLIAB(NLS,ID1) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 16 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,2) = 17 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 18 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 19 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,2) = 20 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * ELSE IF (CMATE.EQ.'CE_PL_FR' .OR. & CMATE.EQ.'CE_CE_FR') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 36 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,10) = 1 INLIAB(NLS,10) = 37 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,12) = 1 INLIAB(NLS,12) = 38 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 51 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 52 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 53 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 54 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 55 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,7) = 1 INLIAB(NLS,7) = 57 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,8) = 1 INLIAB(NLS,8) = 58 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,9) = 1 INLIAB(NLS,9) = 59 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,7) = 1 INLIAB(NLS,7) = 60 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,8) = 1 INLIAB(NLS,8) = 61 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,13) = 1 INLIAB(NLS,13) = 45 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,14) = 1 INLIAB(NLS,14) = 46 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,15) = 1 INLIAB(NLS,15) = 47 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,16) = 1 INLIAB(NLS,16) = 63 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,17) = 1 INLIAB(NLS,17) = 64 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,18) = 1 INLIAB(NLS,18) = 65 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,16) = 1 INLIAB(NLS,16) = 66 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,17) = 1 INLIAB(NLS,17) = 67 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * ELSE IF (CMATE.EQ.'PO_PL' .OR. & CMATE.EQ.'PO_CE') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 15 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF ** ianis TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,13) = 1 INLIAB(NLS,13) = 82 ENDIF * TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 16 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 17 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 18 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 19 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 20 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF ELSE IF (CMATE.EQ.'PO_PO_FR') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 22 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,2) = 23 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 24 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 25 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 26 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 27 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 28 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 1 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 30 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 2 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 31 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 3 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 32 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 1 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 33 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 2 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 34 ENDIF & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,10) = 1 INLIAB(NLS,10) = 37 ENDIF & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,12 ) = 1 INLIAB(NLS,12 ) = 38 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * ELSE IF & (CMATE.EQ.'PO_PO_DP') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 22 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,2) = 23 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,13) = 1 INLIAB(NLS,13) = 82 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 24 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 25 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 26 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 27 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 28 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 1 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 30 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 2 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 31 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 3 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 32 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 1 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 33 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 2 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 34 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * ELSE IF (CMATE.EQ.'PO_PO') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 22 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,2) = 1 INLIAB(NLS,2) = 23 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 24 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 25 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 26 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 27 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 28 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 1 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 30 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 2 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 31 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 3 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 32 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 1 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 33 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IDI = 3 + IDIM + 2 IVLIAB(NLS,IDI) = 1 INLIAB(NLS,IDI) = 34 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF ELSE IF (CMATE.EQ.'PR_PR_IN' .OR. & CMATE.EQ.'PR_PR_EX') THEN TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,1) = 1 INLIAB(NLS,1) = 15 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 16 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 17 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,6) = 1 INLIAB(NLS,6) = 18 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,4) = 1 INLIAB(NLS,4) = 19 ENDIF TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,5) = 1 INLIAB(NLS,5) = 20 ENDIF IF (IVAR.EQ.0) THEN RETURN ENDIF * Ajout liaison PALIER_FLUIDE ELSE IF (CMATE.EQ.'PA_FL_RO') THEN & 'MOT',I1,X0,MONMOT,L1,IP1) IF (IERR.NE.0) RETURN IF (MONMOT(1:6).EQ.'RODELI') THEN IP = 112 DO 420 ID = 1,7 IF (ID.LT.3) THEN ILONG=9 ELSE ILONG=8 ENDIF IF (ID.EQ.7) ILONG=14 GOTO (421,422,423,424,425,426,427) ID 421 CMOT = 'FY_PALIER' GOTO 428 422 CMOT = 'FZ_PALIER' GOTO 428 423 CMOT = 'UY_ARBRE' GOTO 428 424 CMOT = 'UZ_ARBRE' GOTO 428 425 CMOT = 'VY_ARBRE' GOTO 428 426 CMOT = 'VZ_ARBRE' GOTO 428 427 CMOT = 'TRAVAIL_FLUIDE' 428 CONTINUE TYPRET = ' ' & L0,IP0,TYPRET,I1,X1,CHARRE,LVAR,IP1) IF (TYPRET.EQ.'LOGIQUE ' .AND. LVAR ) THEN IVAR = IVAR + 1 IVLIAB(NLS,ID) = 1 INLIAB(NLS,ID) = IP + ID ENDIF 420 CONTINUE IF (IVAR.EQ.0) THEN RETURN ENDIF ENDIF * fin ajout liaison PALIER_FLUIDE ENDIF NVAR = MAX(NVAR,IVAR) IF (.NOT.CHPO) THEN II = II + 1 ICHRE2(II) = IVAR ENDIF * kich annulation du choix ENDIF GOTO 100 ELSE if (indice.le.idimen) goto 100 ENDIF * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales