C DYN208 SOURCE CHAT 05/01/12 23:11:24 5004 SUBROUTINE DYN208(NUML,ITLB,ITYP,KTLIAB,NPLB) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Op{rateur DYNE : algorithme de Fu - de Vogelaere * * ________________________________________________ * * * * Remplissage des tableaux de description des liaisons sur * * la base B partir des informations contenues dans la * * TABLE ILIB (LIAISON DE TYPE PALIER). * * * * Paramètres: * * * * e NUML Numéro de la liaison. * * e ITLB Table rassemblant la description d'une liaison. * * e ITYP Type de la liaison. * * s KTLIAB Segment descriptif des liaisons sur base B. * * e NPLB Nombre total de points. * * * * * * Auteur, date de création: * * * * Valérie BOISSON, le 14 mai 1997 * * * *--------------------------------------------------------------------* -INC CCOPTIO -INC SMCOORD -INC SMEVOLL -INC SMLREEL * SEGMENT MTLIAB INTEGER IPALB(NLIAB,NIPALB),IPLIB(NLIAB,NPLBB),JPLIB(NPLB) REAL*8 XPALB(NLIAB,NXPALB) REAL*8 XABSCI(NLIAB,NIP),XORDON(NLIAB,NIP) ENDSEGMENT * LOGICAL L1,L0 CHARACTER*40 MONMOT * CALL ACCTAB(ITLB,'MOT',I0,X0,'MODELE_PALIER',L0,IP0, & 'MOT',I1,X1,MONMOT,L1,IP1) IF (IERR.NE.0) RETURN MTLIAB = KTLIAB * CALL ACCTAB(ITLB,'MOT',I0,X0,'POINT_SUPPORT',L0,IP0, & 'POINT',I1,X1,' ',L1,IP1) IF (IERR.NE.0) RETURN CALL PLACE2(JPLIB,NPLB,IPLAC,IP1) IPLIB(NUML,1) = IPLAC * * Valeurs de IPALB et XPALB communes à tous les types de paliers fluides : * IPALB(NUML,1) = ITYP IPALB(NUML,2) = 0 IPALB(NUML,3) = 3 IPALB(NUML,4) = 0 * CALL ACCTAB(ITLB,'MOT',I0,X0,'VISCOSITE_FLUIDE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,1) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'RHO_FLUIDE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,2) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'PRESSION_ADMISSION',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,3) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'LONGUEUR_PALIER',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,4) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'AFFICHAGE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,5) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'RAYON_ARBRE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,6) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'VITESSE_ROTATION',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,7) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'EPSI',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,8) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLB,'MOT',I0,X0,'PHII',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,9) = X1 IF (IERR.NE.0) RETURN * IF (MONMOT.EQ.'RODELI') THEN * ----- Cas du palier cylindrique ou à lobes, avec modèle de Rhode et Li * IPALB(NUML,5) = 1 CALL ACCTAB(ITLB,'MOT',I0,X0,'GEOMETRIE_PALIER',L0,IP0, & 'TABLE',I1,X1,' ',L1,ITGEOM) IF (IERR.NE.0) RETURN CALL ACCTAB(ITGEOM,'MOT',I0,X0,'NOMBRE_LOBES',L0,IP0, & 'ENTIER',NLOB,X1,' ',L1,IP1) IF (IERR.NE.0) RETURN IPALB(NUML,6) = NLOB C Nombre de parametres reels : NBPR = 6 IPALB(NUML,7) = NBPR CALL ACCTAB(ITGEOM,'MOT',I0,X0,'CRITERE_ARRET',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,10) = X1 IF (IERR.NE.0) RETURN DO 10 ILOB = 1, NLOB * CALL ACCTAB(ITGEOM,'ENTIER',ILOB,X0,MONMOT,L0,IP0, & 'TABLE',I1,X1,' ',L1,ITLOB) IF (IERR.NE.0) RETURN CALL ACCTAB(ITLOB,'MOT',I0,X0,'NB_MAILLES',L0,IP0, & 'ENTIER',I1,X1,' ',L1,IP1) IPALB(NUML,7+ILOB) = I1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLOB,'MOT',I0,X0,'JEU_USINAGE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,11+NBPR*(ILOB-1)) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLOB,'MOT',I0,X0,'ASYMETRIE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,12+NBPR*(ILOB-1)) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLOB,'MOT',I0,X0,'PRECHARGE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,13+NBPR*(ILOB-1)) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLOB,'MOT',I0,X0,'ANGLE_DEBUT',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,14+NBPR*(ILOB-1)) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLOB,'MOT',I0,X0,'AMPL_ANGLE',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,15+NBPR*(ILOB-1)) = X1 IF (IERR.NE.0) RETURN CALL ACCTAB(ITLOB,'MOT',I0,X0,'COEF_SUR',L0,IP0, & 'FLOTTANT',I1,X1,MONMOT,L1,IP1) XPALB(NUML,16+NBPR*(ILOB-1)) = X1 IF (IERR.NE.0) RETURN 10 CONTINUE * * ----- Autres cas, non définis à ce jour * C ELSE IF (MONMOT.EQ.'...') THEN * ENDIF * END