许多不同的工具可用于计数粒子。选择最佳方法取决于应用程序;具体而言,无论您是要使用方程中的计数粒子数还是在后处理过程中。这粒子跟踪comsol多物理中的接口具有三个主要粒子计数选项。尽管这些方法的用途足够多,可以计算诸如电荷密度和动量通量之类的数量,但我们在这里的重点将计算一组域或边界上的粒子数量。
三个粒子计数方法
在后处理过程中
在计算粒子时,最简单的方法是在计算解决方案之后直接在后处理中。让我们浏览这一基本方法的背后的步骤。
首先,创建默认粒子数据集的重复,该数据集是在计算解决方案后自动生成的。如下所示,将选择添加到数据集中,然后选择要计算粒子的域或边界。
接下来,在派生值下添加一个全局评估节点,并指向新的粒子数据集,在这种情况下,粒子2。您可以在“设置”窗口中选择特定的参数值或输出时间。
从以下预定义的表达式中选择粒子统计添加/替换表达式菜单中的部分:
- <
物理
>。α
- 传输概率(粒子数据集指定的选择中的粒子数除以颗粒总数)。 - <
物理
>.nsel
- 选择中的粒子总数(粒子数据集指定的选择中的粒子数)。 - <
物理
>.nt
- 颗粒总数(整个模型中的颗粒总数)。
评估全局评估节点将在结果表中显示表达式的值。
应用程序库示例
- 分子流量模块>工业应用>电荷交换单元
- AC/DC模块>粒子跟踪>四极质量滤波器
使用累加器
如果在另一个物理接口中需要使用颗粒数或粒子的数量密度,则最好的选择是使用累加器。累加器将信息从粒子转移到其居住的网格元素。它们在两个域和边界上都可用,可以从任何的上下文菜单访问粒子跟踪界面。将累加器添加到域后,显示了以下设置:
在累加器功能是:
- 累加器类型:设置为数数,累积变量仅在每个网格元素中进行计数,不受元素大小影响。为了密度,累积变量除以网格元件的体积,使您可以计算诸如颗粒数量密度之类的数量。
- 积累:设置为元素,累积变量仅仅是在给定时间点位于元素中的所有粒子的源项之和。设置为元素和时间,这些颗粒在每个元素中的时间内都留下了通过它们所经过的元素的贡献。
- 资源:这是您要投射到基础网格上的粒子上定义的表达式。计数粒子时,资源简单地设置为“ 1”,但可以是粒子上存在的任何表达,例如电荷或动能。它还可以取决于在粒子所在的域中定义的变量。
- 单元:当为累积变量选择该单元时,资源会相应地改变。
为了计算粒子总数,您可以将集成组件耦合添加到蓄能器存在的域。边界蓄能器自动在选定边界上添加组件耦合。在我们的示例中,然后由<Integration_operator_name
>(pt.count)
。可以使用全局评估节点对此进行评估。每个网格元素中的颗粒数也可以与其他物理学耦合,因为它是一种自由度。我们可以通过将粒子位置绘制在累积变量和基础网格的图上来可视化粒子计数的工作方式。
一个图显示了粒子位置(黑色点)在下面网格的顶部(灰色线)。每个元素中的颜色表示累积变量的值。
从上面的图中可以明显看出,累加器确实确实计算了每个网格元素内的粒子数量。对于没有颗粒的网格元素,累积变量为零,由网格元素表示(蓝色为蓝色)。大多数网格元素都有一个粒子,该粒子以绿色突出显示。但是,一个网格元素恰好包含2个颗粒(以红色显示)。
您还可以使用累加器来计算通过内部边界的颗粒数。为此,只需在粒子将通过的边界上添加墙壁条件,将墙壁条件设置为通过。将累加器子场添加到壁节点,并具有以下设置:
当粒子通过边界时,累加器会在相应的边界网格元素中递增自由度。这给出了穿过内部边界的颗粒数的空间分布,如下面的动画所示。
可以方便地绘制通过时间函数穿过边界的粒子总数。只需添加一个1D情节组和全球的情节功能。累加器会创建预定义的变量,以在所有网格元素上添加累加变量。为了获得粒子总数,您可以使用累积可变计数的总和选项。
下图显示了越过内部边界的颗粒总数的结果。
注意:要了解有关累加器应用的更多信息,您可以参考此较早的博客文章由我的同事克里斯托弗·布歇(Christopher Boucher)。
应用程序库示例
- 分子流块模块>基准测试> S_BEND_BENCHMARC
粒子计数器,新的comsol多物理版本5.2版
一个粒子计数器是一个域或边界功能,可提供有关从指定释放功能到达一组选定域或表面上的粒子的信息。这样的数量包括传输概率,电流和质量流量。设置粒子计数器功能非常简单。选择一个发布功能连接到或选择全部发布功能。您可以在模型中添加粒子计数器功能并访问其变量,而无需重新计算解决方案。简单地使用研究>更新解决方案,新变量将自动生成并立即用于评估。
每个粒子计数器都会生成以下表达式。请注意,范围与始终可用的变量不同粒子统计图组,如第一部分所述。
- <
物理
>。
<特征
>.rl
- 粒子包含的逻辑表达;可以在筛选节点粒子轨迹图,仅允许可视化仅连接源和目的地的粒子。 - <
物理
>。
<特征
>.nsel
- 选择中的颗粒总数;计算由特定释放特征在域或粒子计数器选择确定的边界中释放的粒子总数。 - <
物理
>。
<特征
>.nfin,
- 最终发射粒子的数量(在最终溶液时粒子计数器选择中的颗粒数)。 - <
物理
>。
<特征
>。α
- 传输概率(粒子计数器选择中粒子数的比例除以释放功能释放的粒子数)。
当发布功能是一个粒子梁功能 - 专门发布功能带电的粒子跟踪界面 - 为将计数器连接到粒子梁的颗粒生成了平均光束位置,速度和动能的其他变量。
应用程序库示例
- 粒子追踪模块>带电的粒子跟踪>敏感的高分辨率离子微探针
- 粒子跟踪模块>教程>布朗运动
- 粒子跟踪模块>流体流>层流搅拌器粒子
comsol多物理学中计数粒子的摘要
有三种方法可以计算域和边界上粒子的数量。对于仅存在单个发布功能的简单模型,后处理工具就足够了。如果要在域或边界上绘制粒子的数量,或者要使用其他物理接口中的粒子数,则累加器是答案。要计算仅将特定释放功能连接到域或边界选择的粒子,您可以使用粒子计数器功能 - comsol Multiphysics版本5.2中的许多新添加之一。
其他资源
在此博客文章中访问此博客文章中的教程模型和演示应用程序的MPH文件和文档。
评论(9)
Sepideh Ramezani
2015年11月23日嗨,丹尼尔,
非常感谢您有用的博客文章。我选择了第一种方法,发现了奇怪的结果。
在选择中,如果我选择“整个几何形状”,这意味着整个域[我是对吗?
有什么理由吗?
关于我的粒子追踪模块的更多详细信息:我释放了100个粒子,而且似乎我在选择“整个几何学”中选择,那么此评估在comsol中无法正常工作!
期待您的回复。
Sepideh
Signe Engelsholm
2016年5月8日嗨,丹尼尔
ithank您要发表不错的帖子,这非常有用!
但是,我想知道您设法制作了那些累积变量的图。当我绘制它时,i值将在节点中评估,而不是在元素中评估,因此绘图看起来完全不同。在我看来,累加器的真正作用并不是您在这里解释的?
此外,当集成运算符设置为“通过节点求和”时,我很惊讶地看到_sum(累计变量计数之和)与intop()并不相同。
希望你能启发我
签名
Tuan-anh le
2016年10月21日当我按选择部分计数粒子时,其不等释放粒子的总和。我不知道为什么,请帮助我解决它
李 - 李
2018年5月8日嗨,丹尼尔,
如上所述,“蓄能器”在域和边界上都可以使用。我正在使用comsol v5.3a,它只能在“蓄能器”中选择“域”。是一个错误吗?谢谢。
丹尼尔·史密斯
2018年5月9日嗨,李,可以通过右键单击壁节点并选择累加器来添加累加器。
担
匿名的
2018年7月5日嗨,丹尼尔,
感谢您的好演讲,这是一个非常有趣的话题,如果您可以推荐我一个治疗此部分的示例,那么我会遇到如何学习粒子总数的总数。
我将衷心感谢您的帮助。
ImèneOualid。
Waheed Ul Hassan
2018年11月15日嗨,丹尼尔
(一个图显示了基础网格(灰色线)顶部的粒子位置(黑点)。每个元素中的颜色表示累积变量的值。)您可以使用此类型的任何示例文件。因为我无法理解确切的方法。
我将衷心感谢您的帮助。
瓦希德
Kritik Saxena
2021年2月28日我能够将累加条件放在粒子跟踪部分中。但是我不明白如何以动画形式看到该蓄能器的结果。有人可以帮助我如何到达文本下方的动画阶段,如下所示:“当粒子通过边界时,累加器会增加相应边界网格元素中的自由度。这给出了穿过内部边界的颗粒数的空间分布,如下面的动画所示。”
克里斯托弗·布歇(Christopher Boucher)
2021年4月26日 comsol员工大家好,
我们收到了许多有关如何重现此博客文章中显示的图像的问题,其中包括粒子位置(点)和累积变量的表面图。
要重新创建这些图像,请在同一绘图组中添加两个图:一个“粒子轨迹”图和一个“表面”图。两个图中每个图的“数据集”应为“来自父”,并且包含图组的数据集应为“粒子”数据集。还有其他方法可以制作类似的图像,但是将两个图都指向同一数据集的优点是您可以更轻松地使动画更容易。
有关特定模型的问题,请随时与Comsol支持联系。
亲切的问候,
克里斯·布歇(Chris Boucher)