【課程示例】Comsol與Matlab 聯合仿真的試驗

    如果說matlab在解偏微分方程時,性能不佳,那么comsol則很好地互補上了。當然,更好的消息就是這兩個軟件的連接比較簡單,互相調用方便。


    COMSOL公司是全球多物理場建模與仿真解決方案的提倡者和領導者,其旗艦產品COMSOL Multiphysics,使工程師和科學家們可以通過模擬,賦予設計理念以生命。它有無與倫比的能力,使所有的物理現象可以在計算機上完美重現。


    COMSOL的用戶利用它提高了手機的接收性能,利用它改進醫療設備的性能并提供更準確的診斷,利用它使汽車和飛機變得更加安全和節能,利用它尋找新能源,利用它探索宇宙,甚至利用它去培養下一代的科學家。


    COMSOL Multiphysics起源于MATLAB的Toolbox,最初命名為Toolbox 1.0。后來改名為Femlab 1.0(FEM為有限元,LAB是取自于Matlab),這個名字也一直沿用到Femlab3.1。從2003年3.2a版本開始,正式命名為COMSOL Multiphysics。

    一看這兩軟件這么有淵源,就知道聯合仿真,有戲。具體實現步驟如下


    1.系統配置

32位win7,matlab2011b,comsol4.2

安裝comsol時候,有一步驟中要選擇matlab live,然后點進去修改matlab的目錄,要到bin目錄,這樣安裝完之后,桌面上會多出來一個快捷方式 COMSOL 4.2 with MATLAB ,如圖所示。如果第一次安裝時候沒注意,那么可以重新運行安裝程序,選擇修復即可。

軟件示意01.jpg

     2.雙擊COMSOL 4.2 with MATLAB

此時彈出一個黑色的框,這個是java的框?不太清楚,不過不用管,最小化就是。

然后matlab會自動啟動,并且啟動后會彈出幾行字,如圖所示:


軟件示意02.jpg

  

      3.此時在matlab中輸入一些命令就可以調用comsol了!例如輸入:


import com.comsol.model.*

import com.comsol.model.util.*

model = ModelUtil.create('Model');

model.modelPath('D:Program FilesMATLABhalleyhit');

model.modelNode.create('mod1');

model.geom.create('geom1', 3);

model.mesh.create('mesh1', 'geom1');

model.physics.create('es', 'Electrostatics', 'geom1');


     等等,就是在comsol中建立一些模型,話一些形體,然后可以再加邊界條件,加求解范圍,開始求解,顯示結果等等等等。總之,你在comsol中的每一步操作,都可以在matlab中轉化成一行命令。


    至此,matlab調用comsol完成。這樣做的意義呢~就是comsol中建立復雜形體,比如1000個排列整齊的圓球,comsol畫圖會瘋的,cad導入或許是個不錯的方法,可是如何加邊界條件呢?于是matlab的for循環就大大簡化了這部分工作量。至于,comsol中的一個操作,轉換成一行代碼,語法如何呢?這里可以有個簡單的方法,就是在comsol中操作,然后file菜單下save as m file,在matlab中打開file就知道剛才所有的操作了,如果comsol中操作一次,就在m文件中查看一次,那么很快就能知道每一條命令的語法了。


    以上是基于matlab調用comsol,而對于喜歡comsol界面的人來說,在comsol中調用matlab文件也是可以的。操作如下:

1.雙擊COMSOL 4.2 with MATLAB

2.雙擊comsol

此時,matlab和comsol的界面都出現了

3.在matlab中運行需要導入到comsol的m文件

4.comsol中,file菜單下,client server下,import

此時,用對話框中的默認設置即可,確定后,剛才的m文件就導入完成了,后續操作可以在comsol中操作。

  

軟件示意03.jpg

    在這個急急忙忙趕畢業設計的三月四月,希望技術鄰發布的Comsol與Matlab 聯合仿真的試驗,對大家的工程仿真工作有幫助和啟示。

    

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

8
2
14