zcvfpu
C ZCVFPU SOURCE CHAT 05/01/13 04:21:45 5004 & LEF,XCOOR, & VOLF, & UN,TK,TE, & F, & DK,DE, & ANU,IKC,UET,YP) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C************************************************************************ C C SYNTAXE : C C FPU (NU,UET,YP <,VPAROI> ) C C 1------2 C (R1,AL1) LEF FLUIDE NOEUDS 1 2 C C C ANU VISCOSITE CINEMATIQUE C UET U* C YP DISTANCE A LA PAROI C VPAROI VITESSE DE LA PAROI (PAR DEFAUT 0.D0) C C CAS TRIDIMENSIONNEL C 4 ________ 3 C / FLUIDE / C 1 /________/2 C C C************************************************************************ -INC PPARAM -INC CCOPTIO -INC CCREEL DIMENSION UN(NPTD,IES),TK(*),TE(*) REAL*8 F(NPTD,IES) REAL*8 DK(*),DE(*) DIMENSION UET(*) DIMENSION AF(2,2),CF(2,2) DIMENSION ANU(*),VOLF(*) DIMENSION XCOOR(*),XYZ(3,4) DIMENSION LEF(NPF,NEL),IPADL(*) DIMENSION LE(4) DIMENSION UIX(4),UIY(4),UIZ(4),UFI(4) DIMENSION UPIU(101) C -------------------CAROLI----I------------------------------------ DATA UPIU( 1) /0.000000D+00/ DATA UPIU( 2) /0.999954D+00/ DATA UPIU( 3) /0.199858D+01/ DATA UPIU( 4) /0.298974D+01/ DATA UPIU( 5) /0.395957D+01/ DATA UPIU( 6) /0.488802D+01/ DATA UPIU( 7) /0.575502D+01/ DATA UPIU( 8) /0.654720D+01/ DATA UPIU( 9) /0.726016D+01/ DATA UPIU( 10) /0.789663D+01/ DATA UPIU( 11) /0.846323D+01/ DATA UPIU( 12) /0.896802D+01/ DATA UPIU( 13) /0.941906D+01/ DATA UPIU( 14) /0.982372D+01/ DATA UPIU( 15) /0.101884D+02/ DATA UPIU( 16) /0.105188D+02/ DATA UPIU( 17) /0.108193D+02/ DATA UPIU( 18) /0.110941D+02/ DATA UPIU( 19) /0.113464D+02/ DATA UPIU( 20) /0.115790D+02/ DATA UPIU( 21) /0.117944D+02/ DATA UPIU( 22) /0.119944D+02/ DATA UPIU( 23) /0.121809D+02/ DATA UPIU( 24) /0.123553D+02/ DATA UPIU( 25) /0.125189D+02/ DATA UPIU( 26) /0.126727D+02/ DATA UPIU( 27) /0.128178D+02/ DATA UPIU( 28) /0.129549D+02/ DATA UPIU( 29) /0.130849D+02/ DATA UPIU( 30) /0.132082D+02/ DATA UPIU( 31) /0.133256D+02/ DATA UPIU( 32) /0.134375D+02/ DATA UPIU( 33) /0.135443D+02/ DATA UPIU( 34) /0.136465D+02/ DATA UPIU( 35) /0.137444D+02/ DATA UPIU( 36) /0.138383D+02/ DATA UPIU( 37) /0.139285D+02/ DATA UPIU( 38) /0.140153D+02/ DATA UPIU( 39) /0.140988D+02/ DATA UPIU( 40) /0.141794D+02/ DATA UPIU( 41) /0.142573D+02/ DATA UPIU( 42) /0.143325D+02/ DATA UPIU( 43) /0.144052D+02/ DATA UPIU( 44) /0.144757D+02/ DATA UPIU( 45) /0.145440D+02/ DATA UPIU( 46) /0.146102D+02/ DATA UPIU( 47) /0.146746D+02/ DATA UPIU( 48) /0.147371D+02/ DATA UPIU( 49) /0.147979D+02/ DATA UPIU( 50) /0.148570D+02/ DATA UPIU( 51) /0.149147D+02/ DATA UPIU( 52) /0.149708D+02/ DATA UPIU( 53) /0.150256D+02/ DATA UPIU( 54) /0.150790D+02/ DATA UPIU( 55) /0.151311D+02/ DATA UPIU( 56) /0.151821D+02/ DATA UPIU( 57) /0.152319D+02/ DATA UPIU( 58) /0.152806D+02/ DATA UPIU( 59) /0.153282D+02/ DATA UPIU( 60) /0.153749D+02/ DATA UPIU( 61) /0.154206D+02/ DATA UPIU( 62) /0.154653D+02/ DATA UPIU( 63) /0.155092D+02/ DATA UPIU( 64) /0.155522D+02/ DATA UPIU( 65) /0.155944D+02/ DATA UPIU( 66) /0.156358D+02/ DATA UPIU( 67) /0.156765D+02/ DATA UPIU( 68) /0.157164D+02/ DATA UPIU( 69) /0.157556D+02/ DATA UPIU( 70) /0.157942D+02/ DATA UPIU( 71) /0.158321D+02/ DATA UPIU( 72) /0.158694D+02/ DATA UPIU( 73) /0.159060D+02/ DATA UPIU( 74) /0.159421D+02/ DATA UPIU( 75) /0.159776D+02/ DATA UPIU( 76) /0.160126D+02/ DATA UPIU( 77) /0.160470D+02/ DATA UPIU( 78) /0.160809D+02/ DATA UPIU( 79) /0.161143D+02/ DATA UPIU( 80) /0.161472D+02/ DATA UPIU( 81) /0.161797D+02/ DATA UPIU( 82) /0.162117D+02/ DATA UPIU( 83) /0.162433D+02/ DATA UPIU( 84) /0.162744D+02/ DATA UPIU( 85) /0.163051D+02/ DATA UPIU( 86) /0.163354D+02/ DATA UPIU( 87) /0.163653D+02/ DATA UPIU( 88) /0.163949D+02/ DATA UPIU( 89) /0.164240D+02/ DATA UPIU( 90) /0.164528D+02/ DATA UPIU( 91) /0.164813D+02/ DATA UPIU( 92) /0.165094D+02/ DATA UPIU( 93) /0.165371D+02/ DATA UPIU( 94) /0.165646D+02/ DATA UPIU( 95) /0.165917D+02/ DATA UPIU( 96) /0.166185D+02/ DATA UPIU( 97) /0.166450D+02/ DATA UPIU( 98) /0.166712D+02/ DATA UPIU( 99) /0.166971D+02/ DATA UPIU(100) /0.167228D+02/ DATA UPIU(101) /0.167481D+02/ C -----------------------CAROLI---------F----------------------- C CONSTANTES PHYSIQUES C DATA CNU,AKER /0.09D0,0.41D0/ C IF(IKC.NE.1)GO TO 9990 R1=1.D0 C C SQCNU=SQRT(CNU) KC=1 C --------------------CAROLI-----------I----------------------- ANUL=ANU(KC) C --------------------CAROLI-----------F----------------------- IF(IES.EQ.3)GO TO 300 C ********* C * 2D * C ********* CF(1,1)=R1/3.D0 CF(2,1)=CF(1,1)/2.D0 CF(1,2)=CF(2,1) CF(2,2)=CF(1,1) C IF(IPT.EQ.100)WRITE(IOIMP,*)' YCVFPU : ANUL,R1 ',ANUL,R1 DO 50 K=1,NEL NK=K0+K C WRITE(IOIMP,*)' XCVFPS NK=',NK KC=1+(1-IKC)*(NK-1) C C IP=LEF(1,K) XYZ(1,1)=XCOOR((IP-1)*(IES+1) +1) XYZ(2,1)=XCOOR((IP-1)*(IES+1) +2) IP=LEF(2,K) XYZ(1,2)=XCOOR((IP-1)*(IES+1) +1) XYZ(2,2)=XCOOR((IP-1)*(IES+1) +2) LE(1)=IPADL(LEF(1,K)) LE(2)=IPADL(LEF(2,K)) C WRITE(IOIMP,*)' LE.... ',(LE(MM),MM=1,4) DO 5 I=1,2 NF=LE(I) UIX(I)= UN(NF,1) UIY(I)= UN(NF,2) 5 CONTINUE C C CALCUL DES LONGUEURS DE L'ELEMENT : AL1 C IF (IAXI.EQ.0) THEN R1=1.D0 ELSEIF (IAXI.EQ.1) THEN R1=(XYZ(2,1)+XYZ(2,2))*XPI ELSEIF (IAXI.EQ.2) THEN R1=(XYZ(1,1)+XYZ(1,2))*XPI ENDIF AL1X=XYZ(1,2)-XYZ(1,1) AL1Y=XYZ(2,2)-XYZ(2,1) AL1=SQRT(AL1X*AL1X+AL1Y*AL1Y) C C CALCUL DES COMPOSANTES TANGENTIELLES A LA PAROI DES VITESSES C ET DE LA MOYENNE DE LEURS DIFFERENCES FLUIDE-PAROI : UTM C UT1=UIX(1)*UIX(1) + UIY(1)*UIY(1) UT2=UIX(2)*UIX(2) + UIY(2)*UIY(2) UT1=SQRT(UT1) UT2=SQRT(UT2) UTM=(UT1+UT2)/2.D0 C C CALCUL DE U ETOILE A PARTIR UTM C C --------------------CAROLI---I-------------------------- DO 57 I=1,2 YPLUS=YP*UET(K)/ANUL YPLUS=ABS(YPLUS)+1.D-5 IF(YPLUS.GT.100.0D0) THEN UPLUS=5.5D0+(LOG(YPLUS))/0.41D0 ELSE IY=INT(YPLUS) RY=YPLUS-IY UPLUS=UPIU(IY+1)+RY*(UPIU(IY+2)-UPIU(IY+1)) ENDIF C ---- RELAX SU UET ------------------------------------ UET(NK)=0.5D0*UET(NK)+0.5D0*(ABS(UTM/(UPLUS+1.D-5))) 57 CONTINUE C --------------------CAROLI----F------------------ C************************************************************************ C CALCUL Q D M C************************************************************************ C CALCUL DU COEFFICIENT AK A PARTIR DE UTM AUTM=ABS(UTM) AK=0.D0 IF(AUTM.GT.1.D-10)AK=UET(NK)*UET(NK)/AUTM C CALCUL DE LA MATRICE VITESSE DO 82 I=1,2 DO 72 J=1,2 AF(J,I)=AK*AL1*AF(J,I)*R1 72 CONTINUE 82 CONTINUE C C SATURATION VITESSE C C IF(IPAT.LE.2)WRITE(IOIMP,*)' UTM=',UTM,AL1 DO 54 J=1,2 AF(1,J)=AF(1,J)*UT1 AF(2,J)=AF(2,J)*UT2 54 CONTINUE DO 65 I=1,2 NF=LE(I) FF1=(AF(1,I)+AF(2,I))*AL1X/AL1 FF2=(AF(1,I)+AF(2,I))*AL1Y/AL1 C if(k.ge.10.AND.k.le.15)then C WRITE(IOIMP,*)' FF1,FF2=',ff1,ff2 C endif F(NF,1)=F(NF,1)+SIGN(FF1,UN(NF,1)) F(NF,2)=F(NF,2)+SIGN(FF2,UN(NF,2)) C------------------------------------------------------------------------ C CALCUL Q D M FIN C------------------------------------------------------------------------ 65 CONTINUE C C CALCUL DE KP ET DE EPSILONP C YPLUS2=-(YPLUS+0.01D0)*(YPLUS+0.01D0)*0.0017D0 DO 66 I=1,2 NF=LE(I) DK(NF)=XGRAND DE(NF)=XGRAND TK(NF)=UET(NK)*UET(NK)/SQCNU TE(NF)=UET(NK)*UET(NK)*UET(NK)/ & (AKER*YP*(1.D0-EXP(YPLUS2))) 66 CONTINUE 50 CONTINUE RETURN C ********* C * 3D * C ********* 300 CONTINUE DO 350 K=1,NEL NK=K0+K KC=1+(1-IKC)*(NK-1) C UTM=0.D0 DO 35 I=1,NPF NFA=IPADL(LEF(I,K)) UIX(I)=UN(NFA,1)+XPETIT UIY(I)=UN(NFA,2)+XPETIT UIZ(I)=UN(NFA,3)+XPETIT UFI(I)=UIX(I)*UIX(I)+UIY(I)*UIY(I)+UIZ(I)*UIZ(I) UFI(I)=SQRT(UFI(I)) UTM=UTM+UFI(I) 35 CONTINUE UTM=UTM/NPF AIRF=VOLF(NK) C C CALCUL DE U ETOILE A PARTIR UTM C C --------------------CAROLI---I-------------------------- DO 357 I=1,2 YPLUS=YP*UET(NK)/ANUL YPLUS=ABS(YPLUS)+1.D-5 IF(YPLUS.GT.100.0D0) THEN UPLUS=5.5D0+(LOG(YPLUS))/0.41D0 ELSE IY=INT(YPLUS) RY=YPLUS-IY UPLUS=UPIU(IY+1)+RY*(UPIU(IY+2)-UPIU(IY+1)) ENDIF C ---- RELAX SU UET ------------------------------------ UET(NK)=0.5D0*UET(NK)+0.5D0*(ABS(UTM/(UPLUS+1.D-5))) 357 CONTINUE C --------------------CAROLI----F------------------ C************************************************************************ C CALCUL Q D M C************************************************************************ C CALCUL DU COEFFICIENT AK A PARTIR DE UTM AUTM=ABS(UTM) AK=0.D0 IF(AUTM.GT.1.D-10)AK=UET(NK)*UET(NK)/AUTM C DO 365 I=1,NPF NFA=IPADL(LEF(I,K)) F(NFA,1)=F(NFA,1)+AK/NPF*UIX(I)/UFI(I)*AIRF F(NFA,2)=F(NFA,2)+AK/NPF*UIY(I)/UFI(I)*AIRF F(NFA,3)=F(NFA,3)+AK/NPF*UIZ(I)/UFI(I)*AIRF 365 CONTINUE C------------------------------------------------------------------------ C CALCUL Q D M FIN C------------------------------------------------------------------------ C C CALCUL DE KP ET DE EPSILONP C YPLUS2=-(YPLUS+0.01D0)*(YPLUS+0.01D0)*0.0017D0 DO 366 I=1,NPF NFA=IPADL(LEF(I,K)) DK(NFA)=XGRAND DE(NFA)=XGRAND TK(NFA)=UET(NK)*UET(NK)/SQCNU TE(NFA)=UET(NK)*UET(NK)*UET(NK)/ & (AKER*YP*(1.D0-EXP(YPLUS2))) 366 CONTINUE 350 CONTINUE RETURN 9990 CONTINUE WRITE(IOIMP,*)' IKC ',IKC WRITE(IOIMP,*) $ ' COEF D''UN MAUVAIS TYPE : ON VEUT (SCAL OU VECT DOMA)' RETURN 1002 FORMAT(10(1X,1PE11.4)) 1001 FORMAT(20(1X,I5)) END
© Cast3M 2003 - Tous droits réservés.
Mentions légales