⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wall.for

📁 关于二维射流计算源程序
💻 FOR
字号:
        

	SUBROUTINE WALL(CNU,CNK,VISCOS,SKS,UU,YPP,TKK,TEE,USTAR)
	IMPLICIT REAL*8(A-H,O-Z)

	      Z00 =0.033*SKS
           USTAR=UU*CNK/DLOG(YPP/Z00)    
		  if(UU.LT.1.0D-2)goto 503
	      USTARJUST=SKS*USTAR/VISCOS

		  IF(USTARjust.LT.70.AND.USTARJUST.GT.5)then  
501	       Z00=0.11*VISCOS/USTAR+0.033*SKS
             USTAR1=ABS(UU*CNK/(DLOG(YPP/Z00)))	 
		   if(abs(USTAR-USTAR1).gt.1.0d-6)then
	         USTAR=USTAR1
	         goto 501
	        endif

	        USTARJUST=SKS*USTAR/VISCOS
	        IF(USTARJUST.LT.5)THEN
 512	         Z00=0.11*VISCOS/USTAR
     	         USTAR1=ABS(UU*CNK/(DLOG(YPP/Z00)))
		     if(abs(USTAR-USTAR1).gt.1.0d-6)then
	           USTAR=USTAR1
	          goto 512
	         endif
	        ENDIF

	     ELSEIF(USTARjust.LT.5)	THEN
502	      Z00=0.11*VISCOS/USTAR
     	      USTAR1=ABS(UU*CNK/(DLOG(YPP/Z00)))	 
		  if(abs(USTAR-USTAR1).gt.1.0d-6)then
	        USTAR=USTAR1
	        goto 502
	      endif

	      USTARJUST=SKS*USTAR/VISCOS
	      IF(USTARJUST.GT.5)THEN
511	       Z00=0.11*VISCOS/USTAR+0.033*SKS
             USTAR1=ABS(UU*CNK/(DLOG(YPP/Z00)))	 
		   if(abs(USTAR-USTAR1).gt.1.0d-6)then
	         USTAR=USTAR1
	         goto 511
	        endif
	      ENDIF 

	  ENDIF

503	       CONTINUE
	     YPLUS=USTAR*YPP/viscos		! 30<uu<100	

		 TKK=USTAR*USTAR/SQRT(CNU)
		 TEE=abs(USTAR**3)/(CNK*YPP)   
	
	END

	SUBROUTINE WALL1(I,UU,USTAR)
      USE VOF2D
	IMPLICIT REAL*8(A-H,O-Z)

	      Z00 =0.033*SKS
		  USTAR=UU*CNK/DLOG((Y(2))/Z00)   !-Y(1)
		  if(UU.LT.1.0D-2)goto 503
	      USTARJUST=SKS*USTAR/VISCOS

		  IF(USTARjust.LT.70.AND.USTARJUST.GT.5)then  
501	       Z00=0.11*VISCOS/USTAR+0.033*SKS
             USTAR1=ABS(UU*CNK/(DLOG((Y(2))/Z00)))	 !-Y(1)
		   if(abs(USTAR-USTAR1).gt.1.0d-6)then
	         USTAR=USTAR1
	         goto 501
	        endif

	        USTARJUST=SKS*USTAR/VISCOS
	        IF(USTARJUST.LT.5)THEN
 512	         Z00=0.11*VISCOS/USTAR
     	         USTAR1=ABS(UU*CNK/(DLOG((Y(2))/Z00)))	 !-Y(1)
		     if(abs(USTAR-USTAR1).gt.1.0d-6)then
	           USTAR=USTAR1
	          goto 512
	         endif
	        ENDIF

	     ELSEIF(USTARjust.LT.5)	THEN
502	      Z00=0.11*VISCOS/USTAR
     	      USTAR1=ABS(UU*CNK/(DLOG((Y(2))/Z00)))	 !-Y(1)
		  if(abs(USTAR-USTAR1).gt.1.0d-6)then
	        USTAR=USTAR1
	        goto 502
	      endif

	      USTARJUST=SKS*USTAR/VISCOS
	      IF(USTARJUST.GT.5)THEN
511	       Z00=0.11*VISCOS/USTAR+0.033*SKS
             USTAR1=ABS(UU*CNK/(DLOG((Y(2))/Z00)))	 !-Y(1)
		   if(abs(USTAR-USTAR1).gt.1.0d-6)then
	         USTAR=USTAR1
	         goto 511
	        endif
	      ENDIF 

	  ENDIF

503	       CONTINUE

!	 if((istyle.eq.1.and.i.eq.ieta(1)). 
!     *	 or.(istyle.gt.1.and.i.eq.ieta(2)))
!     *   write(112,156)T,ustar,USTARjust
! 156       format(x,F8.3,X,8(f12.6,x))

	END

c---- SUBROUTINE WALFUC ---------------------------------------------
c     Wall Function Calculation
c--------------------------------------------------------------------
      SUBROUTINE WALFUC(NU,UP,YP,K,E,USTAR)
      IMPLICIT  REAL*8(A-H,O-Z),INTEGER(I-N)
      REAL*8 NU,K
c
      IF (UP.NE.0.0) THEN
      USTAR=SQRT(NU*UP/YP)
 10   RE=USTAR*YP/NU
      USTAR1=UP/(2.5*DLOG(1.0+RE/5.0)+7.05*(RE/5.0/(1.0+RE/5.0))**2
     1 +2.5*RE/5.0/(1.0+RE/5.0))
      IF (ABS(USTAR1-USTAR).GT.0.000001) THEN
      USTAR=USTAR1
      GO TO 10
      ENDIF
      A=2.0/(1.0+5.0/RE)+0.008*(23.2-RE)*RE**2/(0.2*RE+1.0)**3
      K=USTAR**2/0.3
      E=A*USTAR**3/0.4/YP
      ELSE
      K=0.0
      E=0.0
      ENDIF
      RETURN
      END
	
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -