COMSOL整理

目錄

硬體需求

CPU

COMSOL主要用cpu來執行計算,多核心的要求高於時脈。

記憶體

記憶體越大越穩定能執行更大的專案,大約是150萬個自由度以下,要求16GB內存,300萬個自由度以下為32GB內存,依此類推。建議至少16GB。

硬碟

硬碟建議用SSD存放應用程式並且夠大即可,由於COMSOL專案不會太大,不包含結果資料的專案大約100Mb以下,所以不需要大空間儲存專案。如果專案結果極大,則有需要大空間硬碟儲存,可以用HDD就足夠,不過儲存和開啟的時間會很久。

顯卡

不需要高效顯卡,除非模型過於複雜,有支援專業繪圖卡。

詳細資料參見官網

https://cn.comsol.com/system-requirements
https://cn.comsol.com/support/knowledgebase/866
http://cn.comsol.com/blogs/much-memory-needed-solve-large-comsol-models/

安裝教學

NAS下載連結

  1. 開啟安裝檔
    打開"COMSOL Multiphysics 5.6.0.401 Full Win-Linux-macOS"資料夾。
    打開"COMSOL_5.6.0.401_DVD.iso"
    進入"COMSOL56"的虛擬光碟中,打開"setup.exe"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  2. 安裝檔設定

  1. 選擇操作語言,按"下一步 >"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  2. 點選"新的COMSOL安裝"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  3. 點選"我接受同意條款"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  4. 回到"COMSOL Multiphysics 5.6.0.401 Full Win-Linux-macOS"的資料夾

  5. 打開"Crack"資料夾,這裡的"readme_windows.txt"可以參考。

  6. 找到"LMCOMSOL_Multiphysics_SSQ.lic",確認它的路徑。

  7. 回到COMSOL安裝檔,這裡要求輸入"授權資訊",點選"授權格式"旁邊的下拉表格,選擇"授權檔"。

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  8. 點選"瀏覽"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  9. 找到"LMCOMSOL_Multiphysics_SSQ.lic"檔,並按下"open"。

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  10. 回到安裝檔頁面,按"下一步 >"

  11. 選擇安裝內容,預設為全部,選好後按"下一步 >"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  12. 來到選項,不要勾選 "安裝後更新檢查""啟動自動更新"。按"下一步 >"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  13. 即時連結,不要勾選任何選項,按"下一步 >"

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  14. 確定安裝選項,點選"安裝",開始安裝。

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

基本畫面操作

1.開啟COMSOL

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

COMSOL開啟頁面預設為新增模擬的畫面

2.新增模擬

  1. 點選"模型精靈"
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  2. 選擇空間維度
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

    依需求選擇空間維度,其中"2D軸對稱"和"1D軸對稱"如下圖所示
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  3. 選擇物理量
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

    如果要做聲波在空氣中傳遞,且聲源是壓電材料,選擇"結構力學"->"電磁-結構交互作用"->"壓電效應"->"壓電效應-固體",雙擊左鍵或按"新增"即可增加物理量。
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  4. 選擇好物理量,按"研究"。如果有少選或需要增加物理量,設定好後仍可修改。
  5. 選擇研究,以聲波來說,常用的有"時間相依"、"頻遇"、"穩態"。
    雙擊要的研究或是按下方的完成,及設定完成了!
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

3.基本概念

工作區域

在COMSOL中,有實體的模擬要有"模型"、"材料"、"網格"、"物理量"、"研究"和"結果"。彼此間相互影響,不過COMSOL的設計可以方便查找問題。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

上圖為COMSOL主要的工作視窗,最左邊是"模型建立器"。這裡包含模擬中所有資訊,就像是編譯器中的project管理區。在COMSOL中,每個設定的參數是由"模型建立器"中由上而下逐一建成,比如全域定義中有定義的參數,下面的設定中皆可使用。
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

畫面中間是設定參數的地方,先選取"模型建立器"中要設定的參數,比如"幾何"
(模型的造型),在這可以設定幾何的單位等等。換成其他選項會顯示可改變的參數,是設定COMSOL主要工作區。
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

最右邊為"圖形"區,將顯示模擬的視覺化結果,包含3D、2D繪圖、圖表等。在繪製模型時會顯示在此區域。
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

訊息、計算資訊、表格的顯示區域。要注意,COMSOL中輸出的 "表格" 會出現在這裡。
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

功能區。和office中上面那一欄是一樣的功能。要新增物理量、新增幾何、新增網格、輸出圖形等等,這裡可以找到。也可以在"模型建立器"中對要修改的地方按右鍵有相同的功能。

模擬必須包含的設定

一個COMSOL模擬必須包含"模型,並且能往格化"、"材料"、"物理量"、"研究",最後生成"結果"。這裡給個簡單的範例。

COMSOL簡單範例

https://www.youtube.com/watch?v=4uOOXLdzMgU&t=1789s
可以搭配這個影片一起學,不過前面1/4是廣告和最基礎的COMSOL教學,看一遍就好,皮托科技的影片都有這問題。

簡單範例

這個範例是我自己寫的,建立在線性聲波在空氣中傳遞的模擬。在空間中心有一個聲源,隨時間傳播,撞擊到牆面會被吸收。
檔案名稱"1 點聲源_空盒_空氣_牆面反射_teaching.mph"

  1. 新增COMSOL,點選"模型精靈"
  2. 選擇"3D"空間維度。
  3. 選擇"聲學"->"幾何聲學"->"線聲學(rac)",按"新增"後按"研究"。
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  4. 在研究中選擇"時間相依"。按"完成"。
  5. 首先劃出幾何模型,點選幾何,並在上方工具列選擇"幾何"。先看一下中間的設定,第一個選項是長度單位,這裡選"m"公尺。
  6. 在上面工具列中雙擊"立方體",在"模型建立器"中會新增"立方體 1 (blk1)"
  7. 在中間設定中,設定立方體的長寬高,預設為1。
  8. 修改位置。在設定->位置->"以.為起始"中改成"中心"。
  9. 按下"建立選項的"即可在"圖形"中生成。也可按下"建立所有物件"將設定好的幾何全部生成。
  10. 按下上方工具列中的"立方體",新增另一個立方體。
  11. 設定長寬高,分別為"寬度0.1"、"高度0.5"、"長度0.5"。修改位置,以"中心"為起點,"x=0.25", "y=0", "z=0"。
  12. 按"建立所有物件",檢查"圖形"中產生的物件。
  13. 看到的圖和上面不一樣,記得按"透明度"即可看到內部結構。
  14. 接下來設定"材料",在上面工具列中點選"材料",點選"新增材料"。
  15. 點開後會在最右邊出現"新增材料"的視窗。可以直接搜尋要的材料(記得要用英文)。
  16. 這裡用到"Air"和"Alumina",可以在"內建"中找到。雙擊要的材料即可新增。
  17. 關閉"新增材料"
  18. 設定幾何與材料的關係。在"模型建立器"->"材料"->"Air",設定空氣的區域。
  19. 到中間的"幾何本體選擇區"->"選擇區"將"所有區域"改成"手動"。
  20. 只選擇外面的大立方體,在這裡為代號"1"的區域。區域的代號為COMSOL給予,無法修改,出錯時只會回報區域、邊界、邊、點等的代號,要自己確認正確的位置。這步驟可以在"設定"中修改,也可以在圖形中修改。當圖形中滑鼠觸摸到的區域會以紅框或綠框呈現。綠框代表"已被選擇",紅框則"未被選擇"。如果要選擇的物體重疊在一起,"滾動滑鼠滾輪"即可選擇重疊中不同層的物體。
  21. 設定"Alumin"的區域,在"模型建立器"中點選"Alumin"。
  22. 選擇內部的立方體,這裡代號為"2"。
  23. 接著設定物理量"線聲學"。在"模型建立器"中點選"線聲學"。
  24. 首先修改"區域選擇"->"選擇區"改成"手動"->只選擇區域"1"。
  25. 往下看"外部與未網格區域的材料屬性"->"聲速"(Cext)為"343(m/s)",也就是聲波在空氣中傳播速度。
  26. 往下看"強度計算"->"強度計算",改成"計算強度與功率"。往下看"額外變數",勾選"儲存光線狀態資料"。
  27. 在"線聲學"->"光束屬性"中設定聲波的"頻率"。這裡設定成"40000[kHz]。
  28. 在"線聲學"中新增"從格點釋放",可以在上方工具列->物理量->"全域"中找到。也可在"模型建立器"中,對"線聲學"按右鍵->"從格點釋放"。

  29. 點選"從格點釋放"->"線方向相量"->"線方向相量"改成"球形"。
  30. 將"波向量空間的光線束"改成10000。
  31. 將"總來源功率"設定成"10[W]"
  32. 在"線聲學"中新增"光線終止"。在物理量->全域中可找到。或是對"線聲學"按右鍵->光線終止。
  33. 在"模型建立器"中點選"網格",直接按下"建立全部"。這是COMSOL自動生成網格。
  34. 在"模型建立器"中點選"研究"左邊的三角型,將"研究"中的下拉資料展開,點選"步驟1:時間相依"。
  35. 在"研究設定"中修改"時間單位",改成"ms"毫秒。修改"輸出次數",改成"range(0,0.1,3)"。第一項為起始時間,第二項為時間差,第三項為終止時間。
  36. 按下"計算",COMSOL開始計算物理模擬,並在"結果"中輸出。
  37. 接著COMSOL會自動跳到結果畫面,如下圖。
  38. 在"模型建立器"中,點選"結果"->"光線軌跡(rac)"->"光線軌跡 1",到"設定"->"著色與樣式",將"線樣式"改成"無","點樣式"改成"點"。結果就會是一包球形聲波,傳播與時間關係會以點點標示。
  39. 按"繪製"旁邊的箭頭一張一張看結果。跳選到特定時間看結果時,記得要在選好時間後按"繪製"才會顯示。
  40. 在這個畫面中,可以按下右上角的"動畫"->"播放器"可輸出動畫。


    這個模型中可以看到聲波在打到牆壁時會停止。將研究改成"光線追蹤",可以看到聲波打到牆壁時會反射。

