Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.14 KB | None | 0 0
  1. program maketurbbl
  2.  
  3. implicit none
  4.  
  5. integer :: i,j,k,ilow,m2,jdum,n2
  6. parameter(m2=128,n2=m2+1)
  7. real :: yoverdeltau(1:33), uoverU(1:33)
  8. real :: yoverdeltaurms(1:33), urmsoverU(1:33)
  9. real :: yoverdeltavrms(1:33), vrmsoverU(1:33)
  10. real :: yoverdeltawrms(1:33), wrmsoverU(1:33)
  11. real :: uinput(1:m2), urmsinput(1:m2),vrmsinput(1:m2)
  12. real :: wrmsinput(1:m2)
  13. real :: delta, U0, yu(1:n2), y(1:n2),temp,temp2,sum
  14.  
  15.  
  16. print *, 'Type in freestream velocity'
  17. !read *, U0
  18. U0 = 25.6
  19.  
  20. print *, 'Type in target boundary layer thickness (m)'
  21. read *, delta
  22. !delta = 0.00457
  23. !read in profiles
  24.  
  25. open (unit=10, file='lamuprofile.txt')
  26. read(10,*)
  27. do j=1, 33
  28. read(10,*) yoverdeltau(j), uoverU(j)
  29. enddo
  30.  
  31. open(unit=11,file='lamurms0-05percent.txt')
  32. !open(unit=12,file='lamurms0-05percent.txt')
  33. read(11,*)
  34. !read(12,*)
  35. do j=1,32
  36. read(11,*)yoverdeltaurms(j), urmsoverU(j)
  37. vrmsoverU(j) = urmsoverU(j)
  38. !read(12,*) yoverdeltaurms(j),vrmsoverU(j)
  39. wrmsoverU(j) = vrmsoverU(j)
  40. !vrmsoverU(j) = urmsoverU(j) *0.6
  41. !wrmsoveru(j) = urmsoverU(j) *0.8
  42. !urmsoverU(j) = urmsoverU(j)
  43. if(j.gt.5.and.urmsoverU(j) .lt. 0.005) then
  44. ! urmsoverU(j) = 0.005
  45. endif
  46. if(j.gt.5.and.vrmsoverU(j) .lt. 0.005) then
  47. ! vrmsoverU(j) = 0.005
  48. endif
  49. if(j.gt.5.and.wrmsoverU(j) .lt. 0.005) then
  50. ! wrmsoverU(j) = 0.005
  51. endif
  52.  
  53. !write(*,*) urmsoverU(j), vrmsoverU(j)
  54. enddo
  55.  
  56. ! Profiles read in
  57.  
  58. ! Read in y-grid to be used in simulation
  59. open(unit=14, file = 'upperycoord.3d')
  60. do j=1,m2
  61. read(14,*) jdum, y(j)
  62. !y(j) = y(j) - 0.00004
  63. enddo
  64.  
  65. do j=1, m2-1
  66. yu(j) = 0.5*(y(j) + y(j+1))
  67. enddo
  68.  
  69. ! u,urms, and wrms must reside on the yu grid
  70. ! v, and vrms will reside on the y grid
  71.  
  72. !Un-normalise the y- co-ordinate for each variable
  73. !Un-normalise the velocity variables
  74.  
  75. do j=1, 33
  76. yoverdeltau(j) = yoverdeltau(j)*delta
  77. yoverdeltavrms(j) = yoverdeltaurms(j)*delta
  78. yoverdeltawrms(j) = yoverdeltaurms(j)*delta
  79. uoverU(j)=uoverU(j)*U0
  80. vrmsoverU(j) = vrmsoverU(j)*U0
  81. wrmsoverU(j) = wrmsoverU(j)*U0
  82. enddo
  83.  
  84. do j=1,32
  85. yoverdeltaurms(j) = yoverdeltaurms(j)*delta
  86. urmsoverU(j) = urmsoverU(j)*U0
  87. enddo
  88. !Interpolate data onto computational mesh
  89. !u first
  90. write(*,*) yoverdeltau
  91. do j = 1, m2
  92. do i = 1, 32
  93. if(yoverdeltau(i) .le. yu(j)) then
  94. ilow = i
  95. endif
  96. enddo
  97. write(*,*) ilow
  98. uinput(j) = uoverU(ilow) + (uoverU(ilow+1) - uoverU(ilow)) * &
  99. ( (yu(j) - yoverdeltau(ilow)) / (yoverdeltau(ilow+1) - yoverdeltau(ilow)))
  100. if(ilow .eq. 32) then
  101. uinput(j) = uoverU(33)
  102. endif
  103. enddo
  104. !now urms
  105. do j = 1, m2
  106. do i = 1, 32
  107. if(yoverdeltaurms(i) .le. yu(j)) then
  108. ilow = i
  109. endif
  110. enddo
  111. urmsinput(j) =urmsoverU(ilow) + (urmsoverU(ilow+1) - urmsoverU(ilow)) * &
  112. ( (yu(j) - yoverdeltaurms(ilow)) / &
  113. (yoverdeltaurms(ilow+1) - yoverdeltaurms(ilow)))
  114. if(ilow .ge. 29) then
  115. urmsinput(j) = 0.005*U0
  116. endif
  117. enddo
  118.  
  119. !now vrms
  120. do j = 1, m2
  121. do i = 1, 32
  122. if(yoverdeltavrms(i) .le. yu(j)) then
  123. ilow = i
  124. endif
  125. enddo
  126. vrmsinput(j) = vrmsoverU(ilow) + (vrmsoverU(ilow+1) - vrmsoverU(ilow)) * &
  127. ( (y(j) - yoverdeltavrms(ilow)) / &
  128. (yoverdeltavrms(ilow+1) - yoverdeltavrms(ilow)))
  129. if(ilow .ge. 29) then
  130. vrmsinput(j) = 0.005*U0
  131. endif
  132. enddo
  133.  
  134. !now wrms
  135. do j = 1, m2
  136. do i = 1, 32
  137. if(yoverdeltawrms(i) .le. yu(j)) then
  138. ilow = i
  139. endif
  140. enddo
  141. wrmsinput(j) = wrmsoverU(ilow) + (wrmsoverU(ilow+1) - wrmsoverU(ilow)) * &
  142. ( (yu(j) - yoverdeltawrms(ilow)) / &
  143. (yoverdeltawrms(ilow+1) - yoverdeltawrms(ilow)))
  144. if(ilow .ge. 29) then
  145. wrmsinput(j) = 0.005*U0
  146. endif
  147. enddo
  148.  
  149. !Write out raw velocity data to a file
  150. ! jdum, u, v, urms, vrms, wrms
  151. open(unit = 40, file = 'upperinflowbc.3d')
  152. do j=1, m2
  153. if(uinput(j) .gt. U0) uinput(j) =U0
  154. write(40,*) j+1, uinput(j), 0.0, 0.0, urmsinput(j), vrmsinput(j), wrmsinput(j)
  155. enddo
  156.  
  157. open(unit = 41, file = 'upperprofiles.3d')
  158. write(41,*) 'VARIABLES = "y" "u" "urms" "vrms" "wrms"'
  159. do j=1, m2
  160. if(uinput(j) .gt. U0) uinput(j) =U0
  161. write(41,*) y(j+1), uinput(j), urmsinput(j), vrmsinput(j), wrmsinput(j)
  162. enddo
  163.  
  164. sum = 0.0
  165. do j=1, m2-1
  166. !write(*,*) j, (u1jet_in(j) / u1jet_in(m2))
  167. temp = (uinput(j) / U0) * (1.0 - uinput(j) / U0)
  168. temp2 = (uinput(j+1) / U0) * (1.0 - uinput(j+1) / U0)
  169. sum = sum + 0.5*(yu(j+1) - yu(j)) * (temp+temp2)
  170. enddo
  171.  
  172. write(*,*) 'theta =' ,sum
  173.  
  174. end program
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement