C CHCHA2 SOURCE CHAT 05/01/12 21:56:10 5004 SUBROUTINE CHCHA2 (IBAS,ILEN1,ILEN2,ICONT) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C==================================================================== C SUBROUTINE POUR CHERCHER DANS UNE TABLE DE SOUSTYPE C "BASE_DE_MODES" LES DEFORMEES MODALES ET LES POINTS REPERES ASSOCIE C UTILISE PR EVRECO C IBAS (E) POINTEUR SUR LA TABLE DONT ON PART C ILEN1 (S) POINTEUR SUR LA LISTE DES DEFORMEE-MODALES C ILEN2 (S) POINTEUR SUR LA LISTE DES POINTS REPERE C====================================================================== LOGICAL L0,L1 -INC CCOPTIO -INC SMTABLE -INC SMLENTI * ILEN1 = 0 ILEN2 = 0 * MTABLE = IBAS SEGACT MTABLE * NINDIC = nombre de tables de modes. * Le premier indice est le SOUSTYPE * Le deuxi}me indice est le MAILLAGE NINDIC = MLOTAB-2 SEGDES MTABLE JG = NINDIC SEGINI MLENT1 ILEN1 = MLENT1 SEGINI MLENT2 ILEN2 = MLENT2 * * on boucle sur les modes * DO 100 IN = 1 , NINDIC CALL ACCTAB(IBAS,'ENTIER',IN,X0,' ',L0,IP0, & 'TABLE',I1,X1,' ',L1,ITMOD) IF (ICONT.EQ.0) THEN CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0, & 'CHPOINT',I1,X1,' ',L1,ICDEP) ELSE IF (ICONT.EQ.2) THEN CALL ACCTAB(ITMOD,'MOT',I0,X0,'REACTION_MODALE',L0,IP0, & 'CHPOINT',I1,X1,' ',L1,ICDEP) ELSE CALL ACCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0, & 'MCHAML',I1,X1,' ',L1,ICHAM) IF (IERR.NE.0) RETURN CALL CHAMPO(ICHAM,1,ICDEP,IRET) IF ( IRET .NE. 1) RETURN ENDIF MLENT1.LECT(IN) = ICDEP CALL ACCTAB(ITMOD,'MOT',I0,X0,'POINT_REPERE',L0,IP0, & 'POINT',I1,X1,' ',L1,IPTR) MLENT2.LECT(IN) = IPTR 100 CONTINUE SEGDES MLENT1 SEGDES MLENT2 * END