COMSOL忽略了這幾點,等于白干


COMSOL忽略了這幾點,等于白干的圖1  
COMSOL忽略了這幾點,等于白干的圖2    

使用技

(一)

COMSOL忽略了這幾點,等于白干的圖3    
COMSOL忽略了這幾點,等于白干的圖4    
COMSOL忽略了這幾點,等于白干的圖5    
COMSOL忽略了這幾點,等于白干的圖6    


COMSOL忽略了這幾點,等于白干的圖7    

?  +

全局約束

COMSOL忽略了這幾點,等于白干的圖8    
COMSOL忽略了這幾點,等于白干的圖9    
COMSOL忽略了這幾點,等于白干的圖10    
COMSOL忽略了這幾點,等于白干的圖11    
COMSOL忽略了這幾點,等于白干的圖12    


對于多物理仿真,添加全局約束是 COMSOL 非常有用的功能之一。

例如,對于一個涉及傳熱的仿真,希望能夠調整熱源 Q_0 的大小,從而使得某一位置處的溫度T_probe 恒定在指定值 T_max,我們可以直接將這個全局約束添加進來即可。

有些情況下,全局約束可能包含有對時間的微分項,也就是常說的常微分方程( ODE),COMSOL同樣也支持自定義 ODE 作為全局約束。

例如,在一個管道內流體+物質擴散問題的仿真中,利用 PID 算法控制管道入口的流速 u_in_ctrl,從而使得某一位置處的濃度 conc 恒定在指定值 c_set。(基本模塊模型庫 > Multidisciplinary > PID control)。
需要添加的 PID 算法約束如下式:

COMSOL忽略了這幾點,等于白干的圖13    
COMSOL忽略了這幾點,等于白干的圖14    

要添加上述約束,除變上限積分項外,另外兩項都可以很容易的在邊界條件中的“入口流速”設置中直接定義。因此,這個變上限積分需要轉化成一個 ODE,作為全局約束加入。

COMSOL忽略了這幾點,等于白干的圖15    

方程兩邊同對時間 t 求導,得到

COMSOL忽略了這幾點,等于白干的圖16    

COMSOL 中,變量 u 對時間的導數,用 ut 表示。因此變量 int 的時間導數即為 intt。利用 COMSOL 的“ODE 設定”,我們可以很容易的將 intt-(conc-c_set)=0 這個 ODE 全局約束添加入模型之中。

COMSOL忽略了這幾點,等于白干的圖17    
COMSOL忽略了這幾點,等于白干的圖18    



COMSOL忽略了這幾點,等于白干的圖19    

?  +

積分耦合變量

COMSOL忽略了這幾點,等于白干的圖20    
COMSOL忽略了這幾點,等于白干的圖21    

COMSOL 的語法中,變量 u 對空間的微分,分別默認為用 ut,ux,uy,uz 等來表示,這為仿真提供了極大的便利。那么對變量 u 的空間積分呢?COMSOL 提供了積分耦合變量來實現這一功能。

積分耦合變量分為四種:點(point)積分耦合變量、邊(edge)積分耦合變量、邊界(boundary)積分耦合變量、求解域(subdomain)積分耦合變量。根據模型的維度,會有相應積分耦合變量。還可以指定得到結果后的作用域,例如全局,或指定某些點、邊、邊界或求解域。從而可以將對積分耦合變量結果的訪問限制在指定的對象上。

求解域積分耦合變量,就是對指定變量或表達式在指定的某個或者某些求解域上做積分,積分的結果賦給自定義的這個積分耦合變量。對于三維仿真,這個積分是體積分;對于二維則是面積分。最典型的應用當屬對數值 1 進行積分,可以得到體積或面積。

邊界積分耦合變量,就是對指定變量或表示在指定的某個或者某些邊界上做積分,積分的結果付給自定義的這個積分耦合變量。對于三維仿真,這個積分是面積分;對于二維則是線積分。對 1 積分可以得到面積或邊長。

邊積分耦合變量,就是對指定變量或表達式在指定的某個或者某些邊上做積分,積分的結果付給自定義的這個積分耦合變量。僅存在于三維仿真中,這個積分是線積分。對 1 積分得到邊長。

點積分耦合變量,就是對指定變量或表達式在指定的某個或者某些點上給出它的值。它的最主要用法是將某個點上的結果映射到指定的對象上。

在上面 PID 控制的例子中,指定位置處的濃度 conc 就是一個點積分耦合變量,用來提取點 PT1 處的濃度值。同時,濃度 c 的時間變化率 ct 在 PT1 點的取值,也可以用同樣的方法提取出來,付給變量 ctime。

COMSOL忽略了這幾點,等于白干的圖22    

積分耦合變量除了用于添加約束,也常常用于后處理。COMSOL 允許用戶將任意表達式在任意求解域或者邊界上的積分定義為一個變量,然后直接在后處理中對該自定義的積分耦合變量做數據可視化操作。

例如,在二維擴散問題的仿真中,為了觀測流出邊界上總的流出的物質量,可以在出口邊界利用邊界耦合積分變量,然后可以直接得到數據曲線。(基本模塊模型庫 > Chemical engineering > absorption)

COMSOL忽略了這幾點,等于白干的圖23    
COMSOL忽略了這幾點,等于白干的圖24      




COMSOL忽略了這幾點,等于白干的圖25    

?  +

 時間積分

COMSOL忽略了這幾點,等于白干的圖26    
COMSOL忽略了這幾點,等于白干的圖27    

現在我們已經可以在 COMSOL 中方便的定義任意一個變量 u 及其表達式的時間微分(ut)、空間微分(ux,uy,uz)、空間積分(積分耦合變量)。那么對于時間的積分如何處理呢?COMSOL 當然也提供了這項功能。

對于時間的積分項的處理,COMSOL 也是通過 ODE 的設定來實現的。例如前例中,我們已經可以利用一個邊界積分耦合變量來描述某個時刻流出的物質量。現在我們進一步,需要知道一段時間內總的物質流出量 Totmass

COMSOL忽略了這幾點,等于白干的圖28    

將方程兩邊同對時間 t 求導后就變成了一個 ODE 方程,類似于定義一個全局約束那樣,我們使用COMSOL 的“ODE 設定”功能便可以定義這個新的變量 Tot_mass。

COMSOL忽略了這幾點,等于白干的圖29    

采用 ODE 進行時間積分,僅僅只能對標量進行積分,如果是想對求解域內的某個值進行積分(通常具有維度),則需要采用耦合一個 PDE 應用模式的方法,通過修改 PDE 方程,使其滿足對時間的常微分方程形式,然后在求解中可以得到對時間的積分結果。


COMSOL忽略了這幾點,等于白干的圖30    


   

文章來源:COMSOL仿真交流


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

TOP

3
3
14