evpjba
C EVPJBA SOURCE CB215821 20/11/25 13:28:18 10792 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) ************************************************************************ * NOM : EVPJBA * DESCRIPTION : Evolution temporelle des coefficients de projection * sur les vecteurs d'une base modale ************************************************************************ * APPELE PAR : evol.eso ************************************************************************ * SYNTAXE (GIBIANE) : * * EVOL1 = EVOL (|COUL1 |) 'PJBA' {SIGNAL1} TBAS1 (LIMOD1) ; * |LCOUL1| * * avec {SIGNAL1} <=> | LCHPO1 LREEL1 | (LIPDT1) * | TAB1 (MOT1) | * ************************************************************************ -INC PPARAM -INC CCOPTIO -INC CCGEOME -INC SMEVOLL -INC SMELEME -INC SMTABLE -INC SMLENTI -INC SMLREEL -INC SMLMOTS -INC SMLCHPO -INC SMCHPOI * SEGMENT,ILORDO(NMO) POINTEUR LMODE.MLENTI,LCOUL.MLENTI * CHARACTER*4 CHA4 CHARACTER*8 CHA8 CHARACTER*32 CH32 * * * +---------------------------------------------------------------+ * | | * | C A L C U L D E L A P R O J E C T I O N | * | | * +---------------------------------------------------------------+ * * * =============== * SIGNAL D'ENTREE * =============== * ITYP=0 IF (IERR.NE.0) RETURN * * * ============== * TABLE DE MODES * ============== * IF (IERR.NE.0) RETURN * * NOMBRE DE MODES DANS LA TABLE FOURNIE ? & 'TABLE',IVAL,XVAL,CHA8,ZLOGI,MTAB1) SEGACT,MTAB1 MLOTA=MTAB1.MLOTAB NBMOD=0 DO I=1,MLOTA IF (MTAB1.MTABTI(I).EQ.'ENTIER') NBMOD=NBMOD+1 ENDDO SEGDES,MTAB1 IF (NBMOD.EQ.0) THEN MOTERR(1:8)='TABLE' RETURN ENDIF * * * ======================== * LISTE DES MODES DEMANDES * ======================== * * * => UN SEUL MODE IF (IRET.NE.0) THEN NMO=1 JG=1 SEGINI,LMODE LMODE.LECT(1)=IMOD1 IMAX1=IMOD1 * * => PLUSIEURS MODES ELSE IF (ILIMOD.NE.0) THEN * * LISTE FOURNIE : NOMBRE DE MODES DEMANDES ? SEGACT,LMODE NMO=LMODE.LECT(/1) IF (NMO.EQ.0) THEN MOTERR(1:8)='LISTENTI' RETURN ENDIF * * VERIFICATION DES VALEURS FOURNIES IMAX1=0 DO IMO=1,NMO IMOD1=LMODE.LECT(IMO) IF (IMOD1.LE.0.OR.IMOD1.GT.NBMOD) THEN INTERR(1)=IMOD1 RETURN ENDIF IMAX1=MAX(IMAX1,IMOD1) ENDDO ELSE * * LISTE NON FOURNIE : ON VA SORTIR TOUS LES MODES NMO=NBMOD IMAX1=NBMOD JG=NMO SEGINI,LMODE DO IMO=1,NMO LMODE.LECT(IMO)=IMO ENDDO ENDIF * ENDIF * * * ================== * LISTE DES COULEURS * ================== * SEGACT,LCOUL NCLR=LCOUL.LECT(/1) * * ON COMPLETE SI BESOIN LA LISTE DES COULEURS IF (NMO.GT.NCLR) THEN JG=NMO SEGADJ,LCOUL DO K=NCLR+1,NMO LCOUL.LECT(K)=LCOUL.LECT(K-NCLR) ENDDO ENDIF * * * ================================ * MATRICE POUR LE PRODUIT SCALAIRE * ================================ * IF (IRET.EQ.0) IRIG1=0 * * * ============================================= * CALCUL DE TOUS LES COEFFICIENTS DE PROJECTION * ============================================= * IF (IERR.NE.0) RETURN * * * * +---------------------------------------------------------------+ * | | * | C O N S T R U C T I O N D E L ' E V O L U T I O N | * | | * +---------------------------------------------------------------+ * * * ====================================================== * CREATION ET REMPLISSAGE D'UN LISTREEL POUR CHAQUE MODE * ====================================================== * SEGINI,ILORDO DO IMO=1,NMO JG=NCH SEGINI,MLREEL ILORDO(IMO)=MLREEL ENDDO * MLCHPO=ILCHP2 SEGACT,MLCHPO * DO ICH=1,NCH * AVEC PJBLCH, LE SUPPORT GEOMETRIQUE DE CHAQUE CHPOINT EST DANS * LE MEME ORDRE QUE LES MODES DE LA TABLE 'BASE_MODALE' MCHPOI=ICHPOI(ICH) SEGACT,MCHPOI MSOUPO=IPCHP(1) SEGACT,MSOUPO MPOVAL=IPOVAL SEGACT,MPOVAL DO IMO=1,NMO IMO1=LMODE.LECT(IMO) MLREEL=ILORDO(IMO) IF (ICH.EQ.NCH) SEGDES,MLREEL ENDDO SEGDES,MPOVAL,MSOUPO,MCHPOI ENDDO * * * ========================================= * CREATION DES COURBES DE L'OBJET EVOLUTION * ========================================= * N=NMO SEGINI,MEVOLL ITYEVO='REEL' IEVTEX='COEFFICIENTS DE PROJECTION SUR BASE MODALE' DO IMO=1,NMO SEGINI,KEVOLL IEVOLL(IMO)=KEVOLL TYPX='LISTREEL' TYPY='LISTREEL' IPROGX=ILREE1 IPROGY=ILORDO(IMO) NUMEVX=LCOUL.LECT(IMO) NUMEVY='REEL' NOMEVX='TEMPS' NOMEVY=CH32(1:12) WRITE(CHA4,FMT='(I4)') LMODE.LECT(IMO) MLREEL=ILORDO(IMO) SEGDES,KEVOLL,MLREEL ENDDO SEGDES,MEVOLL SEGSUP,LCOUL,ILORDO IF (ILIMOD.NE.0) THEN SEGDES,LMODE ELSE SEGSUP,LMODE ENDIF * RETURN * END * *
© Cast3M 2003 - Tous droits réservés.
Mentions légales