1 : C REACTI SOURCE KICH 07/11/15 21:15:18 5970 2 : SUBROUTINE REACTI 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : -INC CCOPTIO 6 : LOGICAL L0,L1 7 : CHARACTER*8 TYPRET,CTYP,CHARRE 8 : PARAMETER (IUN=1) 9 : * 9 : CALL LIRTAB('LIAISONS_STATIQUES',ITBAS,0,IRET) 10 : 10 : CALL LIROBJ ('RIGIDITE',MRIGID,IUN,IRETOU) 11 : IF(IERR.NE.0) RETURN 12 : IF (IRET.NE.0) goto 1100 13 : * 14 : * lecture d'une TABLE ou d'un objet CHPOINT 15 : * 15 : CALL QUETYP(CTYP,0 ,IRETOU) 16 : IF(IRETOU.EQ.0) THEN 16 : CALL ERREUR(533) 17 : RETURN 18 : ENDIF 19 : IF (CTYP(1:8).EQ.'TABLE ') THEN 19 : CALL LIRTAB('BASE_MODALE',ITBAS,IUN,IRET) 20 : IF (IERR.NE.0) RETURN 21 : * 22 : * On r{cup}re la base des modes 23 : * 23 : CALL ACCTAB(ITBAS,'MOT',I0,X0,'MODES',L0,IP0, 24 : & 'TABLE',I1,X1,' ',L1,IBAS) 25 : IB = 0 26 : 10 CONTINUE 27 : TYPRET = ' ' 28 : IB = IB + 1 28 : CALL ACCTAB(IBAS,'ENTIER',IB,X0,' ',L0,IP0, 29 : & TYPRET,I1,X1,CHARRE,L1,ITTBAS) 30 : IF (ITTBAS.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 30 : CALL ACCTAB(ITTBAS,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0, 31 : & 'CHPOINT',I1,X1,' ',L1,MCHPOI) 31 : CALL REACT1(MRIGID,MCHPOI,MCHPO1) 32 : IF(IERR.NE.0) RETURN 32 : CALL ECCTAB(ITTBAS,'MOT',I0,X0,'REACTION_MODALE',L0,IP0, 33 : & 'CHPOINT',I1,X1,' ',L1,MCHPO1) 34 : GOTO 10 35 : ENDIF 36 : * 37 : * On r{cup}re la base des pseudo-modes 38 : * 39 : TYPRET = ' ' 39 : CALL ACCTAB(ITBAS,'MOT',I0,X0,'PSEUDO_MODES',L0,IP0, 40 : & TYPRET,I1,X1,CHARRE,L1,ITPS) 41 : IF (ITPS.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 42 : IB = 0 43 : 20 CONTINUE 44 : TYPRET = ' ' 45 : IB = IB + 1 45 : CALL ACCTAB(ITPS,'ENTIER',IB,X0,' ',L0,IP0, 46 : & TYPRET,I1,X1,CHARRE,L1,ITTBAS) 47 : IF (ITTBAS.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 47 : CALL ACCTAB(ITTBAS,'MOT',I0,X0,'DEPLACEMENT',L0,IP0, 48 : & 'CHPOINT',I1,X1,' ',L1,MCHPOI) 48 : CALL REACT1(MRIGID,MCHPOI,MCHPO1) 49 : IF(IERR.NE.0) RETURN 49 : CALL ECCTAB(ITTBAS,'MOT',I0,X0,'REACTION',L0,IP0, 50 : & 'CHPOINT',I1,X1,' ',L1,MCHPO1) 51 : GOTO 20 52 : ENDIF 53 : ENDIF 53 : CALL ECROBJ('TABLE ',ITBAS) 54 : RETURN 55 : ENDIF 55 : CALL LIROBJ ('CHPOINT ',MCHPOI,IUN,IRETOU) 56 : IF(IERR.NE.0) RETURN 56 : CALL REACT1(MRIGID,MCHPOI,MCHPO1) 57 : IF(IERR.NE.0) RETURN 57 : CALL ECROBJ('CHPOINT ',MCHPO1) 58 : RETURN 59 : * 60 : 1100 CONTINUE 61 : IB = 0 62 : 1120 CONTINUE 63 : TYPRET = ' ' 64 : IB = IB + 1 64 : CALL ACCTAB(ITBAS,'ENTIER',IB,X0,' ',L0,IP0, 65 : & TYPRET,I1,X1,CHARRE,L1,ITTBAS) 66 : IF (ITTBAS.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 67 : IF (MRIGID.GT.0) THEN 67 : CALL ACCTAB(ITTBAS,'MOT',I0,X0,'DEFORMEE',L0,IP0, 68 : & 'CHPOINT',I1,X1,' ',L1,MCHPOI) 68 : CALL REACT1(MRIGID,MCHPOI,MCHPO1) 69 : IF(IERR.NE.0) RETURN 69 : CALL ECCTAB(ITTBAS,'MOT',I0,X0,'REACTION',L0,IP0, 70 : & 'CHPOINT',I1,X1,' ',L1,MCHPO1) 71 : ENDIF 72 : GOTO 1120 73 : ENDIF 74 : 74 : CALL ECROBJ('TABLE ',ITBAS) 75 : RETURN 76 : END 77 : 78 : 79 : 80 :
© Cast3M 2003 - All rights reserved.
Disclaimer