為什麼魚在流動的水中能保持不動而不會被流水沖走? | 知乎問答精選

 

A-A+

為什麼魚在流動的水中能保持不動而不會被流水沖走?

2018年06月29日 知乎問答精選 暫無評論 閱讀 33 ℃ 次

【YewwahLew的回答(46票)】:

魚在水中游動的機理屬於動物運動學(animal locomotion)的範疇,是仿生學的一個研究分支。

========================= 魚兒水中游 ======================

  • 各種游動方式

俗話說「沒見過豬跑還沒吃過豬肉嗎」,咱不知道魚怎麼游泳還能不知道人怎麼游泳嗎。簡單來說,游動就是靠作用力反作用力嘛。以蛙泳為例,手臂划水,腳蹬水,都是向後推水,水流可以施加一個反作用力在人身上,推動人向前游。但這個辦法還是有弊端,等你手劃到後面了,總得再返回到前面吧?要不然下一步怎麼辦?向前送手的時候,無論如何縮小水流對手的正面面積,總是免不了會受到向後的反作用力。聰明如人類,自然是不會服輸的,所以發明了如自由泳,蝶泳這樣向前送手的時候把手拿出水面,減少和避免向後作用力的游泳方式。正因如此,自由泳一般都會比蛙泳快一點。人類有靈活的肩部,而且一般在水面游動,所以有這樣的方法。那動物怎麼辦呢?分別看看在水面游的和在水裡游的。在水面游動的禽類,一般都進化出了可以收放的腳蹼,向後划水的時候盡量展開,增加對水面積;而收回來時會收起腳蹼,減少對水面積來最小化向後的反作用力(阻力)。照這個思路,在水裡游的似乎應該長出一對大翅膀才對,向後扇水再縮回來豈不是超給力?然而我們都知道,事實上在水裡游的,除了海龜這樣不趕時間可以慢慢游的(海龜君:游著也中槍,怪我咯?)是靠划動(扇動)這樣的方式前進,魚類大多是靠擺動身體來達到向前游動的目的。為了減小阻力,魚兒們在進化過程中甚至壓根就放棄了上肢(手臂,翅膀)這個技能點,側面的魚鰭非常小,只起到方向調節等輔助作用。

說了這麼多,總算得到了一個地球人都知道的結論,那就是「魚類靠擺動來前游」(廢話……)。那接下來就看看為什麼魚兒擺一擺,就可以在水裡游得那麼歡騰。

  • 推力與反卡門渦街

莫急,一切還要從著名的卡門渦街說起。

眾所周知,卡門渦街是流體遇到障礙物時在障礙物後方形成的兩排對稱的漩渦,漩渦的方向相反,指向渦街的內側。圖一中即為圓柱障礙物後(下游)的卡門渦街。一方面,卡門渦街會引發障礙物的震動,在橋樑設計,高層建築設計中都必須要考慮到;另一方面卡門渦街會使障礙物後方流體形成一個反向的流動,根據作用力反作用力原理(動量守恆),這會使障礙物受到一個阻力。在空氣中因為氣體密度很小這股流動的作用力不是很顯著,但換成水流這個力就不可小視了。一個直觀的理解就是如果人在水裡把水往懷裡抱,水向自己流,自然就會受到一個與水流方向相反的力。

可是這跟魚有什麼關係?一方面,魚的流線型的確避免了產生阻力的卡門渦街,另一方面,魚兒通過不斷擺尾來在身後製造了「反卡門渦街(reverse Karman vortex street)」,使身後的水流向後,對自身施加向前的推力。

其實不光是魚類,很多浮游生物,甚至細菌,細胞(你猜我說的哪種細胞?),(經 @劉佳鑫 提醒在細胞尺度表面力起主導作用,可能無法形成反卡門渦街)都是通過類似的擺動來讓自身前行。這樣產生向後的水流來推進自己前進,比「愚蠢的人類」靠手劃不知道要高明到哪裡去了。

(這張圖上U的方向有一點混亂。簡單說明一下(a)中U指水流方向,圓柱固定。(b)中U指魚前進速度方向。(c)和(d)中橫軸是下游水流速度。(c)中下游水流方向向左,會對圓柱產生向後作用力(阻力)。(d)中下游水流方向向右,對魚產生向左的推力。)

  • 推力與擺尾的關係

去年一個研究組在《自然》雜誌物理子刊上發表了一個適用於小到昆蟲,大到藍鯨的關於擺尾和游動速度之間關係的關係式。這個研究組收集並整理了超過1000種動物(包括魚,哺乳動物,鳥,爬行動物,兩棲動物和昆蟲)的研究數據,發現了一個普適的關係。並且這個關係式就像愛因斯坦著名的質能方程E=mc^2一樣簡單而美妙。 研究組發現,如果前進速度參數用雷諾數Re表示,擺尾用游動參數(Swimming number)Sw表示。他們之間的關係就是

在層流時等於4/3,在湍流時等於1。更令人吃驚的是這個關係式的推導非常簡單,有一點基礎的流體力學知識就能看懂。在這裡我把文中的推導過程轉述如下,不感興趣可以直接跳過。

首先將三維問題簡化為二維,重力方向不做特殊考慮,在之後的推導中表示為每單位深度(per unit depth)。相當於圓柱擾流問題中不考慮圓柱長度方向(或認為圓柱無限長)。

參數定義如下:

U: 魚前進的速度; L: 魚的特徵長度;

:水流在魚表面的邊界層厚度;

流體參數:

(粘度),

(密度),

(動粘度)

擺尾參數:A(擺幅),

(頻率)

雷諾數的定義是基於魚前進的速度和魚的特徵長度

推力(thrust):為了估計擺尾向後推水產生的向前反作用力,我們需要估計被退後的水的質量和加速度。其質量近似為

每單位深度(垂直紙面方向),其加速度為

,所以其反作用力為兩者之積

。考慮到擺尾和前進方向角度為A/L,所以延前進方向的推力更新為

摩擦阻力(skin drag):層流時,水流作用在魚表面的阻力可以近似為

每單位深度,其中邊界層厚度可以用雷諾數估計

。帶入Re的定義可得摩擦阻力為

。阻力等於推力整理可得:

其中游動係數

,可以看做是截面方向的雷諾數。

湍流阻力(pressure drag):在湍流中,阻力的主要組成部分是滯止阻力(pressure drag),可以近似為

每單位深度,與推力平衡可以得出

下圖為研究組整理的數據點。

雖然以上的分析是針對左右擺動的魚所得出的結論,但這個結論可以推廣到上下擺尾的藍鯨。至於鳥類的數據點是怎麼得出的就不是很清楚了……

PS: 請專業人士不吝賜教,大刀斧正;另外,文中如果有艱深晦澀之處,也請大家多提意見和建議,我會爭取改正,在以後的文章中注意。

PPS:做了一周的調研,完成渣製圖,在知乎公式編輯器裡面打了半天之後發現有點文不對題…按高考作文應該0分算…捨不得刪掉,勉強放在這裡看一看吧,嚶嚶嚶~~~

關於轉載:

歡迎個人分享到朋友圈等私人平台。公眾號和媒體請署名轉載,歡迎打賞 。

參考條目:

1. https://en.wikipedia.org/wiki/K%C3%A1rm%C3%A1n_vortex_street

2. Eloy, Christophe. "Optimal Strouhal number for swimming animals." Journal of Fluids and Structures 30 (2012): 205-218.

3. Gazzola, Mattia, Mederic Argentina, and Lakshminarayanan Mahadevan. "Scaling macroscopic aquatic locomotion." Nature Physics (2014).

標籤:-流體力學 -仿生學


相關資源:





給我留言