normod
C NORMOD SOURCE CB215821 20/11/25 13:35:08 10792 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Normalise le mode * * * * Param}tres: * * * * e ITBAS table de sous-type BASE_DE_MODES contenant les modes * * de la structure * * * * Auteur, date de cr{ation: * * * * Lionel VIVAN, le 15 juin 1990. * * * *--------------------------------------------------------------------* * * -INC PPARAM -INC CCOPTIO -INC SMCHPOI -INC SMCHAML -INC SMTABLE * INTEGER LCHAIN(*) * MTABLE = ITBAS SEGACT MTABLE LONG = MLOTAB IM = 1 IF (MTABTI(I).EQ.'ENTIER ' .AND. MTABII(I).EQ.IM .AND. & MTABTV(I).EQ.'TABLE ') THEN ITMOD = MTABIV(I) IM = IM + 1 MTAB1 = ITMOD SEGACT MTAB1 LON1 = MTAB1.MLOTAB XGRA = 0.D0 DO 20 I1 = 1,LON1 IF (MTAB1.MTABTI(I1).EQ.'MOT ' .AND. & MTAB1.MTABII(I1).EQ.LCHAIN(3) .AND. & MTAB1.MTABTV(I1).EQ.'CHPOINT ') THEN ICHDEP = MTAB1.MTABIV(I1) MCHPOI = ICHDEP SEGACT MCHPOI NSOU = IPCHP(/1) DO 22 INS = 1,NSOU MSOUPO = IPCHP(INS) SEGACT MSOUPO MPOVAL = IPOVAL SEGACT MPOVAL NBP = VPOCHA(/1) NBC = VPOCHA(/2) DO 24 IC = 1,NBC DO 26 IP = 1,NBP XVAL = VPOCHA(IP,IC) XAVA = ABS(XVAL) IF (XAVA.GT.XGRA) XGRA = XAVA 26 CONTINUE * end do ENDIF 24 CONTINUE * end do SEGDES MPOVAL SEGDES MSOUPO 22 CONTINUE * end do DO 32 INS = 1,NSOU MSOUPO = IPCHP(INS) SEGACT MSOUPO MPOVAL = IPOVAL SEGACT MPOVAL NBP = VPOCHA(/1) NBC = VPOCHA(/2) DO 34 IC = 1,NBC DO 36 IP = 1,NBP XDEP = VPOCHA(IP,IC) VPOCHA(IP,IC) = XDEP / XGRA 36 CONTINUE * end do ENDIF 34 CONTINUE * end do SEGDES MPOVAL SEGDES MSOUPO 32 CONTINUE * end do SEGDES MCHPOI MTAB1.MTABIV(I1) = ICHDEP ENDIF 20 CONTINUE * end do DO 40 I1 = 1,LON1 IF (MTAB1.MTABTI(I1).EQ.'MOT ') THEN IF (MTAB1.MTABII(I1).EQ.LCHAIN(2) .AND. & MTAB1.MTABTV(I1).EQ.'TABLE ') THEN ITDEP = MTAB1.MTABIV(I1) MTAB2 = ITDEP SEGACT MTAB2 LON2 = MTAB2.MLOTAB IDP = 1 IDP = IDP + 1 ENDIF 42 CONTINUE * end do SEGDES MTAB2 MTAB1.MTABIV(I1) = ITDEP ELSE IF (MTAB1.MTABII(I1).EQ.LCHAIN(19) .AND. & MTAB1.MTABTV(I1).EQ.'FLOTTANT') THEN XMGEN = MTAB1.RMTABV(I1) MTAB1.RMTABV(I1) = XMGEN / (XGRA * XGRA) ELSE IF (MTAB1.MTABII(I1).EQ.LCHAIN(5) .AND. & MTAB1.MTABTV(I1).EQ.'CHPOINT ') THEN ICHREA = MTAB1.MTABIV(I1) MCHPOI = ICHREA SEGACT MCHPOI NSOU = IPCHP(/1) DO 50 INS = 1,NSOU MSOUPO = IPCHP(INS) SEGACT MSOUPO MPOVAL = IPOVAL SEGACT MPOVAL NBP = VPOCHA(/1) NBC = VPOCHA(/2) DO 52 IC = 1,NBC DO 54 IP = 1,NBP XREA = VPOCHA(IP,IC) VPOCHA(IP,IC) = XREA / XGRA 54 CONTINUE * end do 52 CONTINUE * end do SEGDES MPOVAL SEGDES MSOUPO 50 CONTINUE * end do SEGDES MCHPOI MTAB1.MTABIV(I1) = ICHREA ELSE IF (MTAB1.MTABII(I1).EQ.LCHAIN(4) .AND. & MTAB1.MTABTV(I1).EQ.'MCHAML ') THEN ICHCON = MTAB1.MTABIV(I1) MCHELM = ICHCON SEGACT MCHELM N1 = IMACHE(/1) DO 60 IN = 1,N1 MCHAML = ICHAML(IN) SEGACT MCHAML NCO = IELVAL(/1) DO 62 ICO = 1,NCO MELVAL = IELVAL(ICO) SEGACT MELVAL N1P = VELCHE(/1) N1E = VELCHE(/2) DO 64 IP = 1,N1P DO 66 IE = 1,N1E XCON = VELCHE(IP,IE) VELCHE(IP,IE) = XCON/XGRA 66 CONTINUE 64 CONTINUE SEGDES MELVAL 62 CONTINUE SEGDES MCHAML 60 CONTINUE SEGDES MCHELM MTAB1.MTABIV(I1) = ICHCON ENDIF ENDIF 40 CONTINUE * end do SEGDES MTAB1 ENDIF 10 CONTINUE * end do SEGDES MTABLE * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales