1 : C NORMA5 SOURCE CHAT 05/01/13 02:00:08 5004 2 : SUBROUTINE NORMA5(ITBAS,IPLMOT,MOTCLE,IFLUI,COEFP,COEFPI) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * N O R M A 5 8 : * ----------- 9 : * 10 : * FONCTION: 11 : * --------- 12 : * 13 : * NORMER UNE 'TABLE' EN RAMENANT SA PLUS GRANDE VALEUR A 1 14 : * ON NE CREE PAS UNE NOUVELL TABLE. LA NORMALISATION EST FAITE 15 : * SUR LES CHAMPS DE DEPLACEMENT UNIQUEMENT. 16 : * 17 : * MODE D'APPEL: 18 : * ------------- 19 : * 19 : * CALL NORMA5 (ITBAS,IPLMOT,MOTCLE,IFLUI,COEFP,COEFPI) 20 : * 21 : * ARGUMENTS: (E)=ENTREE (S)=SORTIE 22 : * ---------- 23 : * 24 : * ITBAS ENTIER (E) POINTEUR SUR L'OBJET 'TABLE' A NORMER. 25 : * IPLMOT ENTIER (E) VOIR LE S.P. "MAXIM1". 26 : * MOTCLE CHARACTER (E) VOIR LE S.P. "MAXIM1". 27 : * IFLUI ENTIER (E) IL Y A DES COEF POUR P ET PI (0 SINON) 28 : * COEFP REEL (E) COEFFICIENT A APPLIQUER A LA COMPOSANTE P 29 : * COEFPI REEL (E) COEFFICIENT A APPLIQUER A LA COMPOSANTE PI 30 : * 31 : * SOUS-PROGRAMMES APPELES: 32 : * ------------------------ 33 : * 34 : * NORMA3 35 : * 36 : * AUTEUR, DATE DE CREATION: 37 : * ------------------------- 38 : * 39 : * LIONEL VIVAN 2 AOUT 90 40 : * 41 : * LANGAGE: 42 : * -------- 43 : * 44 : * ESOPE + FORTRAN77 45 : * 46 : ************************************************************************ 47 : * 48 : -INC CCOPTIO 49 : -INC SMTABLE 50 : * 51 : SEGMENT/MTEMP2/ (MAXSOU,MAXN,MAXNC) 52 : * (REMPLI DANS LE S.P. "MAXIM1") 53 : CHARACTER*4 MOTCLE 54 : CHARACTER*8 TYPRET,CHARRE 55 : LOGICAL L0,L1 56 : * 57 : SEGINI MTEMP2 58 : ITEMP2 = MTEMP2 59 : * 60 : IM = 0 61 : 10 CONTINUE 62 : IM = IM + 1 63 : TYPRET = ' ' 63 : CALL ACCTAB(ITBAS,'ENTIER',IM,X0,' ',L0,IP0, 64 : & TYPRET,I1,X1,CHARRE,L1,ITMOD) 65 : 66 : IF (ITMOD.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN 67 : 67 : CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0, 68 : & 'CHPOINT',I1,X1,' ',L1,ICHPOI) 68 : CALL NORMA3(ICHPOI,IPLMOT,MOTCLE,IFLUI,COEFP,COEFPI, 69 : & ITEMP2,PGRAND) 70 : IF (IERR.NE.0) RETURN 70 : CALL ECCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0, 71 : & 'CHPOINT',I1,X1,' ',L1,ICHPOI) 72 : * 72 : CALL ACCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0, 73 : & 'FLOTTANT',I1,XMGEN,' ',L1,IP1) 74 : XMGEN = XMGEN / ( PGRAND * PGRAND ) 74 : CALL ECCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0, 75 : & 'FLOTTANT',I1,XMGEN,' ',L1,IP1) 76 : * 76 : CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEPLACEMENTS_GENERALISES',L0, 77 : & IP0,'TABLE',I1,X1,' ',L1,ITDG) 78 : DO 12 IN = 1,3 78 : CALL ACCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0, 79 : & 'FLOTTANT',I1,XQ,' ',L1,IP1) 80 : XQ = XQ / PGRAND 80 : CALL ECCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0, 81 : & 'FLOTTANT',I1,XQ,' ',L1,IP1) 82 : 12 CONTINUE 83 : 84 : TYPRET = ' ' 84 : CALL ACCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0, 85 : & TYPRET,I1,X1,CHARRE,L1,ICHML) 86 : IF (ICHML.NE.0 .AND. TYPRET.EQ.'MCHAML ') THEN 86 : CALL MUCHEL (ICHML,PGRAND,ICHML2,-1) 86 : CALL ECCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0, 87 : & 'MCHAML',I1,X1,' ',L1,ICHML2) 88 : ENDIF 89 : * 90 : 91 : GOTO 10 92 : ENDIF 93 : * 94 : END 95 : 96 :
© Cast3M 2003 - All rights reserved.
Disclaimer