隨著計算流體力學的發展,如果未來計算機足夠強力的話,湍流是否就不再是個問題了? | 知乎問答精選

 

A-A+

隨著計算流體力學的發展,如果未來計算機足夠強力的話,湍流是否就不再是個問題了?

2017年07月25日 知乎問答精選 暫無評論 閱讀 46 ℃ 次

【physixfan的回答(76票)】:

我老闆對這個問題的看法是:能夠算出結果並不代表我們理解了那個問題。simulation更接近實驗,而非理論。所以至少我老闆還是很強調在跑程序前多想多思考的。

PS老闆是個美國人但是他不知道從哪裡抄來了一句「學而不思則惘」在ppt上來告誡我們不能只跑simulation而不做理論。。。

【馬拉轟的回答(47票)】:

————————

關於仿真和實驗的關係再多說兩句

所謂做「仿真」有兩重意義

一重是用別人的方法來解決自己的問題,這類工作可以看做是實驗的近似和補充。最極端的就是DNS,都」直接數值模擬「了,也就無所謂誰的方法,而且可行度也可以和實驗比肩,代價可能還更高。

另一重是開發新的方法、模型用於仿真。這類工作本質和實驗不同,需要一定程度的抽像和理論構造,所以不存在蒙頭便算的情形。有更工程便經驗的路子,也有偏理論的路子,應該說是理論研究和實用創新的結合。

————————

不大會講客套話,見諒。

————————

題主的問題有些模糊,你所說的「湍流問題」指的是什麼? @Kaiser 的回答混淆了Clay Institute的某個千禧年問題,還有人提到了數值解的殘差問題,本著正本清源的精神,這幾件事應該分開來討論。

「湍流問題」可以有兩種解讀

第一種是應用層面的,即在存在湍流現象的系統中,給定邊界條件,我們能不能預測某些宏觀統計量或者瞬時值。前者例如給定飛機翼形、攻角、速度等,能不能預測平均升力和阻力?後者例如預測下周某一天的降雨、風速、陰晴。

前者應該說答案是很肯定的,現在的計算能力剛夠可以做帶Wall-Model的機翼LES,2030年前估計可以做整機的Wall-model LES,,機翼的DNS,或者起碼Wall-Resolved LES。Wall-Resolved LES 和 DNS的精確性已經完全可以和實驗比肩了。

後者的答案是半個肯定。計算能力假以時日一定能達到。也就是說我們可以相當精確地計算大氣運動,但是因為湍流本身是高自由度的非線性系統,或者說是混沌的,準確的長期預報是理論上不可行的。Edward Lorenz在60十年代就指出,由於混沌系統對初始值的敏感性,天氣預報的理論極限在三周左右。

湍流問題的第二種解讀是物理層面的。所謂經典物理的最後難題,指的是這個層面。雖然湍流是混沌系統,我們無法做瞬時值的長期預測,但觀察表明湍流的宏觀統計量是穩定的。舉個例子,一個勻速運動的球體,尾部形成湍流。尾流的速度場一直在變化而球速是個定值。顯然,其瞬時值並不能表示成球體速度的方程。但如果給定球速,速度場的時間平均值是確定的(起碼經驗的來說)。眾所周知,NS方程描述的是瞬時值的演變,那什麼方程式可以用來描述這個穩定的宏觀統計量呢?顯然這個方程不是NS方程。而簡單的把NS方程做時間平均,或者系綜平均,又會產生多餘的未知量。

換而言之,這個混沌系統有一個並不混沌的宏觀統計量,約束這個量的物理規律我們還不知道。通過DNS,我們可以得到一系列的瞬時值,然後可以處理得到統計量。但這並不等於我們掌握了約束這個統計量的物理規律。DNS只能相當於用計算機做實驗。數值模擬可以克服實際實驗上難以逾越的困難,因此可以幫助我們得到實驗難以獲得的數據,可以說是對實驗的補充。但是得到實驗結果和發現物理規律是兩回事。所以在這個層面上,答案是完全否定的。

Clay Institute的某個千禧年問題

(數學已經超過我的專業範圍,這裡只是拋磚引玉)

Clay Institute關於NS方程的千禧年問題並不是求解析解,而是證明給定任意光滑無散度初值,證明或者證否三維NS方程始終存在光滑解。所以這是個證明問題而不是求解問題。那這個問題和DNS或者說數值解有沒有關係呢?勉強有一點。

DNS或者廣義的NS方程數值模擬是求某一個弱解,NS方程千禧年問題是證明光滑強解存在性。本質上是非常不同的問題。不過,解決NS問題的一種思路是先構造某種弱解,證明這個弱解的存在性,然後通過強化這個弱解,最終得到光滑的強解。法國數學家Leray三十年代就做了類似的工作,當然最後一步沒做成,後來也沒有人做成。Terry Tao的博客裡說他覺得這不是一個可行的思路。而且他今年的發表的文章似乎顯示證否的可能性更大。

所謂數值解的殘差或者說精度,只是說給定某個初始值,如果存在光滑強解(真實值),某種數值方法得到的弱解和真實值的差在某個範圍裡面。所以這個概念本身並不涉及任意初值的強解存在性,也不涉及湍流。 @高陽說精度問題不是計算能力可以解決的,這個說法是錯誤的。凡是能用的數值方法,都必須滿足收斂性。方法好壞指的是收斂快慢。換句話說,給定計算資源下誰和真實值的誤差更小,如果沒有計算能力限制,不存在低精度方法和高精度方法誰更准的問題。

【Kaiser的回答(16票)】:

這個問題可以從科學和玄學兩個角度來看。

CFD,其實就是一個以有涯隨無涯的過程。

科學地來看,計算流體力學的主流方法是有限單元法,有限差分法,有限體積法。

湍流方程的解析解是克雷數學研究所的七個百萬美元大獎的題目之一,目前還沒有解決,因此所有方法本質上都是近似方法。

足夠強的計算機可以在較短的時間內捕捉到非常精密的湍流場結構,那麼大部分今天問題是可以得到更好的解決的。但是不論計算機再強,網格再精密,只要採用的還是這些「有限」方法,那麼就一定存在解決不了的問題。

玄學地來看,這個問題實際就是,用人類的知識所構建的世界能否與人類所處的世界等同?

【Corsola的回答(3票)】:

肯定還是的呀。就算你用這個超級計算機在全場秒解NS方程(假如數學手段可以證明我這個數值解在比如說,普朗克尺度足夠精確。當然這個假設我也是隨口一說,也許已經被證明做不到了呢)

你能說明NS方程是對的麼?

NS方程只是一個目前我們認為比較符合客觀實際的簡化模型而已。

【知乎用戶的回答(10票)】:

謝邀。

我曾經和題主有過同樣的想法。題主的想法也是很多人都想過的。我是做數值計算的,以前也想,當計算機的性能足夠強時,我們這些做計算的,豈不是沒飯吃了麼,直接全都按照最準確的方法扔進計算機算不就完了。哈哈。當然不會。因為沒有最準確的方法,人類對於自然的認識,永遠都是有限的。

湍流問題不只是一個計算機性能的問題。

1,即便是使用DNS,CFD求解的方程中還有很多項是有假設的。

現在我們對於湍流的認識其實還是非常有限的。

DNS方法的確是可以利用計算機的性能去強力的求解NS方程,極小的網格(小於Kolmogorov尺度),極小的時間步長(受限於CFL條件),從而得到高精度的解。

但是問題是,這個解的準確性不僅是流體流動模型(這裡採用DNS)決定的,還受限於其他方面的模型。舉個栗子,涉及湍流燃燒問題,即使是DNS中對於化學反應源項的處理,還是涉及各種模型,比如化學反應機理,化學反應動力學等等,這都是DNS能夠解決的問題。但是這些對於湍流燃燒,也是至關重要的問題。

湍流不只是流體的問題,當涉及到其他方面,比如所提到的湍流燃燒的時候,還會出現各種各樣的新問題。這都是目前湍流研究的難點。

也就是說所謂DNS不用假設只是一方面,真的求解複雜湍流問題的時候,還有很多目前我們並不清楚,或者說還在使用各種模型各種假設。

DNS只是一個手段,一種途徑,但是並不能解決湍流本身的問題。

2,即使是求解的方程中完全沒有任何假設,湍流問題還是存在。

