| COMSOL
Multiphysics
(原FEMLAB) |
安裝與啟動 |
錯誤訊息 |
參數設定 |
幾何與網格 |
後處理 |
案例補充說明 |
| |
Q1: |
軟體安裝時沒有反應? |
| A: |
一般來說,當置入CD1或DVD安裝片於光碟機後,會自動執行Install
Anywhere偵測系統配備,依電腦等級與系統配備,約花十秒鐘至數分鐘不等,隨後會進入安裝設定的對話視窗。若是無法進入安裝設定視窗,參考下面方法:
(1) CD1或DVD內所有檔案複製到別台電腦硬碟上
(2) 將檔案全部複製回到原本電腦中,執行lib\win32或lib\win64(對64位元系統)底下的setup執行檔即可
|
|
|
Q2: |
建議執行模擬最佳效能的硬體使用平台? |
| A: |
Windows 32位元平台-
OS:Win2000 SP4版以上,可支援至多1.5GB記憶體
OS:WinXP SP2版以上,可支援最多3GB記憶體
CPU:Pentium III以上
Windows 64位元平台-
OS:WinXP Professional x64 SP2版以上
OS:WinVista
CPU:AMD AMD64或Intel EM64T
Linux 32位元平台-
OS:Linux 2.4.x kernel, glibc-2.2.5含以上
Distributions:Debian 3.0, 3.1, RedHat Enterprise 4,
5, Fedora Core 5, SUSE 10.1
CPU:Pentium III以上
Linux 64位元平台-
OS:Linux 2.4.x kernel, glibc-2.3.2 含以上
Distributions:SUSE 9.0, 9.3, and 10.1, RedHat Enterprise
4 (AMD64/Intel EM64T), Fedora Core 5
CPU:AMD AMD64或Intel EM64T
Itanium平台-
OS:Linux 2.4.x kernel, glibc-2.3.2含以上
Distributions:Debian 3.1 (IA-64), RedHat Enterprise
4 (Itanium)
CPU:Itanium 2
SUN平台-
OS:Solaris 8, 9, 10
CPU:UltraSPARC II以上
Mac平台-
Mac OS X 10.4.8, 10.5 for Intel
Mac OS X 10.3.1, 10.4, 10.5 for PowerPC
備註(Windows圖形顯示卡之建議):
COMSOL 使用OpenGL做為硬體加速,DirectX同樣也支援,一般來說中階的顯示卡DirectX比OpenGL更適宜,但NVidia的顯示卡在OpenGL表現上也很理想。OpenGL版本需1.1以上,DirectX版本需8.0以上。建議顯示卡記憶體至少32MB以上。
|
|
|
Q3: |
Client
/ Server之啟動方式與優點 |
| A: |
對於單機版本,藉由TCP/IP通訊之Client Server設計,能夠分開執行於同一台電腦上之GUI與計算程序,也可以透過網路執行於不同的電腦上。
對於網路版本,藉由TCP/IP通訊之Client Server設計,可以使用一般電腦作為Client端,設定一些參數或幾何,當求解時會自動將程序遞交給Server端來做計算,因此Server可選用較高階的電腦。
<使用方式>
1. 啟動COMSOL 3.4 Server,讓電腦自動指定一組port。
2. 啟動COMSOL 3.4 Client,可在Model Navigator > settings
分頁視窗中顯示出已指定產生之port。
備註1:若COMSOL 3.4 Client無法自動產生port號碼,請手動輸入Server在DOS命令視窗顯示的port號碼。
備註2:若License種類為網路版,也可以執行不同電腦的Server/Client啟動方式
優點
藉由執行程序的不同,來配置不同處理程序時的記憶體使用量,最終提高計算時的記憶體使用量。COMSOL Client基本上跟原本使用的COMSOL是一樣的,只是當要進行運算時,會丟到
COMSOL Server來處理。
|
|
|
Q4: |
COMSOL3.4版與MATLAB支援版本列表 |
| A: |

