這一段時間,我被COMSOL折磨得就好像頭被按進了水裡,痛苦還得不斷掙紮。
在學習COMSOL道路上阻礙有三:一是本科時候,我連matlab、CAD這種大衆軟件都沒有接觸過,模拟經驗為零;二是數學物理基礎不夠紮實,而模拟又是在物理和數學得基礎上建立得,學習來很吃力(當初怎麼能想到,我一個化學生還是逃脫不了物理數學的魔抓);三是大環境裡客觀存在的學習壁壘,使得在科研的道路上苦難重重。以我的經曆來說,有問題先網上查,太精太細的問題找不到答案,論壇貼吧裡也是問的人多回答的人少,去請教認識的人,人家精力有限,也沒辦法解答你的所有問題。不會的慢慢累積,得不到解答,最後學習的小火苗一點點燃燒殆盡。
前段時間,認識了易仿工作室主要負責人(下稱為部長),之前那個問題得到了解決。最近做案例時學習了很多相關知識,掌握了不少技巧。所以,借這個平台,以官網案例連鑄為基礎,分享我學習COMSOL的經驗,也是希望更多的人加入讨論,互相交流,共同進步。
丢個案例給你昨天我做了官網上案例連鑄continuouscasting,完成整個模拟之後,把有疑惑、不懂的記在pdf上。今天下午部長幫我答疑,兩個人互相讨論,大概70~80%的問題已經解決。
那讓我們來看一下我這次案例分析的成果吧。
1 Comsol官網上的每個案例都有詳細的建模過程和完整的模型供用戶下載。 注意:下載時請注意版本,高版本不能在低版本中打開,并且步驟會存在差異。pdf首頁便是該案例的名稱以及版本。 2 從第二頁開始是簡介和模型定義官網的每個案例都是以相同的邏輯編寫的,其中介紹了案例的工藝背景、物理意義和建模思路,還會強調在建模中的一些重點。這個部分會多一些專業名詞,如果不太清楚,我會把它圈出來,并在旁邊寫上備注。除了學術性的解釋,我更希望充分理解,讓這個概念活在腦子裡,并且能夠以淺顯易懂的語言表達出來。我覺得這樣才能使我理解這個案例在做什麼,模拟在做什麼。
3 下一部分是結果和讨論。 這裡會展示所有的結果圖,并且對結果做簡單的分析。對于結果,除了繪圖技巧,内容本身我并不是很關注。 4 最重要的是建模操作說明,用戶跟着指示一步一步做,就可以得到最終的結果。 這也是我主要學習的地方。唯一要提醒大家的就是要 細心,有些時候一個不留神操作錯了,要麼不收斂要麼結果不一樣,再回頭找錯可能沒那麼容易了。當然也有特殊情況就是官網提供的源文件哪裡出錯了。 5 建模的第一步是模型向導 我仔細閱讀案例中選用的物理場旁邊的解釋,理解其物理意義,并把它注釋在pdf上,方便之後閱讀。 6 物理場的初始條件和邊界條件的設定是今天學到的一個很重要的環節 之前我不太理解什麼是邊界條件,也不明白為什麼這裡設速度而那裡又設壓力,這整個環節我也不太理解在幹嘛。經過查自資料,翻動塵封已久的高數知識,和部長讨論一番之後,才有了如下結論,希望能夠幫助初學者: 每個物理場都有相應的因變量,比如流體力學有兩個因變量有速度和壓力。了解這些需要一定的相關知識,另外comsol中也給大家列出了相應的公式和因變量,方便用戶快速掌握。而整個環節便是用戶根據自己的模型給定因變量的初始值和邊界條件,或是給微分方程加一些項,抑或是确定方程某些項前面的系數。軟件求解微分方程計算出結果。層流有速度和壓力兩個因變量,便要給這兩個因變量分别設一個初始值和邊界條件。在初始值1中設定了兩個因變量的初始值,而入口1設定了壓力的邊界條件,出口1設定了速度的邊界條件。但是為什麼不是入口1設置速度的邊界條件,出口1設定壓力的邊界條件,我們目前沒有确定的答案。進而,我更加理解comsol這類的模拟軟件在做什麼,它們在求解計算,而用戶是在設方程(想一想小學時候做的應用題或是高數中的拉格朗日乘子法),我們需要了解我們的需要以及用我們的物理知識數學知識,列出方程,讓軟件計算,但這裡的方程就不想雞兔同籠那樣簡單了。 7 網格劃分也是模拟的重中之重,影響着計算效率和收斂性 因為之前參加過一個基礎培訓,所以案例中劃分網格的步驟大部分都能理解,但是自己動手可能還有困難。劃分網格的技巧有很多,哪裡疏松哪裡緊密,三角還是四面,掃掠,等等。 8 求解器的設置是重點也是難點 求解器的設置涉及數學,比如耦合、叠代、直接、參數化等概念。所以我的學習方法是 先了解概念和作用,再在實際操作中掌握求解器的設置。 9 最後是結果我不關心結果的内容,而是關心怎麼設置,有哪些技巧,可以之後做出我想要的結果,并使我的結果更加漂亮吸引人。相對于其他的,這一步還是比較容易的。
以案例連鑄為例,給大家分享了我學習comsol軟件的大概方法和思路。接下來,是我學習模拟研究課題的一些心得。
comsol算是一個小衆的軟件,所以網上的資源相對ansys來說少。有哪些靠譜的途徑可以讓新手學習呢?首先排除貼吧,或者小木蟲。不會的人拼命問,會的人忙着做研究,我在那些地方問過不少問題,但少有回答,現在也不抱希望了。首推當然是comsol的官網,有基礎學習視頻,有案例下載,還有不定期的線上交流,資源豐富。而且他們的服務也做得很好。我昨天發現一個案例裡的模型有錯,給他們留了言,今早有個小姐姐打電話給詢問我的情況以及告訴我解決辦法。第二,學術論文,學術論文在很大程度上幫助你完成物理建模,而不是如何操作comsol。所以學會軟件操作還得做大量案例。第三,如果經濟能力允許,可以參加培訓,它可以讓你在短時間之内對consol有一個全面的了解。
關于目前的課題研究,我的學習思路大緻是:文獻閱讀,學會本課題的物理建模;案例實踐,掌握comsol軟件的使用方法。二者同步進行。我現在是分模塊做案例。大多是傳熱、相變。力求将自己課題會涉及到的物理場掌握。
今天的分享就到這啦。介于我本人也是一個新手,隻有一些淺顯的認識與大家分享,願大家理解。如果能幫到你,那是極好的。希望能有更多學習comsol的同學能夠加入讨論,相互交流,打破學習壁壘,創造更加高效便利的科研環境。
哈哈,感覺最近中口學多了官話連篇。
有話要說...