Fort Inc.
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    1
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # COMSOL整理 ## 目錄 [TOC] ## 硬體需求 #### 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下載連結](http://gofile.me/6FWQ2/JLg8BSoN6) 1. 開啟安裝檔 打開"COMSOL Multiphysics 5.6.0.401 Full Win-Linux-macOS"資料夾。 打開"COMSOL_5.6.0.401_DVD.iso" 進入"COMSOL56"的虛擬光碟中,打開"setup.exe" ![](https://i.imgur.com/vXv4s32.png) 2. 安裝檔設定 > 1. 選擇操作語言,按"下一步 >" > ![](https://i.imgur.com/INcRCDx.png) > > 2. 點選"新的COMSOL安裝" > ![](https://i.imgur.com/s0Lk1iX.png) > > 3. 點選"我接受同意條款" > ![](https://i.imgur.com/yrEaLet.png) > > 4. 回到"COMSOL Multiphysics 5.6.0.401 Full Win-Linux-macOS"的資料夾 > 5. 打開"Crack"資料夾,這裡的"readme_windows.txt"可以參考。 > 6. 找到"LMCOMSOL_Multiphysics_SSQ.lic",確認它的路徑。 > 7. 回到COMSOL安裝檔,這裡要求輸入"授權資訊",點選"授權格式"旁邊的下拉表格,選擇"授權檔"。 > ![](https://i.imgur.com/Hzqes0J.png) > > 8. 點選"瀏覽" > ![](https://i.imgur.com/ONSmZ0O.png) > > 9. 找到"LMCOMSOL_Multiphysics_SSQ.lic"檔,並按下"open"。 > ![](https://i.imgur.com/rACPbQd.png) > > 10. 回到安裝檔頁面,按"下一步 >" > 11. 選擇安裝內容,預設為全部,選好後按"下一步 >" > ![](https://i.imgur.com/lcL8KkM.png) > > 12. 來到選項,不要勾選 =="安裝後更新檢查"== 和 =="啟動自動更新"==。按"下一步 >" > ![](https://i.imgur.com/ZRXKo06.png) >  > 13. 即時連結,不要勾選任何選項,按"下一步 >" > ![](https://i.imgur.com/rgFuppr.png) > > 14. 確定安裝選項,點選"安裝",開始安裝。 > ![](https://i.imgur.com/OmAeYUg.png) ## 基本畫面操作 ### 1.開啟COMSOL ![](https://i.imgur.com/intBA8P.png) COMSOL開啟頁面預設為新增模擬的畫面 ### 2.新增模擬 > 1. 點選"模型精靈" > ![](https://i.imgur.com/R1t7fe2.png) > 2. 選擇空間維度 > ![](https://i.imgur.com/FZH5Sma.png) > 依需求選擇空間維度,其中"2D軸對稱"和"1D軸對稱"如下圖所示 > ![](https://i.imgur.com/Kc0Qr0g.png) > 3. 選擇物理量 > ![](https://i.imgur.com/Mc4CRwm.png) > 如果要做聲波在空氣中傳遞,且聲源是壓電材料,選擇"結構力學"->"電磁-結構交互作用"->"壓電效應"->"壓電效應-固體",雙擊左鍵或按"新增"即可增加物理量。 > ![](https://i.imgur.com/NGrCX1d.png) > ![](https://i.imgur.com/utBhl2l.png) > 4. 選擇好物理量,按"研究"。如果有少選或需要增加物理量,設定好後仍可修改。 > 5. 選擇研究,以聲波來說,常用的有"時間相依"、"頻遇"、"穩態"。 > 雙擊要的研究或是按下方的完成,及設定完成了! > ![](https://i.imgur.com/5I0p9KU.png) > ![](https://i.imgur.com/B7RnYxz.png) ### 3.基本概念 #### 工作區域 在COMSOL中,有實體的模擬要有"模型"、"材料"、"網格"、"物理量"、"研究"和"結果"。彼此間相互影響,不過COMSOL的設計可以方便查找問題。 ![](https://i.imgur.com/pQKD21N.png) 上圖為COMSOL主要的工作視窗,最左邊是"模型建立器"。這裡包含模擬中所有資訊,就像是編譯器中的project管理區。在COMSOL中,每個設定的參數是由"模型建立器"中由上而下逐一建成,比如全域定義中有定義的參數,下面的設定中皆可使用。 ![](https://i.imgur.com/Pvbf2Gd.png) 畫面中間是設定參數的地方,先選取"模型建立器"中要設定的參數,比如"幾何" (模型的造型),在這可以設定幾何的單位等等。換成其他選項會顯示可改變的參數,是設定COMSOL主要工作區。 ![](https://i.imgur.com/BQPse64.png) 最右邊為"圖形"區,將顯示模擬的視覺化結果,包含3D、2D繪圖、圖表等。在繪製模型時會顯示在此區域。 ![](https://i.imgur.com/cAYqHKv.png) 訊息、計算資訊、表格的顯示區域。要注意,COMSOL中輸出的 =="表格"== 會出現在這裡。 ![](https://i.imgur.com/EAVPr1f.png) 功能區。和office中上面那一欄是一樣的功能。要新增物理量、新增幾何、新增網格、輸出圖形等等,這裡可以找到。也可以在"模型建立器"中對要修改的地方按右鍵有相同的功能。 #### 模擬必須包含的設定 一個COMSOL模擬必須包含"模型,並且能往格化"、"材料"、"物理量"、"研究",最後生成"結果"。這裡給個簡單的範例。 ##### COMSOL簡單範例 https://www.youtube.com/watch?v=4uOOXLdzMgU&t=1789s 可以搭配這個影片一起學,不過前面1/4是廣告和最基礎的COMSOL教學,看一遍就好,皮托科技的影片都有這問題。 ### 簡單範例 這個範例是我自己寫的,建立在線性聲波在空氣中傳遞的模擬。在空間中心有一個聲源,隨時間傳播,撞擊到牆面會被吸收。 檔案名稱"1 點聲源_空盒_空氣_牆面反射_teaching.mph" 1. 新增COMSOL,點選"模型精靈" 2. 選擇"3D"空間維度。 3. 選擇"聲學"->"幾何聲學"->"線聲學(rac)",按"新增"後按"研究"。 ![](https://i.imgur.com/eq33aVN.png) 4. 在研究中選擇"時間相依"。按"完成"。 ![](https://i.imgur.com/4qd823Q.png) 5. 首先劃出幾何模型,點選幾何,並在上方工具列選擇"幾何"。先看一下中間的設定,第一個選項是長度單位,這裡選"m"公尺。 ![](https://i.imgur.com/UJbMpcM.png) 6. 在上面工具列中雙擊"立方體",在"模型建立器"中會新增"立方體 1 (blk1)" ![](https://i.imgur.com/R8BUlF1.png) 7. 在中間設定中,設定立方體的長寬高,預設為1。 8. 修改位置。在設定->位置->"以.為起始"中改成"中心"。 ![](https://i.imgur.com/zA3vnVv.png) 9. 按下"建立選項的"即可在"圖形"中生成。也可按下"建立所有物件"將設定好的幾何全部生成。 ![](https://i.imgur.com/al4SHvI.png) 10. 按下上方工具列中的"立方體",新增另一個立方體。 ![](https://i.imgur.com/Cs3Kpy6.png) 11. 設定長寬高,分別為"寬度0.1"、"高度0.5"、"長度0.5"。修改位置,以"中心"為起點,"x=0.25", "y=0", "z=0"。 ![](https://i.imgur.com/Emrkvfk.png) 12. 按"建立所有物件",檢查"圖形"中產生的物件。 ![](https://i.imgur.com/0G3KMIU.png) 13. 看到的圖和上面不一樣,記得按"透明度"即可看到內部結構。 ![](https://i.imgur.com/hK6Bbm0.png) 14. 接下來設定"材料",在上面工具列中點選"材料",點選"新增材料"。 ![](https://i.imgur.com/56CvsQy.png) 15. 點開後會在最右邊出現"新增材料"的視窗。可以直接搜尋要的材料(記得要用英文)。 ![](https://i.imgur.com/iUAF4b2.png) 16. 這裡用到"Air"和"Alumina",可以在"內建"中找到。雙擊要的材料即可新增。 ![](https://i.imgur.com/FmNd2Vf.png) 17. 關閉"新增材料" 18. 設定幾何與材料的關係。在"模型建立器"->"材料"->"Air",設定空氣的區域。 ![](https://i.imgur.com/fRdS9A5.png) 19. 到中間的"幾何本體選擇區"->"選擇區"將"所有區域"改成"手動"。 ![](https://i.imgur.com/huZYZcK.png) 20. 只選擇外面的大立方體,在這裡為代號"1"的區域。區域的代號為COMSOL給予,無法修改,出錯時只會回報區域、邊界、邊、點等的代號,要自己確認正確的位置。這步驟可以在"設定"中修改,也可以在圖形中修改。當圖形中滑鼠觸摸到的區域會以紅框或綠框呈現。綠框代表"已被選擇",紅框則"未被選擇"。如果要選擇的物體重疊在一起,"滾動滑鼠滾輪"即可選擇重疊中不同層的物體。 ![](https://i.imgur.com/ssFxA0L.png) 21. 設定"Alumin"的區域,在"模型建立器"中點選"Alumin"。 22. 選擇內部的立方體,這裡代號為"2"。 ![](https://i.imgur.com/WNLGqbw.png) 23. 接著設定物理量"線聲學"。在"模型建立器"中點選"線聲學"。 ![](https://i.imgur.com/PoJtWuA.png) 24. 首先修改"區域選擇"->"選擇區"改成"手動"->只選擇區域"1"。 ![](https://i.imgur.com/Bzs7y7C.png) 25. 往下看"外部與未網格區域的材料屬性"->"聲速"(Cext)為"343(m/s)",也就是聲波在空氣中傳播速度。 26. 往下看"強度計算"->"強度計算",改成"計算強度與功率"。往下看"額外變數",勾選"儲存光線狀態資料"。 ![](https://i.imgur.com/7rgEul6.png) 27. 在"線聲學"->"光束屬性"中設定聲波的"頻率"。這裡設定成"40000[kHz]。 ![](https://i.imgur.com/RnDqfkn.png) 27. 在"線聲學"中新增"從格點釋放",可以在上方工具列->物理量->"全域"中找到。也可在"模型建立器"中,對"線聲學"按右鍵->"從格點釋放"。 ![](https://i.imgur.com/2I3kneR.png) ![](https://i.imgur.com/gFgytXS.png) 28. 點選"從格點釋放"->"線方向相量"->"線方向相量"改成"球形"。 ![](https://i.imgur.com/hEfB5Yf.png) 29. 將"波向量空間的光線束"改成10000。 ![](https://i.imgur.com/Wm7SapR.png) 30. 將"總來源功率"設定成"10[W]" ![](https://i.imgur.com/PDPZ0f3.png) 31. 在"線聲學"中新增"光線終止"。在物理量->全域中可找到。或是對"線聲學"按右鍵->光線終止。 ![](https://i.imgur.com/3Y0oZyK.png) 32. 在"模型建立器"中點選"網格",直接按下"建立全部"。這是COMSOL自動生成網格。 ![](https://i.imgur.com/NppXTYb.png) 33. 在"模型建立器"中點選"研究"左邊的三角型,將"研究"中的下拉資料展開,點選"步驟1:時間相依"。 ![](https://i.imgur.com/cLoTtQL.png) 34. 在"研究設定"中修改"時間單位",改成"ms"毫秒。修改"輸出次數",改成"range(0,0.1,3)"。第一項為起始時間,第二項為時間差,第三項為終止時間。 ![](https://i.imgur.com/GpJ2qCj.png) 35. 按下"計算",COMSOL開始計算物理模擬,並在"結果"中輸出。 ![](https://i.imgur.com/QfbhOqB.png) 36. 接著COMSOL會自動跳到結果畫面,如下圖。 ![](https://i.imgur.com/ZzLX7qM.png) 37. 在"模型建立器"中,點選"結果"->"光線軌跡(rac)"->"光線軌跡 1",到"設定"->"著色與樣式",將"線樣式"改成"無","點樣式"改成"點"。結果就會是一包球形聲波,傳播與時間關係會以點點標示。 ![](https://i.imgur.com/xAcyLMY.png) 38. 按"繪製"旁邊的箭頭一張一張看結果。跳選到特定時間看結果時,記得要在選好時間後按"繪製"才會顯示。 ![](https://i.imgur.com/Do4SdVl.png) 39. 在這個畫面中,可以按下右上角的"動畫"->"播放器"可輸出動畫。 ![](https://i.imgur.com/dHaE1jq.png) ![](https://i.imgur.com/72MVDpa.png) 這個模型中可以看到聲波在打到牆壁時會停止。將研究改成"光線追蹤",可以看到聲波打到牆壁時會反射。 #### 參考其他人的資料 在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/ ![](https://i.imgur.com/LaCPzpn.png) 我是參考這個範例做出壓電材料與聲波傳遞的模擬。非常重要。 點選"Download the application files"可以找到以下檔案 ![](https://i.imgur.com/JBuFsmX.png) 選擇對應的COMSOL版本,其中".mph"是COMSOL project檔,下載後用COMSOL開啟即可操作。不過這裡的PDF檔是這個專案的簡介,並沒有附上詳解,下面我會做出這個專案的詳解。 ##### COMSOL內建範例 在COMSOL中以安裝部分官方範例,在COMSOL軟體中可以找到。 > 1. 進到COMSOL中,點選"檔案"->"應用資料庫"。 > ![](https://i.imgur.com/zlZC8a0.png) > 2. 進來後即可看到內建的範例檔,以物理量分類。 > ![](https://i.imgur.com/HpMHTjA.png) > 3. 左下方包含"開啟"和"PDF文件",分別是COMSOL專案和PDF詳解。 ## 聲波模擬範例 這裡模擬壓電元件釋放聲波在空氣中傳遞,打到一牆面後反射回來,並由另一個壓電元件接收聲波。參考以下範例修改而來,在參考範例中,一的壓電元件在水中釋放聲波,打到牆面後反射並由同一顆壓電元件接收聲波。這裡附上我製作的2D模擬詳解,可按照相同的步驟做出來。 ### 2D 壓電元件在空氣中傳遞聲波 檔案名稱"2 壓電材料_聲波傳遞_2D_反射體_壓電接收_teaching.mph" 1. 建立新的COMSOL專案,點選模型精靈 ![](https://i.imgur.com/h2TpatH.png) 2. 在空間維度中選擇"2D" ![](https://i.imgur.com/dNM75N2.png) 3. 物理量點選"聲波">"聲固交互作用">"聲壓電交互作用,暫態",選好後按"研究"。 ![](https://i.imgur.com/B3hretV.png) 4. 研究選擇"一般研究">"時間相依",選號後按"完成"。 ![](https://i.imgur.com/M8avQeN.png) 5. 進到工作區塊,首先設定幾何的參數,將單位改成"mm"毫米。 ![](https://i.imgur.com/3wXsaWI.png) 6. 點選上方工具列中的"幾何" ![](https://i.imgur.com/PF5Z1oj.png) 7. 點選"矩形",新增矩形 ![](https://i.imgur.com/TjXArsD.png) 8. 設定矩形的名稱,在"標籤"的欄位改成"Transmitter" ![](https://i.imgur.com/zBGxWLg.png) 9. 設定矩形的大小,在"尺寸與外型"下有"寬度"和"高度"的欄位,分別輸入"寬度:4","高度:1"。單位為預設單位,所以不用修改。需要修改可以在數字後面加上[m]即可將單位換成公尺。 ![](https://i.imgur.com/LSqVCst.png) 10. 設定矩形的位置,在"位置"下設定"以角落為起點",在"x"欄位輸入"212",在"y"欄位輸入"-1"。 ![](https://i.imgur.com/SvxH3oo.png) 11. 這樣就完成"Transmitter"的造型設定了,按下"建立所有物件",可以在右側"圖形"中看到結果。 ![](https://i.imgur.com/OC0jKd6.png) 12. 接著設定"Receiver",這裡可以用COMSOL的"重複"功能,複製一個相同的矩形。到"模型建立器"中滑鼠指著"Transmitter"的矩形按右鍵,點選"重複"。 ![](https://i.imgur.com/tdzysJo.png) 13. 這樣就會生成一模一樣的矩形。被稱作"Transmitter 1" ![](https://i.imgur.com/DK4PhyL.png) 14. 首先將"標籤"改成"Receiver"。 ![](https://i.imgur.com/9A4yXHa.png) 15. 這裡設定兩個壓電元件大小相同,因此不需要改變大小參數。 ![](https://i.imgur.com/ARupjb2.png) 16. 修改Receiver的位置,"x"設定成"188","y"一樣是"-1"。 ![](https://i.imgur.com/NtEEXNW.png) 17. 按下"建立所有物件"即可生成Receiver的造型,不過你可能看到下列情況。 ![](https://i.imgur.com/aTX6ubC.png) 18. 已經按下"建立所有物件",但是旁邊的圖形沒有改變。其實COMSOL已經生成另一個矩形了,只是沒有在畫面裡,在"圖形"視窗中點"縮放置視窗大小",就是紅框中的按鈕。就可以看到兩個矩形了! ![](https://i.imgur.com/rBxfzRK.png) 19. 接著設定反射的牆面"Reflector",在"幾何"中點選"矩形"。 ![](https://i.imgur.com/MkQDO8r.png) 20. 將標籤改成"Reflector"。 ![](https://i.imgur.com/KNLSA5D.png) 21. 在"尺寸與外觀"中修改尺寸,寬度設定成"40",高度設定成"5"。 ![](https://i.imgur.com/SpZxl7b.png) 22. 將"位置"改成,x設成"180",y設成"930"。 ![](https://i.imgur.com/2C3Gqv6.png) 23. 按下"建立所有物件"和"縮放置視窗大小"檢查圖形是否相符。 ![](https://i.imgur.com/eNePPDK.png) 24. 接著設定環境,新增一個"矩形",並將標籤改成"Enviroment"。 ![](https://i.imgur.com/ORdeQBR.png) 25. 設定"Enviroment"的尺寸,寬度:400,高度:1000。 ![](https://i.imgur.com/hKYquxk.png) 26. 設定"Enviroment"的位置,x:0,y:-40。 ![](https://i.imgur.com/ki9jRXr.png) 27. 往下滑點選"層",這裡新增"完美匹配層",用來優化模擬同時將矩形的邊界設為不反射壁。 ![](https://i.imgur.com/cUJFNC4.png) 28. 點開後在"層1"的後面設定厚度的地方輸入"20",將下面"左層"、"右層"、"下層"和"上層"全部勾選。按下"建立所有物件",就可以得到下面的圖形了。 ![](https://i.imgur.com/HJtQWdo.png) 29. 接著設定每個物件的"材料",首先點選上方工具列中的"材料"。 ![](https://i.imgur.com/RgZXo3k.png) 30. 點選"新增材料"。會看到右邊出現"新增材料"的視窗。 ![](https://i.imgur.com/0mWuaqG.png) 31. 點選"內建",雙擊"Air"即可新增air材料。 ![](https://i.imgur.com/XL7xSA9.png) 32. 雙擊"Alumin"新增材料 ![](https://i.imgur.com/vcnzELX.png) 33. 在"新增材料"視窗內第一欄是搜尋欄位,在搜尋欄輸入"pzt"按下"搜尋"或鍵盤"Enter"。選擇"內建"下的"Lead Zirconate Tianate(PZT-5H)"。這個是壓電元件的材料。 ![](https://i.imgur.com/px5MA3R.png) 34. 新增好材料後,將"新增材料"的視窗關閉,點選"新增材料"視窗右上的"x"。 ![](https://i.imgur.com/h84RbaO.png) 35. 在"模型建立器"中點選"材料"下的"Air"。 ![](https://i.imgur.com/zIjbpt5.png) 36. 修改"Air"的區域,在"幾何本體選擇區"中點選掃把圖案的按鈕,稱作"清除選擇"。可以看到下面框框中的數字消失,同時"選擇區"的欄位變成"手動"。 ![](https://i.imgur.com/9Le2YUC.png) 37. 點選"圖形"中中間的區域和邊邊上的矩形,這裡設定成"Air"的區域,對應選擇區的的數字,這些數字代表每個區域的代號。 ![](https://i.imgur.com/Kg5HmuV.png) ![](https://i.imgur.com/ZurAGcl.png) ![](https://i.imgur.com/PEAa1dF.png) 38. 接著在"模型建立器"中,點選"材料">"Alumin"。 ![](https://i.imgur.com/M6CJdg4.png) 39. 在"圖形"中點選上方薄片狀的矩形。可能沒辦法直接選取到,可以在指標只在矩形上時滾動滑鼠滾輪,來選擇到。 ![](https://i.imgur.com/dEDZ5hg.png) 40. 接著在"模型建立器"中點選"材料">"Lead Zirconate Tianate(PZT-5H)"。 ![](https://i.imgur.com/iV6EL98.png) 41. 在"圖形"中點選下方兩個小矩形,點不到先將畫面放大,在圖形上方的選項中點選"放大方塊",拉選下面的區域即可放大。 ![](https://i.imgur.com/Qf6TpGS.png) ![](https://i.imgur.com/pyeL37m.png) 42. 設定"完美匹配層",在"模型建立器"中找到"定義",點選"定義"展開。 ![](https://i.imgur.com/ZpoJLof.png) 43. 滑鼠只到"定義",按右鍵>點選"完美匹配層"。 ![](https://i.imgur.com/8yimBQe.png) 44. 進來後如下圖 ![](https://i.imgur.com/PCCcyMn.png) 45. 到右邊的"圖形"中,點選邊邊上所有的矩形。這樣就設定完成"完美匹配層" ![](https://i.imgur.com/AG46dUc.png) 46. 以上完成設定模型與材料,接著設定物理量。 47. 首先要先增加兩個物理量,分別是"固體力學"、"靜電"和"電路"。要多這兩個物理量是用來區分"Transmitter"和"Receiver"的特性。 48. 在上方工具列中點選"物理量"。 ![](https://i.imgur.com/zVJQA3m.png) 49. 點選"新增物理量"。和"新增材料"一樣,會在右邊出現"新增物理量"的視窗。 ![](https://i.imgur.com/LYiydpI.png) 50. 在"結構力學">雙擊"固體力學"來新增。會在"模型建立器"中出現"固體力學2" ![](https://i.imgur.com/hHgxL56.png) 51. 在"AC/DC">雙擊"電路",新增電路。 ![](https://i.imgur.com/aLjss9k.png) 52. 在"AC/DC">"電廠與電流">雙擊"靜電"。 ![](https://i.imgur.com/59AupvG.png) 53. 新增好物理量後,將"新增物理量"的視窗關閉 ![](https://i.imgur.com/yttH88Q.png) 54. 在"模型建立器"中找到"電路",將"電路"拖移到"固體力學2"上方。 ![](https://i.imgur.com/6OjaW6y.png) 55. 設定每個物理量作用的區域,在"模型建立器"中依次點開每個物理量來設定。 56. 首先點選"聲押,暫態(actd)"。 ![](https://i.imgur.com/sD7UZhO.png) 57. 在"區域選擇區"中點選"清除選項",再選擇中間和邊邊的矩形。如圖。 ![](https://i.imgur.com/ktsZqYu.png) 58. 回到"模型建立器"點選"固體力學(solid)" ![](https://i.imgur.com/Z1XX9N6.png) 59. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選右邊的小矩形。 ![](https://i.imgur.com/UdKnm3O.png) 60. 回到"模型建立器"點選"靜電(es)" ![](https://i.imgur.com/QThEzaZ.png) 61. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選右邊的小矩形。 ![](https://i.imgur.com/du9MERx.png) 62. 回到"模型建立器"點選"固體力學2(solid2)" ![](https://i.imgur.com/M5TmNPx.png) 63. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選左邊的小矩形。 ![](https://i.imgur.com/MePKcq6.png) 64. 回到"模型建立器"點選"靜電2(es2)" ![](https://i.imgur.com/xUo06LT.png) 65. 在"區域選擇區"中點選"清除選項",放大向方的區域,點選左邊的小矩形。 ![](https://i.imgur.com/sUZsAl2.png) 66. 回到"模型建立器"點選"聲押,暫態(actd)"展開,點選"暫態壓力聲場模型 1",確認"模型輸入">溫度是"用戶自訂"。 ![](https://i.imgur.com/lR0aI6Y.png) 67. 回到"模型建立器"點選"固體力學(solid)"展開,點選"線性彈性材料1",檢查"模型輸入">"體積參考溫度"設定成"用戶自訂"。 ![](https://i.imgur.com/jiaAvAD.png) 68. 點選"固體力學">"壓電材料",確認"模型輸入">"體積參考溫度"設定成"用戶自訂"。 ![](https://i.imgur.com/opwl9px.png) 69. 點選上方工具列的"物理量">點開"邊界">點選"低反射邊界"。 ![](https://i.imgur.com/GzkKGWB.png) 70. 這時候沒辦法選取邊界,先回到"模型建立器">"多重物理量">"聲-結構邊界1(asb1)" ![](https://i.imgur.com/1G2mrSp.png) 71. 在"選取邊界"中點選"清除選擇",點選右邊矩形上邊,如圖 ![](https://i.imgur.com/FkPGPTm.png) 72. 回到"固體力學1">"低反射邊界1",點選右邊矩形下邊,如圖 ![](https://i.imgur.com/JiIRt5J.png) 73. 到"模型建立器"中點選"靜電(es)"展開,對"靜電(es)"按右鍵,點選"接地",點選右邊的矩形的下邊,如圖。 ![](https://i.imgur.com/9sgwagm.png) ![](https://i.imgur.com/RWiGRYC.png) 74. 對"靜電(es)"按右鍵,點選"終端",點選右邊矩形的上邊,在"終端"中設定"終端名稱",設定成"2","終端類型"改成"電路"。如圖 ![](https://i.imgur.com/tQCeWNO.png) ![](https://i.imgur.com/8q6NMJ4.png) ![](https://i.imgur.com/jU9H97h.png) 75. 到"模型建立器"中點選"電路"展開。 ![](https://i.imgur.com/yOCwiC4.png) 76. 上方的工具列會變成"電路",從中點選"電壓源" ![](https://i.imgur.com/aSNIe7k.png) 77. 在設定>"元件參數">"來源類型"設定成"正弦來源" ![](https://i.imgur.com/sx8RrTr.png) 78. 將"電壓Vsrc"設定成"100*exp(-((t-1.5*T0)/(T0/2))^2)",頻率設定成"f0"。 ==請回到編輯版本中複製函數。== ![](https://i.imgur.com/Xvl4dZK.png) 79. 將"接點連接"設定成"p:1","n:0",如圖 ![](https://i.imgur.com/ib38NGn.png) 80. 到上方工具列,點選"電阻",阻值設定成預設值"1000[Ω]" ![](https://i.imgur.com/D7QJDif.png) 81. 設定"接點連接"設定成"p:1","n:2",如圖 ![](https://i.imgur.com/HL8clqk.png) 82. 在上方工具列,點選"外部I-終端"。 ![](https://i.imgur.com/VEIyi23.png) 83. "節點名稱"設定成"2","外部終端""V"設定成"終端電壓(es/term1)"。 ![](https://i.imgur.com/Pz0msJi.png) 84. 接著設定"固體力學2"和"靜電2"。是"Receiver"的特性。 85. 到"模型建立器"中點選"固體力學2"展開 ![](https://i.imgur.com/NAKmpHA.png) 86. 點選"線性彈性材料1">"模型輸入">"體積參考溫度"設定成"用戶自訂"。 ![](https://i.imgur.com/QHH8gVZ.png) 87. 指標對"固體力學2"按右鍵>"材料模型">點選"壓電材料" ![](https://i.imgur.com/GOPEvQ5.png) 88. 將"模型輸入">"體積參考溫度"設定成"用戶自訂" ![](https://i.imgur.com/rYKpcBM.png) 89. 點選"圖形"中左邊的矩形 ![](https://i.imgur.com/6P9tQZw.png) 90. 指標對"固體力學2"按右鍵>"更多">點選"低反射邊界" ![](https://i.imgur.com/xEhkeQ7.png) 91. 點選"圖形"中左邊矩形的下邊 ![](https://i.imgur.com/u5w36Sl.png) 92. 指標對"固體力學2"按右鍵>點選"滾動"。這個步驟是關鍵,有加入壓電元件才會隨聲波震盪。 ![](https://i.imgur.com/KZYdkaJ.png) 93. 點選"圖形"中左邊矩形的下邊 ![](https://i.imgur.com/UZXr1Ic.png) 94. 到"模型建立器"點選"靜電2(es2)"展開 ![](https://i.imgur.com/ZBMGbu7.png) 95. 指標對"靜電2(es2)"按右鍵>點選"電荷守恆,壓電" ![](https://i.imgur.com/pezDjpw.png) 96. 點選"圖形"中左邊的矩形 ![](https://i.imgur.com/L0dN7Ey.png) 97. 指標對"靜電2(es2)"按右鍵>點選"接地" ![](https://i.imgur.com/bGkFzDH.png) 98. 點選"圖形"中左邊矩形的下邊 ![](https://i.imgur.com/1c9bW82.png) 99. 指標對"靜電2(es2)"按右鍵>點選"浮動電位" ![](https://i.imgur.com/RzjZEXQ.png) 100. 點選"圖形"中左邊矩形的上邊 ![](https://i.imgur.com/SFO1hOD.png) 101. 到"模型建立器"點選"多重物理量"展開 ![](https://i.imgur.com/yAxOo5L.png) 102. 指標對"多重物理量"按右鍵>點選"聲-結構邊界" ![](https://i.imgur.com/mGr8Uf0.png) 103. 在"耦合介面"中,將"結構"改成"固體力學2(solid2)"。再到"圖形"選左邊矩形的上邊。 ![](https://i.imgur.com/evfjVfp.png) 104. 指標對"多重物理量"按右鍵>點選"壓電效應" ![](https://i.imgur.com/I1c4BOn.png) 105. 在"耦合介面"中,將"固體力學"改成"固體力學2(solid2)",將"靜電"改成"靜電2(es2)"。會看到左邊的矩形被選取起來。 ![](https://i.imgur.com/qQ1Bo2z.png) 106. 這裡要回去設定"參數",在"模型建立器">"全域定義">"參數"。 ![](https://i.imgur.com/dBe4QKr.png) 107. 參數值參考下圖輸入值 ![](https://i.imgur.com/YaCR8II.png) 108. 接著設定"網格",在"模型建立器"中點選"網格" ![](https://i.imgur.com/MiiW0hs.png) 109. 指標對"網格"按右鍵>點選"映射" ![](https://i.imgur.com/5aVlwhW.png) 110. 這時會新增"尺寸"和"映射",先點選"尺寸","元素尺寸"勾選"自訂"。 ![](https://i.imgur.com/gOljqms.png) 111. 在"元素尺寸參數">"最大元素尺寸"設定成"air_cp/fmax" ![](https://i.imgur.com/JErcPxF.png) 112. 在"元素尺寸參數">"最小元素尺寸"設定成"0.06" ![](https://i.imgur.com/KfxB7Vc.png) 113. 點選"映射1">"區域選擇區">"幾何實際等級"改成"區域"、"手動" ![](https://i.imgur.com/NZRfNe2.png) 114. 在"圖形"中點選兩個小矩形,也就是壓電元件。 ![](https://i.imgur.com/XLxIWIJ.png) 115. 指標對"映射1"按右鍵>點選"尺寸" ![](https://i.imgur.com/CPb2Zss.png) 116. "元素尺寸"改成"自訂",勾選"最大元素尺寸"設定成"min(1[mm]/3,pzt_cs/fmax/5)" ![](https://i.imgur.com/MeDbHXi.png) 117. 指標對"網格"按右鍵>點選"任意三角形" ![](https://i.imgur.com/rDS42zk.png) 118. 點選"任意三角形">"區域選擇區">"幾何實際等級"改成"區域"、"手動" ![](https://i.imgur.com/VEL04dc.png) 119. 在"圖形"中選取中間區域和"Reflector"的矩形。 ![](https://i.imgur.com/lI7GZvE.png) 120. 指標對"網格"按右鍵>點選"映射" ![](https://i.imgur.com/f5MzGRd.png) 121. 指標對"映射2"按右鍵>點選"分布" ![](https://i.imgur.com/sIJjk8n.png) 122. 點選"圖形"中左和右邊的上邊,如圖 ![](https://i.imgur.com/ncPlPVd.png) 123. 在"分布">"有限元素數"改成"2"。 ![](https://i.imgur.com/8ApY5ZE.png) 124. 按下"建立全部",來建立網格。 ![](https://i.imgur.com/nH0KPIs.png) 125. 到"模型建立器">"研究1">"步驟1:時間相依" ![](https://i.imgur.com/nwt6zEl.png) 126. 到上方工具列,點選"研究" ![](https://i.imgur.com/gKmlqid.png) 127. 點選"顯示預設求解器" ![](https://i.imgur.com/NBQZNKk.png) 128. 點擊"解1(sol1)"展開>點選"時間相依求解器" ![](https://i.imgur.com/Djpypyq.png) 129. 點選"時間步階"展開>將"方法"改成"廣義alpha" ![](https://i.imgur.com/CFGYPL4.png) 130. "由求解器解決的步階"改成"手動",將"時間步階"改成"min(1/(60*fmax),min(1/(60*fmax),1/(60*fmax)))"(*要打出來) ![](https://i.imgur.com/JJshAp6.png) 131. 按下"計算"就可以等COMSOL計算了,這個範例大概算10多分鐘。 ![](https://i.imgur.com/tO3gE4r.png) 132. 接下來加入"探針",追蹤壓電元件的電壓與變形。回到"模型建立器">"單元件1">"定義" ![](https://i.imgur.com/2tBopqF.png) 133. 對"定義"按右鍵,點選"探針">"邊界探針" ![](https://i.imgur.com/I8O6hfo.png) 134. "探針類型"改成"積分" ![](https://i.imgur.com/ujRpCxW.png) 135. "來源端選擇">"清除選擇">放大"圖形"下方區域>點選左邊矩形的下邊。 ![](https://i.imgur.com/FG2wAm9.png) 136. 在"表示式"旁邊點選"取代表示式" ![](https://i.imgur.com/lu79B15.png) 137. 點選"單元件">"靜電2">"浮動電位">點選"es2.fp1.V0-浮動電位-V" ![](https://i.imgur.com/MY9JZhq.png) 138. 修改"標籤",改成"Receiver voltage" ![](https://i.imgur.com/2S33JUE.png) 139. 在"模型建立器"中,對"Receiver voltage"按右鍵>點選"重複" ![](https://i.imgur.com/5dB7whY.png) 140. 將標籤"Receiver voltage 1"改成"Transmitter voltage" ![](https://i.imgur.com/Rezg0VI.png) 141. 在"來源端選擇">"清除選擇",在"圖形"中點選右邊矩形的上邊。 ![](https://i.imgur.com/MxJSKiE.png) 142. 在"表示式"點選"取代表示式" ![](https://i.imgur.com/k3KNTwk.png) 143. 點選"單元件">"靜電">"終端">"es.V0_2-終端電壓-V" ![](https://i.imgur.com/gvDYBY4.png) 144. 到"模型建立器"中對"定義"按右鍵>"探針">點選"區域探針" ![](https://i.imgur.com/EiNdxjT.png) 145. 將標籤換成"Receiver volumn" ![](https://i.imgur.com/2bGSxz7.png) 146. 探針類型改成"積分" ![](https://i.imgur.com/Drh2qaH.png) 147. "來源端選擇">"清除選擇">點選"圖形"中左邊矩形。 ![](https://i.imgur.com/1Kex3CZ.png) 148. "表示式">點選"取代表示式" ![](https://i.imgur.com/I4t9hnR.png) 149. "單元件1">"固體力學2">"應變">"solid2.evol-體積應變" ![](https://i.imgur.com/dYLrZWa.png) 150. 往下滑到"表單和視窗設定">點擊旁邊的"+"號按鈕。這步驟三個探針都要有,不然圖表會擠在同一張。 ![](https://i.imgur.com/lXK2K1t.png) 151. 再次到"研究1">修改"研究設定">"時間單位"改成"ms","輸出次數"改成"range(0,0.1,2)"。 ![](https://i.imgur.com/M8YtS5C.png) 152. 按下"計算"開始計算,等待結果 153. 計算完成後會看到以下畫面,自動跳到第一項結果。 ![](https://i.imgur.com/oFGeHwO.png) 154. 點選"聲壓(actd)" ![](https://i.imgur.com/X2UJC0t.png) 155. 點選上方工具列中的"動畫">"播放器" ![](https://i.imgur.com/iPaGSdZ.png) 156. 聲波傳遞不太清楚,往下滑,點擊"進階",取消勾選"畫格間的比例同步化" ![](https://i.imgur.com/TVppzTN.png) 157. 按下"圖形"中的"播放"鍵,即可修改動畫。 ![](https://i.imgur.com/6bXhn0o.png) 158. 到資料夾中,開啟"壓電材料_聲波傳遞_2D_反射體_壓電接收_完成版.mph"比較結果是否相符。 ### 3D和2D的差異,3D網格建立 3D模擬中的網格同樣是3D的,因此在做完"映射"後,要加上"掃描"產生立體的網格。只做"映射"代表只完成立體物件表面的網格。 > 1. 首先繪製"圓柱",和2D一樣繪製"Transmitter"、"Receiver"、"Reflector"和"Enviroment",如圖 > ![](https://i.imgur.com/Guj555m.png) > 2. 和2D一樣設定好"物理量",後設定"網格" > 3. 在2D中,我們對"壓電元件"和"完美匹配層"做"映射",同樣的在3D中也做"映射"。 > ![](https://i.imgur.com/5SKRsJB.png) > 4. 其中對"完美匹配層"的"分布"設定比較多,分別要設定4個地方。 > ![](https://i.imgur.com/ZugRQ8p.png) > 5. 第一個是外圈由內向外的網格數,上下兩個外圈格數會同步,如果不放心可以上下都選擇起來,要選擇的地方如圖。 > ![](https://i.imgur.com/4OSeueZ.png) > 6. 第二個是外圈的厚度的網格數,一樣上下格數同步。 > ![](https://i.imgur.com/DS221cb.png) > 7. 第三是是外圈一圈的格數,這裡要注意,設定的網格數是1/4圈中的網格數,所以這裡設定網格數是"12",但一圈的總網格數是"48" > ![](https://i.imgur.com/vFLBIBw.png) > 8. 第四是圓柱高上的網格數 > ![](https://i.imgur.com/B6qDTlA.png) > 9. 最後新增"掃描",並設定"掃描"的區域和"映射"的區域相同,按下"建立網格"沒有報錯就完成了!! > ![](https://i.imgur.com/yGuFMhS.png) > ![](https://i.imgur.com/Cv2k9i6.png) ## 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的接收範圍盡量不要重疊,來分辨物體在畫面中的位置。

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully