1 : C DEVPSM SOURCE CHAT 05/01/12 22:47:13 5004 2 : SUBROUTINE DEVPSM(ITCHAR,ITBAS,KTLIAB,KTNUM,KTPHI,KTFEX,REPRIS) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : *--------------------------------------------------------------------* 6 : * * 7 : * Opérateur DYNE : algorithme de Fu - de Vogelaere * 8 : * ________________________________________________ * 9 : * * 10 : * Traitement des pseudo-modes. * 11 : * * 12 : * Paramètres: * 13 : * * 14 : * e ITCHAR Table représentant les chargements * 15 : * e ITBAS Table représentant la base modale * 16 : * e KTLIAB Segment contenant les liaisons sur base B * 17 : * e KTNUM Segment contenant les paramètres numériques * 18 : * e KTPHI Segment des déformées modales * 19 : * es KTFEX Segment contenant les chargements libres * 20 : * e REPRIS Logique indiquant si le calcul est en reprise * 21 : * * 22 : * Auteur, date de création: * 23 : * * 24 : * Lionel VIVAN, le 10 avril 1990 * 25 : * * 26 : *--------------------------------------------------------------------* 27 : * 28 : -INC CCOPTIO 29 : * 30 : SEGMENT,MTPHI 31 : INTEGER IBASB(NPLB),IPLSB(NPLB),INMSB(NSB),IORSB(NSB) 32 : INTEGER IAROTA(NSB) 33 : REAL*8 XPHILB(NSB,NPLSB,NA2,IDIMB) 34 : ENDSEGMENT 35 : * 36 : LOGICAL L0,L1,REPRIS 37 : CHARACTER*8 TYPRET,CHARRE 38 : CHARACTER*40 MOTSOU 39 : * 40 : MTPHI = KTPHI 41 : NPLB = IBASB(/1) 42 : IF (NPLB.EQ.0) RETURN 43 : * 44 : * On extrait les chargements de la table 45 : * 46 : TYPRET = ' ' 46 : CALL ACCTAB(ITCHAR,'MOT',I0,X0,'BASE_A',L0,IP0, 47 : & TYPRET,I1,X1,CHARRE,L1,ICHAR1) 48 : IF (ICHAR1.NE.0 .AND. TYPRET.EQ.'CHARGEME') THEN 48 : CALL ACCTAB(ITBAS,'MOT',I0,X0,'SOUSTYPE',L0,IP0, 49 : & 'MOT',I1,X1,MOTSOU,L1,IP1) 50 : IF (MOTSOU(1:17).EQ.'ENSEMBLE_DE_BASES') THEN 51 : IBA = 0 52 : 10 CONTINUE 53 : IBA = IBA + 1 54 : TYPRET = ' ' 54 : CALL ACCTAB(ITBAS,'ENTIER',IBA,X0,' ',L0,IP0, 55 : & TYPRET,I1,X1,CHARRE,L1,IBBB) 56 : IF (IBBB.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 57 : TYPRET = ' ' 57 : CALL ACCTAB(IBBB,'MOT',I0,X0,'PSEUDO_MODES',L0,IP0, 58 : & TYPRET,I1,X1,CHARRE,L1,ITPS) 59 : IF (ITPS.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 59 : CALL ACCTAB(IBBB,'MOT',I0,X0,'MODES',L0,IP0, 60 : & 'TABLE',I1,X1,' ',L1,IBAS) 60 : CALL DEVPS2(ICHAR1,KTLIAB,KTNUM,KTPHI,KTFEX,REPRIS, 61 : & ITPS,IBAS,IBA) 62 : IF (IERR.NE.0) RETURN 63 : ENDIF 64 : GOTO 10 65 : ENDIF 66 : ELSE IF (MOTSOU(1:11).EQ.'BASE_MODALE') THEN 67 : TYPRET = ' ' 67 : CALL ACCTAB(ITBAS,'MOT',I0,X0,'PSEUDO_MODES',L0,IP0, 68 : & TYPRET,I1,X1,CHARRE,L1,ITPS) 69 : IF (ITPS.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 69 : CALL ACCTAB(ITBAS,'MOT',I0,X0,'MODES',L0,IP0, 70 : & 'TABLE',I1,X1,' ',L1,IBAS) 70 : CALL DEVPS2(ICHAR1,KTLIAB,KTNUM,KTPHI,KTFEX,REPRIS, 71 : & ITPS,IBAS,1) 72 : IF (IERR.NE.0) RETURN 73 : ENDIF 74 : ENDIF 75 : ENDIF 76 : * 77 : END 78 : 79 : 80 :
© Cast3M 2003 - All rights reserved.
Disclaimer