備註:另外COMSOL的另一產品COMSOL Script,提供近乎MATLAB式的作業環境,具有六百個以上的指令,包含數值分析、矩陣運算、函數庫、字串、檔案IO、圖形顯示、GUI設計等等功能,因此對於深入的參數化、最佳化模擬設計、客制化後處理等等以需靠MATLAB的運算功能,在COMSOL
Script都能完全勝任。 |
|
|
Q5: |
使用網路版License時,COMSOL
Client端的啟動受到防火牆影響? |
| A: |
這種情況發生時,COMSOL client端嘗試啟動時,會出現錯誤訊息"License
error -96"。解決方式是至少要有開放兩個port在server端上,來允許client端連接上license
manager,也就是lmgrd daemon和LMCOMSOL vendor deamon有指定port,請開啟license.dat檔來修正:
範例:
SERVER my_server 123456789ABC
1718
VENDOR LMCOMSOL
第一行的port number預設是1718,可以改變為其他任意值,第二行的VENDOR必須加註其他任意的port
number,例如:
SERVER my_server 123456789ABC
1718
VENDOR LMCOMSOL port=1719
重新規劃防火牆設定,使其允許存取上述的port number
|
|
|
Q6: |
產生網格與後處理時,圖形無法正確顯示的問題? |
| A: |
在圖形顯示時出現問題,修正辦法有兩種:
第一種方法:較舊的圖形顯示卡可能沒支援OpenGL 1.1,因此需將顯示卡驅動程式更新;
第二種方法:切換OpenGL顯示改成DirectX顯示方式,請先將軟體關閉,接著執行軟體資料夾底下之win32_3d_dx.exe,將其解壓縮即可。若需切換回來,請執行win32_3d_ogl.exe。
|
|
|
Q7: |
網路版License的License
Borrowing借用授權碼功能,提供暫時性無網路環境的執行 |
| A: |
License borrowing功能可以讓COMSOL程式在有限時間不需檢查Server網路環境來使用,對於攜家使用或出差使用非常方便。
License borrowing功能需要確保下列情況滿足:
COMSOL 3.4網路版序號,Floating Network License (FNL)
License.dat檔需包含BORROW關鍵字,如下:
SERVER myserver 000102030405
1718
USE_SERVER
VENDOR LMCOMSOL
FEATURE SERIAL LMCOMSOL 3.4 permanent uncounted \
VENDOR_STRING=C,3F3F0 HOSTID=ANY BORROW SN=1921634
\
SIGN=123456789ABC
FEATURE COMSOL LMCOMSOL 3.4 permanent 1 BORROW DUP_GROUP=UH
\
SIGN=123456789ABC
FEATURE COMSOLGUI LMCOMSOL 3.4 permanent 1 BORROW DUP_GROUP=UH
\
SIGN=123456789ABC
FEATURE SCRIPT LMCOMSOL 3.4 permanent 1 BORROW DUP_GROUP=UH
\
SIGN=123456789ABC
FEATURE SCRIPTPROMPT LMCOMSOL 3.4 permanent 1 BORROW
DUP_GROUP=UH \
SIGN=123456789ABC
設定方法
(1) 啟動Client端電腦,執行LMTOOLS程式
(2) 點選Borrowing分頁
(3) 選擇多久時間的授權碼借用,輸入欄位為Return
Date、Return
Time,接著點選Set
Borrow Expiration鈕,需注意最大值為一週為限,當期限一過,LMTOOLS為自動傳回被借用的授權碼
(4) 啟動COMSOL Multiphysics,確認可使用模組,每個模組會個別對應:
(5) 欲觀看目前借用的授權碼項目,點選List
Currently Borrowed Features鈕,輸出會如下所示:
(6) 當已產生所需借用的授權碼,關閉網路連線。如果欲繼續保持網路連線,而不要再借用更多授權模組,請點選Don't
Borrow Anymore Today鈕
|
|
|
Q8: |
於安裝COMSOL 3.4時,出現錯誤訊息”UnsatisfiedLinkError”。
|
| A: |
此問題為系統缺少所需C++封包。可開啟COMSOL 3.4光碟目錄,點選vcredist_x86.exe進行安裝,完成後重新執行COMSOL安裝程序即可。
|
|
|
| Q9: |
COMSOL 3.4支援SOLIDWORK哪些版本? |
| A: |
COMSOL 3.4支援版本為:
SolidWorks 2005 SP5.0、SolidWorks 2006 SP0 & SP5.1、SolidWorks
2007 SP0 & SP4.0、SolidWorks 2008 SP0。
其中作業平台亦分為:Windows 2000 & XP、Windows XP x64 ( 需要
SolidWorks 64 bit 與 COMSOL Multiphysics 64 bit )、Windows
Vista Business and Ultimate (僅支援32 bit). |
|
|
回到最上層
|
|
| |
Q1: |
COMSOL Multiphysics錯誤訊息碼的一般意義
|
| A: |
錯誤訊息根據類型不同,有以下代碼區分:
1000-1999 載入模型
2000-2999 幾何建模
3000-3999 CAD載入
4000-4999 網格產生
5000-5999 點、邊、邊界、統御域
6000-6999 組合矩陣
7000-7999 求解
8000-8999 後處理
9000-9999 一般 |
| |
對於更多的代碼與解釋,請開啟COMSOL GUI,點選主選單Help > Help Desk (HTML/PDF),選擇目錄COMSOL
Multiphysics, Command Reference Guide,Error Messages章節的說明
|
|
|
Q2: |
當執行多核心電腦運算,指派處理器任務的錯誤(錯誤訊息是”
Error in callback, Error in built-in function”) |
| A: |
請執行更新修正檔(comsol34_hotfix_win32.exe或comsol34_hotfix_win64.exe)解決這個問題
|
|
|
Q3: |
發生系統矩陣為零的錯誤(錯誤訊息是”
System matrix is zero”) |
| A: |
問題是發生在當對3D物件執行表面網格化處理時,並未對3D內部進行網格產生的動作,導致系統矩陣為零。解決方式則為確認3D網格也已經產生,使用方式是選擇Mesh
Remaining或Swept
Mesh功能
 
|
|
|
Q4: |
載入Solidworks圖形的錯誤(錯誤訊息是”SolidWorks
import: Error, failed to load model...”) |
| A: |
當載入Solidworks幾何檔案,並儲存為mph檔,一旦重新啟動COMSOL
Multiphysics,開啟該mph檔時,會出現錯誤訊息:
Error: 1095
Failed to load model.
- File name: C:\Mymodels\test.mph
這個問題已經在3.4版修正,不再有此問題發生
|
|
|
Q5: |
幾何分解時的內部錯誤(錯誤訊息是”
Internal Error in Geometry”) |
A: |
通常發生於Comsol Multiphysics解析幾何與網格關係失敗,假如幾何包含幾個物件,物件間應該是自動結合,若物件結合是十分複雜就有可能導致錯誤
通常這些問題是幾何模型缺少準確度,Draw > Use Assembly功能特點可用來避免所有物件合而為一,而是單獨處理個別的物件,如此,幾何結合失敗的問題可以避免,為連結各物件的物理場,一致性條件對偶(identity
pairs)必須指定,可參考模型資料庫案例薄膜電阻(Thin Film Resistance)
其他解決這個問題的方案如下:
改變幾何,簡化或避免微小結構,試著消去窄小曲型物件的交錯處,並移除不必要的部分
簡化幾何,執行分析,最後再慢慢加入原始的幾何,分析幾何性所造成的結果變化是否必要
若有多個物件,執行建立複合物件(Create Composite Objects),並調整修補容忍值(repair
tolerance)
|
|
|
Q6: |
網路版的client端無法開啟執行的問題(錯誤訊息是”
License error - Cannot connect to license server system”)
|
| A: |
一般測試問題的原因的方式如下:
●測試Server電腦可否可執行,無法執行,需確認License.dat檔是否正確
● 在Lmtool工具,重新執行stop和start server
● 參考安裝手冊,執行章節”Starting Manager Manually”,確認是否可行?
● 關閉防火牆試試看,或設定防火牆例外
● 修改client端的License.dat檔的第一行,改hostname為server電腦的ip address
|
|
|
| Q7: |
收斂問題處理方案?(錯誤訊息是”Failed
to find a solution: No convergence...”) |
| A: |
特別對於對流擴散問題,或是自由對流問題常發生這種狀況。一般處理對策為:
● 使用特徵值求解器找出匹配邊界條件
● 對於高非線性問題,使用高非線性選項
● 對於耦合問題,先解耦合來找出較佳初始猜試後,再耦合求解
● 使用暫態求解器或(和)慢慢轉換邊界值來找出穩態解狀態
● 對於關鍵性參數,使用參數求解器來達成最終實際參數狀態
● 對於物理場梯度變化很大的區域,細化區域網格
● 對於包含對流項問題,導入人工擴散
● 對於穩態問題,可以使用Solver Parameter隔離求解器
● 對於腔體流動,需要增加一個點邊界,設定約束值,否則會有無窮解
|
|
|
| Q8: |
如何模擬高度非線性問題,並避免分析時的不收斂? |
| A: |
以下五種方法可以解決的非線性方程式的不收斂問題:
(建議一) 使用 general solution form 或是 weak solution form,來提供
exact Jacobians處理非線性偏微分方程式。此外,當使用到耦合變數時,必
須使用 weak solution form 來得到準確的 Jacobian。
(建議二) 提供最有可能的初始值。
(建議三) 確保邊界條件是一致的 (consistent)。
(建議四) 將穩態非線性問題切換成暫態問題並試著去求解。這種方式一般會產生較平滑的收斂,確保求解問題的時間需夠長足以達到穩態。
(建議五) 使用參數解,以及變化與非線性行為很大關係的材料係數,因此可以一連串的微調方程式的非線性程度。
|
|
|
| Q9: |
在暫態問題中,如何避免求解中的不收斂,或是解的不準確? |
| A: |
對於暫態問題,容忍值(tolerance)的大小會影響求解值的誤差和收斂性。
(1) 對於結構問題,常常遇到求解時的位移量非常小,因此需要設定絕對容忍值(absolute tolerance)小於位移量約一個因次。
使用方法
開啟Solver Parameter,當選擇為Time
dependent Solver時,在General分頁中的Absolute
tolerance欄位中設定
(2) 對於熱應力問題,位移量大小可能為1e-6,然而溫度場的變化可能只有1e-2K,所以可以使用到相對容忍值
(relative tolerance),將其設定 u(位移變數)1e-6 T(溫度變數)0.01。
範例
開啟Solver Parameter,當選擇為Time
dependent Solver時,在General分頁中的Relative
tolerance欄位中設定 u 1e-6 T 0.01。 |
|
|
| Q10: |
在化工問題中,如何避免反應速率過高的不收斂? |
| A: |
具有高反應速率項(R)的問題,或大的來源項(source),會導致收斂上的問題,錯誤訊息如"No
convergence, even when using the minimum damping factor"或"NaN
repeatedly found in solution",一般處理方式為:
由調低來源項開始求解,並使用參數解,逐步增加回來
(1) 乘上反應項一個係數"k"
(2) 開啟Solver Parameters,使用參數解,並指定k為參數名稱
(3) 列出參數值範圍,例如1e-3 1e-2 1e-1 1,逐步調回1 |
|
|
| Q11: |
求解時發生的奇異點矩陣問題?(錯誤訊息是”Singular
Matrix”) |
| A: |
這個問題是因為線性系統的勁度矩陣是有奇異點,求解器無法轉置,處理的方案如下:
問題(方程式系統與邊界條件)是過度或是不足定義,請檢查邊界條件和初始條件
有定義過相依變數表示式為解變數的空間微分,因為初始猜值對非線性系統是常數,導致方程式變為奇異,處理方式是指定初始條件為非零微分,例如1e-6*sqrt(x^2+y^2+z^2),或是得到錯誤訊息後,點選重新求解(Restart)的選項,也可以解決。 |
|
|
| Q12: |
安裝輸入序號/密碼時,已經確認輸入無誤,卻無法辨識?(錯誤訊息是"Fatal
exception occurred. Program will exit." 或 "Unsatisfied
link error.")

|
| A: |
假如Windows 2000或XP沒有安裝VS C++ 2005
runtime資料庫,錯誤就會發生,解決方法是:
(1) 關閉安裝程式
(2) 找到位於CD1或DVD安裝光碟根目錄底下的程式vcredist_x86.exe,並點選來執行
(3) 重新放入光碟片,啟動安裝程式即可
|
|
|
| Q13: |
求解時記憶體不足,或如何增加記憶體的使用量?(錯誤訊息是”Out
of memory”) |
| A: |
COMSOL Multiphysics 3.4版使用更有效益的方式來運用記憶體,所以針對比較複雜的Model(特別是3D
Model),使其能夠更快、更順利的完成計算,減少Out of memory 錯誤訊息的發生可能!當然模型越複雜,多少還是有機會遇到記憶體不足的錯誤訊息產生,以下幾個方向,從軟體與硬體方面來提供改善的方案:
|
|
| : |
軟體設定更具記憶體效益的模型處理∼
|
| |
考慮更具記憶體效應的模型處理,有下列的考慮因素:
●幾何網格(geometry mesh)的節點數(node)
●形狀函數,根據冪次不同(e.g. Linear Lagrange elements、2 order Lagrange
elements,etc)與幾何網格組合成計算網格(extended mesh)
●獨立變數(x y z r等等)與求解因變數數量
●系統矩陣的稀疏性,一般橢圓形PDE問題較優;此外耦合變數的使用也會增加矩陣稀疏性
|
| |
選擇適當的求解器
● COMSOL Multiphysics 3.3版會自動偵測系統的對稱性,對於對稱系統可快速提供正確的求解器選擇
● 直接求解器使用高斯消去法求解線性系統,在1D和2D問題上快於迭代求解器。但處理大型問題時,消去法過程需要大量記憶體資源與長
時間計算,會影響部分3D問題,因此3D問題的預設是迭代求解,優勢是比直接求解器使用更少的記憶體,通常也比較快,最佳的調整需
要搭配適當的預處理器(preconditioner)設定
|
| |
總結
● 幾何模型對稱:可由3D模型調降為2D、軸對稱或1D
● 執行求解管理器(Solver Manager):對於單向耦合場問題,可使用Solver Manager,分序執行計算
● 網格設定:使用free mesh parameter或assembly調整非重要區的網格密度
● 求解器設定:使用迭代求解器搭配GMG和Vanka參數
● 形狀函數:使用線性或低階形狀函數 |
| |
硬體設定∼ |
| |
32位元電腦
一般32位元電腦最大只能運用1.5 G左右的記憶體(實體+虛擬記憶體),對於Windows XP Pro或
Windows 2003 server版,可以取用至3GB的虛擬記憶體,方法是需要修改開機系統,檔案為 boot.ini,需注意這個檔案是隱藏檔,所以解隱藏後,使用一般文字編輯軟體去修改,修改內容如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="????"
/3GB 64位元電腦
搭配64位元CPU與作業系統,記憶體上限的限制將不存在,因此8G、16G,甚至64G以上的記憶體運用都是可能的
執行Client-Server模式
在一台或兩台電腦藉由執行程序的不同,來配置不同處理程序時的記憶體使用量,最終提高計算時的記憶體使用量。COMSOL
Client處理GUI,COMSOL Server處理求解程序。(註:同台電腦也可模擬此兩個程序;兩台電腦執行不同程序則需要使用floating
license)
調整Java heap size參數
設定方式說明:至資料夾COMSOL / lib
/ win32,開啟檔案comsol.opts,將其中一行的參數 MAXHEAP=256m從256MB至128MB或更低
|
| |
COMSOL
Multiphysics 3.4版平行化運算∼ |
| |
COMSOL Multiphysics 3.4版的求解器,現在支援多微處理器平行運算支援平行化矩陣組合、3D
網格、迭代求解等等不同程序 |
| |
COMSOL
Multiphysics 3.4版的新求解器:隔離求解器 (Segregated Solver)∼
簡介
利用隔離求解器提供的分群組計算矩陣的功能,可以將整個問題包含多個因變數的矩陣,隔離為單一或多個群組的獨立求解程序(子步求解,Substeps),透過阻尼牛頓法(damped
Newton)來進行不同群組的迭代與收斂機制 優點
較易獲得多重物理耦合模型的初始猜值
大幅降低大型、耦合問題,如流固、波傳熱固問題的記憶體消耗
功能選項
New Group:點選後,產生一筆求解群組,以及輸入求解元素(Component),也就是相關於應用模版的因變數(dependent
variable),可以新增或移除
Manual specification of segregated steps:可以手動控制求解時群組的子步求解順序,並可調整阻尼牛頓法的damping係數,以及迭代數
Lower bound on the degrees of freedom:可以直接設定自由度的限制,例如輸入c1
0 c2 1e-3,在每次子步求解時,會修正求解向量,使得
其中為自由度Uj,UL為限制值
|
| |

範例:Resistive heating (1) 開啟Solve
> Solver Parameters
(2) 選擇Stationary分析類型
(3) 選擇Stationary segregated
|
| |

(4) 當選擇segregated solver時,提供有兩個內建群組,對應兩個應用模版(溫度T和電位V)
(5) 接下來,修改容忍度 (tolerance),使得segregated solver scheme能到收斂,兩個群組的容忍度修改為1e-6

(6) 完成後OK關閉Solver Parameters,執行計算"="

|
|
|
| Q14: |
當模擬不同結構的網格類型結合,需使用到一致性條件
(identity condition) 來設定關聯,為何會出現錯誤(錯誤訊息是” identity coupling”) |
| A: |
當使用一致性條件來耦合不同網格結構時,先決要件是從較疏的網格結構耦合到較密的網格結構。因此要先選擇較疏網格的幾何視窗,再開啟一致性條件的編輯視窗來設定一致性耦合條件。
|
|
|
| Q15: |
求解穩態問題時出現”Maximum
number of Newton iteration reached”.錯誤

|
| A: |
開啟Solve > Solver parameter,於Stationary分頁,加大Maximum
number of iterations數值。
|
|
|
| Q16: |
求解後進行動畫產生,出現錯誤訊息並且程式馬上自動關閉。

|
| A: |
以Window XP為例,於我的電腦 > 內容 > 進階
> 環境變數,點選新增,加入變數KMP_DUPLICATE_LIB_OK,以及變數值為TRUE。完成後點選確定,重新開啟COMSOL執行產生動畫。

|
|
|
| Q17: |
計算時出現的問題(錯誤訊息是”
initial guess leads to undefined function value”)
|
| A: |
當模型中任一參數有使用到內差函數時,必須先要有初始值才能夠讓計算矩陣獲得initial
guess初始猜試值,因此在實際計算前,可以先給定內差函數在某一值情況下的計算,如對溫度、位置、或磁飽和曲線的磁通等等,使用Solve來執行計算,否則將得到此錯誤訊息,但不論如何,既使得到錯誤訊息時,下一步,可以執行Restart,以現有的初始值來更新計算,得到最終欲求的結果。
|
|
| |
|
| |
Q1: |
極座標軸的設定問題
|
| A: |
我們可以自行定義變數的轉換來達成。
3D 球座標軸
假如要以 r, phi 和 theta 表示出材料屬性或雙耦極,只需要在直角座標上繪製幾何模型,並利用
Options > Expressions > Scalar Expressions 視窗上定義出三個表示式。
其關係式定義如下:
r: sqrt(x^2+y^2+z^2)
phi: atan2(y,x)
theta: acos(z/r)
數學函數sqrt,atan2與acos為COMSOL Multiphysics內建函數,一旦定義完成後,就可以隨意的去運用這些座標函數了。
手動轉換方程式,例如:
dU/dr = dU/dx*dx/dr+dU/dy*dy/dr = cos(theta)*dU/dx+sin(theta)*dU/dy
dU/dtheta= dU/dx*dx/dtheta+dU/dy*dy/dtheta = -r*sin(theta)*dU/dx+cos(theta)*dU/dy
上面的方程式即可以重新輸入於直角座標系統
邊界條件:
重新改寫Dirichlet邊界條件問題不大
只有Neumann condition dU/dtheta=0需要注意,例如Ux.nx+Uy.ny=0,則dU/dx*dx/dtheta*nx+dU/dy*dy/dtheta*ny=0
2D 極座標軸
假如是 2D 極座標的情況,則是比較簡單來定義:
r: sqrt(x^2+y^2)
phi: atan2(y,x)
如果是軸對稱的問題,則可直接使用COMSOL Multiphysics內建軸對稱應用模式(r-z空間)。
|
|
|
Q2: |
薄殼結構的繪製方法 |
| A: |
我們可以使用兩個近似大小的球體做幾何交集產生。首先利用球體幾何物件繪製x半徑的球體,接著繪製另一個球體,假設此球體的半徑可設定為x-0.01x
(x為薄殼球體的外半徑,厚度為外半徑的0.01倍),最後進行兩物件的交集(intersection),即可得到半徑x,厚度0.01x的薄殼! |
|
|
Q3: |
如何將(A)方程式求解完畢後所得到的答案,再帶入(B)方程式中來疊代計算?
|
| A: |
使用主選單Solve
> Solver Manager,開啟該對話視窗。
(第一步) 在 Solve for
分頁視窗與 Output
分頁視窗中,先勾選(A)方程式來進行計算與顯示結果。接著使用initial value 分頁視窗之
store solution 按鈕來暫存第一組數值解。
(第二步) 在 Solve for 分頁視窗與
Output 分頁視窗中,改勾選(B)方程式來進行計算與顯示結果即可。
搭配COMSOL Script提供近乎MATLAB式的作業環境,具有六百個以上的指令,因此有更完善的求解彈性,可以寫入批次計算或是疊代迴路等功能,用法與MATLAB一樣,詳細可參考在
COMSOL Script Command Reference。 |
|
|
Q4: |
如何求解具有高階空間微分項之PDE方程式? |
| A: |
我們可以使用變數替換法,來求解具有高階空間微分項之PDE方程式。
範例
uxxxx-uxxyy+uyyyy =0為例
(1) 引入二階偏微分變數u,其兩次導函數為P= uxx,Q= uyy,則原始方程式變為Pxx+ Pyy+
Qyy=f
(2) 求解此等效方程式,而變數共有u、P、Q
Pxx+ Pyy+ Qyy=f
uxx =P
uyy=Q
(3) 使用通用型PDE模版設定,即
Gamma1=(Px, Py+Qy),F1=f
Gamma2=(ux, 0),F2=P
Gamma3=(0, uy),F3=Q
(4) 對於邊界條件,考慮使用Dirichlet條件
0 = (given value of u) - u
-n*Gamma2 = G2
-n*Gamma3 = G3
其中,
G2 = -nx*(given value of ux)
G3 = -ny*(given value of uy)
(5) 參考附加檔(high_order_derivatives.mph),使用參數包含f=1。以及邊界條件如下:
Boundaries 1 - 2: u = 0, uxx = uyy = 0
Boundary 3: u = x, uxx = 0, uyy = -x
Boundary 4: u = sin(y), ux = sin(y), uy = cos(y)
|
|
|
Q5: |
如何求解包含有高階時間微分項之PDE方程式? |
| A: |
(1) 首先,需先將我們PDE方程式轉換成一組二階PDE方程式,假如選擇係數型PDE模式的話,則可以設定3
PDEs ( 三個因變數U=(u,v,w) )。
(2) 求解形式選擇 Time dependent,而在Subdomain設定中,輸入每個方程式的正確係數,來得到正確的系統。
範例
uttt-uxx=0為例
拆解系統方程式,可得到三組一階時間微分之相依方程式。
wt-uxx=0
vt-w=0
ut-v=0
|
|
|
Q6: |
如何在軟體中使用內差,將量測的材料資料屬性對應? |
| A: |
在COMSOL Multiphysics中,可直接透過內建功能表Option>function的功能,指定一個或多個材料變數,有解析函數(Analytic)、Piecewise
analytic(分段多項式解析函數)、內差函數(Interpolation) ,其中內差函數又可分為讀檔(File)、讀表(Table)以及指令變數(COMSOL
Script/MATLAB)三種。
以讀表單的方式最為簡單,輸入變數大小(x)與相對應數值大小f(x)來決定單對單的內差函數。
若是一對多函數,則需要以讀檔方式,可先建立文字檔格式:(以3D為例)
% 格點
x 格點座標(點與點間需空一格)
y 格點座標(點與點間需空一格)
z 格點座標(點與點間需空一格)
% 資料
(材料屬性)資料(相對應各點的資料間需空一格)
COMSOL提供四個內差法(Piecewise Cubic、Linear、Nearest Neighbor、Cubic
Spline)來組成一組內差函數。
參考附加模型檔(Interpolation.mph),附加文字檔(Interpolation2D.txt、Interpolation3D.txt) |
|
|
Q7 |
如何在邊界上設定反覆改變的暫態邊界? |
| A: |
欲模擬邊界上的變量(如溫度)隨時間做反覆的改變,需使用到軟體內建的單位階梯函數flclhs來實現。
範例一
假設邊界上兩秒後,溫度由100改變至300度,則為100+200*flc1hs(t-2,0.01)
其中,加號成立於時間t大於2秒後,而0.01為解析度。
範例二
若是想設定邊界上的溫度隨時間反覆的改變(例如每半秒由200度改變至零度),則可再引入週期三角函數,如flc1hs(sin(2*pi*t),0.01)
|
|
|
Q8 |
如何設定平滑轉移關係式? |
| A: |
範例
參考範例檔(phase_transition.mph),包含有相位改變的擴散作用,初始是單相,擴散常數為D=1
m^2/s,經過一段時間後,相位從左下角(x,y) = (0,0)以速度2 m/s的45度角方向漸變,新相位的擴散係數是D=51m^2/s,使用表示式:
1+50*flc2hs(x+y-2*t,0.1)
|
|
|
Q9 |
如何在COMSOL Multiphysics給定設定亂數(任意大小)的物理量? |
| A: |
新模組 COMSOL Script 提供近乎MATLAB式的作業環境,具有六百個以上的指令,其中的函數庫包含有亂數函數rand(),用法與MATLAB一樣,可參考在COMSOL
Script Command Reference。 |
|
|
Q10 |
如何設定模型結構的尺寸單位呢? |
| A: |
在COMSOL Multiphysics中,有提供內建單位系統,包含有各種公英制單位,包含:
公制單位 - SI (預設)、CGS (CGSA)、MPa、EM、ES
英制單位 - British engineering units (”gravitational FPS”)、FPS、IPS、Gravitational
IPS
預設單位系統是SI制,因此座標系統的刻度是為公尺m,
使用方法一
開啟Model Navigator視窗,Settings分頁,選擇Unit
system
使用方法二
若已經進入主視窗,則開啟Physics> Model Settings,選擇Base unit system
對於參數的物理屬性單位,若輸入的參數與單位系統一致,則直接輸入數字即可
範例一
熱傳導係數K,輸入100
對於參數的物理屬性單位與輸入值的單位系統不一致,則需要使用中刮號 [ ] 來修正,讓軟體自動計算
範例二
熱傳導係數K,輸入600[W/cm*K],軟體會自動轉換成60000來計算
參考User Guide有關於中刮號的物理單位參考資料
|
|
|
Q11 |
如何避免幾何上的奇異點來影響分析的結果? |
| A: |
幾何奇異點是指尖銳的角或是在網格化、分析過程中產生問題的角。實際上,尖銳的角在結構問題分析上會導致無限大的應力值。為了避免奇異點,可以使用繪圖模式下的圓角(Fillet)繪圖指令在模型的角邊產生一個半徑圓角,最終該尖角的應力值將會以有限大小存在。 |
|
|
Q12 |
如何計算電磁力? |
| A: |
有三種不同的方法來考慮:
● 羅倫茲力計算
使用電流密度向量與磁通密度向量的外積(J X B)來計算導體攜帶電流這類問題
,計算的結果是力密度,使用COMSOL的積分功能來算出總力
(參考AC/DC模組的範例資料庫Linear
Electric Motor)
●虛位移方法
當需要考慮到磁耦極時,羅倫茲力的方法不能使用,虛位移法可取而代之,AC/DC模組提供cemforce和cemtorque程序,需注意只有線性朗格日元素適用
(參考AC/DC模組的範例資料庫Linear
Electric Motor of Moving Coil Type)
● 馬可仕威爾應力張量
以等效表面壓力取代物體受力的方法
(參考AC/DC模組的範例資料庫Permanent
Magnet)
(參考AC/DC模組的範例資料庫Electromagnetic
Forces on Parallel Current Carrying Wires)
|
|
|
Q13 |
如何設定多個拉伸耦合變數(Extrusion
Coupling Variables),例如設定二維平面至三維表面的映對關係。 |
| A: |
以統御域拉伸耦合變數,設定二個對映關係為例(Options >
Extrusion Couple Variables > Subdomain Variables):
(1) 於Source頁面填入Name:p1, p2,代表二個映對變數,並設定表示式Expression。
(2) 於Destination分頁,選擇Variable:p1,並第一個耦合的設定Source / Destination
Vertices關係。
(3) 回至Destination分頁,下拉選擇Variable:p2,並完成第二個耦合的設定。
|
|
|
Q14 |
如何設定AC/DC傳導結構中,固定邊界之間的電位差並求解。 |
| A: |
舉例設定邊界2 = 邊界1電位電位 + 0.5伏特;
(1) 開啟Option > Intergration Coupling Variables >
Point Variables,選擇邊界1,輸入name V1、expression V
(2) 設定邊界條件:邊界1為Floating Potential
(3) 設定邊界條件:邊界2為Electric Potential,填入電位為V1+0.5
|
|
|
Q15 |
如何知道COMSOL內建的參數或函數? |
| A: |
COMSOL內建的參數、函數,例如x,y,z等空間參數,t為時間參數,exp()為指數函數,sin()為三角正弦函數,完整的清單,可以參考手冊Quick
start & reference,在章節Quick Reference有關於內建變數、函數以及運算子的使用介紹。
|
|
|
Q16 |
如何於結構模組中,設定幾何的預定位移量 |
| A: |
可於邊界條件選擇 Prescribed displacement,勾選並輸入Rx與Ry值,以給定x與y方向的預定位移值。
|
|
|
Q17 |
如何同時設定流場邊界的速度與壓力 |
| A: |
可使用Global Equation完成,以Navier_Stokes模組為例,同時固定入口端速度1.0
m/s、壓力 2e-3 Pa:
1. 於邊界設定:入口端設定流速1.0,出口端設定壓力 p0
2. 開啟Option > extrusion coupling variable > point,給定入口端壓力為p1
3. 開啟Physics > Global Equation,設定Name為p0,Expression為
p1 - 2e-3
4. 進行求解,將得到入口端壓力p1=2e-3
|
|
|
Q18 |
於主選單 求解 > 求解器參數,選擇暫態分析--暫態求解器(Analysis:Transient,
Solver:Time dependent),以及靜態分析--暫態求解器(Analysis:Static,
Solver:Time dependent),二者設定有何不同? |
| A: |
若選擇靜態分析,再選擇求解器為暫態,求解方程將少時間項,為模擬不同時間階段的穩態問題。模擬暫態問題,應使用暫態分析--暫態求解器,或勾選自動選擇求解器(Auto
select solver)並選擇分析類型,讓軟體自動選擇對應求解器。 |
|
| |
|
| 幾何與網格 |
Q1: |
特殊網格設定指引 |
| A: |
●Free Mesh
Parameter,可自由設定三角網格或四角網格
●Map Mesh Parameter,可設定映射網格,但幾何結構必須是規則的
●上述兩種網格參數設定視窗,有針對幾何區域的分頁設定,局部的網格數量調整更容易
● 針對幾何結構在 x- y- z-方向比例差異很大時,可開啟Free
Mesh Parameter >Advanced分頁視窗內的scale
geometry before meshing 來設定比例參數即可
●針對狹小範圍的幾何結構,使用使用 Advanced
分頁視窗內的 Resolution
of narrow regions 來設定再切割網格的倍數
●Boundary Layer Mesh Parameter,可針對邊界附近的網格需要加密時使用 |
|
|
Q2: |
:比例幾何差異過大( thin
geometry) 的網格設定 |
| A: |
比例差異過大的幾何模型,如 x:y:z = 1:1:0.01。若使用Auto
Mesh將有可能產生過多的網格。因此必須要藉助特別的網格設定才能解決。
方法一
開啟主選單 Mesh > Free Mesh
Parameter,選擇Advanced分頁視窗,在Scale
geometry before meshing欄位中,設定為 x: 1,
y: 1, z: 5,則可有效減少網格的密度。
方法二
先以2D平面產生網格,再使用Swept Mesh
Parameter來選擇拉伸網格的層數量,但使用時須注意幾何結構是否規則性良好。 |
|
|
Q3: |
繪製螺旋型的結構的物件建立 |
| A: |
需要MATLAB提供的物件helix1, helix2, helix3,
genextrude 等函式輔助下,才能夠繪製螺旋型的結構。
使用方式
(1) 開啟COMSOL With MATLAB程式
(2) 回到MATLAB工作視窗下,輸入下面指令:
範例一:(直接顯示結果)
h = helix1
geomplot(h)
範例二:(載入至 FEMLAB 中)
h = helix3(6,30,20,3*20,12)
切換至COMSOL主視窗:
(3) 空間座標軸選擇3D,並任意選擇一個物理模式
(4) 下拉選單File > Import
> Geometry Objects,輸入h
除了上述方式以外,也可以搭配CAD Import功能,先將螺旋型幾何結構在CAD繪製完成,再載入至COMSOL
Multiphysics, File >
Import >CAD Data from File |
|
|
Q4: |
如何將SolidWork 繪製好的圖檔載入至軟體中? |
| A: |
首先,我們需有SolidWork 2004或2005版!
使用方法
(1) 在SolidWork軟體中,繪製任意圖形。(不需存任何檔名)
(2) 接著,開啟COMSOL 3D繪圖模式,從主選單執行File>Import>SolidWorks
Geometry,即可把SolidWork的圖檔載入至軟體中。(載入過程中不可將SolidWork關閉)
|
|
|
Q5: |
如何使用結構化網格? |
| A: |
結構化網格為在一些模型結構如規則幾何結構、薄形幾何結構、網格研究等等,有其好處,同時可適當的減少不必要的網格數,減少記憶體負擔,甚至加快計算速度,使用方式如下:
2D模型使用方式
在規格幾何結構下(如單個、多個正方形、弧形),開啟主選單Mesh
> Map Mesh Parameter產生四邊形網格
3D模型使用方式
(1) 首先使用工作繪圖平面(work plane,即從3D幾何座標降至2D下)
(2) 產生任意幾何,依據幾何特性產生平面規格(四邊形)或平面不規格網格(三角形)
(3) 接著,使用開啟主選單Mesh >
Extrude Mesh將網格拉伸至3D幾何座標,並產生六面體網格或菱柱形網格
備註
拉伸過程中,可在參數 "distance" 設定超過一個以上的拉伸區段,由此可建立多個幾何邊界或不同密度的規則網格。
|
|
|
Q6: |
已有二維幾何的xy座標(如下所示),如何匯入至COMSOL並產生實體。
|
| A: |
可利用Script函數,於COMSOL Multiphysics所儲存的m-file,修改%Geomery部分,進行資料讀入、並將讀入節點連為一封閉曲線。最後再以Draw
> Coerce To > Solid產生幾何實體。
|
|
|
| Q7: |
如何僅提高幾何某部分的網格細緻度,以觀測較精確的模擬結果。 |
| A: |
可於Mesh > Free Mesh Parameter,可對欲觀測的Subdomain、Boundary或Point位置,設定網格元素大小等參數,達成局部細化的目的。
|
|
|
| Q8: |
如何以參數化方式,建立二維幾何 |
| A: |
以建立節點為例,於Multiphysics先產生一個節點,另存為m-file,並開啟修改
%Geometry部分程式碼:
d=1; %使用者定義參數
parr={point2(d,0.2)}; %代入參數至point2函式
|
|
|
| Q9: |
如何使用元件資料庫 (Component
Library)? |
| A: |
以建立節點為例,於Multiphysics先產生一個節點,另存為m-file,並開啟修改
%Geometry部分程式碼:
(1) 從主選單File > Open Component Library呼叫內建或自行已先建立好的元件資料庫
(2) 使用新增 (Add) 或嵌入 (Merge) 任一功能,前者為新增一個幾何空間,後者為嵌入現有的幾何空間,將元件資料庫的檔案匯入

(3) 匯入的資訊,除了幾何之外,還可以包含設定好的邊界、材料屬性等等。
|
|
| Q10: |
當使用幾何布林運算時,有些比例差異過大的小幾何結構會因此產生錯誤,該如何避免? |
| A: |
在使用幾何布林運算 (Create Composite Object)
功能時,勾選並輸入Repair Tolerance為較小的公差數值,來避免錯誤發生。
|
|
| |
|
| 後處理 |
| Q1: |
如何繪製3D切面、等表面圖、邊界圖之等高線圖(輪廓圖) |
| A: |
使用函式postcontonsurf(需另外下載該附加檔),並確認該檔案儲存於COMSOL
Script或MATLAB路徑下
此函式可對所有後處理圖形產生單色等高線圖,另需要注意網格品質會對等高線圖的線品質產生影響
範例
% Solve the Poisson equation on
a unit cube
clear fem
fem.geom = block3;
fem.mesh = meshinit(fem);
fem.dim = 1; fem.equ.c = 1; fem.equ.f = 1;
fem.bnd.h = {1 1 0 0 1 1};
fem.xmesh = meshextend(fem);
fem.sol = femlin(fem);
% Contour lines on a slice plot
postcontonsurf(fem, [0.04,0.08], 'red', 'slicedata','u',
'camlight', 'on', ...
'slicexspacing',3);
% Contour lines on an isosurface
plot
postcontonsurf(fem, 0.6:0.1:1.2, [0.7,0.7,0.7], 'isodata',
'u', ...
'isocolordata', 'z+y')

% Contour lines on a 3D surface
plot
postcontonsurf(fem, [0.05:0.005:0.07, 0.09], 'k', 'tridata',
'u');

|
|
|
| Q2: |
任意截面的積分 |
| A: |
COMSOL Multiphysics GUI的功能Domain Plot
Parameter可對任意的子區域邊界或外部繪製任意表示式的曲線圖形
也可以使用Subdomain Integration或Boundary Integration來對任意子區域或邊界的任意表示式執行積分
如果要對任意截面執行積分,需要使用COMSOL Multiphysics with COMSOL Script或MATLAB整合功能,使用指令meshintegrate
範例
clear fem, fem.geom = block3;
fem.mesh = meshinit(fem,'hmax',0.15);
fem.shape = 2;
fem.equ.c = 1; fem.equ.f = 1;
fem.bnd.h = {1 1 0 0 1 1};
fem.xmesh = meshextend(fem);
fem.sol = femlin(fem);
% Make cross-section plot:
pd = postcrossplot(fem,1,[0 1;0 1;0 1],'lindata','u','npoints',100,'outtype','postdata');
% Call meshintegrate:
I = meshintegrate(pd.p)
I = 0.0776
|
|
|
| Q3: |
如何觀察3D物件中的內部物件 |
| A: |
使用Options>Suppress功能,來對外部的幾何、子區域、邊界、線等等進行抑制,所改變的效應,從邊界模式、網格模型、後處理模式都適用
範例
使用PDE Mode,繪製兩個同心球,其中內球半徑0.5、外球半徑1,內球來源項Source Term
f輸入為2,進行求解
 
比較切片圖和表面邊界圖,欲觀察內球之表面邊界圖,則就需要使用到Suppress抑制功能
下面為使用Options>Suppress>Suppress Boundaries,對外球一個邊界抑制後的結果圖
|
|
|
| Q4: |
任意形狀之3D切片圖 |
| A: |
對於任意形狀,像是非平行面的切片圖,或具有角度關係的,最標準的方式是使用Cross-Section
Plot Parameters,在Slice分頁,輸入三點座標來定義平面,然而在Plot Parameter,Isosurface分頁所提供之方法則更為彈性,其他方式在Expression編輯區,輸入形成此切片圖之表示式,並點選Color
Data顯示與Number of levels來產生切片數
範例
繪製單位球體,在Isosurface Expression欄位,輸入x^2+y^2+z^2,Color
Expression欄位輸入,Vector with isolevels設定為1
|
|
|
| Q5: |
如何萃取COMSOL
Multiphysics資料給外部使用 |
| A: |
最簡單的方式是執行:
(1) COMSOL Multiphysics GUI主選單File > Export >
Current plot
(2) 在圖形視窗,點選工具列ASCII來儲存資料,此方法同(1)
(3) 主選單選擇File > Export > Postprocessing Data可得到更彈性之之資料輸出
進階(使用COMSOL Script或MATLAB):
COMSOL Multiphysics定義並儲存因變數或其他變數於fem.sol資料結構中,關於整個資料結構,可以執行File
> Export > FEM Structure將資料結構輸出至COMSOL Script或MATLAB
例如電磁場問題中的因變數-電位V,其他變數如電場Ex_es, Ey_es或電能密度We_es也可產生,甚至是自己定義過的變數表示式
從Physics > Equation System的Variables也得到更完整的變數清單,同時因變數的微分也可以得到,例如Vx,
Vy, Vxx, Vxy, Vyx, Vyy
指令postinterp可以萃取任意變數的值,最基本的語法是:
postinterp(fem,'expr',xx),
其中fem為FEM結構,expr為任意欲萃取之變數名稱,xx為座標位置
範例 (2D)
1. 開啟內建模型範例COMSOL Multiphysics > Multiphysics >
Resistive Heating
2. 選擇File > Export > FEM Structure as 'fem'
3. 輸入座標陣列如下:
x=[0.2 0.5 0.8];
y=[0.2 0.5 0.5];
4. 萃取位置 (0.2,0.2), (0.5, 0.5), (0.8, 0.5) 之溫度場指令如下:
Temp=postinterp(fem,'T',[x;y])
得到
Temp =
354.2027 NaN 336.8699
其中NaN代表資料不存在
5. 儲存ASCII資料格式如下:
matrixdata = [x;y;Temp]
save data.txt matrixdata -ascii
matrixdata =
0.2000 0.5000 0.8000
0.2000 0.5000 0.5000
354.2027 NaN 336.8699
若需要包含所有暫態時間點的資料輸入,使用指令如下:
[Time,Heating]=postinterp(fem,'t','Q_dc',[0.2;0.2],'solnum','all');
範例 (3D)
1. 開啟內建模型範例COMSOL Multiphysics > Multiphysics >
Pacemaker Electrode
2. 選擇File > Export > FEM Structure as 'fem'
3. 萃取x = 0平面之電場,指令如下:
x=0; y=linspace(-0.01,0.01,10);
z=linspace(-0.02,0.02,20);
[x,y,z]=meshgrid(x,y,z);
xx=[x(:),y(:),z(:)]';
E=postinterp(fem,'normE_dc',xx,'ext',1);
這會產生200筆資料,如E(1),E(2),…E(200)
當在3D模型使用指令postinterp來擷取只定義在邊界之物理量的值時,必須使用表面參數s1和s2來參考邊界點,這會形成表面內在座標系統,來映射至x,y,z座標變數中,若萃取所有邊界變數,最容易的方式還是是使用GUI之Export
Postprocessing Data功能
1. 使用meshgrid建立結構網格
[s1,s2]=meshgrid(0:0.01:1,0:0.01:1);
2. 擷取邊界52座標
s1=s1(:)'; s2=s2(:)';
[x,y,z]=postinterp(fem,'x','y','z',[s1;s2],'dom',52,'ext',1);
3. 丟棄NaNs資料,只保留有的數值
ix=~isnan(x);
x=x(ix); y=y(ix); z=z(ix);
s1=s1(ix); s2=s2(ix);
4. 指令postinterp現在可以得到邊界52之切線電場Ez
[tEz]=postinterp(fem,'tEz_dc',[s1;s2],'dom',52,'ext',1);
|
|
|
| Q6: |
如何計算暫態模型的時間積分?空間積分? |
| A: |
最佳計算時間積分的方式是執行分離變數

微分上述方程式,得到:

求解上述之常微分方程式 (ODE)
實現方式
方法(1),純量值時間積分
對於純量值積分,像是求出總體積、質量,就需要對時間積分求出對某邊界總流率,這種問題中,只需要以一個自由度來定義時間積分,這不會減緩計算時間或問題量。
方法是使用COMSOL Multiphysics GUI的Physics > Global Equations,定義Name名稱為ui(時間積分),uit-u為Equation方程式,如此設定可以將其約束為零,因此將滿足uit=u。可參考附加檔(scalar_time_int.mph)

方法(2),分佈時間平均
下面方式是計算解在每個空間位置的時間平均,計算ui從t=0至t的時間積分,並除以t可以實現,需要定義ODE對整個計算區的分佈,因此要建立一個PDE模版來對變數ui,以及係數da=1、F=u、初始值為0。
所以增加一個模版到原本的暫態模型中,可以得到存取ui,繪製ui/t將可以得到t的時間平均值,此種方式會增加計算時間,這是因為ui已經定義於所有計算節點,可參考附加檔案(local_time_average.mph)
方法(3),函式法
函式posttimeint提供容易快速的方式,但較不準確,因為僅乃使用解結構tlist的資訊來計算積分,其積分項可為任意表示式,對任意空間亦可。需使用附加檔案(posttimeint_t.m與posttimeint.m)
|
|
|
| Q7: |
如何計算多導體系統的電容量矩陣? |
| A: |
COMSOL Multiphysics AC/DC模組提供port埠邊界條件來計算電容量矩陣,使用AC/DC靜電應用模式並指定所有導體為埠邊界條件,每個導體應有特定的埠編號,選擇電壓或能量法來得到電容矩陣,或使用電荷或固定電荷密度方法來得到反電容矩陣。
以電壓法的話,電容量矩陣是由產生於每個導體的電荷來計算,矩陣定義如下:
舉例來說,使用port 2為輸入端,可以得到:C12,C22,...,CN2
範例
參考附加檔(capacitance.mph),計算三個方形、錐形與橢圓形導體間的電容量,其中橢圓為輸入埠port
1,因此可以取用電容量矩陣變數為C11_emes, C21_emes, C31_emes,再使用後處理功能Postprocessing
> Point Evaluation來將這三個變數值顯示出來。同樣欲得到方形或錐形的電容量,也是從邊界指定不同的埠為輸入端即可。
 
|
|
|
| Q8: |
如何同時觀察模型的網格和解的分佈? |
| A: |
最直接的方式來觀看模型網格是網格模式,從Mesh > Visualization
parameters,可以選擇何種網格、區域、網格品質、顏色等等。
另外,也可以顯示於後處理模式,步驟如下:
(1) Plot Parameters,General分頁,清除Element refinement的Auto功能,並輸入為1
(2) 若是2D模型,切換至Surface分頁,若是3D模型,切換至Subdomain或Boundary分頁,來繪製表面或3D實體網格
(3) 選擇Fill style:Wireframe
(4) 繪製單色網格的話,選擇Uniform color,選擇單一顏色,否則為彩色
(5) 若需同時繪製網格和解分佈於同一圖,則需要使用General分頁的Keep current plot
範例
開啟模型資料庫COMSOL Multiphysics > Structural Mechanics
> F1 Front Wing,顯示出位移變形後的Wireframe的邊界網格元素。
|
|
|
| Q9: |
如何輸出特定點的資料? |
| A: |
COMSOL Multiphysics 3.4可直接的輸出特定點的數值解,參考以下方法:
當完成計算後:
(1) 至下拉式選單File > Export
> Post processing Data。
(2) 在Export Data對話視窗中,有四個分頁,包含General、Subdomain、Boundary與Point。
(3) 首先選擇 General 分頁視窗,對
Export data from 勾選Subdomains;在
Export to file 新增建立一個文字檔案,
來記錄欲得到的特定點資料。
(3) 建立一個標有座標軸的文字檔案,其格式如下:
(以2D為例)
0.1 0.3
0.2 0.3
0.3 0.3
上面第一列表示座標軸 X 軸,第二列表示座標軸 Y 軸。兩軸之間需空一格。
(4) 切換 Subdomain 分頁,在
Predefined quantities ,選擇欲粹取的物理量;在
Coordinates from file 。選擇先前儲存的座標軸資料檔。
最後按OK,步驟三所建立的文字檔內,即可得到我們要的結果。
備註
COMSOL Multiphysics 3.4,可以將解直接輸出給COMSOL Script。
<使用方式>
開啟主選單File>Export>fem
structure。
|
|
|
| Q10: |
如何模擬粒子隨流場移動,或帶電粒子隨電場運動
(particle tracing) 的現象 |
| A: |
主選單Post
procseeing > Plot parameters視窗中,已包含particle
tracing功能,及內建好的運動方程式,只需要設定粒子質量、位置參數即可。粒子有質量與無質量兩種方式可供選擇,對於前者需要設定粒子半徑以決定質量。
|
|
|
| |