extra9
C EXTRA9 SOURCE CB215821 20/11/25 13:28:43 10792 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) ************************************************************************ * * E X T R A 9 * * FONCTION: * --------- * * EXTRAIT LA VALEUR "XFLOT" DU CHPOINT "ICHP" AU POINT "MPOINT" * DE COMPOSANTE "CMOTIN". * * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * ICHP (E) POINTEUR SUR LE CHPOINT * MPOINT (E) POINT A EXTRAIRE * CMOTIN (E) COMPOSANTE DU POINT A EXTRAIRE * NHARM (E) HARMONIQUE DE FOURIER * ZTEST (E) = | TRUE SI NHARM A ETE FOURNIE : ON LA TESTE * | FALSE SINON * XFLOT (S) VALEUR EXTRAITE * IRET (S) = | 1 SI NOEUD+COMPOSANTE EFFECTIVEMENT VU * | 0 SINON (CF. REMARQUE) * * REMARQUE 1 : SI LE CHPOINT N'EST PAS DEFINI AU NOEUD + COMPOSANTE * ---------- DEMANDE, LA VALEUR RETOURNEE PAR XFLOT EST 0. * (CONVENTION DES CHPOINTS) * REMARQUE 2 : SI NHARM N'EST PAS FOURNIE ET QUE LE CHPOINT EST DE TYPE * ---------- FOURIER, ALORS ON EXTRAIT L'HARMONIQUE COURANTE * ************************************************************************ * -INC SMCHPOI -INC SMELEME -INC PPARAM -INC CCOPTIO CHARACTER*(*) CMOTIN CHARACTER*(LOCOMP) CMOT LOGICAL ZTEST C Recopie pour ne pas changer l'input CMOT=CMOTIN * a t'on fourni une harmonique de Fourier ? si non, valeur courante IF (ZTEST) THEN NTEST=NHARM ELSE NTEST=NIFOUR ENDIF IRET=0 XFLOT=0.D0 MCHPOI=ICHP * --- BOUCLE SUR LES ZONES DU CHPOINT NBSOUS = IPCHP(/1) DO 11 I = 1,NBSOUS MSOUPO = IPCHP(I) NC = NOCOMP(/2) * - RECHERCHE DE LA COMPOSANTE * Cas d'un chpo "Fourier" ou NHARM fourni : * on teste le nom + l'harmonique IF (IFOPOI.EQ.1.OR.ZTEST) THEN DO 12 IC = 1,NC c IF (NOCOMP(IC).EQ.CMOT.AND.NOHARM(IC).EQ.NTEST) THEN c ICC=IC c GOTO 13 c ENDIF IF (NOHARM(IC).NE.NTEST) GOTO 12 IF (NOCOMP(IC).NE.CMOT) GOTO 12 ICC=IC GOTO 13 12 CONTINUE * Autre Cas : on teste le nom de composante ELSE DO 22 IC = 1,NC IF (NOCOMP(IC).EQ.CMOT) THEN ICC=IC GOTO 13 ENDIF 22 CONTINUE ENDIF * absence de la composante GOTO 11 * on a trouvé le nom de composante (+ harmonique ou pas) 13 CONTINUE * - RECHERCHE DU NOEUD MELEME = IGEOC MPOVAL = IPOVAL DO 14 KJ = 1,NUM(/2) IF (NUM(1,KJ).EQ.MPOINT) THEN XFLOT=VPOCHA(KJ,ICC) IRET=1 RETURN ENDIF 14 CONTINUE 11 CONTINUE END
© Cast3M 2003 - Tous droits réservés.
Mentions légales