參考其他人的資料

在COMSOL官網上,有其他人或是官方釋出的範例。有已設定好的COMSOL project檔和解釋的pdf。這個pdf很重要,它包含從新增檔案開始建立模擬到最後結果的製作流程,可以完全按照範例中的步驟做出一模一樣的結果。許多技巧和設定可以從中學習。不過有些非官方的範例沒有詳解,要自己在專案中一一檢查設定。
直接在Google中輸入關鍵字,並包含"COMSOL"即可找到相關範例,這裡搜尋"comsol piezoelectric receiver and transmitter"可以找到以下網頁
https://www.comsol.com/model/modeling-piezoelectric-devices-as-both-transmitters-and-receivers-71111
https://www.comsol.com/blogs/how-to-model-piezoelectric-devices-as-both-transmitters-and-receivers/


我是參考這個範例做出壓電材料與聲波傳遞的模擬。非常重要。
點選"Download the application files"可以找到以下檔案

選擇對應的COMSOL版本,其中".mph"是COMSOL project檔,下載後用COMSOL開啟即可操作。不過這裡的PDF檔是這個專案的簡介,並沒有附上詳解,下面我會做出這個專案的詳解。

COMSOL內建範例

在COMSOL中以安裝部分官方範例,在COMSOL軟體中可以找到。

  1. 進到COMSOL中,點選"檔案"->"應用資料庫"。
  2. 進來後即可看到內建的範例檔,以物理量分類。
  3. 左下方包含"開啟"和"PDF文件",分別是COMSOL專案和PDF詳解。

聲波模擬範例

這裡模擬壓電元件釋放聲波在空氣中傳遞,打到一牆面後反射回來,並由另一個壓電元件接收聲波。參考以下範例修改而來,在參考範例中,一的壓電元件在水中釋放聲波,打到牆面後反射並由同一顆壓電元件接收聲波。這裡附上我製作的2D模擬詳解,可按照相同的步驟做出來。

2D 壓電元件在空氣中傳遞聲波

檔案名稱"2 壓電材料_聲波傳遞_2D_反射體_壓電接收_teaching.mph"

  1. 建立新的COMSOL專案,點選模型精靈

  2. 在空間維度中選擇"2D"

  3. 物理量點選"聲波">"聲固交互作用">"聲壓電交互作用,暫態",選好後按"研究"。

  4. 研究選擇"一般研究">"時間相依",選號後按"完成"。

  5. 進到工作區塊,首先設定幾何的參數,將單位改成"mm"毫米。

  6. 點選上方工具列中的"幾何"

  7. 點選"矩形",新增矩形

  8. 設定矩形的名稱,在"標籤"的欄位改成"Transmitter"

  9. 設定矩形的大小,在"尺寸與外型"下有"寬度"和"高度"的欄位,分別輸入"寬度:4","高度:1"。單位為預設單位,所以不用修改。需要修改可以在數字後面加上[m]即可將單位換成公尺。

  10. 設定矩形的位置,在"位置"下設定"以角落為起點",在"x"欄位輸入"212",在"y"欄位輸入"-1"。

  11. 這樣就完成"Transmitter"的造型設定了,按下"建立所有物件",可以在右側"圖形"中看到結果。

  12. 接著設定"Receiver",這裡可以用COMSOL的"重複"功能,複製一個相同的矩形。到"模型建立器"中滑鼠指著"Transmitter"的矩形按右鍵,點選"重複"。

  13. 這樣就會生成一模一樣的矩形。被稱作"Transmitter 1"

  14. 首先將"標籤"改成"Receiver"。

  15. 這裡設定兩個壓電元件大小相同,因此不需要改變大小參數。

  16. 修改Receiver的位置,"x"設定成"188","y"一樣是"-1"。

  17. 按下"建立所有物件"即可生成Receiver的造型,不過你可能看到下列情況。

  18. 已經按下"建立所有物件",但是旁邊的圖形沒有改變。其實COMSOL已經生成另一個矩形了,只是沒有在畫面裡,在"圖形"視窗中點"縮放置視窗大小",就是紅框中的按鈕。就可以看到兩個矩形了!

  19. 接著設定反射的牆面"Reflector",在"幾何"中點選"矩形"。

  20. 將標籤改成"Reflector"。

  21. 在"尺寸與外觀"中修改尺寸,寬度設定成"40",高度設定成"5"。

  22. 將"位置"改成,x設成"180",y設成"930"。

  23. 按下"建立所有物件"和"縮放置視窗大小"檢查圖形是否相符。

  24. 接著設定環境,新增一個"矩形",並將標籤改成"Enviroment"。

  25. 設定"Enviroment"的尺寸,寬度:400,高度:1000。

  26. 設定"Enviroment"的位置,x:0,y:-40。

  27. 往下滑點選"層",這裡新增"完美匹配層",用來優化模擬同時將矩形的邊界設為不反射壁。

  28. 點開後在"層1"的後面設定厚度的地方輸入"20",將下面"左層"、"右層"、"下層"和"上層"全部勾選。按下"建立所有物件",就可以得到下面的圖形了。

  29. 接著設定每個物件的"材料",首先點選上方工具列中的"材料"。

  30. 點選"新增材料"。會看到右邊出現"新增材料"的視窗。

  31. 點選"內建",雙擊"Air"即可新增air材料。

  32. 雙擊"Alumin"新增材料

  33. 在"新增材料"視窗內第一欄是搜尋欄位,在搜尋欄輸入"pzt"按下"搜尋"或鍵盤"Enter"。選擇"內建"下的"Lead Zirconate Tianate(PZT-5H)"。這個是壓電元件的材料。

  34. 新增好材料後,將"新增材料"的視窗關閉,點選"新增材料"視窗右上的"x"。

  35. 在"模型建立器"中點選"材料"下的"Air"。

  36. 修改"Air"的區域,在"幾何本體選擇區"中點選掃把圖案的按鈕,稱作"清除選擇"。可以看到下面框框中的數字消失,同時"選擇區"的欄位變成"手動"。

  37. 點選"圖形"中中間的區域和邊邊上的矩形,這裡設定成"Air"的區域,對應選擇區的的數字,這些數字代表每個區域的代號。



  38. 接著在"模型建立器"中,點選"材料">"Alumin"。

  39. 在"圖形"中點選上方薄片狀的矩形。可能沒辦法直接選取到,可以在指標只在矩形上時滾動滑鼠滾輪,來選擇到。

  40. 接著在"模型建立器"中點選"材料">"Lead Zirconate Tianate(PZT-5H)"。

  41. 在"圖形"中點選下方兩個小矩形,點不到先將畫面放大,在圖形上方的選項中點選"放大方塊",拉選下面的區域即可放大。


  42. 設定"完美匹配層",在"模型建立器"中找到"定義",點選"定義"展開。

  43. 滑鼠只到"定義",按右鍵>點選"完美匹配層"。

  44. 進來後如下圖

  45. 到右邊的"圖形"中,點選邊邊上所有的矩形。這樣就設定完成"完美匹配層"

  46. 以上完成設定模型與材料,接著設定物理量。

  47. 首先要先增加兩個物理量,分別是"固體力學"、"靜電"和"電路"。要多這兩個物理量是用來區分"Transmitter"和"Receiver"的特性。

  48. 在上方工具列中點選"物理量"。

  49. 點選"新增物理量"。和"新增材料"一樣,會在右邊出現"新增物理量"的視窗。

  50. 在"結構力學">雙擊"固體力學"來新增。會在"模型建立器"中出現"固體力學2"

  51. 在"AC/DC">雙擊"電路",新增電路。

  52. 在"AC/DC">"電廠與電流">雙擊"靜電"。

  53. 新增好物理量後,將"新增物理量"的視窗關閉

  54. 在"模型建立器"中找到"電路",將"電路"拖移到"固體力學2"上方。

  55. 設定每個物理量作用的區域,在"模型建立器"中依次點開每個物理量來設定。

  56. 首先點選"聲押,暫態(actd)"。

  57. 在"區域選擇區"中點選"清除選項",再選擇中間和邊邊的矩形。如圖。

  58. 回到"模型建立器"點選"固體力學(solid)"

  59. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選右邊的小矩形。

  60. 回到"模型建立器"點選"靜電(es)"

  61. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選右邊的小矩形。

  62. 回到"模型建立器"點選"固體力學2(solid2)"

  63. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選左邊的小矩形。

  64. 回到"模型建立器"點選"靜電2(es2)"

  65. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選左邊的小矩形。

  66. 回到"模型建立器"點選"聲押,暫態(actd)"展開,點選"暫態壓力聲場模型 1",確認"模型輸入">溫度是"用戶自訂"。

  67. 回到"模型建立器"點選"固體力學(solid)"展開,點選"線性彈性材料1",檢查"模型輸入">"體積參考溫度"設定成"用戶自訂"。

  68. 點選"固體力學">"壓電材料",確認"模型輸入">"體積參考溫度"設定成"用戶自訂"。

  69. 點選上方工具列的"物理量">點開"邊界">點選"低反射邊界"。

  70. 這時候沒辦法選取邊界,先回到"模型建立器">"多重物理量">"聲-結構邊界1(asb1)"

  71. 在"選取邊界"中點選"清除選擇",點選右邊矩形上邊,如圖

  72. 回到"固體力學1">"低反射邊界1",點選右邊矩形下邊,如圖

  73. 到"模型建立器"中點選"靜電(es)"展開,對"靜電(es)"按右鍵,點選"接地",點選右邊的矩形的下邊,如圖。


  74. 對"靜電(es)"按右鍵,點選"終端",點選右邊矩形的上邊,在"終端"中設定"終端名稱",設定成"2","終端類型"改成"電路"。如圖



  75. 到"模型建立器"中點選"電路"展開。

  76. 上方的工具列會變成"電路",從中點選"電壓源"

  77. 在設定>"元件參數">"來源類型"設定成"正弦來源"

  78. 將"電壓Vsrc"設定成"100exp(-((t-1.5T0)/(T0/2))^2)",頻率設定成"f0"。 請回到編輯版本中複製函數。

  79. 將"接點連接"設定成"p:1","n:0",如圖

  80. 到上方工具列,點選"電阻",阻值設定成預設值"1000[Ω]"

  81. 設定"接點連接"設定成"p:1","n:2",如圖

  82. 在上方工具列,點選"外部I-終端"。

  83. "節點名稱"設定成"2","外部終端""V"設定成"終端電壓(es/term1)"。

  84. 接著設定"固體力學2"和"靜電2"。是"Receiver"的特性。

  85. 到"模型建立器"中點選"固體力學2"展開

  86. 點選"線性彈性材料1">"模型輸入">"體積參考溫度"設定成"用戶自訂"。

  87. 指標對"固體力學2"按右鍵>"材料模型">點選"壓電材料"

  88. 將"模型輸入">"體積參考溫度"設定成"用戶自訂"

  89. 點選"圖形"中左邊的矩形

  90. 指標對"固體力學2"按右鍵>"更多">點選"低反射邊界"

  91. 點選"圖形"中左邊矩形的下邊

  92. 指標對"固體力學2"按右鍵>點選"滾動"。這個步驟是關鍵,有加入壓電元件才會隨聲波震盪。

  93. 點選"圖形"中左邊矩形的下邊

  94. 到"模型建立器"點選"靜電2(es2)"展開

  95. 指標對"靜電2(es2)"按右鍵>點選"電荷守恆,壓電"

  96. 點選"圖形"中左邊的矩形

  97. 指標對"靜電2(es2)"按右鍵>點選"接地"

  98. 點選"圖形"中左邊矩形的下邊

  99. 指標對"靜電2(es2)"按右鍵>點選"浮動電位"

  100. 點選"圖形"中左邊矩形的上邊

  101. 到"模型建立器"點選"多重物理量"展開

  102. 指標對"多重物理量"按右鍵>點選"聲-結構邊界"

  103. 在"耦合介面"中,將"結構"改成"固體力學2(solid2)"。再到"圖形"選左邊矩形的上邊。

  104. 指標對"多重物理量"按右鍵>點選"壓電效應"

  105. 在"耦合介面"中,將"固體力學"改成"固體力學2(solid2)",將"靜電"改成"靜電2(es2)"。會看到左邊的矩形被選取起來。

  106. 這裡要回去設定"參數",在"模型建立器">"全域定義">"參數"。

  107. 參數值參考下圖輸入值

  108. 接著設定"網格",在"模型建立器"中點選"網格"

  109. 指標對"網格"按右鍵>點選"映射"

  110. 這時會新增"尺寸"和"映射",先點選"尺寸","元素尺寸"勾選"自訂"。

  111. 在"元素尺寸參數">"最大元素尺寸"設定成"air_cp/fmax"

  112. 在"元素尺寸參數">"最小元素尺寸"設定成"0.06"

  113. 點選"映射1">"區域選擇區">"幾何實際等級"改成"區域"、"手動"

  114. 在"圖形"中點選兩個小矩形,也就是壓電元件。

  115. 指標對"映射1"按右鍵>點選"尺寸"

  116. "元素尺寸"改成"自訂",勾選"最大元素尺寸"設定成"min(1[mm]/3,pzt_cs/fmax/5)"

  117. 指標對"網格"按右鍵>點選"任意三角形"

  118. 點選"任意三角形">"區域選擇區">"幾何實際等級"改成"區域"、"手動"

  119. 在"圖形"中選取中間區域和"Reflector"的矩形。

  120. 指標對"網格"按右鍵>點選"映射"

  121. 指標對"映射2"按右鍵>點選"分布"

  122. 點選"圖形"中左和右邊的上邊,如圖

  123. 在"分布">"有限元素數"改成"2"。

  124. 按下"建立全部",來建立網格。

  125. 到"模型建立器">"研究1">"步驟1:時間相依"

  126. 到上方工具列,點選"研究"

  127. 點選"顯示預設求解器"

  128. 點擊"解1(sol1)"展開>點選"時間相依求解器"

  129. 點選"時間步階"展開>將"方法"改成"廣義alpha"

  130. "由求解器解決的步階"改成"手動",將"時間步階"改成"min(1/(60fmax),min(1/(60fmax),1/(60*fmax)))"(*要打出來)

  131. 按下"計算"就可以等COMSOL計算了,這個範例大概算10多分鐘。

  132. 接下來加入"探針",追蹤壓電元件的電壓與變形。回到"模型建立器">"單元件1">"定義"

  133. 對"定義"按右鍵,點選"探針">"邊界探針"

  134. "探針類型"改成"積分"

  135. "來源端選擇">"清除選擇">放大"圖形"下方區域>點選左邊矩形的下邊。

  136. 在"表示式"旁邊點選"取代表示式"

  137. 點選"單元件">"靜電2">"浮動電位">點選"es2.fp1.V0-浮動電位-V"

  138. 修改"標籤",改成"Receiver voltage"

  139. 在"模型建立器"中,對"Receiver voltage"按右鍵>點選"重複"

  140. 將標籤"Receiver voltage 1"改成"Transmitter voltage"

  141. 在"來源端選擇">"清除選擇",在"圖形"中點選右邊矩形的上邊。

  142. 在"表示式"點選"取代表示式"

  143. 點選"單元件">"靜電">"終端">"es.V0_2-終端電壓-V"

  144. 到"模型建立器"中對"定義"按右鍵>"探針">點選"區域探針"

  145. 將標籤換成"Receiver volumn"

  146. 探針類型改成"積分"

  147. "來源端選擇">"清除選擇">點選"圖形"中左邊矩形。

  148. "表示式">點選"取代表示式"

  149. "單元件1">"固體力學2">"應變">"solid2.evol-體積應變"

  150. 往下滑到"表單和視窗設定">點擊旁邊的"+"號按鈕。這步驟三個探針都要有,不然圖表會擠在同一張。

  151. 再次到"研究1">修改"研究設定">"時間單位"改成"ms","輸出次數"改成"range(0,0.1,2)"。

  152. 按下"計算"開始計算,等待結果

  153. 計算完成後會看到以下畫面,自動跳到第一項結果。

  154. 點選"聲壓(actd)"

  155. 點選上方工具列中的"動畫">"播放器"

  156. 聲波傳遞不太清楚,往下滑,點擊"進階",取消勾選"畫格間的比例同步化"

  157. 按下"圖形"中的"播放"鍵,即可修改動畫。

  158. 到資料夾中,開啟"壓電材料_聲波傳遞_2D_反射體_壓電接收_完成版.mph"比較結果是否相符。

3D和2D的差異,3D網格建立

3D模擬中的網格同樣是3D的,因此在做完"映射"後,要加上"掃描"產生立體的網格。只做"映射"代表只完成立體物件表面的網格。

  1. 首先繪製"圓柱",和2D一樣繪製"Transmitter"、"Receiver"、"Reflector"和"Enviroment",如圖
  2. 和2D一樣設定好"物理量",後設定"網格"
  3. 在2D中,我們對"壓電元件"和"完美匹配層"做"映射",同樣的在3D中也做"映射"。
  4. 其中對"完美匹配層"的"分布"設定比較多,分別要設定4個地方。
  5. 第一個是外圈由內向外的網格數,上下兩個外圈格數會同步,如果不放心可以上下都選擇起來,要選擇的地方如圖。
  6. 第二個是外圈的厚度的網格數,一樣上下格數同步。
  7. 第三是是外圈一圈的格數,這裡要注意,設定的網格數是1/4圈中的網格數,所以這裡設定網格數是"12",但一圈的總網格數是"48"
  8. 第四是圓柱高上的網格數
  9. 最後新增"掃描",並設定"掃描"的區域和"映射"的區域相同,按下"建立網格"沒有報錯就完成了!!

COMSOL設定注意事項

在建立模擬時最常發生問題的地方是"網格"和"研究"下面會說明

常見問題

網格

網格的目是給COMSOL一個分割區域,就像是做微積分一樣,在進行計算時依照每個網格的大小來當作一次計算距離參數。所以網格越大,得到的結果誤差越大。
建立網格時最常遇到"網格不匹配"或"來源與目的網格不匹配"。造成的原因有兩種。

  1. 兩個不同網格設定的物體太靠近,這時COMSOL沒辦法插入網格來配對兩套不同的網格,因此跳出"網格不匹配"的錯誤。解決辦法是回到"幾何",將兩個物件的距離拉遠,或是將其中一邊的網格設定成"任意四面體"或"任意三角形",由COMSOL來消除不匹配的網格。
  2. 設定映射時,將相連的網格設定成不同參數,造成"來源與目的的網格不匹配"。將映射參數不同的地方調成相同即可。

研究

研究是COMSOL進行計算的地方,因此到這邊沒有錯誤就表示模擬能正常運行,有錯誤一定是前面或研究步驟中有錯誤。
常見的錯誤有"缺少網格"、"結果沒有收斂"、"時間順序不能往前"等等

  1. "缺少網格"通常是在做3D模擬時沒有做"掃描"或是沒有加入"任意四面體",造成區域中沒有網格,因此無法進行計算。
  2. "結果沒有收斂"通常是參數設定問題,可能是給予的輸入值過大、研究的時間範圍太大等等,導致數值超過COMSOL模擬的上限,解決辦法有修改"單位"、修改參數、修改時間範圍來縮小數值。造成的原因如同設定浮點數時給予超過浮點數的範圍導致溢位,COMSOL有保護機制避免溢位發生。
  3. "時間順序不能往前"顧名思義,在設置時間範圍時結束時間小於起始時間或間格時間導致。

目前進度

將上述的2D聲波模擬換成3D模擬

前面有提到,COMSOL模擬的空間維度是一開始就設定好了,不能中間更改,因此要手動從頭製作3D模擬。目前已製作出來,但是要達到3公尺長的範圍太大,需要更多記憶體的電腦才跑得動。
檔案名稱"壓電材料_聲波傳遞_3D圓柱_2D延伸_1公尺_3D目前進度.mph"

待釐清的問題

數值模擬,"廣義alpha"

COMSOL模擬中為了將快計算速度,改由"廣義alpha(Generalized alpha method)"去跑數值模擬,至於詳細的運算方式還不太了解。
https://opensees.berkeley.edu/wiki/index.php/Generalized_Alpha_Method
https://www.youtube.com/watch?v=wUsTSm-DY1g

COMSOL優化計算,直接求解與迭代器求解

直接求解計算較快速,記憶體需求大,但不精確;反之迭代器求解精確,記憶體需求較低,但花更多時間。需要了解原理。
http://cn.comsol.com/blogs/solutions-linear-systems-equations-direct-iterative-solvers/

機構設計想法

目前想法是使用3個Tx來建立聲波建設性干涉範圍,因此設計三個Tx同步發出聲波,將建設性干涉形成的強聲波區去貼近TP的觀測範圍。在4個角落上各放一個Rx,來接收聲波,4個Rx的接收範圍盡量不要重疊,來分辨物體在畫面中的位置。