COMSOL
前言
COMSOL和仿真
明白COMSOL可以用來做什么?它不是無所不能的,對數值仿真有一個概念的了解。
解決方法:
參加COMSOL的workshop,或在COMSOL官網或其他視頻網站學習入門視頻,或利用COMSOL官網的宣傳手冊學習。同時你還需要了解一點關於數值仿真的內容,比如了解什么是前處理,什么是求解器,什么是后處理。有限元到底是什么東西,哪怕是科普性質的文章都可以看一看。具體再了解一下最簡單的偏微分方程數值求解,比如拉普拉斯方程,一維傳熱方程。了解邊界條件是什么,為什么要繪制網格。
這個期間有一到兩天時間足夠了,畢竟絕大多數需要COMSOL做仿真的人都有一定的數學或物理基礎。
熟悉COMSOL的操作
拿到一個新的軟件,我自己的經驗是,我會隨便點一點菜單欄,看看都有什么東西。熟悉一下有哪些快捷鍵,或者彈出菜單都有什么。有些東西就是字面意思,比如添加物理,添加幾何。有些不理解也沒關系,至少需要什么操作你能知道在哪去找。
經常看別人的問題就會發現,有很多問題是涉及到該如何操作的,比如如何定義函數,如何調用函數,如何設置變量,如何畫出幾何陣列,如何添加材料等等。說實話,即便是在我剛開始學COMSOL,還沒有做過太多案例的時候,這些問題對我來說也不是問題。因為一旦我遇到這些情況都會主動去找一找,在菜單欄翻一翻,每個節點右鍵彈出菜單看一看,很快就能找到對應的設置。這些問題完全不需要到處詢問,如果沒人回答,難道放着不做了嗎?
此時你應該:
把COMSOL設置成中文,當然英語好也可以直接英文。把COMSOL所有高級功能都打開,比如方程視圖,穩定性等。如果某個設置不太好找,那就多打開菜單看一看,多點擊右鍵彈出菜單找一找。另外,就是多做案例,做的多了,很多操作自然就會了。
多做COMSOL的案例
目前為止,我個人認為COMSOL的案例是最優秀的教材,用戶手冊是需要有一定使用經驗的人才需要看的,不合適新人。
上面提到COMSOL的操作設置。很多高級設置不是你一下子就能自己悟出來的,比如邊界遞增載荷。在計算瞬態流體的時候,如果入口速度過大,會導致不收斂。其中一個解決方案就是利用單調遞增的函數,使邊界速度從0緩慢增加到最大值。這種方法實際上在很多案例里面都有。所以多做案例才是熟悉COMSOL最快最便捷的方法。
我的經驗是,把需要用到模塊所涉及的案例通通做一邊。做案例的時候一定要做到多思考,舉一反三。關於學案例,我經常收到的反饋是,照着案例做一邊會了,做自己的模型就有問題。或者說學案例只是過了一邊,很多操作或設置看不懂。事實上,看不懂是正常的。但是這些人並沒有真正去思考問題,也沒有主動去尋找答案。更沒有做到舉一反三。
首先,做案例除了按照案例步驟操作一邊外,還需要動腦思考。思考你不懂的操作,比如它用了一個弱貢獻,那為什么需要額外的弱貢獻,邊界不滿足嗎。或者它為什么用分離步求解器而沒有用全耦合求解器。其次,把你沒有見過的特別值得學習的操作好好回味一下,哪怕僅僅是繪圖的技巧。最后,舉一反三,案例之所以會運行,說明參數都是適當范圍的,可以自己改一改輸入參數,看看收斂情況如何。或者改變計算域形狀,改變幾何尺寸等等。
對模型的理解,對COMSOL的理解是日積月累的,而不是一下子瞬間的事情。所以要長期的做案例,長期積累,哪怕把某個案例做兩遍,三遍。
如果你不熟悉COMSOL的操作,那做案例一定要按照操作步驟,據我了解COMSOL案例中雖然也有錯誤或BUG,但是很少見。我經常看到有新人遇到這樣的問題。比如他做的是帶有流體和固體的傳熱問題或耦合問題。在添加固體材料后,材料中提示缺少動力粘度。你用的是固體,用膝蓋也能想一想哪里來的動力粘度。按照案例繼續設置,這個問題就會消失。但仍然有很多人遇到這樣的問題就會去詢問。
熟悉COMSOL不是一天兩天的事情,用的多,想的多才能慢慢熟悉。這需要一個長期的過程。
資源
官網上教程不要太多。如果是新手,先看這個pdf跟着做:http://cdn.comsol.com/translated-documentation/cn/5.3/COMSOLMultiphysics%E7%AE%80%E4%BB%8B.pdf
各個專業模塊的中文教程在這里下載:http://cdn.comsol.com/translated-documentation/cn/5.3/COMSOL%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A353.pdf
然后去這里找案例:http://cn.comsol.com/models,幾百個案例已經有中文教程了。
自我感受
他們真的引導和相應課程做的很全面哈,我第一次見到這么完善加用心的軟件和相應系統