如何在 COMSOL 中進行粒子計數

COMSOL 中提供了多種粒子計數工具。您可以根據具體應用選擇最優的方法,比如說,您希望在方程組還是后處理中使用已計數的粒子數。COMSOL Multiphysics 的粒子追蹤接口提供了三個主要的粒子計數選項。這些方法都有很好的通用性,支持計算類似電荷密度和動量通量等物理量,本文將介紹如何計算一組域或邊界上的粒子數。

粒子的三種計數方法

在后處理中

最簡單的粒子計數方法是在求解完成后直接在后處理時進行粒子計數。我們將介紹這個基本方法的實現步驟。

首先,求解完成后會自動生成一個缺省粒子數據集,為該數據集創建復本。在數據集中增加一個選擇,如下圖所示,然后選擇您希望進行粒子計數的域或邊界。

如何在 COMSOL 中進行粒子計數的圖1

接下來,在派生值下增加全局計算節點,指向新的粒子數據集,此例中應為粒子 2。您可以在設定窗口中選擇具體的參數值或輸出時間。

如何在 COMSOL 中進行粒子計數的圖2

在增加/替換表達式菜單下的粒子統計欄,選擇以下預定義表達式:

  • <phys>.alpha — 透射率(由粒子數據集選定的粒子數除以粒子總數)。

  • <phys>.Nsel — 選定的粒子總數(由粒子數據集選定的粒子數)。

  • <phys>.Nt — 粒子總數(整個模型中的粒子總數)。

如何在 COMSOL 中進行粒子計數的圖3

對全局計算節點進行計算,求得的表達式的值將顯示在表格中。

App 庫示例
  • 分子流模塊 > 行業應用 > 電荷交換池

  • AC/DC 模塊 > 粒子追蹤 > 四極質譜過濾器

使用累加器

如需要在其他物理場接口中使用粒子數或粒子的數密度,則可以通過累加器更好地來實現。累加器會將粒子信息傳遞至粒子留駐的網格單元;能夠用于域及邊界處,還可以通過粒子追蹤接口的右鍵菜單訪問。當在域中添加累加器時,將出現以下設定:

如何在 COMSOL 中進行粒子計數的圖4

累加器特征提供了以下選項:

  • 累加器類型:設為計數時,將只統計每個網格單元上的累加變量,不受單元尺寸的影響。設為密度時,會將累加變量除以網格單元的體積,可以計算類似粒子數密度類的物理量。

  • 累加基于:設為單元時,累加變量將只是計算給定時間點駐留在單元內的所有粒子的源項之和。設為單元和時間時,粒子會基于其在單元駐留時間的長短對經過的單元產生貢獻。

  • 源項:這是在粒子上定義并希望投射到底層網格中的表達式。當進行粒子計數時,只需將源項設為 “1”,但也支持粒子上的任意表達式,比如電荷或動能;還可以基于在粒子駐留域內定義的變量。

  • 單位:當為累積變量選擇單位時,源項所需的單位將相應變化。

為了計數粒子總數,您可以在累加器的駐留域中增加積分組件耦合。邊界累加器會自動在選定邊界上增加組件耦合。在我們的示例中,粒子總數由 <integration_operator_name>((pt.count))得到。這可以通過全局計算節點計算。每個網格單元內的粒子數也可以于其他物理場耦合,因為它也是一個自由度。我們可以在累加變量和底層網格繪圖中繪制粒子的位置,以此顯示軟件如何進行粒子計數。

如何在 COMSOL 中進行粒子計數的圖5

繪圖顯示了粒子在底層網格(灰線)上的位置(黑點)。每個單元內顏色表示累加變量的值。

從上圖中可以清楚看到,累加器的確會統計每個網格單元內的粒子數。對不包含粒子的網格單元,累加變量為零,網格單元顯示為藍色。大部分網格單元中包含一個粒子,這類網格顯示為綠色。其中一個網格內恰好包含兩個粒子,顯示為紅色。

您還可以使用累加器來統計經過一條內部邊界的粒子數。為此,您只需在粒子經過的邊界上增加一個壁條件,并設為穿過。向壁節點增加累加器子特征,并設為:

如何在 COMSOL 中進行粒子計數的圖6

當粒子經過邊界時,累加器會增加對應邊界網格單元中的自由度;得到通過內部邊界的粒子數的空間分布,如下方動畫所示。

如何在 COMSOL 中進行粒子計數的圖7

我們可以輕松以時間函數的形式繪制經過邊界的粒子總數;只需增加一維繪圖組和全局繪圖特征。累加器會創建多個預定義變量,并加成到所有網格單元的累加變量中。如果要得到粒子總數,您可以使用累加變量總和選項。

如何在 COMSOL 中進行粒子計數的圖8

以下繪圖顯示了穿過內部邊界的粒子的總數。

如何在 COMSOL 中進行粒子計數的圖9

App 庫示例
  • 分子流模塊 > 標準案例 > s 彎標準案例

COMSOL Multiphysics 粒子計數器特征

粒子計數器是一個域或邊界特征,可以提供有關從指定特征釋放并到達一組選定域或表面的粒子信息。這些量可以是透射率、電流和質量流率。粒子計數器特征的設定非常簡單。釋放特征可以設為釋放或全部。您可以在模型中增加粒子計數器特征,無需重新求解就能訪問這些變量。您只需選擇研究 > 更新解,就能自動生成新的變量,并能即時用于計算。

如何在 COMSOL 中進行粒子計數的圖10

每個粒子計數器都可以得到以下表達式。注意:該范圍不同于粒子統計繪圖組中提供的變量,如第一節所示。

  • <phys>.<feature>.rL— 包含粒子的邏輯表達式;可以用于粒子軌跡繪圖的過濾器節點,支持只顯示連接源端與目標端的粒子。

  • <phys>.<feature>.Nsel — 選定的粒子總數;計算在粒子計數器對應的一組域或邊界內由特定特征釋放的粒子總數。

  • <phys>.<feature>.Nfin,— 最終到達粒子計數器的粒子數量(最終求解時間內粒子計數器選定的粒子數)。

  • <phys>.<feature>.alpha — 透射率(粒子計數器選定的粒子數除以由釋放特征釋放的粒子數)。

當釋放特征為粒子束時(帶電粒子追蹤接口的專業釋放特征) ,還將針對連接計數器與粒子束的粒子生成附加變量,包括平均束位置、速度和動能。

App 庫示例
  • 粒子追蹤模塊 > 帶電粒子追蹤 > 敏感性高分辨率離子微探針

  • 粒子追蹤模塊 > 教程 > 布朗運動

  • 粒子追蹤模塊 > 流體流動 > 層流混合器

COMSOL Multiphysics 中的粒子計數功能總結

COMSOL 提供了三種方式來統計域和邊界中的粒子數。對只包含單個釋放特征的簡單模型,可以直接使用后處理工具。如希望繪制域或邊界上的粒子數,或希望在其他物理場接口中使用粒子數,則應使用累加器特征。如需要計算連接指定釋放特征和選定域或邊界的粒子,則可以使用 COMSOL 中的粒子計數器特征。


本文來自:COMSOL博客

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

TOP

7
1
2