# 流體力學 Week 13 - Internal Flow
[TOC]
# 6. Internal Flow
首先是看看 Laminar Flow 與 Turblent Flow
* Laminar Flow : smooth streamline and highly ordered motion.
* velocity fluctuation and highly disordered motion.
這倆個主要是看「雷諾數」的大小。所以先回顧一下雷諾數:
$$Re = \frac {\rho V_{avg}D_{h}}{\mu}$$
這裡要注意的點是:這裡的 $D_{h}$ 是++Hydraulic Diameter++, 定義上是:
$$D_{h} = \frac {4A_{c}}{p}$$
其中 $A_{c}$ 是截面積, $p$ 流體截面積的周長。
比如說充滿流體的圓管:
$$D_{h} = \frac {4(\frac {\pi D ^ 2}{4})}{\pi D} = D$$
但是,如果只有一半有充滿液體的話,這個會變成:
$$D_{h} = \frac {4(\frac {\pi D ^ 2}{4}\cdot \frac {1}{2})}{\frac {\pi D}{2} + D} = \frac {\pi}{\pi + 2}D$$
之前說過雷諾數是黏滯力和慣性力的比例,黏滯力會讓流體粒子之間不會亂跑,而慣性力會讓流體亂滑。所以如果雷諾數很大,那可以預期慣性力相對黏滯力很大,粒子之間容易亂滑,就容易有 turblent flow 。主要的分界是:
* Laminar Flow : Re < 2300
* Transitional Flow : 2300 ~ 4000
* Turblent Flow : 4000 +
雖然是這樣說,在很安定沒有擾動的狀況之下,實驗可以做到雷諾數 100000 還保持 laminar flow 。但這只有在實驗室控制的很小心的狀況下才做得到。
# 6.2 Entrance Region
流體剛流進管子裡面的時候,跟流體流經很長一段距離,變成 fully-developed 的時候,兩個表現出來的速度分佈樣子會不太一樣。
而流體進去管子,到變成 fully developed 中間的這段就叫做「entrance region」。
在逐漸變成 fully-developed 的過程大概是這樣的:
![](https://i.imgur.com/kiOZjOM.png)
1. 進去之前是 uniform flow
2. 進去之後,流體就被邊界給拖累住,所以++管壁附近的流體速度變慢++。不過因為質量要守恆,所以如果周圍變慢,中間就要會變快一點點。所以靠管壁的地方就比平均慢一點點,中間一點的地方就比平均快一點點,但大致上還是平的。
3. 隨著流體持續移動,邊界的影響持續擴大,由外往內深入,最後就影響到最中間的部分。
邊界的影響是用速度分佈來看的。「邊界還沒影響到的地方」意思是「速度分佈還是平的區段」。
如果把整個過程畫出來的話,大概就是這樣:
![](https://i.imgur.com/d1e7Qer.png)
「邊界的影響」會對稱地逐漸由管壁往管子中心深入,最後影響到中心。變成 fully-developed。這段 fully-developed 之前的這段區域就叫做「Entrance Regeon」,個逐漸發展的行為就叫做「developing flow」; 而最後面,已經完全影響到中間以後的部分,叫做「fully-developed」。
那這個入口區的長度是多少呢?這裡有兩個公式:
* Laminar Flow :
$$\frac {L_{laminar}}{D} \approx 0.05Re$$
* turblent Flow :
$$\frac {L_{turblent}}{D} \approx 1.359Re^{\frac {1}{4}}$$
如果 $Re$ 用 4000 代的話,大概會是 10 左右。所以也有用 10 直接去近似的狀況。
至於這個公式怎麼來的?課本會跟你說是某一篇 paper 上做出來的東西。
# 6.3 Head Loss : Major and Minor Lost
* Major Lost: 摩擦力造成的損失。會這樣叫是因為如果這是直的,那唯一會影響的就是摩擦力。
* Minor Lost : 其他部分造成的損失,比如說流過閥,或是管道有轉彎、縮口的部分,都會讓外部是給流體力,然後減少能量。
這裡要注意的是,Minor Lost 不一定會是 Minor, 也有可能 Minor Lost 比 Major Lost 還要多。
# 6.4 Major Lost of an incompressible fully developed laminar flow
## Recall : Poisuelle Flow
這裡是用 Poiseulle Flow 為模型。Poiseulle Flow 的速度分佈:
$$\vec{u{}} = u(r)\hat{z{}}$$
(如果已經知道他是一條拋物線的話,那這段可以跳過去)。
然後塞進 Momentum Equation 裡面:
$$0 = -\frac {dP(x)}{dz} + \frac {\mu}{r}\frac {d}{dr}(\frac {rdu(r)}{dr})$$
因為一個是 z 的函數,一個是 r 的函數,所以:
$$\frac {dP(z)}{dz} = \frac {\mu}{r}\frac {d}{dr}(\frac {rdu(r)}{dr}) = const.$$
首先看:
$$\frac {-dP(z)}{dz} = const.$$
所以壓力分佈是線性的,所以
$$\frac {-dP(z)}{dz} = const. = \frac {\Delta P}{L}$$
$\Delta P = P_{upstream} - P_{downstream} = 壓力差$
接著看右手邊:
$$\frac {\mu}{r}\frac {d}{dr}(\frac {rdu(r)}{dr}) = const = \frac {\Delta P}{L}$$
邊界條件是 $u(0)$ 有限,$u(r) = 0$。
解出來就是:
$$u(r) = \frac {(\Delta P / L)R^2}{4 \mu}(1 - \frac {r^2}{R^2})$$
(其實就是之前解的那個)。
然後就可以開始算一堆有的沒的東西了~~
## P 的力量
因為 Poissuelle Flow 一句話版本就是「壓力差推動流體移動」,所以就會忍不住想猜所有東西都是壓力的函數。實際上也差不多是。
1. 流速:
$$u_{max} = 2u_{avg} = \frac {\frac {\Delta P}{L}R^2}{4\mu} = \frac {(\Delta P/L)D^2}{16}$$
這裡可以注意的是平均流速是最大流速的一半,所以可以在積分時偷懶一下。
2. Volume Flow Rate:
$$Q = \frac {1}{\pi R^2}\int_{0}^{R}u(r)2 \pi r dr = \pi R^2 = \frac {(\Delta P / L)\pi R ^ 4}{8 \mu} = \pi R^2 = \frac {(\Delta P / L)\pi D ^ 4}{128 \mu}$$
3. Shear Stress 也可以算,利用:
$$\tau_{zr}(r) = \mu\frac {du(r)}{dr} = \frac {(-\frac {\Delta P}{L})r}{2}$$
因為牆壁受到的 shear stress 跟邊界方向相反,所以:
$$\tau_{rz}(r) = \frac {(\frac {\Delta P}{L})r}{2} = \frac {(\frac {\Delta P}{L})D}{4}$$
<br>
算到這裡就可以發現,上面 3 個東西都是跟壓力或壓力梯度有關的函數。所以整理一下:
$$\frac {\Delta P}{L} = \frac {32\mu u_{avg}}{D^2} = \frac {4\tau_{w}}{D} = \frac {128 \mu Q}{\pi D ^ 4}$$
只要有壓力梯度就可以算出所有的東西。壓力差跟平均流速都有的話:
$$\Delta P = (\frac {64\mu}{\rho u_{avg}D})\frac {L}{D}\frac {\rho u_{avg}^2}{2} = \frac {8\tau_{w}}{\rho u_{avg}^2}\frac {L}{D}\frac {\rho u_{avg}^2}{2} = \frac {128 \mu Q L}{\pi D ^ 4}$$
然後你可能會想沒為什麼不把上面那幾坨東西化簡一下?再仔細看一下可以發現沒化簡的部分最後面黏的項都是動壓。這就在暗示接下來要做的事了。
定義 Darcy Friction Factor :
$$f = \frac {8\tau_{wall}}{\rho u_{avg}^2}$$
這個東西(看上面的算式)可以知道在 Poisseulle Flow 會等於:
$$f_{laminar} = \frac {64}{Re}$$
至於其他的狀況,就自己去查表拔~~
那這個東西訂出來有什麼用處呢?如果已經有 $f$ 的話,那麼壓力差就可以這樣算:
$$\Delta P = f\frac {L}{D}\frac {\rho u_{avg}^2}{2}$$
只要給定管壁的動壓,給定管壁的尺寸,加上查出相應的 $f$ ,就可以知道壓力減少多少。而且還是只要給平均流速就算得出來,實驗上平均流速也很好量。真是太親民了。
然後可以更進一步定一一個頭出來:
$$H_{laminar, poisseulle, cylinder} = \frac {\Delta P}{\rho g} = f\frac {L}{D}\frac {u_{avg}^2}{2g}$$
這個東西只要速度頭知道,$f$ 查表查到,就可以算出來了。而最有趣的是維持這個流要給的功率:
$$\dot{W} = Q\Delta P = \dot{m}\rho g \Delta H$$
就可以把 head loss 當成高度差去算能量問題。
# Major Loses for Turblent Pipe Flow
* turblent : Highly disordered flow
可能會有一個主要的震盪,不過不同方向會有 fluctuation :+1:
![](https://i.imgur.com/HyEk7Ds.gif)
通常的做法就是用一個平均與他的 fluctuation 的相加。不過這個東西很複雜,所以這裡就暫時先不討論。
那在館內流當中, turblent flow 的結構會是什麼樣子呢?這個東西可以分成幾層:
1. 壁面附近:叫 viscous sublayer 。很亂~~所以沒人知道怎麼算他~~。
2. 接著是以外的區域。這裡平均速度的分佈大致滿足 power law :
$$\frac {\bar{u}}{U} = (1 - \frac {r}{R})^\frac {1}{n}$$
一般來說,雷諾數越大, n 越大,圖形的鼻部會越緩。
因為 turblent flow 實在是太亂了,關係很難直接用推的。所以這裡用 dimensional analysis 取而代之。假定壓力差會跟管子的尺寸( $D$ )、流體流經的距離( $L$ )、表面粗糙度( $\epsilon$ )、流體平均速度($\bar{u}_{avg}$)還有流體性質($\rho$、$\mu$)有關,也就是:
$$\Delta P = \Delta P(D, L, \epsilon, \bar{u}_{avg}, \rho, \mu)$$
然後開始無因次化。不過因為無因次化的過程有點無聊,所以就省略掉。無因次化完的結果就是:
$$\frac {\Delta P}{\frac {1}{2}\rho \bar{u}_{avg}^2} = f(\frac {L}{D}, \frac {\epsilon}{D}, Re)$$
因為實驗做出來大致上來說,「$\Delta P$ 正比於 $L$」, 所以可以把這個關係更近一步寫成:
$$\frac {\Delta P}{\frac {1}{2}\rho \bar{u}_{avg}^2} =f(\frac {\epsilon}{D}, Re)\frac {L}{D}$$
因此:
$$\Delta P = f(\frac {\epsilon}{D}, Re)\frac {L}{D}\frac {1}{2}\rho \bar{u}_{avg}^2$$
然後就發現這東西跟剛剛訂出 Darcy Friction Factor 時,形式根本是一樣的!只是剛剛是說:如果知道是 Laminar Flow ,那 $f$ 可以直接用 $\frac {64}{Re}$ 代掉, 而 Turblent Flow 是...恩...不知道是什麼東西。
那這個 $f$ 要怎麼找?這要使用另一個~~沒有為什麼~~從別人 paper 引用來的公式。
## Colebrook Equation
大致上就是在跟你說那個 $f$ 跟 $Re$, $\epsilon$, $D$ 的關係。
$$\frac {1}{\sqrt{f}} -2.0log_{_{{10}}}(\frac {\epsilon / D}{3.7} + \frac {2.51}{Re\sqrt {f}})$$
這是一個隱函數的關係,所以不能直接把 $f$ 帶出來。不過可以用計算機迭代來找出 f 。
有一個比較近似的顯示關係是:
$$\frac {1}{\sqrt{f}} \approx -1.8log_{_{{10}}}(\frac {6.9}{Re} + (\frac {\epsilon / D}{3.7})^{1.1})$$
如果表面很光滑,也就是 $\epsilon = 0$,這個就可以做一些化簡。變成:
$$\frac {1}{\sqrt{f}} = 2.0log_{_{{10}}}(Re\sqrt{f})$$
這個叫做 Prantl Equation。因為是 Prantl 做出來的。
近似的顯式表示就是:
$$\frac {1}{\sqrt{f}}\approx 1.8 log_{_{{10}}}(\frac {2.51}{Re\sqrt{f}})$$
另外一個特例就是 $Re \to \infty$,那麼就換另外一項變成 0。所以就變成:
$$\frac {1}{\sqrt{f}} = 1.8log_{_{{10}}}(\frac {\epsilon / D}{3.7})$$
這個叫做 Von Karbon equation。
>> 蔡:這樣看起來 Prantl 跟 Kaman 都在偷懶...不過實際上是 Prantl 跟 Kaman 先做出一部分的結果,最後 Colebrook 把他們兩個整合再一起的...所以這個啟示就是「適時」的「統合」前人的結果...
上面那一堆醜的要命的公式真的是很難帶。所以有一個叫 Moody 的人做了更懶的事:
![](https://i.imgur.com/1UgYKl5.png)
這個東西就叫做 Moody Chart
這個圖的概念是這樣:
1. 每一條曲線代表一個 $\frac {\epsilon}{D}$ 值
2. 每一個曲線經過一個界限之後,都會變平的。把那些準備轉平的點通通找出來,連成一條線。就是上面那個切開的虛線
3. 左邊那一坨意義不明的東西是 Transition Flow 的意思。
講了這麼多,這些東西到底要怎麼用呢?通常處理問題的方法是這樣的:
1. 從 $Q$ 來找 $\bar{u}_{avg}$
2. 算雷諾數,看是哪一種流。
3. 找出對應的東西代:
* 如果是 Laminar, 就帶 $\frac {64}{R}$
* 如果是 turblent flow, 就手動迭代出 $f$。不然就查表(如果有表可以用的話)。
4. 把對應的 f 帶進 $\Delta P = \frac {L}{D}\frac {\rho \bar{u}_{avg}^2}{2}$
所以可以發現關鍵都在查表、代公式、迭代。
迭代的話,先用顯示猜一個值,然後一直輪流迭代。大概的演算法像這樣:
```C
#define ERROR 10e-5 // 通常是有效位數 4 位以下
double pre = explicit(Re(u, L, D, mu), roughness, D, L);
double f = implicit(Re(u, L, D, mu), roughness, D, L, init);
while(abs(pre - f) > ERROR) {
double tmp = Re(u, L, D, mu);
if(tmp < 4000){
printf("exception occur.\n");
break;
}
f = implicit(Re(u, L, D, mu), roughness, D, L, f);
}
```
這個東西的基本原理其實就是 fixed-point method。
Major Lost 主要都是在教怎麼迭代。這...有點尷尬啊。
順帶一提,如果你計算機是用~~工院神器~~ Casio 991 的話,他有內建[解方程式](https://georgegarside.com/blog/casio-calculator-tutorials/fx-991es-plus/equation-solve/)的功能。可以減輕迭代按到手抽筋的症狀。
# 6.7 Minor Losses
他可能比 majot lost 還要大。
Minor Lost 就有點尷尬,因為狀況很多種,所以不一定導的出來。所以作法就是定義一個常數然後把所有因素都推給他。這個倒霉鬼叫做「Lost Coefficient」:
$$k_{L} = \frac {H_{L}}{\frac {u_{avg}^2}{2g}} \Rightarrow H_{L} = k_{L}\frac {u_{avg}^2}{2g}$$
或者是用等效長度。這種想法是「轉彎造成的 head lost, 看起來就像長度增長了多少」。所以就是:
$$H_{L} = k_{L}\frac {u_{avg}^2}{2g} = f\frac {L_{eq}}{D}\frac {u_{avg}^2}{2g}\Rightarrow L_{eq} = \frac {D}{f}k_{L}$$
詳細可以看表 8-4
![](https://i.imgur.com/58Zynpn.png)
不過這種做法僅限於「沒有分流」的狀況。
這裡有一些注意事項:有導角 vs. 沒導角的 $k_{L}$ 會差很多,理由是因為這樣:
![](https://i.imgur.com/d1pCyGt.png)
沒有導角的狀況就會產生兩個 Recirculating bubble, 流體流進去就會一直空轉跑不出來(而且還會一直白白消耗能量),這個效果就好像管壁變小了,這個效應叫做「Vena Contracta」,中文叫「頸縮現象」。
另外一個可能讓 head 減少很多的狀況較「sudden expansion」,像這樣:
![](https://i.imgur.com/20XO715.png)
這個也會造成~~送頭~~頭損失。這裡的 $k_{L}$ 是:
$$k_{L} = \alpha (1 - \frac {A_{small}}{A_{large}})^2$$
其中 $\alpha$ 叫做「Kinetic Energy Correction Factor」,這個跟之前的 $\beta$ 很像,只是變成能量版:
$$\alpha = \frac {\dot{kE_{tot}}}{\dot{kE_{avg}}} = \frac {\frac {1}{2}\rho \int u^3 dA}{\frac {1}{2}\rho u_{avg}^3A} = \frac {1}{A}\int(\frac {u}{u_{avg}})^3 dA$$
這個東西的值:
$$\alpha = \begin{cases}
2 & for\ fully-developed\ laminar\ flow \\
1.05 & for\ fully-developed\ turblent\ flow
\end{cases}$$
# 6.8 total head loss and pressure drop
這裡要介紹怎麼結合剛剛學到的東西做一堆 combo 技能。
首先是「如果有很多個部分都會造成頭損失,要怎麼算?」,這裡的作法其實滿直覺的,就是全部把她們加起來:
$$H_{lost} = H_{major} + H_{minor} = \sum f_{i}\frac {L_{i}}{D_{i}}\frac {u_{avg,i}^2}{2g} + \sum k_{L,j}\frac {u_{avg,j}^2}{2g}$$
然後注意一點:這個頭損失是考慮到「整個截面」之下的平均頭損失。不過印象中如果伯努力方程要長這樣的話:
$$H_{tot} = \frac {p}{\rho g} + \frac {|\vec{u{}}|^2}{2g} + z$$
必須要「沿同一條流線」,也就是這個頭是單一流線的 case。所以這個也要平均起來才行。所以這時候頭要用平均的頭「average elevation head」:
$$H_{tot,avg} = \frac {1}{\dot{m}}\int H_{tot}(\rho u)dA = \frac {1}{\dot{m}}\int (\frac {p}{\rho g} + \frac {|\vec{u{}}|^2}{2g} + z)(\rho u)dA$$
(就是仿照平均速度、平均動能的方式下去平均)。
然後想當然就是做一堆不乾淨的積分,然後用:
$$\alpha = \frac {1}{A}\int (\frac {u}{u_{avg}})^3dA$$
把動能那一項的積分代掉。所以這時候的頭就要用下面這個東西了:
$$H_{tot, avg} = \frac {p}{\rho g} + \alpha \frac {u_{avg}^2}{2g} + z_{avg}$$
所以這時候,就可以寫成:
$$H_{upstream} = H_{downsream} + H_{lost}$$
也就是:
$$\frac {p}{\rho g} + \alpha \frac {u_{avg}^2}{2g} + z_{avg}\bigg{|}_{upstream} = \frac {p}{\rho g} + \alpha \frac {u_{avg}^2}{2g} + z_{avg}\bigg{|}_{downstream} + H_{lost}$$
反正後面就是自己把他帶開就對了。