dyne27
C DYNE27 SOURCE BP208322 20/03/26 21:15:59 10562 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Operateur DYNE : * * Dimensionne les variables NLS et NVAR * * * *--------------------------------------------------------------------* * * * Parametres: * * * * e ITABL Table definissant les liaisons en sortie. * * e ITLIA Table definissant 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 * * * *--------------------------------------------------------------------* -INC PPARAM -INC CCOPTIO * 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 CHARACTER*40 CMOT * MTRAV = KTRAV NLS = 0 NVAR = 0 * *--------------------------------------------------------------------* * RECHERCHE DES LIAISONS EN SORTIE *--------------------------------------------------------------------* * INDICE = 0 CHPO= .FALSE. 100 CONTINUE INDICE = INDICE + 1 TYPRET = ' ' & TYPRET,I1,X1,CHARRE,L1,ITTL) IF (TYPRET.EQ.'TABLE ' .AND. ITTL.NE.0) THEN TYPRET = ' ' & TYPRET,I1,X1,CHARRE,LVAR,ITVAR) * * 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 & 'MOT',I1,X1,CMOT,L1,IP1) MONMOT = ' ' & MONMOT,I1,XAMO,CHARRE,L1,IP1) * *--------------------------------------------------------------------* IF (CMOT(1:21).EQ.'POINT_PLAN_FROTTEMENT' .OR. & CMOT(1:23).EQ.'POINT_CERCLE_FROTTEMENT'.OR. & CMOT(1:19).EQ.'POINT_CERCLE_MOBILE') 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 cbp,2020-03-17 (cf. indice de xvalb dans devfb1) IDD2 = 3 + 2*IDIM IDD2 = 9 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 (CMOT(1:22).EQ.'LIGNE_LIGNE_FROTTEMENT') 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 &(CMOT(1:23).EQ.'LIGNE_CERCLE_FROTTEMENT') 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 (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') 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 (CMOT(1:22).EQ.'CERCLE_PLAN_FROTTEMENT' .OR. & CMOT(1:24).EQ.'CERCLE_CERCLE_FROTTEMENT') 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 (CMOT(1:10).EQ.'POINT_PLAN' .OR. & CMOT(1:12).EQ.'POINT_CERCLE') THEN IF (MONMOT.EQ.'FLOTTANT') THEN IVAR = 2 + IDIM IVLIAB(NLS,3) = 1 INLIAB(NLS,3) = 39 ELSE IVAR = 1 + IDIM ENDIF ** ianis MONSEUIL = ' ' & MONSEUIL,I1,XSEUIL,CHARRE,L1,IP1) 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 (CMOT(1:22).EQ.'POINT_POINT_FROTTEMENT') 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 & (CMOT(1:33).EQ.'POINT_POINT_DEPLACEMENT_PLASTIQUE') 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 & (CMOT(1:30).EQ.'POINT_POINT_ROTATION_PLASTIQUE') 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 (CMOT(1:11).EQ.'POINT_POINT') 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 (CMOT(1:23).EQ.'PROFIL_PROFIL_INTERIEUR' .OR. & CMOT(1:23).EQ.'PROFIL_PROFIL_EXTERIEUR') 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 (CMOT(1:13).EQ.'PALIER_FLUIDE') THEN c modif BP, 2015 : a priori identique pour tous les paliers fluides... c ... sinon il faudra decommenter les tests sur le MODELE_PALIER c CALL ACCTAB(ITTL,'MOT',I0,X0,'MODELE_PALIER',L0,IP0, c & 'MOT',I1,X0,MONMOT,L1,IP1) c IF (IERR.NE.0) RETURN c IF (MONMOT.EQ.'RODELI') THEN c IF (MONMOT.EQ.'RODELI'.OR.MONMOT.EQ.'PALIER_COURT') 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 C ELSE IF c ENDIF * 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 NLS = NLS + 1 MNULB(NLS) = INDICE MPOLB(NLS) = ITTL & 'MOT',I1,X1,CMOT,L1,IT1) IVAR = 0 * IF (CMOT(1:21).EQ.'POINT_PLAN_FROTTEMENT' .OR. & CMOT(1:23).EQ.'POINT_CERCLE_FROTTEMENT'.OR. & CMOT(1:19).EQ.'POINT_CERCLE_MOBILE') 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 (CMOT(1:22).EQ.'LIGNE_LIGNE_FROTTEMENT') 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 & (CMOT(1:23).EQ.'LIGNE_CERCLE_FROTTEMENT') 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 (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') 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 (CMOT(1:22).EQ.'CERCLE_PLAN_FROTTEMENT' .OR. & CMOT(1:24).EQ.'CERCLE_CERCLE_FROTTEMENT') 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 (CMOT(1:10).EQ.'POINT_PLAN' .OR. & CMOT(1:12).EQ.'POINT_CERCLE') 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 (CMOT(1:22).EQ.'POINT_POINT_FROTTEMENT') 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 & (CMOT(1:33).EQ.'POINT_POINT_DEPLACEMENT_PLASTIQUE') 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 (CMOT(1:11).EQ.'POINT_POINT') 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 (CMOT(1:23).EQ.'PROFIL_PROFIL_INTERIEUR' .OR. & CMOT(1:23).EQ.'PROFIL_PROFIL_EXTERIEUR') 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 (CMOT(1:13).EQ.'PALIER_FLUIDE') 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 ENDIF GOTO 100 ENDIF *--------------------------------------------------------------------* * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales