Try   HackMD

流體力學 Week 12 - Dimension Analysis

因次分析

"State-of-the-art" method.

因次

「因次」是量測物理量的一種「方法」,比如說長度、質量等等。在提到「因次」的時候,我們指的是一種抽象的概念,而當真的需要聲明值是多少時,我們會加上一個跟那個因次符合的「單位」。

講到因次就要講到物理的一課的「七大物理量」

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

這些物理量叫做「primary/fundamental/basic dimensions」。其他不在上面的那些物理量就叫做「non-primary/secondary dimensions」,而他們都可以用上面這些物理量來表示。

比如:

[]=[/2]=[Lt2]

[]=[×]=[mLt2]

[]=[/]=[mt2]

其他物理量也可以以此類推~

(等一下要考材力我都沒有念 QQ)

無因次化

蔡:Nondimensionlize <- 這個字超長的。如果你在 word 打出來發現他被標成紅線,不要理他。

首先,方程式中的每一項,「因次」都要相同。這個概念聽起來像廢話,不過他居然還有個名字,叫做「Law of Dimensional Homogeneity」

因為這個概念,所以可以把所有東西的單位用某種方法全部消掉,把所有項通通變成沒有因次的東西。好處是不會因為 scaling (比如說單位不一樣)的關係讓長相不一樣。

另外一個好處是 simularity, 可以用比較小的東西模擬大的東西。這個更後面會提到。

先舉個簡單的例子。比如說鉛直拋體:

d2zdt2=g

初始條件:

{z(0)=z0dzdt(0)=w0

解為:

z=z0+w0t12gt2

這裡面每一項都有自己的 dimension 。裡面有變數(像

z,
t
)、常數(
g
),還有跟系統配置有關係的初始條件等。他們有各自的稱呼。說明如下:

  1. 裡面的
    z
    ,
    t
    這種有因次的變數都叫做「dimension variables」
  2. 而像
    g
    這種「有因次的常數」就叫做「dimensional constant」
  3. z0
    ,
    w0
    這種可以亂調的系統參數就叫做 「dimensional parameters」

然後開始無因次化了。

憑感覺的作法

這裡先直覺的介紹無因次化該怎麼做。這篇後面講到 Buckinham Pi Theorem 時,會有更系統性的方法來無因次化。

鉛直拋體

無因次化最簡單的方法就是有什麼除什麼。比如說:

z

有「長度」的因次,那就把它除某一個長度:

zz0

他就不會有因次了~聽起來滿合理的(其實就有點 normalize 的 fu 嘛)。這個步驟講得文鄒鄒一點叫決定 scaling parameters

這些除下去的長度通常不會亂取,而是會取某些「有代表性的長度」,這種長度通常叫做「特徵長度」。同樣也有「特徵時間」「特徵XX」這些東西。不過這是個有點模糊的概念,有時候會根本不懂這個天殺的「特徵XX」到底是怎麼找到的。看下去就知道。

我們目前還沒有選定「特徵時間」「特徵長度」是什麼。不過假定我們已經「決定」了某個「特徵長度」

zc 跟特徵時間
tc
,並令:

z=zzc,t=ttc

利用把原式同乘同除的來湊一下,方程式就變成了:

d2zdt2=d2z/zcdt2/tc2(zctc2)=d2z2dt2(zctc2)=gd2zdt2=gtc2zc

因此:

d2zdt2=gtc2zc

就是無因次化的微分方程。方程式的解也可以無因次化成:

z=zzc+w0txzct12(gtc2zc)t2

如果覺得用「同乘同除」湊有點麻煩的話可以用下面這個小技巧:

小技巧:

因為:

{z=zzct=ttc
所以可以知道:
{z=zczt=tct

把所有的
z
t
代掉就會得到無因次化的結果。比如
z=z0+w0t12gt2

z=zcz
,
t=tct
代入,得到:
(zcz)=z0+w0(tct)12g(tct)2

展開並移項,就會得到:
z=z0zc+w0tczctgtc22zct2

邊界條件也可以無因次化,比如說:

z(0)=zcz(0)z(0)=z0zcdzdt=zcdztcdt=w0dzdt(0)=w0tczc


好,無因次化的主要工作到此就告一段落了。稍微統整一下剛剛無因次化的結果:

d2zdt2=gtc2zc

邊界條件:

{z(0)=z0zcdzdt(0)=w0tczc

解為:

z=z0zc+w0tczctgtc22zct2

但是還是有一個小問題,就是這個「具有代表性的」

zc
tc
到底該怎麼選?其實可以有很多種選法,基本上就是你開心就好。這裡舉出幾種:

  1. 最簡單的方法就是把

    z0=zc,
    tc=z0w0
    。看起來很正常的選擇嘛~

    所以方程式就變成:

    d2zdt2=gz0w02

    (其實就是剛剛無因次化完的東西把

    tc
    zc
    代掉而已。)

    解就變成:

    1+t12(gz0w0)t2

    邊界條件:

    {z(0)=1dzdt(0)=1

    不過這樣有個 bug,如果初速度是 0 他就爆了。所以要想一下其他的方法。

  2. 另外一種方法是

    zc=z0,
    tc=z0g
    。然後你可能想
    z0g
    是怎麼來的?其實也沒什麼道理,就只是剛好他的因次是時間。

    把上面的

    zc,
    tc
    帶進去之後:

    d2zdt2=1

    z=1+w0z0gt12t2

    然後發現這個系統的微分方程的長相,只跟一個

    t 的一次項的係數有關,也就是這個東西:

    w0z0g

    這個東西叫做 fraud Froude Number。他是個沒有因次的數(廢話)。通常我們會叫這種東西是個「無因次常數」。後面會再看到他。

  3. zc=w02g,
    tc=w0g
    。然後你可能想誰沒事會取
    zc=w02g
    這種鬼東東?答案其實也沒什麼道理,就他的因次剛好是時間。

    所以把上面的

    zc,
    tc
    帶進去之後:

    d2zdt2=1

    z=w02z0g+t12t2

    然後又發現 Froude Number 又出現了,可以注意到常數項就是 「Froude Number 的平方」。

除了第一種方法之外可能會爆掉之外,後面兩種方法應該都是 OK 的。那這樣為什麼還要寫兩種寫法呢?

答案是「 Froude Number 出現在不同項,會有不同的好處」:

  1. 比如說如果他很小,第3. 方法可以省略常數項; 而2. 方法就沒有這個好處。

  2. 類似的道理,如果 Froude Number 很大,那麼第 3. 的方法常數項很顯然不能省略,看起來就像是自找麻煩; 而 2. 的話,一下子就可以省略常數項的 1 。

因此,可以根據不同 Fraud Number ,就可以選擇適合計算的無因次策略。不過這時候有個小問題出現了:

「誰沒事會想到用

z0g 當特徵時間啊啊啊啊啊」
「那個
zc=w02g
,
tc=w0g
到底是怎麼湊出來的 囧 ?」

你以為取這種東西就很怪了嗎?後面有更怪的。

先給原始版的 Naivier-Stokes Equation :

ρ(ut+(u)u)=(P)+μ2u

然後這裡做個小實驗:自己猜一下裡面的東西要取哪些量來無因次化。給你 30 秒。







好我要公布解答了,答案是這樣:

{u=uVx=xL=Lt=tL/V=Ltcp=pρV2

V 是無限遠的速度。
tc=LV
叫做 convective time unit。而壓力就是用動壓的兩倍來做無因次化。

然後可以發現有的東西實在取得有點奇怪:

「蛤?我怎麼知道

t 要取那個鬼東西來無因次化啊?」

然後看了一眼壓力無因次化的方法是用動壓叫更崩潰

「除非被雷打到,誰沒事會知道要用這鬼東西無因次化啊?」

雖然目前這東西已經累積了兩張黑人問號.jpg, 不過這個問題後面就會回答了。這裡先繼續把東西帶進去。可以用剛剛那個技巧:

因為:

{u=uVx=xL=Lt=tL/V=ttcp=pρV02
所以
{u=Vux=Lx=1Lt=(L/V)tp=ρV2p

本來 Navier- Stokes Equation 長這樣:

ρ(ut+(u)u)=(P)+μ2u

把該帶的東西通通帶進去之後,就會得到:

ρ(VL/Vut+V2L(u)u)=ρV2L(P)+μVL22u

然後全部除下去:

ut+(u)u=(p)+μρVL2u

注意整個微分方程只剩下一個黏滯項那裡有一個常數

μρVL 了,所以就給個定義 「雷諾數」:

Re=ρVLμ

注意這個雷諾數也是個無因次參數。因此就變成了:

ut+(u)u=(p)+1Re2u

這就是無因次化的 Navier Stokes Equation 了。

這個雷諾數有什麼物理意義嗎?有的!他可以這樣看:

Re=ρVLμ=

如果雷諾數很大,表示慣性力相對黏滯力很大,表示流體會有 Boundary Layer (邊界層); 如果雷諾數很小,表示流體很稠,所以就叫做 Creepy Flow (潛流)。

Nature of Dimensional Analysis

首先考慮一個流過一顆球的流體。我們想要求出「阻力」大小跟其他變因的關係。首先來看看影響的可能因素有哪些:

  1. 流體的速度
    V
  2. 幾何形狀:比如說直徑
    D
  3. 流體的性質:密度
    ρ
    , 黏滯係數
    μ

所以

FD=f(ρ,μ,V,D)

如果要做實驗的話,如果每個變數都試 10 種就好,那麼這樣就要試:

10×10×10×10=10000

這樣聽起來超多的。不過實際上上面那個關係可以無因次化成:

Cf=FDρV2D2=F(ρVDμ)=F(Re)

這樣只要測 10 個雷諾數,再根據需求調整其它參數,就可以得到需要的曲線。

(圖)




OK fine. 聽起來省了超超超多的力。不過這裡(老樣子)又有一個問題:

「到底誰沒事會想到取

FDρV2D2
ρVDμ
這兩坨醜不拉機的東西啦!!」
「到底誰沒事會想到取
FDρV2D2
ρVDμ
這兩坨醜不拉機的東西啦!!」
「到底誰沒事會想到取
FDρV2D2
ρVDμ
這兩坨醜不拉機的東西啦!!」

撐了 3 張黑人問號.jpg ,這個問題終於下一行就會解決了。

Buckingham Pi theorem

安安 這裡剛剛那 3 張黑人問號.jpg 的答案。

問題表述

主要問題是這樣:

  1. 假定有:

    1. n
      個物理量:
      qi
    2. m
      個 primary dimensions
      dj
  2. 我們的目標是「把一個物理量,用剩下的物理量表示」,像剛剛是用

    f(ρ,μ,V,D) 去表示
    FD
    。寫的抽像一點就是希望找到:

    q1=f(q2,q3...qn)g(q1,q2,...qn)=0

    其中:

    [qi]=[d1M1id2M2i...dmMmi]

    我們想要把本來的:

    q1=f(q2,q3...qn)

    表示成這樣:

    Π1=F(Π2,Π2...Πnr)

    其中,每個

    Πi 都是一個無因次參數。

    Buckinham Pi Theorem 說這件事情是可以做到的,總共會生出

    nr 個無因次參數。那這個
    r
    表示什麼?這個
    r
    是這樣:

    把所有的

    q
    d
    寫成一個矩陣:

    q1
    q2
    qn
    d1
    M11
    M12
    M1n
    d2
    M21
    M22
    M2n
    dm
    Mm1
    Mm2
    Mmn

    這個矩陣的 Rank 就是

    r 。不過一般來說這個
    r
    常常跟
    m
    是一樣的。

步驟

  1. 列出 dimension matrix : 把那

    n 個物理量寫出來,然後他們對應的
    m
    個主要因次寫出來(其實就是把上面的矩陣寫下來)

  2. 算出 Rank: 把那個矩陣的寫出來,算他的 Rank。通常

    rm<n

  3. 選擇

    r 個變數:通常就是像上面那樣,選取跟幾何形狀、流體性質有關的變數。不過基本上只要你爽就好。這些
    r
    會當作「repeated variables」。至於「repeated variables」是什麼?等一下就會看到。

  4. 建立 Pi group : 選完

    r 個之後,剩下還有
    nr
    個物理量。我們接下來就要用剛剛選的
    r
    個物理量去無因次化剩下的
    nr
    個物理量。這個步驟叫叫建立
    Π
    groups。每個無因次化過後的物理量都用
    Π
    表示

    假定

    q1,q2...qr 是剛剛選的那
    r
    個「repeated variables」,剩下
    qr+1,qr+2...qr+k...qn
    是準備無因次化的物理量。

    假設現在是要無因次化

    qr+k,所以我們就猜
    qr+k
    乘上一串
    q1a1q2a2...qrar
    之後,就可以剛好變成無因次化,也就是:

    Πk=q1a1q2a2...qrarqr+k

    以及因為希望

    Πk 是無因次參數,所以:

    [Πk]=[d10d20...dm0]

    但是因為

    Πk=q1a1q2a2...qrarqr+k ,所以:

    [Πk]=[q1a1q2a2...qrarqr+k]=[d1(i=1rMijaj)+M1,r+kd2(i=1rMijaj)+M2,r+k...]

    因此解:

    [d1(i=1rMijaj)+M1,r+kd2(i=1rMijaj)+M2,r+k...]=[d10d20...dm0]

    就可以把每個物理量無因次化的形式

    Πk 找出來了。

    聽起來有點抽象,不過看後面例子就會知道怎麼做了。

例子:垂直拋體

  1. 物理量有:

    z,
    t
    ,
    z0
    ,
    w0
    ,
    g
    ,所以 n = 5。總共的 primary Dimension 有
    L,t
    ,所以
    m=2

  2. dimension matrix 長這樣:

    z
    t
    z0
    w0
    g
    L
    1 0 1 1 1
    t
    0 1 0 -1 -2

    Rank = 2,所以

    r=2

  3. r 個物理量。這裡選
    z0,w0

  4. 總共會有

    nr=52=3
    Π
    group。所以一個一個解。剩下的物理量有
    z,t,g
    ,把他們一一無因次化:

     Π1=z0aw0bz[Π1]=[La+b+1tb]=[L0t0]a=1,b=0

    這個就會得到

    Π1=zz0

     Π2=z0aw0bt[Π2]=[La+b+1tb+1]=[L0t0]a=1,b=1

    這個會解到

    Π2=w0tz0=t

     Π3=z0aw0bg[Π3]=[La+b+1tb2]=[L0t0]a=1,b=2

    這個會解到:

    Π3=gz0w02=1Fr2

    這個就跟之前一樣。

    另外,根據 Buckingham Pi 理論,可以知道:

    Π1=F(Π2,Π3)z=F(t,Fr)

    至於這個確切的關係是什麼?通常就是做實驗去找。

例子:球體的阻力

  1. 變數總共有:

    D,V,ρ,μ,FD 5 個,主要因次有
    m,L,t
    3 個。所以
    n=5
    ,
    m=2

  2. dimension matrix 是:

    D
    V
    ρ
    FD
    μ
    m
    0 0 1 1 1
    L
    1 1 -3 1 -1
    t
    0 -1 0 -2 -1

    Rank = 3。

  3. 選 3 個 repeated variables,這裡選

    D,V,ρ

  4. 解剩下 2 個 equation:

    首先是

    Π1

    Π1=DaVbρcFD[Π1]=[m0L0t0]=[mc+1La+b3c+1tb2]

    解出

    a,
    b
    ,
    c
    得到:

    a=2,b=2,c=1

    所以把

    a,
    b
    ,
    c
    代回,得到:

    Π1=D2V2ρ1FD=FDρV2D2

    再來是

    Π2

    Π2=DaVbρcμ[Π2]=[m0L0t0]=[mc+1La+b3c1tb1]

    解出

    a,
    b
    ,
    c
    得到:

    a=1,b=1,c=1

    所以把

    a,
    b
    ,
    c
    代回,得到:

    Π2=D1V1ρ1μ=μρVD=1Re

    所以:

    FDρV2D2=F(1Re)

常用的無因次參數

自己去查課本。

Simlarity:風洞、水洞測試

無因次化還有另外一個用處。想像一下今天研究一台飛機的流場,總不能造一個跟飛機一樣的超超超超大的風洞。

不過我們又知道無因次參數一樣,方程式就一樣,所以能不能造一個縮小版的東西,然後讓他們的無因次參數一樣,這樣是不是就能模擬出放大版的狀況了呢?這是有可能的,比如說做到:

  1. 幾何成比例:geometric similarity
  2. 速度成比例:kinematic similarity
  3. 力量成比例:因為測量力比較難,所以這個通常就是要求
    Π
    groups 成比例。

有的時候只能做到部分

Π group 相同,這種叫做 incomplete similarity。而全部
Π
group 都一樣就叫做 complete simularity。

比如說剛剛的阻力:

FDρV2D2=F(Re)

只要

Re 一樣,剩下的東西都一樣,所以:

(ρVLμ)m=(ρVLμ)p

因此需要的風速:

V,mV,p=μmμpρpρmLpLm

然後就發現如果做 100 比 1 的模型,假定風速是

100m/s ,就會發現風速需要吹到每秒 10000 公尺這個根本做不到,所以要想其他方法。這時候就可以考慮把這東西放在水裡面,叫做水洞測試。這時候:

ν,mν,p=νwaterνair=0.057

所以:

V,mV,p=νmνpLpLm=1000.057=5.7

只要讓水的速度變成

570m/s 就可以了~