這裡要注意的是,我們採用CFD方法求解流體問題:只是數值求解!既然是數值求解,就必然面臨著求解方法、求解格式所帶來的誤差以及局限性。比如積分格式(顯式積分還是隱式積分),離散格式等等。這些都影響數值解的精確性。這不是計算機性能所能解決的,而是方法問題。尤其是對於湍流問題,涉及到高度的耦合性,高度的非線性,這都給數值求解帶來巨大的困難。計算機只是幫助我們計算,但是怎麼算,怎麼求解這些方程,還是要人告訴計算機啊。

當我們嘗試著探究自然的本質的時候,會發現這個世界,如此的奇妙。

【知乎用戶的回答(0票)】:

那時候我們造出了一個新世界

【知乎用戶的回答(1票)】:

感覺不可能,那不是個純數值計算的問題。

是後一種,需要新的概念,新的理論描述。

就跟經典物理到量子理論的變化一樣,沒有這種概念上的進步,數值計算再精確也解決不了問題。個人覺得流體力學就屬於這一類。

【WotanZ的回答(0票)】:

湍流是一個"亂中有序,序中有亂"的現象,感覺尚無有效數學模型描述它,連續介質假設是失效的,但又不是完全不成立。需要物理本質理解方面大的進步, 湍流的發生伴隨著流線的纏結,融合,再產生,纏結,融合。。。比如首先找到準確描述湍流現象的幾何和拓撲。這需要多少數學家,應用數學家,工程人員的努力。。。。。。

【張力的回答(8票)】:

不請自答,參考了一些之前答案的觀點,文中暫時沒提,回頭補上。

1.首先,我認為解決湍流問題並不僅僅是說無限精確地求解NS方程,而更應當是從物理上理解湍流,說到底,其實追求的是簡單。

  • 舉個例子,假設計算機可以無限精確的得到任意雷諾數下卡門渦街的解,你能得到什麼?

一張流場圖,一張渦量圖,也許可以再做個動畫,然後呢?請問你現在可以告訴我什麼是卡門渦街,它是如何產生的?

對不起,如果你沒有理論的支撐,恐怕啥也沒有了。我老闆常說,如果一個做simulation的人只停留在調試算法的程度,那麼他不過只是個程序員,還不是科學家。(當然,如果是發展了一套算法的話,那也是很值得肯定的工作,但是話說回來,大多數優秀的算法,都是基於某種深刻物理認識後的結果,所以沒有理論功底,真的很難成事。)

所以,計算機模擬終歸只是個工具,某種程度上說,和實驗沒什麼區別,所以我覺得稱之為「數值試驗」更恰當

2.現在來談談實現「完美」模擬湍流的可能性。

首先是數值上的可能性。

現階段計算機都有捨入誤差,而目前的算法都有截斷誤差。這個暫時難以避免,那麼我們先把這些誤差忽略,假設我們有一台完美的計算機和一套完美的算法。

下一個問題是效率,小尺度的模擬DNS現在已經能做,但是大尺度下的計算量是可怕的。。。這來自於湍流本身在時間和空間上的多尺度性。(相信做simulation的人看到多尺度就知道這不是個容易摘的果子)

  • 這裡有個例子是 分子動力學(Molecular Dynamics),以前我也曾經覺得有了這玩意兒,那豈不是啥都可以做了~不就是牛頓定律底下撞一撞嘛,算唄,只要脫離量子力學和相對論的範疇,「一切看起來那麼美」。但是後來我發現自己too naive。首先,和上面提到的第一點類似,如果沒有統計的基礎,你都不知道你算出來的是個啥。。。其次,考慮到空間和時間的多尺度後,分子動力學的能力範圍真的很有限,具體可以參考

D. Frenkel, B. Smit. Understanding Molecular Simulation, Second Edition: From Algorithms to Applications.

這本書的序言。其中用很多誇張的數字說明了分子動力學的無能為力。

其次是物理上的可能性。

「是不是有一台完美的計算機和一套完美的算法,再加上超乎想像的計算和存儲能力,那麼一切都不成問題了呢?」

答案還是否定的。

我們不得不面對的是NS方程的適用性問題。我們都知道只有在連續介質假設成立條件下,NS方程才是成立的(直觀上看,對水來說,大概是3 nm以上),否則由於分子尺度上的不連續,NS方程失效。

以上。

【懶成豬的回答(2票)】:

本科生回答,有錯麻煩批評。

DNS並非任何簡化假設都不做。

湍流有一個尺度問題。

CFD是離散的,相對於解析一定有變化。不然數值分析不會成為一門學科。但是,我自己認為CFD不一定比解析理論有局限,刻畫這個世界的方式有很多,我不相信上帝只有一個。

NS方程可能本身有一定局限。與波爾茲曼方程相比,我們會發現NS方程有自己適合解決的問題及相應尺度。而湍流本身所在的那個尺度是否適合NS方程分析?

港科大的徐昆教授搞的一套統一算法也許給我們提供了另一個角度思考流體。

【劉輿帥的回答(2票)】:

1.如果你知道殘差的概念,那麼你就知道誤差是永遠存在的

2.數值差分時忽略的高階項,會產生誤差

3.壓力耦合時,會忽略一些項,產生誤差

4.如果你學過湍流的知識,那麼把湍流在spectra下觀察,只要有網格格點,那麼就一定丟失和少部分湍動能。

5.複雜幾何形狀時,網格質量很低

6.reynolds average 一定是對的麼?

7.如果有極好的計算機,那麼即便有上面的問題,我們對湍流已經能極好的把握了

8.現今的計算機水平,舉個例子,帝國理工算一個平板湍流,Re=350,算了兩年,數據處理一年。而真正應用的湍流幾萬雷諾數很常見,飛機內部能到十幾萬幾十萬,大氣運動隨便都是十幾萬。比如用DNS預測明天天氣,以現在最強的計算機,可能要算上幾千年。

【王大炮的回答(1票)】:

如果親手推導過Navier-Stokes方程,你會發現動量方程裡從應力到應變這一步是「leap of faith」,是基於牛頓內應力定律的推廣,正確與否存在爭議。所以即便可以用非常強大的計算機秒求N-S方程,就一定是正確解嗎?

從另一個角度,是unified bgk算法。兩年前聽過港科大徐昆教授的講座,那時候我還是個懵懂無知的研一新生,不懂他介紹的理論。但他一直在強調,不同的湍流問題要有不同的尺度去解決,而且他的方法暫時還只能用在氣體問題上,對液體的無能為力。

【可愛多的回答(0票)】:

流體力學是較為複雜的,現在理論上還未發現能囊括所有流體現象的超級高階方程。

數值計算沒有解析解的情況下,永遠只能求得近似解

【ahuang的回答(1票)】:

關於混沌。最為科普的比喻就是蝴蝶效應,大多人的理解都是以小博大的勵志故事,或者差之毫釐謬以千里的警示名言。

其實這個本意是說發散的非線性系統是無法精確預測的,這個本意甚至比那些引申義更為重要,只是一般人沒留意體會。初始一個微小的偏差,最終結果的誤差會無限放大。未來是永遠無法通過計算精確預測的,計劃永遠趕不上變化。

如果想預測一個系統一段時間之後的狀態,仿真的思路就是根據當前的狀態作為初始值,通過仿真計算,獲得的結果就是預測值。當前狀態怎麼來?當然是通過觀察測量,而測量必然就會有誤差。

回到湍流問題,N-S方程本身是非線性混沌的,哪怕這個方程是對流體的準確描述,只要你的初始值有測量誤差,一段時間之後的誤差必然是無法接受的。

【同歸的回答(0票)】:

湍流也就是物理現象嘛 現在是很難看到精確數值解,所以才有有了各種理論。現在假設只有世界最NB的計算機才能解,其他的計算機都不行,不知道有沒有人願意加入自己的理解形成理論,使這個精確解能出現在跑DOS的古董機上。不過我是沒有興趣了。。。PS我平時算些CFD

【知乎用戶的回答(0票)】:

方程不准,計算的精度再大也是對參數的調整,換個實驗背景就又要調動參數了

【立二拆六的回答(0票)】:

不能。

混沌體系中質點的運動應用的是概率論 而不是決定論

記得高中化學老師給我們講解「布朗運動」 他說布朗運動就是瞎亂動 你能用計算機算出布朗運動中的質點運動軌跡嗎?

so 紊流也是一樣的(我們學的時候叫紊流)

【曹天承的回答(0票)】:

以量子計算機模擬這些東西,問題不大,關鍵是量子計算機出現目測還要很久

【知乎用戶的回答(0票)】:

無限計算能力嘛。。。給我上MD!!!MD不行上ab initial!!!老子要simulate THE UNIVERSITY

標籤:-物理學 -力學 -流體力學 -計算流體力學(CFD)


相關資源:




給我留言