【一起學OpenFoam】01 OpenFoam的優勢


CFD技術發展到今天,已經超過了大半個世紀了,已經涌現出非常多的CFD軟件可供人們使用。通用商業CFD軟件譬如Fluent、CFX、Star CCM+等在工業上得到了廣泛的應用,另外一些專用的軟件(如旋轉機械領域Numeca、電子散熱領域的Flotherm等)也以其專業性牢牢占據着各自領域的市場。這些軟件都具有良好的前后處理、眾多的物理模型、較高的並行求解效率及可靠性。
但是細數起來,這些軟件仍然具有一些劣勢,可以簡單的歸納為:

  • 價格很貴。這些商用軟件,價格一個比一個貴,少則好幾萬,高則幾十萬上百萬。對於工業巨頭來說沒有經濟壓力,但是對於中小型企業、個人用戶來說,無疑是一筆巨大的經濟開銷。
  • 黑箱操作。商用軟件的內部運作原理是不會對用戶公開的。一些數學物理模型的處理細節,用戶沒有任何途徑可以了解。雖然說商用軟件這么做可以在一定程度上使軟件的操作更簡單,減少軟件使用者的學習時間,但是對細節的掩蓋也會造成一些問題調試上的麻煩。
  • 功能擴展麻煩。仍然是由於程序代碼的封閉造成的后果。用戶想要擴展現有商用軟件的功能是一件非常麻煩的事情。當前商用軟件的所謂二次開發,實際上能夠擴展的功能非常有限,一般只能擴展一些外殼,對於核心算法基本上沒法更改。

有人說,可以采用自己編程來進行CFD計算。這當然可以,自己編程的最大好處是可以對程序的所有細節進行控制,大到計算流程、GUI界面,小到離散算法、網格布置等都可以自己設置。但是不知道動不動就說自己編程的人有多少是真正自己動手編程求解過CFD問題的,如果真的動手編過CFD程序的人,自然會知道從零開始進行CFD程序的開發,是一件多么需要時間和經歷的事情(有不信邪的童鞋可以自己動手嘗試,不需要嘗試很復雜的程序,就動手編一個方腔頂蓋流計算的程序就好,在很多的參考書中都有該程序的源代碼,可以動手抄一遍試試)。
OpenFoam其實就是一種解決這種手動編程麻煩的程序包。其主要具有一些優點:

  • 代碼開源。什么叫“開源”?開源的意思就是所有的代碼都是可以打開看的。還不明白么?換句話說,你可以修改代碼中的任何地方,也可以將代碼用到其他的地方。OpenFoam對於手工編寫CFD代碼的人來說,其提供了一個非常好的平台。基礎代碼實際上已經為我們搭建了一個框架,我們要做的只是針對自己特定的問題在已有框架的基礎上做小幅的修改或增加。
  • 定制求解器。OpenFoam提供了一些標准的求解器,完全滿足常用的CFD計算。至於提供了哪些標准求解器,我們后面再慢慢的掰。由於代碼是開源的,因此我們也可以開發自己的求解器,這是商用軟件所無法提供的功能。
    當然,OpenFoam也有一些麻煩的地方:
  • 沒有成熟的GUI前處理器。這個其實不能稱之為缺點,雖然說沒有前處理GUI會給初學者帶來一些麻煩,但是使用慣了其實也沒什么,無非就是那么幾個文本文件,修改起來也挺快。當然目前也有一些商用的或開源的OpenFoam前處理器,商用的前處理器功能比較強大,使用起來和商用的CFD軟件並沒有多大的區別,開源的前處理器界面比較朴素。當然,如果熟悉了OpenFoam的使用,完全可以自己開發一個前處理器,難度並不大。
  • 學習曲線比較陡峭。對於初學者來說,OpenFoam的學習曲線要比商用CFD軟件陡峭得多,需要花費更多的時間和經歷。就算是利用標准求解器來解決工程問題,由於沒有前處理GUI,因此需要使用者熟悉OpenFoam中一些常用的關鍵字,不過其實也並不難,OpenFoam計算文件中所涉及的關鍵字命名還是比較有規律。

本系列以OpenFoam的學習過程為主線,講述如何從完全不了解OpenFoam到開發自己的求解器求解工程問題的完全學習路徑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM