Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. Pr0 = .72; Ra = 10^5; R = Ra*Pr0; a = 0;
  2. [CapitalOmega] = ImplicitRegion[0 <= x <= 1 && 0 <= y <= 1, {x, y}];
  3.  
  4. {UX, VY, [CapitalRho], TK, TX} =
  5. NDSolveValue[{{Inactive[
  6. Div][({{-[Mu], 0}, {0, -[Mu]}}.Inactive[Grad][
  7. u[x, y], {x, y}]), {x, y}] + D[p[x, y], x] +
  8. u[x, y]*D[u[x, y], x] + v[x, y]*D[u[x, y], y] -
  9. R*T[x, y]*Sin[a],
  10. Inactive[
  11. Div][({{-[Mu], 0}, {0, -[Mu]}}.Inactive[Grad][
  12. v[x, y], {x, y}]), {x, y}] + D[p[x, y], y] +
  13. u[x, y]*D[v[x, y], x] + v[x, y]*D[v[x, y], y] -
  14. R*T[x, y]*Cos[a], D[u[x, y], x] + D[v[x, y], y]} == {0, 0,
  15. 0} /. [Mu] -> Pr0, {
  16. DirichletCondition[{p[x, y] == 0}, y == 1 && x == 1],
  17. DirichletCondition[{u[x, y] == 0, v[x, y] == 0},
  18. y == 0 || y == 1]}, {u[x, y]*D[T[x, y], x] +
  19. v[x, y]*D[T[x, y], y] - (D[T[x, y], x, x] +
  20. D[T[x, y], y, y]) == NeumannValue[0, y == 0 || y == 1],
  21. DirichletCondition[{u[x, y] == 0, v[x, y] == 0, T[x, y] == 1},
  22. x == 0],
  23. DirichletCondition[{u[x, y] == 0, v[x, y] == 0, T[x, y] == 0},
  24. x == 1]}}, {u, v, p, T,
  25. !(*SuperscriptBox[(T),
  26. TagBox[
  27. RowBox[{"(",
  28. RowBox[{"1", ",", "0"}], ")"}],
  29. Derivative],
  30. MultilineFunction->None])}, {x, y} [Element] [CapitalOmega],
  31. Method -> {"FiniteElement",
  32. "InterpolationOrder" -> {u -> 2, v -> 2, p -> 1, T -> 2},
  33. "MeshOptions" -> {"MaxCellMeasure" -> 0.0001}}];
  34.  
  35. MaximalBy[Table[{x, VY[x, .5]}, {x, 0, 1, .0001}], Last]
  36.  
  37. (*Out[5]= {{0.066, 68.7316}}*)
  38.  
  39. (*BenchmarkCase={x=0.066,vmax=68.59}*)
  40.  
  41. MaximalBy[Table[{y, UX[0.5, y]}, {y, 0, 1, .0001}], Last]
  42.  
  43. (*Out[8]= {{0.8543, 34.6607}}*)
  44.  
  45. (*BenchmarkCase={y=0.855,umax=34.73}*)
  46. MaximalBy[Table[{y, -TX[0, y]}, {y, 0, 1, 0.0001}], Last]
  47.  
  48. (*Out[12]= {{0.0747, 7.73417}}*)
  49.  
  50. (*BenchmarkCase={y=0.081,Numax=7.717}*)
  51.  
  52. NuAv =
  53. NIntegrate[UX[x, y]*TK[x, y] - TX[x, y], {x, 0, 1}, {y, 0, 1},
  54. WorkingPrecision -> 5]
  55.  
  56. (*Out[14]= 4.4880*)
  57.  
  58. (*BenchmarkCase=4.519*)
  59.  
  60.  
  61. Nu0 = NIntegrate[-TX[0, y], {y, 0, 1}, WorkingPrecision -> 5]
  62.  
  63. (*Out[16]= 4.5274*)
  64.  
  65. (*BenchmarkCase=4.509*)
  66.  
  67. Nu05 =
  68. NIntegrate[UX[.5, y]*TK[.5, y] - TX[0.5, y], {y, 0, 1},
  69. WorkingPrecision -> 5]
  70.  
  71. (*Out[18]= 4.5252*)
  72.  
  73. (*BenchmarkCase=4.519*)
  74.  
  75. MinimalBy[Table[{y, -TX[0, y]}, {y, 0, 1, 0.0001}], Last]
  76.  
  77. (*Out[19]= {{1., 0.726786}}*)
  78.  
  79. (*BenchmarkCase={y=1,Numin=0.729}*)
  80.  
  81. k = 100; Pr0 = .72; Ra = 10^5; R = Ra*Pr0; t0 = 1/100; a = 0;
  82. [CapitalOmega] = ImplicitRegion[0 <= x <= 1 && 0 <= y <= 1, {x, y}];
  83. UX[0][x_, y_] := 0;
  84. VY[0][x_, y_] := 0;
  85. [CapitalRho][0][x_, y_] := 0;
  86. TK[0][x_, y_] := 0; TX[0][x_, y_] := 0;
  87. Do[
  88. {UX[i], VY[i], [CapitalRho][i], TK[i], TX[i]} =
  89. NDSolveValue[{{Inactive[
  90. Div][({{-[Mu], 0}, {0, -[Mu]}}.Inactive[Grad][
  91. u[x, y], {x, y}]), {x, y}] + D[p[x, y], x] +
  92. UX[i - 1][x, y]*D[u[x, y], x] +
  93. VY[i - 1][x, y]*D[u[x, y], y] + (u[x, y] - UX[i - 1][x, y])/
  94. t0 - R*T[x, y]*Sin[a],
  95. Inactive[
  96. Div][({{-[Mu], 0}, {0, -[Mu]}}.Inactive[Grad][
  97. v[x, y], {x, y}]), {x, y}] + D[p[x, y], y] +
  98. UX[i - 1][x, y]*D[v[x, y], x] +
  99. VY[i - 1][x, y]*D[v[x, y], y] -
  100. R*T[x, y]*Cos[a] + (v[x, y] - VY[i - 1][x, y])/t0,
  101. D[u[x, y], x] + D[v[x, y], y]} == {0, 0, 0} /. [Mu] -> Pr0, {
  102. DirichletCondition[{p[x, y] == 0}, y == 1 && x == 1],
  103. DirichletCondition[{u[x, y] == 0, v[x, y] == 0},
  104. y == 0 || y == 1]}, {UX[i - 1][x, y]*D[T[x, y], x] +
  105. VY[i - 1][x, y]*D[T[x, y], y] + (T[x, y] - TK[i - 1][x, y])/
  106. t0 - (D[T[x, y], x, x] + D[T[x, y], y, y]) ==
  107. NeumannValue[0, y == 0 || y == 1],
  108. DirichletCondition[{u[x, y] == 0, v[x, y] == 0, T[x, y] == 1},
  109. x == 0],
  110. DirichletCondition[{u[x, y] == 0, v[x, y] == 0, T[x, y] == 0},
  111. x == 1]}}, {u, v, p, T,
  112. !(*SuperscriptBox[(T),
  113. TagBox[
  114. RowBox[{"(",
  115. RowBox[{"1", ",", "0"}], ")"}],
  116. Derivative],
  117. MultilineFunction->None])}, {x, y} [Element] [CapitalOmega],
  118. Method -> {"FiniteElement",
  119. "InterpolationOrder" -> {u -> 2, v -> 2, p -> 1, T -> 2},
  120. "MeshOptions" -> {"MaxCellMeasure" -> 0.0001}}], {i, 1, k}];
  121.  
  122. MaximalBy[Table[{x, VY[k][x, .5]}, {x, 0, 1, .0001}], Last]
  123.  
  124. (*Out[9]= {{0.066, 68.7316}}*)
  125.  
  126. (*BenchmarkCase={x=0.066,vmax=68.59}*)
  127.  
  128. MaximalBy[Table[{y, UX[k][0.5, y]}, {y, 0, 1, .0001}], Last]
  129.  
  130. (*Out[12]= {{0.8543, 34.6607}}*)
  131. (*BenchmarkCase={y=0.855,umax=34.73}*)
  132.  
  133. MaximalBy[Table[{y, -TX[k][0, y]}, {y, 0, 1, 0.0001}], Last]
  134.  
  135. (*Out[16]= {{0.0747, 7.73417}}*)
  136.  
  137. (*BenchmarkCase={y=0.081,Numax=7.717}*)
  138.  
  139. NuAv =
  140. NIntegrate[
  141. UX[k][x, y]*TK[k][x, y] - TX[k][x, y], {x, 0, 1}, {y, 0, 1},
  142. WorkingPrecision -> 5]
  143.  
  144. (*Out[18]= 4.4880*)
  145. In[19]:= (*BenchmarkCase=4.519*)
  146.  
  147.  
  148. Nu0 =
  149. NIntegrate[-TX[k][0, y], {y, 0, 1}, WorkingPrecision -> 5]
  150.  
  151. (*Out[20]= 4.5274*)
  152.  
  153. (*BenchmarkCase=4.509*)
  154.  
  155. Nu05 =
  156. NIntegrate[UX[k][.5, y]*TK[k][.5, y] - TX[k][0.5, y], {y, 0, 1},
  157. WorkingPrecision -> 5]
  158.  
  159. (*Out[22]= 4.5252*)
  160.  
  161. (*BenchmarkCase=4.519*)
  162.  
  163. MinimalBy[Table[{y, -TX[k][0, y]}, {y, 0, 1, 0.0001}], Last]
  164.  
  165. (*Out[23]= {{1., 0.726786}}*)
  166.  
  167. (*BenchmarkCase={y=1,Numin=0.729}*)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement