dfour2
C DFOUR2 SOURCE CB215821 20/11/04 21:16:11 10766 C==================================================================== C C ENTREES C IPCHE1 = CHAMELEM DE TYPE CONTRAINTES OU DEFORMATIONS C ANGL = ANGLE C SORTIES C IPCHE2 = SI SUCCES , POINTEUR SUR UN MCHAML C 0 SINON C C J BROCHARD MARS 87 C NOUVEAUX CHAMELEMS P DOWLATYARI SEP 91 C===================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMCHAML -INC CCREEL C ANGL=(ANGL*XPI)/180.D0 C C-------ON VERIFIE QUE IFOCHE EST BIEN EGAL A 1 C MCHEL1=IPCHE1 SEGACT MCHEL1 IF(MCHEL1.IFOCHE.NE.1)THEN MOTERR(1:8)='DFOURIER' SEGDES MCHEL1 RETURN ENDIF C C ON VERIFIE QUE LE CHAMP/ELEMENT EST BIEN DE TYPE CONTRAINTE OU C DEFORMATION C IF(MCHEL1.TITCHE.EQ.'CONTRAINTES')THEN ITYPE=1 L1=11 ELSEIF(MCHEL1.TITCHE.EQ.'DEFORMATIONS')THEN ITYPE=2 L1=12 ELSE MOTERR(1:8)='DFOURIER' SEGDES MCHEL1 RETURN ENDIF C N1=MCHEL1.INFCHE(/1) N3=MCHEL1.INFCHE(/2) SEGINI MCHELM IPCHE2=MCHELM TITCHE=MCHEL1.TITCHE IFOCHE=1 NSOUS=N1 C C BOUCLE SUR LES SOUS-ZONES C DO 500 ISOUS=1,NSOUS C CONCHE(ISOUS)=MCHEL1.CONCHE(ISOUS) IMACHE(ISOUS)=MCHEL1.IMACHE(ISOUS) DO 10 IN=1,N3 INFCHE(ISOUS,IN)=MCHEL1.INFCHE(ISOUS,IN) 10 CONTINUE C C ON MET NUMERO DE l'HARMONIQUE A ZERO POUR ADDITIONS FUTURS C NHRM=INFCHE(ISOUS,3) INFCHE(ISOUS,3)=0 C COSNT=COS(NHRM*ANGL) SINNT=SIN(NHRM*ANGL) IF(NHRM.LT.0) THEN CNT=SINNT SINNT=COSNT COSNT=CNT ENDIF C C CREATION DU MCHAML DE LA SOUS-ZONE C MCHAM1=MCHEL1.ICHAML(ISOUS) SEGACT MCHAM1 N2=MCHAM1.IELVAL(/1) SEGINI MCHAML ICHAML(ISOUS)=MCHAML DO 100 ICOMP=1,N2 C MELVA1=MCHAM1.IELVAL(ICOMP) SEGACT MELVA1 NBPTEL=MELVA1.VELCHE(/1) NEL=MELVA1.VELCHE(/2) C C TYPCHE(ICOMP)='REAL*8' N1PTEL=NBPTEL N1EL=NEL N2PTEL=0 N2EL=0 SEGINI MELVAL IELVAL(ICOMP)=MELVAL DO 110 IB=1,NEL DO 110 IGAU=1,NBPTEL VELCHE(IGAU,IB)=MELVA1.VELCHE(IGAU,IB)*COSNT 110 CONTINUE SEGDES MELVAL,MELVA1 C C TYPCHE(ICOMP)='REAL*8' N1PTEL=NBPTEL N1EL=NEL N2PTEL=0 N2EL=0 SEGINI MELVAL IELVAL(ICOMP)=MELVAL DO 120 IB=1,NEL DO 120 IGAU=1,NBPTEL VELCHE(IGAU,IB)=MELVA1.VELCHE(IGAU,IB)*SINNT 120 CONTINUE SEGDES MELVAL,MELVA1 C ELSE MOTERR(1:4)='DFOU' SEGSUP MCHAML,MCHELM SEGDES MELVA1 SEGDES MCHAM1,MCHEL1 RETURN ENDIF C 100 CONTINUE SEGDES MCHAML,MCHAM1 C 500 CONTINUE SEGDES MCHEL1,MCHELM RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales