dfour1
C DFOUR1 SOURCE CB215821 20/11/25 13:25:18 10792 C==================================================================== C C ENTREES C ICHPO = CHPOINT DE TYPE FORCES OU DEPLACEMENTS C ANGL = ANGLE C SORTIES C IRET = SI SUCCES , CHPT CONTENANT LES VALEURS POUR L ANGLE DONNE C 0 SINON C C J BROCHARD MARS 87 C===================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCREEL -INC CCHAMP -INC SMCHPOI CHARACTER*(LOCOMP) CPV C ANGL=(ANGL*XPI)/180.D0 C C-------ON VERIFIE QUE IFOPOI EST BIEN EGAL A 1 C MCHPO1=ICHPO SEGACT MCHPO1 IF (MCHPO1.IFOPOI.NE.1) THEN MOTERR(1:8)='FOURIER' IRET=0 GOTO 999 ENDIF C C-------BOUCLE SUR LES COMPOSANTES C ON MULTIPLIE LES VALEURS PAR COSNT POUR LES COMPOSANTES SUIVANTES C UR,UZ,RT,P,PI,FR,FZ,MT,FP,FPI ET PAR SINNT LES COMPOSANTES SUIVANTES C UT,RZ,FT,MZ.LES VALEURS SUR LES COMPOSANTES LX ET FLX SONT INCHANGEES C NSOUPO=MCHPO1.IPCHP(/1) NAT=MCHPO1.JATTRI(/1) SEGINI MCHPOI IRET=MCHPOI MTYPOI=MCHPO1.MTYPOI MOCHDE=MCHPO1.MOCHDE IFOPOI=1 DO 100 IA=1,NSOUPO MSOUP1=MCHPO1.IPCHP(IA) SEGACT MSOUP1 NC=MSOUP1.NOCOMP(/2) SEGINI MSOUPO IPCHP(IA)=MSOUPO IGEOC=MSOUP1.IGEOC MPOVA1=MSOUP1.IPOVAL SEGACT MPOVA1 N=MPOVA1.VPOCHA(/1) SEGINI MPOVAL IPOVAL=MPOVAL DO 120 IC=1,NC NOCOMP(IC)=MSOUP1.NOCOMP(IC) NOHARM(IC)=MSOUP1.NOHARM(IC) COSNT=COS(NOHARM(IC)*ANGL) SINNT=SIN(NOHARM(IC)*ANGL) IF(NOHARM(IC).LT.0) THEN CNT=SINNT SINNT=COSNT COSNT=CNT ENDIF * * ON METS NOHARM A ZERO POUR POUVOIR ADDITIONNER DES CHPOINTS DE * SERIE DE FOURRIER DIFFERENTES.(CHARRAS) * NOHARM(IC)=0 CPV=NOCOMP(IC) IF(CPV.EQ.NOMDD(7).OR.CPV.EQ.NOMDD(3).OR. S CPV.EQ.NOMDD(9).OR.CPV.EQ.NOMDD(14).OR. S CPV.EQ.NOMDD(15).OR.CPV.EQ.NOMDU(7).OR. S CPV.EQ.NOMDU(3).OR.CPV.EQ.NOMDU(9).OR. S CPV.EQ.NOMDU(14).OR.CPV.EQ.NOMDU(15)) THEN DO 130 IE=1,N VPOCHA(IE,IC)=MPOVA1.VPOCHA(IE,IC)*COSNT 130 CONTINUE ELSE IF(CPV.EQ.NOMDD(8).OR.CPV.EQ.NOMDU(8).OR. S CPV.EQ.NOMDD(6).OR.CPV.EQ.NOMDU(6)) THEN DO 131 IE=1,N VPOCHA(IE,IC)=MPOVA1.VPOCHA(IE,IC)*SINNT 131 CONTINUE ELSE IF(CPV.EQ.NOMDD(10).OR.CPV.EQ.NOMDU(10)) THEN DO 132 IE=1,N VPOCHA(IE,IC)=MPOVA1.VPOCHA(IE,IC) 132 CONTINUE ELSE MOTERR(1:8)='FOURIER' IRET=0 SEGSUP MPOVAL,MSOUPO,MCHPOI SEGDES MPOVA1,MSOUP1 GOTO 999 ENDIF 120 CONTINUE 666 CONTINUE SEGDES MPOVA1,MPOVAL SEGDES MSOUP1,MSOUPO 100 CONTINUE SEGDES MCHPOI 999 CONTINUE SEGDES MCHPO1 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales