為什麼Computational Fluid Dynamics(CFD)是一項既強大又危險的工具呢?


強大在於可以得到詳盡的、細節豐富的數據,而且可以很容易的改變條件得到不同工況的數據,這是實驗很難做到的。

危險在於,現在大多數CFD還是posdiction,因為裡面很多的model,比如turbulence,spray,combustion chemistry etc. 是根據現有實驗數據tune的。如何做到真正的prediction,還是很難的。所以,在沒有實驗參考的情況下,只有CFD計算結果,到底可不可信,到底敢不敢拿去作為指導工程設計,還是個問題。

目前來說,工程上還是還是實驗+CFD,互為補充。


CFD可以和實際高度一致,此所謂強大,也可以和實際完全不一致,此所謂危險。

理論紮實,經驗豐富,清楚裡面的各種坑和門道,算的結果和實際是相當接近的,從而能夠大幅度縮短設計周期減少實驗數目,是個強大的工具。

半桶水(包括但不限於只會用CAD里的CFD求解器或者沒學理論只學了商業軟體的),很容易載在各種坑裡,看起來建的模型和老司機差不多算出來結果天差地別。要是還信心滿滿地直接用,那就是十分危險了。

當然老司機也會有翻車的時候,所以最後實驗驗證是必不可少的。


不光CFD,很多多場模擬都危險。跟實際差很遠。COSMOL就是一巨坑。


強大和可怕都是因為

你給我數據,想要啥樣的特性,最後都能算出來


一個強大的工具放到不會用的人手裡,這個不可怕么?

這和把槍放到孩子手裡差不多吧?


個人見解,因為現在工程領域,尤其是做橫向課題的時候,經常會發生實驗+CFD要匹配的情況。但是,面對明顯有問題的實驗數據,或者不可能進行的實驗,CFD要想重現實驗結果往往需要做調整。甚至於,做實驗的,也會反過來用Flunet等商業軟體做個大概結果,然後去調整他們的實驗。如果這種調整是有物理背景或者理論依據的,倒是一種雙贏;但是不能排除很多時候發生overfitting的情況,或者就直接造假。這就導致,我們通常審核實驗數據,更喜歡有明顯誤差的點;或者在看CFD結果的時候,會傾向於匹配沒那麼好的結果。

這就是悖論了,CFD的發展,肯定是要能更好地模擬描述實際物理過程。這也會影響工程界對CFD結果的可信度。CFD的強大,在於肯定能調出想要的結果,美觀;CFD的危險,就是編程中人為的影響因素太大,創造性太強。


CFD即簡單又複雜,簡單在於同類項目實踐過後,再做類似項目會比較高效,複雜在於不同場景,對使用者的專業背景要求較高,同時又對軟體操作和理解也有要求,比較多的模型優化,參數設定會影響結果,每個人的經驗,對於模擬的「空間」的理解不同,結果也會不同。總而言之,CFD還是很精彩的。


CFD在大工程設計和研究領域是離不開的,例如航天和核電,原因是試驗的成本太高。大工程項目真正開工建造前既要做模擬,也要做試驗,但是試驗都是模化和縮比試驗,例如風洞試驗,核反應堆組件傳熱試驗,原因是真實尺寸試驗太貴太貴了。CFD是縮短研發周期和提高產品革新效率的利器。傳統的CFD方法是基於歐拉體系的,我基於MPS演算法開發的拉格朗日體系下的無網格CFD軟體是屬於下一代CFD範疇,更能體現流體運動的本質。歡迎大家關注我的知乎文章和微信公共號。


推薦閱讀:

電腦內存大有什麼用?
為什麼3/10-3*0.1不等於零?
電腦內存不足,matlab處理不了80000*80000這樣的大矩陣,跪求解決辦法?
對於廣大程序員來說,《演算法導論》不看數學證明只看其餘的部分合適嗎?
為什麼鍵盤上的橫排數字鍵 0 在 9 的右邊,而不是在 1 的左邊?

TAG:計算機 | 流體力學 | 計算流體力學CFD |