Search Results for “求解器” – COMSOL 博客 - //www.denkrieger.com/blogs 发布博客 Mon, 28 Oct 2024 12:27:01 +0000 en-US hourly 1 https://wordpress.org/?v=5.7 如何模拟周期性微流体系统 //www.denkrieger.com/blogs/how-to-model-periodicity-in-microfluidic-systems //www.denkrieger.com/blogs/how-to-model-periodicity-in-microfluidic-systems#respond Tue, 10 Sep 2024 10:14:33 +0000 http://cn.staging.comsol.com/blogs?p=373981 在微流体系统中,流体流动始终为层流。这既是优势也是缺点,优势在于流场是稳定的,而缺点在于物质混合主要依靠扩散的方式,因此可能很耗时。在微流体芯片中混合化学物质的一种简单方法是使用蛇形通道结构。在 COMSOL Multiphysics® 软件中,可以利用这种结构的周期性来确定所需的通道长度,从而确保化学物质在离开系统时得到充分混合。

使用 COMSOL Multiphysics® 模拟周期性微流体系统

下图为一个具有蛇形通道的微流体装置示例。化学稀物质溶液可通过两个入口进入系统,流体汇合后流经蛇形通道。由于微流体系统中的流动是层流,因此化学物质的混合是通过扩散实现的。为了高效地模拟系统,我们可以利用结构的周期性,考虑模拟一个基本单元。

标记了一个基本单元的微流体装置。
一个典型的微流体装置。图片经过修改。原图由 IX-factory STK — Own work 提供,获CC BY-SA 3.0许可,通过 Wikimedia Commons共享。原作品已被修改。

我们在之前的两篇博客中也讨论过这个蛇形通道。第一篇博客使用广义拉伸算子模拟周期性结构通过求解一个基本单元中的层流减少了计算量,并使用 广义拉伸 算子将速度场映射到包含多个单元的完整几何结构。如下图所示,完整几何结构上的稀物质传递使用映射的速度场求解。

描述用于模拟周期性微流体装置的三步骤建模方法的示意图,步骤 1 显示在左侧,步骤 2 显示在中间,步骤 3 显示在右侧。
模拟周期性微流体装置的第一种方法。计算一个基本单元中的速度场,并将其映射到完整的几何结构上,以计算完整几何结构中的浓度分布。

在第二篇博客利用含高佩克莱特数模型中的周期性中,该模型得到进一步简化,重点研究具有高佩克莱特数的微流体系统。在这种情况下,物质传递主要依靠对流而不是扩散的方式,下游溶液不会影响上游溶液。因此,没有必要像第一种方法那样计算整个装置上的物质传递。

对于高佩克莱特数,可以逐个单元地按顺序计算物质传递。如下图所示(“方法 2”),计算一个基本单元中的速度场,然后求解浓度场。利用 广义拉伸 功能,将出口处的浓度场映射到入口处。为确保在下一次迭代中使用上一个解进行浓度映射,需要使用 边界常微分和微分代数方程 接口以及 上一个解 功能。

这篇博客,我们将介绍能够实现相同目标的另一种方法,即将结果从出口传递回入口,按顺序计算物质传递。使用状态变量代替边界常微分方程。状态变量比边界常微分方程更容易实现,可以降低模型的复杂性。

描述用于模拟周期性微流体装置的两种不同的4步骤建模方法的示意图,步骤1显示在左边,步骤2显示在左边第二个,步骤3显示在右边第二个,步骤4显示在右边。 第二种和第三种方法仅使用一个单元模拟周期性微流体装置。这两种方法的不同之处在于步骤 3。从出口到下一个基本单元入口的浓度分布映射,可以使用边界常微分方程或状态变量来实现。(下文我们将解释第三种方法)。

广义拉伸和状态变量

首先,在出口边界上定义广义拉伸 算子 genext1。该算子可在 定义>非局部耦合 节点下找到,它通过指定 x 轴上的位移,将一个表达式(在本例中为浓度)从出口映射到入口。

COMSOL Multiphysics UI 显示了模型开发器,突出显示了广义拉伸1算子,展开了相应的设置窗口与源选择和目的地地图部分。 通过在x 轴方向偏移 6 mm,广义拉伸算子将变量从一个边界映射到另一个边界。

第二步,在入口边界上定义状态变量状态变量 功能位于 定义>变量实用程序 节点。在模型中,状态变量被视为因变量。与物理场接口中常见的因变量不同,状态变量可以设置为在每个收敛的参数步或时步之前与之后更新,或者仅在初始化时更新。状态变量的设置如下图所示,状态变量名为 c_b。作为一个初始值,阶跃函数用于显示入口处的初始浓度梯度。阶跃函数位于 x = 0.5 mm 处,根据其在 x 轴位置的不同,初始浓度在 0 ~ 1 mol/m3 之间变化。状态变量总是在参数阶跃开始时更新,这意味着,上一步出口处的浓度将被映射到下一步迭代的入口处。

COMSOL Multiphysics UI 显示了模型开发器,突出显示了状态变量功能,展开了相应的设置窗口与几何实体选择和状态组件部分。 状态变量的 设置 窗口。

将状态变量 c_b 作为 稀物质传递 接口中 流入 边界的浓度。状态变量的数据存储在被高斯点,而不是网格节点。因此,选择 通量 (Danckwerts) 作为 边界条件类型 ,而不是 浓度约束。浓度条件被施加在网格节点, Danckwerts 条件则在高斯点施加通量。

COMSOL Multiphysics UI 显示模型开发器,突出显示了流入1功能,展开了边界选择,浓度和边界条件类型的相应设置窗口部分。 状态变量 c_b 被设置为流入边界的浓度。

为尽量减少外推误差,在入口和出口边界使用了 相同网格 功能。

COMSOL Multiphysics UI 显示了具有相同网格1功能的模型开发器,并显示了相应的设置窗口,展开了第一实体组和第二实体组部分 相同网格 功能的 设置窗口。边界 2 和边界 7分别为入口和出口边界。

与之前的博客类似,我们分两步计算模型。研究步骤设置如下图所示。在第一个研究步骤中,只对一个基本单元计算 层流接口。无论基本单元重复多少次,流场都是相同的,但物质传递并非如此。第二步,计算 稀物质传递状态变量。此外,我们还引入了一个参数 n_unit_cells,按顺序计算重复单元。该参数用于辅助扫描,并从 1 开始以 1 为增量扫描至最大单元数,本例中为 15。每次计算结束后,都会更新状态变量,并将出口处的浓度场映射到后续基本单元的入口处。为了正确更新状态变量,将 运行继续运算 设置为 无参数,并将 重用上一步的解 设置为

COMSOL Multiphysics UI 显示了模型开发器,其中突出显示了第2步:稳态 2,相应的设置窗口与研究设置,展开了物理场和变量选择以及研究扩展部分。 启用 辅助扫描 功能后的研究步设置。参数 n_unit_cells 代表基本单元的数量。

最终,我们得到所有重复单元的浓度分布图。下图显示了前三个基本单元。

模拟显示了周期微流体装置中前三个基本单元的浓度分布。
前三个基本单元的浓度分布。

本文介绍的模拟结果可用于确定混合程度和所需的通道长度。使用辅助扫描方法,我们能够高效地任意扩大混合器的规模。为了进一步衡量系统的混合程度,可以考虑混合指数(MI)。混合指数是在整个通道横截面上计算得出的,其定义如下:

MI =1 – \frac{\sigma}{\textless{c}\textgreater}=1 – \frac{\sqrt{\frac{1}{N}\sum_{i=1}^N(c_i-\textless{c}\textgreater)^2}}{\textless{c}\textgreater},

其中, 表示出口边界的平均浓度, 表示其标准偏差。

一维绘图显示了 x 轴上的基本单元数和 y 轴上的混合指数。 混合指数与基本单元数量的函数关系。

图中显示了重复 15 次后每个基本单元出口处的混合指数。重复 5 个基本单元后,混合指数已达到 0.98。

结束语

本文讨论的方法与博客 利用具有高佩克莱特数模型中的周期性中讨论的方法非常相似。这些方法简化了模型,节省了计算资源。它们与之前方法的主要区别在于,使用状态变量保存出口浓度并将其传递到下一次迭代,而不是使用 常微分方程。使用状态变量的方法更容易实施,因为不需要改变求解器的配置。因此,我们建议使用状态变量法模拟具有高佩克莱特数的系统。这种方法也可以用于更复杂的应用,例如物质之间会发生反应的多种化学物质的混合。

延伸阅读

想了解更多文中提到的有用功能吗?请阅读以下博客:

]]>
//www.denkrieger.com/blogs/how-to-model-periodicity-in-microfluidic-systems/feed/ 0
通过参数扫描追踪特征模态 //www.denkrieger.com/blogs/tracking-eigenmodes-over-parameteric-sweeps //www.denkrieger.com/blogs/tracking-eigenmodes-over-parameteric-sweeps#comments Tue, 13 Aug 2024 03:12:37 +0000 http://cn.staging.comsol.com/blogs?p=372831 特征频率分析是数值仿真工具包中不可或缺的一部分。线性系统的特征模态通常具有明显的定性特征,并在如频率等参数范围内以不同的方式演变。我们经常被问到,是否有办法对这些随参数范围变化的特征模态解集进行追踪和分类。这篇博客,我们将演示如何使用 COMSOL Multiphysics® 软件中的模态重叠积分法来实现这一目标。

特征模态和重叠积分

小测验:为下一代通信系统设计光缆,优化桥梁设计以尽量减少不必要的机械共振和优化客厅的声学布局,这三者有什么共同之处?

对于上述每一个场景,我们都必须充分了解系统的特征模态。特征模态及其相关特征值(也称为固有频率)描述了线性系统对外部激励的响应方式,因此在设计中起着至关重要的作用。在一些应用中,例如射频通信腔滤波器扬声器驱动器,我们希望能最大程度地耦合一个或多个特征模态,而在其他应用中,这些共振模态的耦合可能会导致灾难性后果,如桥梁坍塌。

当在参数扫描过程中调整系统参数,如工作频率或几何尺寸时,特征模态和频率自然会发生变化。然而,这些模态通常会保持定性相似性。让我们来看一个简单的示例,像鼓或克拉尼板振动表面一样的二维椭圆形薄膜的波动方程。

模型显示了含固定边界的5个椭圆形,代表二维薄膜的波动方程的特征模态。

具有固定边界的椭圆形薄膜的二维波动方程的前 5 个特征模态解。

特征频率研究显示了前 5 个特征模态,其位移大小如上图所示。现在,假设我们要对椭圆域的垂直高度进行参数扫描。

y轴上的特征频率(Hz)和x轴上的椭圆域的垂直高度(cm)的图形,产生5条线的绘图,每条线用不同的颜色表示,并均略微向下倾斜。
图中显示了前 5 个模态的特征频率与椭圆域垂直高度的关系。请注意,在高度为 10 cm 时,模态 2 和模态 3 ,模态 4 和模态 5 之间的简并,而此时椭圆域是圆形的。

前 5 个模态的特征频率如上图所示。请注意,当垂直高度为 10 cm 时,模型域是圆形的。这导致模态 2 和 3 之间,模态 4 和 5 之间的简并。事实上,过了简并点,模态 2 和 3 就会在特征值图中互换阶次。这种模态交叉行为在许多特征频率研究中都很常见。当这些模态的阶次发生变化时,如何在特征值图中追踪它们呢?要回答这个问题,让我们仔细观察其中的一个模态。

显示两个椭圆形状的模型,代表模态 2 的特征频率,一个在 8 cm 测量 ,另一个在 12 cm 测量。

参数范围两个端点处的模态 2。

高度为 8 cm 和高度为 12 cm 时的模态 2 如上图所示。通过肉眼就可以明显观察到这两个模态的相似性。我们可以用模态重叠积分来量化这种相似性:

M(i,j) \equiv \frac{|\int u_i \cdot u_j^* \, dV|^2}{(\int u_i \cdot u_i^*\, dV)(\int u_j \cdot u_j^*\, dV)}

 

变量 代表两个任意的特征模态解。这个方程的关键部分在于分子:在两种模态之间进行 内积 。分母将重叠度的值归一化,使其介于 0 和 1 之间。

一个模态与其自身的重叠度为 0,因为它们是相互正交的。对于参数值不同的模态,只要模态在性质上相似,M 接近 1。例如,上述两个模态的重叠度 M = 0.95,证实了我们的直观识别。两个不相似的模态的重叠度接近 0。

利用这一度量标准,我们可以通过对重叠值施加一定的阈值,来建立模态匹配方案。这可用于色散图中过滤或分组模态,甚至在模型方法的帮助下自动生成模态轮廓动画。接下来,让我们看看如何将这一策略应用到多个不同的物理学科。

示例 1:光学各向异性波导

在上一篇关于如何模拟光学各向异性介质的博客中,我们研究了光学各向异性波导的横向模式。这些模式可以按照电场的主要方向以及横向平面上振幅最大值的数量进行分组。 模式的一些示例如下图所示。

显示三个正方形的模型代表了光学各向异性波导的前三个特征模式。
光学各向异性波导中前 3 个 特征模式。

由于波导的主要目标是控制光流,因此了解这些传播模式的行为至关重要。在每个频率下,每个模式都有一个相关的有效折射率,该折射率决定了它们的传播速度、有效波长以及衰减程度(如果模型中存在损耗)。我们使用色散图来绘制有效折射率随频率变化的曲线。

表示折射率与频率的色散图,显示了7条线绘图,每条线的颜色都是不同的,并且都在增加(一些作为曲线,一些作为直线)。

波导的色散图如上所示。由于存在大量的模式交叉,因此有必要对特征模式进行分类,以便正确标记。

在模式分析研究的原始输出中,没有以任何有意义的方式有效折射率进行分组或排序,因为求解器没有这些模式的先验知识。我们采用重叠积分计算方法,按模态轮廓对这些特征值进行分类。现在,由于每个有效指数值都与特定的 模式相关联,因此我们可以轻松地使用滤波器和绘图选项在绘图图例中为每个模式着色和标注。请注意,这种方法能够正确解析多模式交叉以及特征值非常接近的模式,例如 模式的交叉。

示例 2:旋转叶片的特征频率

深入理解风力涡轮机叶片或电动汽车电机等旋转部件的共振模态,对于稳定性分析或最大限度减少噪声和振动等应用至关重要。我们来看 COMSOL应用库中的一个基本示例:旋转叶片的基本特征频率模型

当矩形叶片以越来越大的角速度旋转时,预计会出现两种主要的竞争现象:应力刚化和旋转软化。前者由于离心效应产生的静态应力场使叶片变硬,从而对固有频率产生向上的影响。后者则由于运动的径向放大而使叶片软化,导致对固有频率的向下影响。这些效应的平衡在坎贝尔图中得到了最好的体现,即固有频率与旋转角速度的关系图。

特征频率(Hz)在 y 轴上,角频率(rad/s)在 x 轴上的图形,产生了 7 个 &#039模型&#039的线条绘图,以不同的颜色表示,均有不同程度的向上倾斜。
旋转叶片的坎贝尔曲线图。请注意,模态 2 和 5 的特征频率明显增加。

上图是前 7 个特征模态的坎贝尔曲线图。总体而言,我们观察到固有频率呈上升趋势,这表明应力刚化起了很大作用。这在模态 2 和 5 中更为明显,在所研究的参数范围内,这两个模态的特征值急剧上升,并超过了其他模态的特征值。前 6 个模态的位移和应力如下图所示。

显示了6个矩形的模态的2排绘图,每排3个,分别代表旋转叶片的6个特征模态。

旋转叶片的前 6 个特征模态。

在更复杂的系统中,坎贝尔图中的固有频率可能更多,既有上升趋势,也有下降趋势。了解这些趋势并将其可视化,对于确定如临界转速等至关重要。通过模态重叠积分,可以轻松地对这些模态集的行为进行分类和追踪。

示例 3:带弹性壁的消声器特征模式

多物理场仿真在内燃机消声器的设计中发挥重要作用。除了模拟空气中的压力波外,还必须考虑空气与消声器外壳之间的相互作用,从而可以更加准确地模拟整个频率范围内的传输曲线。

声-结构相互作用的其中一种效应是引入更多的共振模式,这一点可以通过两个相关的示例来说明:消声器中的特征模式带弹性壁消声器中的特征模式。我们来详细探讨后一个模型。在一定频率范围内对消声器横截面进行模式分析,以确定模式轮廓及其相应的截止频率。

图中 y轴为面外波数 (1/m), x 轴为频率 (Hz),显示了包括平面波模式在内的5种模式的不同颜色的曲线图。
带弹性壁的消声器色散图。除平面波模式(蓝色)外,由于空气与消声器壁之间的声-结构相互作用,还存在许多其他模式集。使用模式重叠积分法跟踪了其中的一个子集。

上面的色散图绘制了部分模式及其传播常数与频率的关系。显然,数据集中的趋势很可能与不同的模式系列相对应。例如,平面波模式形成了一条贯穿整个频率范围的对角直线。通过应用重叠积分,我们可以确认平面波模式的预期行为,并追踪整个频率范围内的其他几个模式。模式轮廓图如下所示。

模型显示了

上图显示了带弹性壁的消声器中的部分模式轮廓。

借助模型方法,我们甚至可以自动生成整个频率范围内的模式演变动画。

在模型方法的帮助下,在整个参数范围内对模式 3 的演变进行追踪并用动画演示。

上面的动画演示了模式 3 如何从接近其截止点的 160 Hz 急剧变化到研究的上限 400 Hz,过程中还跨越了其他几个特征模式。在模态重叠积分的帮助下,追踪单个模式集的演变变得更加容易。

下一步

在这篇博客中,我们演示了如何使用模态重叠积分方法在特征频率研究中追踪和分类模态。请点击下面的按钮进入 COMSOL 学习中心,了解相关内容:

此外,这篇博客中讨论的模型可在 COMSOL 案例库中下载:

扩展阅读

]]>
//www.denkrieger.com/blogs/tracking-eigenmodes-over-parameteric-sweeps/feed/ 2
提升带通滤波器器件仿真效率的方法 //www.denkrieger.com/blogs/methods-that-accelerate-the-modeling-of-bandpass-filter-type-devices //www.denkrieger.com/blogs/methods-that-accelerate-the-modeling-of-bandpass-filter-type-devices#comments Wed, 17 Jul 2024 22:19:03 +0000 http://cn.staging.comsol.com/blogs?p=172851 在频域有限元法设计品质因子高的带通滤波器类 RF 器件时,可能会遇到需要设置多个频率采样点以更准确地描述通带的情况。RF 器件仿真中包含的频率采样点的数量与求解时间成正比,即频率分辨率越高,求解时间就越长。 COMSOL Multiphysics® 软件的附加产品 RF 模块提供了2种强大的仿真方法,可以帮助提高这类器件的仿真效率。

编者注:这篇博客最初发布于 2016 年 7 月 4 日。现已更新,以反映软件的后处理新功能。

2 种 RF 仿真方法简介

在今天的博客中,我们将讨论 2 种仿真方法:渐近波形估计(AWE)法和频域模态(FDM)方法。这两种方法都旨在帮助用户解决采用超精细频率分辨率,或通过常规的 频域 研究运行超宽带仿真时,求解时间过长这一常见问题。当涉及描述具有单一谐振或无谐振的平滑频率响应时,AWE 方法非常有效。而 FDM 方法则适用于快速分析多级滤波器,或者目标通带内有多个谐振的大量元件的滤波器。接下来,我们将讨论这两种方法的典型设置和应用场景。

需要说明的是,AWE 和 FDM 方法几乎都不依赖于所选的频率步长。您可以自由地减小频率步长的值,获得分辨率良好的结果绘图,而不会出现明显的速度减慢或额外的内存消耗。不过,这种做法也存在缺点:降低频率步长值可能会影响最终解中保存的数据量。在本文末尾的数据管理部分,我们将给出能显著减小输出文件大小的建议。

请注意,在使用精细分辨率进行 AWE 或 FDM 计算之前,最好先使用较粗的频率分辨率运行一个初步的 特征频率 和常规的 频域 仿真。这可以帮助您快速地估算谐振位置,总体了解系统的频率趋势,包括实际通带和所需的频率分辨率。

AWE 方法促进降阶模拟

AWE 是一种先进的降阶模拟技术,由于其数值特征和数学算法技术性太强,我们在此不过多赘述,只演示如何在 RF 模块中使用此方法。 自 COMSOL Multiphysics 6.2 版本开始,软件新增了有一个专门的 自适应频率扫描 研究步骤,可以实现 AWE 方法。使用此功能时,需要指定目标输出的频率范围,并选择一个表达式用于对AWE 算法进行误差估计。该方法求解器可执行快速频率自适应扫描,默认情况下,使用 Padé 近似。

COMSOL Multiphysics UI 显示了模型开发器,并突出显示了自适应频率扫描研究,展开了相应设置窗口中的研究设置和物理和变量选择部分。

自适应频率扫描 研究设置。使用查看默认的 渐近波形估计( AWE) 表达式。

在模拟谐振电路,尤其是包含许多频率点的带通滤波器类器件时,AWE方法非常有用。例如,COMSOL 案例库中的消失模圆柱腔滤波器模型先运行了一个常规的 频域研究,以 5 MHz 的频率步长对 3.45 GHz 到 3.61 GHz 之间的仿真频率进行初始扫频。

消失模圆柱腔滤波器教程模型 (左) 及其离散频率扫描结果 (右)。谐振频率附近的 S 参数图看起来并不平滑。

假设以更高的频率分辨率再次运行仿真,例如使用100 kHz的频率步长进行扫描,即分辨率提高 50 倍。可以预计,完成仿真所需的时长将提升50倍。但是,在此特定的示例中,使用 自适应频率 扫描研究完成仿真所需的时长几乎与频率扫描仿真所需的相同,并且能获得以100 kHz 频率步长计算的所有因变量解。

求解时间可能会在一定程度上受用户输入的 AWE 表达式的影响。任何模型变量都可以作为 AWE 表达式,只要能生成一个平滑的结果图,如高斯脉冲或平滑的曲线作为频率的函数,但最明显和典型的选择是基于s参数的全局表达式。例如,对于双端口带通滤波器,将S21 的绝对值 (abs(comp1.emw.S21)) 作为 AWE 表达式的输入可以获得非常好的结果。如果 AWE 表达式的频率响应包含无限梯度,例如在单个频率点具有良好阻抗匹配的天线的S11值,完成仿真则需要更长的时间。如果天线损耗可以忽略不计,使用 sqrt(1-abs(comp1.emw.S11)^2) 表达式可能结果更好,且能缩短计算时间。上述表达式是默认的 物理场控制 选项的 渐近波形评估 (AWE) 表达式。作为合理的检查方式,我们始终可以先以较粗的分辨率运行一个频域 扫描,绘制表达式,并选择最平滑的结果。

开始运行 自适应频率 扫描前,需要在研究中设置所需的更精细的频率步长。当仿真完成后,模拟所需时长几乎与离散频率扫描的相同。对比求解出的S参数。由于AWE求解器运行的频率扫描分辨率提高了50倍,因此其频率响应(S参数)结果绘图看起来也更平滑。使用这种方法,不仅可以节省宝贵的时间,还可以获得准确且出色的结果,而且谐振频率的定位也更加准确,如下图所示。如果您对此感兴趣,可以使用相同的分辨率运行一次常规扫描来进行验证,并检查结果是否一致。

 自适应频率扫描 (AWE) 和离散频域仿真计算出的 S 参数图和频率对比图。
分别运行 自适应频率 (AWE) 和离散 频域仿真 计算出的 S 参数图。使用 AWE 方法模拟的结果绘图的分辨率提高了 50 倍。

使用频域模态方法模拟电路谐振

无源电路的带通频率响应由多个谐振组合而成,因此 FDM 方法是提升其仿真效率的最佳选择。此方法通常包含两个步骤。特征频率分析是模拟任意形状器件共振频率的关键。从特征频率分析中获得所有必要信息后,就可以在频域模态研究中重复使用。当需要更精细的频率分辨率来更准确地描述频率响应时,这样做能够提升仿真效率,如AWE方法所示。

为了无缝执行 FDM 分析,有几个方面需要注意。一方面,需要过滤掉 特征频率 解中可能存在的所有不需要的非物理低频结果。另一方面,需要考虑目标频率范围内所有可能影响器件性能的物理模式,以获得正确的结果。要满足这两个要求,需要对 特征频率 研究设置进行一些调整(如下方屏幕截图所示)。首先,建议选择 更大的实部 作为 围绕偏移量的搜索方法 的设置。其次,对于 搜索特征频率 设置,最低通带频率可作为一个参考值。最后,必须调整 所需特征频率数 设置(例如根据初步测试),以包含必要的模式数量。

The COMSOL Multiphysics 用户界面显示了模型开发器,突出显示了特征频率,以及相应的设置窗口和研究设置。展开了线性点,物理场和变量选择的值。
为模型添加包含两个步骤的 频域模态 研究,图中突出显示了 特征频率 设置。

让我们来看一个 耦合线带通滤波器教程模型,尝试使用 FDM 方法进行仿真分析。先以 50 MHz 的频率步长对 3.00 GHz 和 4.20 GHz 之间的仿真频率进行扫描,运行一个常规的 频域研究

耦合线带通滤波器教程模型(左)及以 50 MHz 频率分辨率进行离散频率扫描的仿真结果(右)。整个目标通带内的 S 参数图看起来并不平滑。

接下来,运行 频域模态 研究,并按照上文所述设置每个研究步骤。使用分辨率提高了50 倍的频率步长运行研究,并检查结果是否有更优。与 AWE 方法一样,FDM 方法研究得到的 S 参数图看起来更平滑,包含的信息量更大。例如,它显示了最初缺失的所有 S11 参数波纹。如果您对此方法的验证感兴趣,可以运行相同分辨率的常规扫描,并检查结果是否一致。

请注意,特征频率分析包含一个集总端口,作为额外的载荷因子影响仿真,因此计算出的 S 参数的相位与常规频率模型计算的相位不同。计算结果仅和不包含相位的 S 参数值兼容,如以dB为单位的值、绝对值、反射率或透射率。

运行常规的频域仿真扫描和运行频域,模态仿真计算的 S 参数的对比图。
分别由 频域,模态(FDM)和离散 频域 仿真计算出的 S 参数图。使用 FDM 方法计算的结果精度提高了 50 倍。

这与本文的主题并无直接关系,但在最后一张图中,可以看到到特殊的图形标记,它可以突出显示 S11 参数图的所有局部极小值以及 S21 参数图的通带。COMSOL Multiphysics 最近对结果评估功能进行了另一项改进,即从图表中提取交互式结果,将结果的信息性和交互式价值提升到了一个新的水平。

使用精细频率分辨率时的数据管理

如前所述, AWE 或 FDM 方法对如何细化频率扫描并没有真正的限制。不过,如果分辨率真的很高,解中将包含大量数据,从而导致在保存模型文件时,文件大小将大幅增加。在大多数无源RF和微波器件设计中,我们通常只对 S 参数感兴趣,因此在这种情况下,没有必要存储所有的场解。在研究的 在输出中存储 部分选择适当的选项,就可以控制模型保存计算的解。例如,可以只添加包含 S 参数计算边界的一个或多个选择。指定这些边界为 端口 集总端口,与整个仿真域相比,这些选择通常很小,因此总文件大小可以大幅减小。

请注意,在设置端口时,可以在指定选区后单击 边界选择 部分中的 创建选择 图标添加这种显式选择。然后,可以在相关研究步骤的 在输出中存储 部分添加由端口创建的所需的显式选择。

COMSOL Multiphysics 的用户界面显示了模型开发器、频域,模态研究步骤、相应的设置窗口以及图形窗口中的几何。
选择了2个 集总 端口的频域,模态 研究步骤的 在输出中存储 部分。您可以在 图形 窗口中查看这些选择的位置。

案例库中的教程模型

这篇博客介绍了COMSOL 软件中的 2 个强大的仿真功能,可以帮助您更快、更高效地模拟无源 RF 和微波器件。下列为 COMSOL 案例库中的一些相关教程模型,您可以浏览下载,进一步了解这些方法的使用:

文中演示的方法和研究是 通用的,不仅适用于RF仿真,在涉及如声学、力学、微机电系统(MEMS)和波动光学计算中,这些方法也尤其有用。

下一步

了解 COMSOL 中可用于RF和微波仿真的其他专用功能:

]]>
//www.denkrieger.com/blogs/methods-that-accelerate-the-modeling-of-bandpass-filter-type-devices/feed/ 2
通过木材热解实现生物质的热化学转化 //www.denkrieger.com/blogs/thermochemical-conversion-of-biomass-through-pyrolysis-of-wood //www.denkrieger.com/blogs/thermochemical-conversion-of-biomass-through-pyrolysis-of-wood#respond Tue, 07 May 2024 03:18:31 +0000 http://cn.staging.comsol.com/blogs?p=365151 热解是指在惰性气氛中高温分解材料的热化学过程,将生物质转化为固体木炭等产物,然后通过气化进一步提炼成氢气。这篇博客,我们将探讨应用于木材颗粒的一个热解模型,并讨论如何使用参数估计优化这一过程。

热解的历史和使用

在古代,热解通常是把木材放在一个坑里,上面覆盖泥土等材料,以阻挡空气进入坑内。这种方法可以让木材阴燃而不燃烧。在这一过程中,木材会释放出蒸汽 ,随后凝结成焦油。这种形式的热解通常用于生产焦油和木炭,焦油用于浸渍船用木材,而木炭则用于冶铁工艺。

摩洛哥用于木炭生产的土堆。
使用坑式热解法生产木炭。图片通过 Wikimedia Commons共享,获 CC BY-SA 4.0

在现代,使用钢制反应器来制造惰性气氛,在化学工业中,热解被用于生产各种形式的碳和从石油、煤炭和木头中提炼其他化学品。

此外,热解是气化的第一步,这是通过生物质与蒸汽等成分在高温下发生反应,进一步将生物质转化为氢气的过程。生物质气化过程中可能出现的一个技术问题是,产生的焦油会在设备内凝结,造成设备堵塞。热解作为预处理,可以将生物质转化为高能量密度的焦炭。这种焦炭在气化过程中产生的焦油较少,而且易于研磨,运输成本较低。另一种通过热解产生氢气的方法是甲烷热解,其中甲烷会分解成碳和氢。

化学工程师可以使用仿真根据热解工艺条件预测产品产率,从而优化热解工艺。此类仿真所需的模型参数可通过实验数据和参数估计得出。接下来,我们将探讨一个这样的模型示例。

模拟热解

通过参数估计研究木材热解案例模型可以使用 COMSOL Multiphysics® 软件的附加化学反应工程模块构建。该模型包括参数估计、根据实验数据定义多目标函数的功能以及一系列求解器—所有这些功能 6.2 版本软件的化学反应工程模块均可提供。

木材颗粒的球型模型。
模拟的生物质是一个球形的厘米大小的木材颗粒,具有各向异性的传热和传质特性。

建立多物理场模型

该案例模型分为两部分:第一部分演示了如何构建一个模型来描述各向异性木球颗粒中的热解过程、动量传递和传热,第二部分则展示了如何利用参数估计来优化模型。估计的参数包括1个阿累尼乌斯常数、2个反应热和1个外部传热系数。

热解产物取决于多个变量,如原料类型、加热速率和工艺持续时间。由于反应机理复杂,通常采用 集总反应模型,即根据反应产物的相位,将它们组合在一起。由此产生的伪物质可用于建立一个简化的可用于工程目的反应方案。

显示了一次和二次热解反应的反应方案示意图。
模型中使用的反应方案。

该反应方案描述了一次和二次热解反应。一次分解将木材转化为伪气体(常温下不凝结的物质)、焦油(所有可凝结的挥发物)和中间固体。在二次分解过程中,产生的焦油进一步分解成气体或焦炭,而中间固体则分解成焦炭。当气体和焦油离开颗粒时,会导致质量损失,可以通过实验来测量。在这个反应模型中,一次反应都是吸热反应,需要热量,而二次反应则会产生热量,因为是放热反应。

利用参数估计优化模型

参数估计问题由三部分组成:实验数据、模拟实验物理场的正演模型,以及将二者进行比较并更新模型参数以最小化差异的优化算法。

用于收集测量数据的实验装置包括一个通过氮气流过炉腔实现惰性气氛的熔炉。炉温保持恒定。将木材样品放入高温炉中,在热解过程中记录样品的温度和质量。在样品的三个位置测量温度梯度:沿水平方向各向异性木纤维的表面、中间和中心位置。

展示实验系统的示意图,包括等温炉内的木材颗粒。
实验系统,包括等温炉内的木材样品。

正演模型描述了厘米大小的木材颗粒中的热解反应、传质、流体流动和传热。在本例中,固体的传导传热和渗透性都是各向异性的。

优化模型

在未进行优化的情况下,正演模型可以很好地描述温度的变化趋势,但完全无法捕获到实验中的最终质量。经过参数估计后,优化模型捕获到了粒子中心温度峰值的时间,并准确描述了最终质量。

一维图显示了正演模型和优化模型的表面和中间温度。
正演模型和优化模型的中心温度和归一化固体质量的1D图。

左图:模型对表面温度和中间温度的预测,将正演模型(用估计参数的初始值求解)和优化模型的结果与实验数据进行比较。右图:中心温度和归一化固体质量的模型预测,将正演模型和优化模型的结果与实验数据进行比较。

结果评估

从上图中我们看到了木材颗粒的总固体质量与时间的函数关系。下面,我们将说明每种固体在时间和空间上的演变。在反应过程的早期,主要是木材的变化。这些木材通过一级热解反应转化为气体和固体中间产物。在整个过程的后期,二次热解反应将这些物质进一步转化,其中大部分颗粒由木炭组成。

这张图展示了当木材颗粒被加热时,木材被转化为中间体和木炭。
三个不同时刻的木材、中间体和木炭的归一化密度。

现在,让我们来看看与该过程相关的温度、热源和质量源。在一次热解过程的早期,木材会转化为中间体、气体和焦油。由于一次热解反应是吸热反应,因此会产生正质量源(形成气体)和负热源。在 270 s 左右的过程中期,形成焦炭的过程已经开始,气体产生较少,热源较高。最后,在整个过程的后期,只有二次热解反应发生,由于热量的蒸发,木材颗粒中心出现温度峰值。

  • 150 s 时的热源、质量源和温度。150 s 时的热源、质量源和温度。
  • 270 s 时的热源、质量源和温度。270 s 时的热源、质量源和温度。
  • 433 s 时的热源、质量源和温度。433 s 时的热源、质量源和温度。

图中显示了粒子的总热源和总质量通量。
两种放热炭化反应使热源锋面向粒子中心移动。箭头表示总质量通量,沿纤维方向最大。

下一步

想亲自动手体验一下模拟文中的案例模型吗?COMSOL 案例库中提供了 MPH 文件和详细的逐步建模说明:

扩展阅读

]]>
//www.denkrieger.com/blogs/thermochemical-conversion-of-biomass-through-pyrolysis-of-wood/feed/ 0
如何在 COMSOL Multiphysics® 中估算非线性材料模型的参数 //www.denkrieger.com/blogs/how-to-estimate-the-parameters-of-nonlinear-material-models-in-comsol-multiphysics //www.denkrieger.com/blogs/how-to-estimate-the-parameters-of-nonlinear-material-models-in-comsol-multiphysics#respond Wed, 07 Feb 2024 02:00:36 +0000 http://cn.staging.comsol.com/blogs?p=357571 机械系统中常常包含一些表现出非线性材料行为的部件。例如,密封件和垫圈中的大弹性变形、橡胶和生物软组织在承受循环载荷过程中的应变率依赖性和滞后性,以及金属中的弹塑性流动和蠕变。COMSOL Multiphysics® 软件及其附加的非线性结构材料模块包含 100 多个内置材料模型,可用于模拟高度复杂的材料行为。然而,这些模型(通常是现象学模型)有一个缺点,可能包含大量需要针对每种特定材料进行校准的材料参数,以获得准确的仿真预测结果。在今天的博客中,我们将介绍如何利用非线性最小二乘最小化方法,由从普通材料测试获得的实验数据对这些参数进行估计。

常见的材料测试

估计材料参数首先要获取相关实验数据。如上一篇博客所讨论的,相关数据在很大程度上取决于材料类型和最终应用中的预期载荷类型。例如,各向同性线弹性材料可以通过单轴测试进行表征。具有应变率和载荷-历史依赖性的材料则需要进一步的试验,如松弛、蠕变或不同应变速率下的循环试验。如果部件在高温和(或)不同的温度下工作,可能还需要考虑与温度相关的材料特性。

对于经历大变形的材料,即使材料行为是各向同性的,测试不同应力状态下的材料特性也很重要。与线弹性一样,虽然根据单轴测试校准超弹性模型很有吸引力,但在压缩或双轴载荷下对该模型进行预测,可能会产生意想不到甚至不稳定的材料行为。相反,校准橡胶类材料通常采用的试验组合包括单轴拉伸、纯剪切和等双轴拉伸试验。接下来,我们以一个橡胶薄板试样为例,来说明如何进行此类试验。

从左到右:橡胶薄板的单轴拉伸、纯剪切和等轴膨胀试验。红色箭头表示指定位移,在拉伸试验中表示施加的拉伸压力。

对于长宽比合适的试样,上述配置会在试样中心产生均匀的应力和应变状态。这些应力和应变可以通过可测量的量来估计,例如施加的位移和反作用力,或施加的压力和充气膜的曲率半径等。产生均匀的应力和应变状态的材料测试尤其适合进行参数估计,因为它们可以用单个单元建模,从而大大降低了计算成本。

三幅并排的插图显示了等效均匀单轴张力、纯剪切和等双轴张力荷载情况。
从左到右:等效均匀单轴拉伸、纯剪切和等双轴拉伸的载荷情况。

非线性最小二乘参数估计

在获得实验数据并选择好材料模型后,我们还需要选择一种优化算法,将当前的模型预测与实验数据进行比较,并更新材料参数,使差值最小。因此,寻找未知材料参数 相当于求解一个逆问题。我们用数学形式将其表示为一个加权最小二乘问题,

\mathbf{q}^* = \mathrm{arg}\,\min_\mathbf{q} \frac{1}{2} \mathbf{r}^\textrm{T}\, \mathbf{W} \, \mathbf{r}, \qquad \mathbf{r}(\mathbf{q}) = \mathbf{y} – \hat{\mathbf{y}},

式中, 是权重矩阵,缺陷残余矢量,包含模型预测值 与实验数据 之间的差值。模型预测可能明确或隐含地取决于材料参数,即 是正演问题的解。

为了更好地说明最小二乘问题的不同组成部分,可以将二次形式展开为

\frac{1}{2} \mathbf{r}^\textrm{T}\,\mathbf{W}\,\mathbf{r} = \sum_{n=1}^N \underbrace{\frac{1}{2}\sum_{m=1}^{M_n} \frac{1}{s_{n,m}^2} \left[ P_n(\mathbf{q}; \lambda_m) – \hat{P}_{n,m}\right]^2}_{Q_n}.

式中, 是数据集的数量; 分别表示数据集 的最小二乘误差和数据点数量; 分别表示模型预测值和实验数据。参数 表示实验的自变量,如时间或施加的拉伸。此外,我们假设 是一个对角矩阵,其分量为 ,其中 是比例因子,用于加权不同的数据点和数据集,并确保目标是无量纲的。最小二乘问题还可以通过参数的下限和上限进行扩展,用于排除参数空间中材料模型不稳定的非物理区域。

在 COMSOL Multiphysics® 中,有多种优化算法可用于求解最小二乘问题。大多数情况下,目标是参数的良好函数,使用基于梯度的 Levenberg–Marquardt 算法可以高效地求解这个问题。简单来说,Levenberg–Marquardt 算法通过在远离最小值时交替使用梯度下降方向的更新步长,以及在接近最小值时交替使用 Gauss–Newton 步长来迭代更新参数,从而实现近似二次收敛。更新算法中的一个基本量是雅可比因子

\mathbf{J} = \frac{\partial \mathbf{r}}{\partial \mathbf{q}} = \frac{\partial \mathbf{y}}{\partial \mathbf{q}},

被用来衡量模型预测对材料参数变化的敏感度。原则上,可以在优化求解器中对雅可比进行分析估计;但是,如果问题高度非线性,且正演模型估计成本较低,则雅可比的有限差分近似通常在稳健性和效率方面更为可取。当无法正确计算雅可比时 —例如,如果目标是无差别的 — 无梯度二次近似约束优化算法(BOBYQA)是一种无需显式计算导数的替代算法。

还可以选择用 COMSOL Multiphysics® 中的 Levenberg–Marquardt 求解器计算置信区间以及协方差矩阵,作为参数估计不确定性的度量。如果您希望将实验数据中的方差传播到材料参数中,这将特别有用。要了解更多信息,请参阅通过协方差分析进行参数估计教学模型。

非线性材料参数估计示例

上一篇博客中,我们探讨了如何利用两种常见载荷情况下应力-应变曲线的解析表达式来估计超弹性模型的材料参数。然而,这种方法无法轻松扩展到非弹性材料模型,因为非弹性材料模型通常不存在封闭解析解。作为替代,我们可以利用 COMSOL Multiphysics® 中的内置材料模型。对于两种载荷情况:超弹性和大应变黏弹性,我们将演示如何使用这种方法进行参数估计。

超弹性 Ogden 模型的参数估计

在第一个示例中,我们将根据代表软质弹性体的单轴拉伸、纯剪切和等双轴拉伸数据校准超弹性 Ogden 模型。数据如下。

一维绘图显示了代表软弹性体的单轴张力、纯剪切和等双轴张力数据。
代表软质弹性体的单轴拉伸、纯剪切和等轴拉伸数据。请注意,由于等轴应力比其他量大得多,因此绘制在第二个 y 轴上。

假设弹性体是不可压缩的,因此 Ogden 模型中的应变能密度为

W_\textrm{s} = \sum_{k=1}^K \frac{\mu_k}{\alpha_k} \left( \lambda_1^{\alpha_k} + \lambda_2^{\alpha_k} + \lambda_3^{\alpha_k} – 3 \right), \qquad \lambda_1\lambda_2\lambda_3 = 1.

这里考虑了应变能量密度函数中的两个项,因此问题包括求解 4 个未知材料参数 ,如下图所示。

COMSOL Multiphysics UI 显示了模型开发器,突出显示了超弹性材料功能,并扩展了相应的超弹性材料和正交设置部分的设置窗口。
不可压缩 Ogden 模型的两个项的设置。请注意,由于载荷是均匀的,因此可以使用减缩积分来降低计算成本。

设置好材料模型后,可以将数据集导入结果表,并使用全局最小二乘目标 功能将数据集与相应的模型表达式连接起来。下图显示了根据单轴数据形成的最小二乘目标的设置。模型表达式 栏中使用的变量 comp1.P_ua 被定义为标称应力 solid.PxX 内置变量的体积平均值。

COMSOL Multiphysics UI显示了模型开发器,突出显示了全局最小二乘目标特性,展开了相应的设置窗口,其中包含公式、实验数据、数据列设置和实验条件部分。
与单轴拉力数据相关的 全局最小二乘目标功能设置。

参数估计 研究步骤中,我们添加了三个目标,并指定了要估计的材料参数。在估计参数 表中,mu1alpha1 被限定为正值,而 mu2alpha2 被限定为负值。这些限定确保了材料模型满足 Ogden 模型的已知稳定性要求

COMSOL Multiphysics UI显示模型开发器,突出显示了参数估计研究步骤和相应的设置窗口,其中展开了实验数据,目标函数,估计参数和参数估计方法部分。
参数估计研究步骤的设置。

在优化求解器的每一次迭代中,都可以通过比较当前模型预测结果与实验数据的曲线图来监控求解进度。从下面的动画中可以看到,Levenberg–Marquardt 算法迅速改进了单轴和纯剪切模型的预测结果,并在多次迭代后改进了高度非线性的等轴响应。

黏塑性 Bergstrom–Boyce 模型的参数估计

在下一个示例中,我们将考虑更复杂的 Bergstrom–Boyce 黏塑性聚合物材料模型,它同时表现出应变率、载荷历史和温度相关性行为。以下是室温下两种不同应变率的循环单轴拉伸和压缩试验的代表性应力–应变曲线。

显示两种不同应变速率下循环单轴拉伸和压缩试验的应力-应变曲线的 1D 图。
在两种不同应变率(0.1%/s和 10%/s)条件下,黏塑性聚合物材料模型典型的单轴拉伸和压缩加载–卸载曲线。

COMSOL Multiphysics® 6.2 版本超弹性材料 功能中的聚合物黏塑性 子节点包含 Bergstrom–Boyce 材料模型。在这里,父超弹性模型定义了一个弹性平衡网络,而子节点添加了一个平行的非平衡网络,其中包含一个弹性和非弹性单元。在本例中,我们使用几乎不可压缩的 Arruda–Boyce 应变能密度对弹性单元进行建模,并在黏塑性流动中包含应变和应力硬化。此材料模型总共包含 6 个独立的材料参数,:平衡网络的剪切模量,;链段数量,;非平衡与平衡网络之间的能量系数,;黏塑性流动速率系数,;应变硬化指数,;应力硬化指数,

COMSOL Multiphysics UI 显示在模型生成器中选择的聚合物粘塑性功能、相应的设置窗口以及图形窗口中的单轴压缩和拉伸测试的单元模型。
聚合物黏弹性功能中 Bergstrom–Boyce 模型的设置。图形窗口显示了单轴压缩和拉伸试验的单元模型。

现在,我们可以用类似于超弹性问题的方法来设置和求解最小二乘问题。从下面的动画中可以看到,尽管优化求解器需要进行约 12 次迭代才能达到收敛,但经过约 5 次迭代后,就已经得到了直观上令人满意的解。这是因为 Levenberg–Marquardt 求解器的默认终止条件是检查参数增量或缺陷矢量与雅可布角之间的最大角度是否小于给定的优化容差。在优化求解器的设置中,可以根据缺陷矢量的相对变化,选择加入一个额外的终止准则,如果求解器在参数空间中达到一个相对平滑的局部最小值,而目标函数的改进很小,那么这个终止准则就会非常有用。不过,默认的终止标准通常比基于缺陷减少的终止标准更稳健。

测试材料模型的稳定性

在估计出非线性材料模型的参数后,最好对材料模型进行测试,以确保其数值稳定性。在此系列博客的第二部分,我们将详细介绍这一主题。

结论及进阶学习

在这篇博客中,我们演示了如何在 COMSOL Multiphysics® 中根据典型材料测试数据估计非线性结构材料模型的参数。所介绍的方法通常适合任何类型的材料模型和材料测试数据。

要查看详细的分步说明,尝试自己对不同的模型进行参数估计,请参阅下列 COMSOL 案例库模型:

]]>
//www.denkrieger.com/blogs/how-to-estimate-the-parameters-of-nonlinear-material-models-in-comsol-multiphysics/feed/ 0
如何在电池模型中定义载荷循环 //www.denkrieger.com/blogs/how-to-define-load-cycles-in-battery-models //www.denkrieger.com/blogs/how-to-define-load-cycles-in-battery-models#comments Thu, 18 Jan 2024 09:38:16 +0000 http://cn.staging.comsol.com/blogs?p=355591 当模拟一个电池系统时,指定载荷曲线对于准确反映电池在实际应用中的运行情况至关重要。 COMSOL Multiphysics® 软件和电池模块中提供了多种方法,用于在电池模型中定义各种载荷曲线。这篇博客,我们将对这些方法进行讨论,并详细介绍如何实现。为了演示如何使用这些方法,我们来看几个COMSOL Multiphysics® 案例库中的模型示例。

简介

在 COMSOL® 软件中,通常通过定义和指定外加载荷来完成电池模型的构建,外加载荷可能是电流、功率、电压或这些变量的组合。根据在模型中使用的电池接口,你可以选择合适的边界条件或运行模式,并设置相关值来满足要模拟电池的运行要求。

例如,锂离子电池二元电解质电池铅酸电池 接口提供了各种电极条件选择,用于模拟一般电流分布。另外,在像 单颗粒电池集总电池 这样的简化电池接口中,可以选择一种运行模式。对于电池组尺度,可以在 电池组 接口,通过设置电池组内的 电流导体 域的边界条件来指定载荷。

COMSOL Multiphysics® 和电池模块提供了多种方法,可用于表征分布持续时间、变化和循环模式,并将它们集成到你创建的表达式中,然后将这些信息作为外加载荷传递到物理场接口。在接下来的章节中,我们将讨论这些方法。

圆柱形电池模型显示了整个电池底部的温度,用粉色和紫色表示,用蓝色流线表示电池下面的电流流量。
充放电循环期间风冷圆柱形锂离子电池的温度分布。

函数

在 COMSOL Multiphysics® 中,我们可以选择不同的函数来定义各种载荷曲线。利用这些函数,可以精确表征包括随时间变化的模式和变量在内的载荷曲线特征。还可以将这些函数集成到表示载荷的表达式中,例如电池模型中使用的外加电流。在锂离子电池等温模型:一维教学案例中,用于产生恒定电流充放电循环的外加电流以及静置期,都是使用 分段 函数定义的。该函数尤其适用于定义在已知时间间隔内变化的载荷。

同样,在锌-氧化银电池等温模型:一维教学案例中,采用了 分段 函数来定义放电电流密度脉冲分布。在圆柱形锂离子电池热建模:二维圆柱形锂离子电池热建模:三维教学案例中,采用了 波形 函数来建立交替的充放电电流以及弛豫过程。在 可溶性铅酸氧化还原液流电池教学案例中,采用了三个 矩形 函数定义由充电、放电和静置过程组成的载荷循环。根据输入和对所需载荷循环的了解,我们可以使用一个或多个函数和(或)不同类型的多个函数的组合来实现所需的分布。

载荷曲线的突然变化或不连续会导致数值不稳定。因此,在定义各种函数的载荷曲线时,必须在函数设置窗口中启用平滑处理,以确保收敛性。瞬态求解器的任务是根据平滑过程的定义,求解载荷步骤之间的过渡问题。

COMSOL Multiphysics UI 显示了带有分段函数的模型开发器,相应的设置窗口,以及图形窗口中的1D图。
分段 函数的 设置 窗口,定义了一个载荷曲线,突出显示了平滑的应用,以改进函数的数值收敛性。

此外,如果我们可以获得实验载荷循环测量数据,并希望将实验载荷曲线纳入电池模型,则可以使用 插值 函数将实验数据导入 COMSOL Multiphysics®。例如, 瞬态集总电池模型的参数估计教学案例就使用了这种函数,将插电式混合动力汽车电池的实验动态载荷数据作为 集总电池 接口的外加载荷。

COMSOL Multiphysics UI显示了突出显示插值功能的模型开发器,相应的设置窗口,以及图形窗口中的1D图。
通过 插值 函数将实验动态循环数据导入 COMSOL Multiphysics®,以确定外加载荷。

预定义充放电循环功能

如果要定义恒流/恒压循环分布,可以使用预定义的 充放电循环 功能,该功能可在电池模块中的所有电池和通用电化学接口中使用。使用此功能,我们能够模拟连续的恒流和恒压充放电循环,并可以选择在循环之间加入静置时间。如下图所示,用户可以自定义模式的顺序,指定静置时间,并分别设置恒流和恒压模式下的电压和电流阈值。在模拟时间允许的情况下,这组预定义的分布会一直重复。

COMSOL Multiphysics UI显示了突出显示充放电循环节点的模型开发器,相应的设置窗口,以及图形窗口中的1D图。
充电-放电循环 节点的 设置 窗口包含两个独立的充电和放电模式,允许用户在窗口中选择包含或者不包含某些步骤,并输入相应的值。该节点将根据 启动模式 设置,以 充电放电 模式开始循环。

该节点还包括一个循环计数变量,可在 结果 部分访问或用于在瞬态求解器中设置停止条件。单颗粒锂离子电池模型锂离子电池的容量衰减教学案例中就使用了这个功能指定恒流和恒压分布。

内置节点 充放电循环 有一定的局限性:它主要依靠电压和电流阈值在模式间切换,这可能不能完全符合你的要求。对于更复杂的载荷循环,应该考虑使用 事件 接口设置循环行为。

事件接口

我们在前文的 函数 部分提到,在使用不同函数定义载荷曲线时应用平滑处理,可以解决求解器在载荷突然转换时的数值不收敛问题。在使用 事件 接口定义载荷曲线时,这种数值处理方法已被集成在内,因此可以增强用户模型的收敛性。事件 接口使电池仿真人员能够创建包含多个步骤和各种模式切换的不同载荷。这是通过确保载荷表达式包含一些通过 事件 接口定义的开关来实现的,从而允许一个载荷表达式采用不同的值。载荷表达式基于多个离散状态变量建立,通过改变这些变量的值,来定义所需的载荷曲线。

在深入讨论如何使用 事件 接口来定义所需的载荷曲线之前,有必要更深入地了解它的主要功能。您可以在 COMSOL Multiphysics®数学>常微分和微分代数方程 接口分支下找到 事件 接口。它主要用于创建求解器事件。这些事件可分为两类:显式和隐式。显式事件是预先确定在特定时间内发生的,例如在指定时刻按计划关闭载荷。隐式事件则在满足特定条件时发生,例如当电池电位达到预定的截止阈值时,需要修改外加电流或使电池处于静置状态。当触发事件后,瞬态求解器会停止,并更改一个或多个离散状态变量的值,然后重新启动。值得注意的是,充放电循环 功能是基于事件运行的,并已经“在幕后”预先定义了隐式事件。

要了解有关 事件 接口及其实践操作的更多信息,请浏览博客:使用事件接口模拟温控器

现在,我们已经了解了 事件 接口的工作原理、关键组件,以及它如何让用户根据特定条件或在特定点上修改模型,接下来,我们就可以探讨它在载荷曲线定义中的应用。载荷曲线中的不同运行模式或步骤可以用一组 离散状态 来表示。当这些状态接收到不同的值,会像一组开关一样,随之改变载荷表达式的定义,如下图所示。决定使用显式还是隐式事件取决于当前载荷定义的具体情况。如果知道影响分布模式的变量变化的时间,就可以使用显式事件。在时间未知的情况下,可以通过一组 指示器状态 来详细说明这些变量发生变化的条件和标准,例如电池性能因素的特定阈值。指示器状态 会建立求解器用来触发隐式事件的状态变量。

COMSOL Multiphysics UI显示了模型开发器,突出显示了的序列成员节点相应的设置窗口和图形窗口中的1D图。
在析锂变形模型中,使用 事件 接口创建包括正向和反向电流占空比的 事件序列

COMSOL Multiphysics UI显示了模型开发器,突出显示了变量节点,相应的设置窗口,以及图形窗口中的1D图。
变量 部分被定义为 “i_app”,并传递给 锂离子电池 接口中的 电极电流 条件的外加电极电流密度,是根据正向和反向状态计算出的。循环执行此序列,详请参阅事件序列 下面的 设置 窗口。

请注意,所有 隐式事件显式事件 节点都会在指定时间或满足条件时触发。它们在接口中的定义顺序可能与分布中的预期变化顺序不一致。右键单击 事件 接口后,还可以使用另一个名为 事件序列 的选项,更直接地加入连续步骤。使用 事件序列 可以指定一系列事件,这些事件将按照列出的顺序激活。添加 事件序列 后,您可以包含多个序列成员,每个成员都根据条件表达式或特定持续时间运行。此外,使用 事件序列 后,可以在 事件序列 设置窗口中选择 循环 复选框。这样,只要仿真时间允许,事件就可以重复发生,从而灵活地定义重复的循环。

COMSOL Multiphysics UI显示了模型开发器,突出显示的事件序列选项、相应的设置窗口和图形窗口中的1D图。
如果希望事件序列在研究过程中反复循环,请选择 循环复选框,如图所示。

通过在事件触发点为求解器设置 停止条件,隐式事件也可以终止仿真。这种方法通常比通过 停止表达式 定义的停止条件更加精确。如下图所示,在具有热力学电压滞后的硅-石墨混合电极模型中,定义的所有隐式事件都会自动列在表中,当任何标记为活动的事件被触发后,仿真就会停止。

COMSOL Multiphysics UI显示了带有停止条件选项的模型开发器,相应的设置窗口,以及图形窗口中的1D图。
当电极电位超过与 0% 电极充电状态 (SOC) 对应的定义电极电位时,隐式事件 2 被触发,并发出模拟结束的信号。

COMSOL Multiphysics® 中有很多电池模型都采用了这种方法,例如:

结束语

在这篇博客中,我们探讨了在 COMSOL Multiphysics® 中可以定义载荷循环的各种方法。我们通过几个案例模型演示了这些方法。这些宝贵的资源,可以帮助您了解如何在电池仿真中应用这些方法,以及深入学习在仿真项目中准确表示载荷曲线的最佳实践和技术。

]]>
//www.denkrieger.com/blogs/how-to-define-load-cycles-in-battery-models/feed/ 1
多物理场仿真和 App 推动创新 //www.denkrieger.com/blogs/multiphysics-modeling-and-standalone-simulation-apps-drive-innovation //www.denkrieger.com/blogs/multiphysics-modeling-and-standalone-simulation-apps-drive-innovation#respond Tue, 07 Nov 2023 06:37:57 +0000 http://cn.staging.comsol.com/blogs?p=348851 多物理场建模与仿真帮助企业、高校和科研机构等组织以较低的成本进行更快、更智能地创新。研发团队将 COMSOL Multiphysics® 仿真整合到研发工作流程中,能够帮助团队建立精确的仿真模型,设计和优化实际工程问题,并能基于模型开发可独立运行的仿真 App,使更多的团队、部门和客户受益于多物理场仿真的优势。最终,工程师和设计人员可以在研发周期中更深入地了解产品,预测可能出现的问题,并更快地找到解决方案。

COMSOL Multiphysics® 6.2 新版本的发布,带来了更加强大的软件仿真功能:扩展的多物理场仿真功能、更快的求解器技术,以及改进的用户体验。新版本还提供了基于多物理场模型开发、维护,以及运行仿真 App 和数字孪生系统的颠覆性功能。

为什么选择多物理场仿真?

仿真模型能够表征真实世界的物理现象,我们的世界本质上是各种物理场的相互作用。换句话说,能够将两种及两种以上的物理现象完全耦合在一起,对于生成准确模拟真实物理现象的数值模型至关重要。

以扬声器为例。在单一物理场模型中,我们只能分析预测音圈中的磁场。但是,如果能够同时研究磁场如何与扬声器的其他部件相互作用而产生力和振动,可能会更有用。我们可以使用 COMSOL Multiphysics® 轻松添加和耦合模型所需的各种物理现象,以创建精确的仿真模型。例如,在这个扬声器模型中,我们可以模拟电磁、结构力学和声学的相互作用,进行完整的仿真分析。此外,COMSOL 模型可以模拟和耦合哪些物理现象或多少种物理现象是没有限制的。

左边和右边分别显示了单物理场扬声器模型和多物理场扬声器模型。
左:扬声器的单物理场模型,显示了作用在音圈上的电磁力。右:扬声器多物理场模型,同时考虑了声-结构相互作用。

COMSOL Multiphysics® 软件是一个建模和仿真平台,提供完整的多物理场和单物理场仿真功能。也就是说,跨工程和学科领域的工程师和科学家可以使用同一个软件平台,在统一的用户界面中建立任意模型。简单来说,多物理场仿真可以帮助企业、高校和科研机构等组织做出更明智的决策,生成创新的设计,降低制作物理原型和实验测试的成本,最终加快产品研发进程。

COMSOL Multiphysics® 仿真软件概述

当跨团队、部门、组织和企业的同事都能够访问并参与开发精确的仿真模型,为创新和优化产品设计做出贡献时,仿真驱动的研发工作流程才能获得最大成功。为此,COMSOL Multiphysics® 平台包括三个主要工作区:

  • 模型开发器
    • 包含仿真专家所需要的基于物理场进行建模、求解、可视化和结果评估的所有功能。
  • App 开发器
    • 为仿真专家提供简单、易用的工具,用于为同事和客户开发定制的仿真 App。
  • 模型管理器
    • 为管理仿真模型和仿真 App 提供了一个结构化的工作区,具有版本控制、搜索和筛选,以及高效数据存储等功能。

左:模型开发器显示了一个液冷电池组多物理场模型的设置和结果。中:用于构建仿真 App 的 App 开发器。右:模型管理器,演示了比较两个模型文件的功能。

同一个软件环境,适用于所有工程领域

根据手头的任务,您可能希望使用专门的产品模块来扩展核心仿真功能。COMSOL Multiphysics® 软件提供了丰富的附加产品,可专门用于电磁、结构力学、声学、流体流动、传热和化学工程等领域的仿真分析。由于 COMSOL Multiphysics®多物理场 仿真软件,因此其产品模块中的所有功能都可以通过平台产品无缝连接。此外,您还可以通过 LiveLink™ 产品轻松地与 CAD 以及其他第三方软件进行交互。

提示: 请查阅用户案例库,了解全球的企业和机构使用 COMSOL Multiphysics® 的应用案例。

可执行的仿真 App 加速产品创新

任何拥有 COMSOL Multiphysics® 软件许可证的用户都可以开发和维护自己的仿真 App,同时拥有 COMSOL Compiler™ 的用户还可以进一步将仿真 App 转化为独立的可执行文件,分发给任何人并在任何地方运行。组织内外的同事都可以通过这些独立的仿真 App 测试任何设计上的变化,而无需占用仿真专家的时间。

仿真专业人员还可以使用 App 开发器中的拖放功能,方便、快捷地开发具有专门输入和输出界面的定制 App,这样 App 用户无需花费精力开发仿真模型就能受益于仿真的所有优势。就像点击一个按钮那样简单,您可以将仿真模型编译成独立的仿真 App,至于是将仿真 App 收费出售还是免费提供,是添加密码保护还是不受限制地共享,以及是否设置有效期等,都由您自己决定。当您使用 COMSOL Multiphysics® 软件开发您自己的独立仿真 App 时,您可以完全控制开发 App 的数量、发布对象和发布方式。

COMSOL Multiphysics® 中的 App 开发器以及附加产品 COMSOL Compiler™ 已经问世多年,我们今天发布的 6.2 新版本软件,可以让您以闪电般的速度高效开发仿真 App 和数字孪生模型。

仿真 App 的自主化

从 COMSOL Multiphysics® 6.2 版本开始,您可以在仿真 App 中加入数据驱动的代理模型,也就是说,App 用户可以根据自己的输入获得几乎即时的仿真结果。经过训练的代理模型可以在不影响精度的前提下,近似给出成本更高、功能更完善的有限元模型所能获得的计算结果。

此外,新增的计时器 事件可以在无需用户交互的情况下触发方法的执行,例如,联系外部服务器、获取数据,运算并更新仿真 App 的显示界面。使用 6.2 新版本,既能使用代理模型,又能将仿真 App 连接到外部传感器、数据库和网络服务,还能够将仿真 App 开发为一个高效运行的数字孪生系统。

COMSOL Multiphysics® 6.2 新版本更多发布亮点

6.2 新版本升级了 COMSOL Multiphysics® 平台产品的核心功能,并在整个产品模块中引入了许多新功能,为用户带来了比以往更强大的仿真功能。

用于计算电机、室内声学和湍流的快速求解器技术

没有人喜欢等待,尤其是在求解模型时。COMSOL 开发人员一直致力于提高求解速度,以在确保精度的同时,减少各种模型求解所需的时间。6.2 新版本在这方面的最大亮点是,用户可以更快地求解非线性电机的多物理场模型,以及将室内声学和机舱声学的脉冲响应计算速度提升了一个数量级甚至更多。在湍流仿真方面,计算速度比以往提高了 40%。

电动机

现在,从事电机、变压器和其他电气设备研究工作的工程师可以采用时间周期求解器更快地求解非线性问题。此外,6.2 新版本还可以轻松进行涉及声学、结构力学、多体动力学和传热的电机多物理场仿真分析,以及进行优化研究来创新电机设计。了解更多信息,请访问 AC/DC 模块发布亮点


The COMSOL Multiphysics UI showing the Model Builder with the Magnetic Machinery, Rotating, Time Periodic node highlighted, the corresponding Settings window, and a 2D permanent magnet synchronous machine model in the Graphics window.

一个永磁同步电机的非线性时间周期示例。

室内声学

我们使用室内乐厅模型进行了一个测试,来说明 6.2 新版本的室内声学仿真速度有多快。在以前的软件版本中,这个模型的计算和结果分析(计算脉冲响应、绘制射线轨迹等)综合时间需要 18 小时,而在 6.2 新版本中只需 2 小时。如果您想了解更多声学相关新功能,请访问:声学模块发布亮点


The COMSOL Multiphysics UI showing the Model Builder with the Receiver feature highlighted, the corresponding Settings window, and a chamber music hall model in the Graphics window.

使用新的射线声学接收器功能的室内音乐厅模型。

湍流

6.2 新版本提升了求解器速度,将湍流模型的求解效率提高了 40%。此外,新的初始化步骤进一步缩短了湍流模型和大涡模拟的求解时间。 COMSOL Multiphysics® 6.2 新版本的 CFD 模块还新增了 7 个湍流模型,用于跨音速流动和超音速流动仿真。对于旋转机械,搅拌器模块中还新增加了一种新的分析类型,用于进行更精确的伪稳态研究。您可以访问 CFD 模块发布亮点了解更多信息。


The COMSOL Multiphysics UI showing the Model Builder with the Incompressible Potential Flow node highlighted, the corresponding Settings window, and the velocity field streamlines around a 3D hill in the Graphics window.

使用新功能进行流动初始化的小丘状三维几何结构的大涡模拟。

改进用户体验,实现更高效的建模工作流程

仿真软件必须易于使用才能为企业带来最大价值。虽然 COMSOL Multiphysics® 用户界面(UI)的整体外观和感觉与以前相同,但我们在 6.2 版本中对其适用性进行了多项改进。

部分用户界面更新如下:

  • 语法高亮显示可以便于长表达式和函数的输入、读取和编辑。
  • 选择边界和边时,按照连续相切对边界进行分组。
  • 在模型开发器中进行过滤,更轻松地浏览大型模型,加快模型设置和验证。
  • 对从互联网下载的 MPH 文件进行安全检查。
  • 一次撤消和重做多个步骤,并查看更改历史。


The COMSOL Multiphysics UI showing the Model Builder with the electronic_enclosure_cooling_ad.mph highlighted, the corresponding Settings window, and a PSU cooling model in the Graphics window.

使用过滤器功能调出 PSU 冷却模型中所有包含“heat”的节点示例。

6.2 新版本的 COMSOL Desktop® 发布亮点页面详细介绍了所有用户界面的更新,欢迎查看。

结果与可视化

由于仿真模型代表真实世界的对应物,因此根据物理定律将它们表现 出来也很重要。通过添加合适的纹理、颜色和详细的照明效果,可以更容易地将模型可视化为其所代表的真实对象或流程。根据您正在运行的分析类型,绘图类型或彩色表格的选择也会影响您对结果的解释。COMSOL Multiphysics® 软件平台包括构建几何图形、分配材料和网格划分以及大量的可视化功能。

在 6.2 版本中,可视化功能比以前更多了。您可以在下列组图中看到三项更新,并在结果与可视化发布亮点页面了解更多信息。

  • 地板阴影增强三维效果和深度感知
    地板阴影增强三维效果和深度感知
  • 可在曲面上绘制流线图。
    可在曲面上绘制流线图
  • 可以直观地看到物理场量随时间的推移变化。
    可以直观地看到物理量随时间的推移变化

下一步

您是否刚开始接触 COMSOL Multiphysics® ?欢迎与我们联系并告知您的仿真需求,我们将与您分享与您领域相关的信息。

如果您想详细了解新版本软件的所有更新功能,请访问:
COMSOL Multiphysics® 6.2 版本发布亮点

]]>
//www.denkrieger.com/blogs/multiphysics-modeling-and-standalone-simulation-apps-drive-innovation/feed/ 0
理解瞬态电磁激励选项 //www.denkrieger.com/blogs/understanding-the-transient-electromagnetic-excitation-options //www.denkrieger.com/blogs/understanding-the-transient-electromagnetic-excitation-options#comments Thu, 17 Aug 2023 08:41:55 +0000 http://cn.staging.comsol.com/blogs?p=346251 如果要模拟随时间任意变化的电信号,通常可以使用 COMSOL Multiphysics® 软件中计算效率极高的电流 接口,通过一个瞬态研究来计算系统的响应。虽然软件中有多种不同的激励选项,但我们通常会考虑外加电流信号或沿传输线传播的电压信号。让我们来深入了解一下其中的原因。

目录

  1. 前言
  2. 电流激励
  3. 电流中的电压激励
  4. 传输线、集总端口和终端条件
  5. 电路连接
  6. 结束语

前言

本文,我们将探讨上一篇博客模拟射频加热的 5 种方法中使用的示例:对插入充满有损电介质材料样品的金属空腔中的同轴电缆进行频域激励。我们将使用相同的系统,在同轴电缆上施加各种类型的瞬态信号,并对使用电流 物理场接口和电磁波,瞬态 物理场接口计算的结果进行比较,主要是比较在计算材料内部的总损耗。比较这两个接口的原因是,电磁波,瞬态 接口求解的是麦克斯韦方程组的完整矢量形式,而电流 接口求解的是麦克斯韦方程组的简化近似值,即忽略磁场,仅求解标量电势。为降低这些示例的计算成本,该模型将被简化为二维轴对称模拟平面,如下图所示。

同轴电缆示意图,包括内外导体、导电腔壁、绝缘体和损耗电介质的标记
二维轴对称模拟平面示意图。

电流激励

如下图所示,我们首先通过指定一个随时间变化的电流来激励系统。信号最初为零,然后阶跃上升到最大值并保持不变。我们可以对该阶跃函数进行平滑处理,这将在后文中讨论。系统开始时处于未激励状态,即最初各处的场均为零。鉴于这种初始条件和输入信号,瞬态系统响应应该在足够长的时间后接近非零稳态解,相当于系统的直流激励。

显示模型开发器的 COMSOL Multiphysics 用户界面(选择了步骤功能)、相应的设置窗口以及图形窗口中的一维绘图。
施加信号通过一个阶跃函数进行调制,该函数与模型维度不相关,函数值在 1 的时候从 0 跃升至 1。注意包括平滑选项,目前处于禁用状态。

我们首先使用电磁波,瞬态 接口建立模型,因为该接口可以表征到所有的电阻、电容和电感现象。该接口与之前使用的电磁波,频域 接口不同,它不包含阻抗边界条件,因为该边界条件只对频域有意义。虽然可以对金属导线进行显式建模,但我们将通过理想电导体 边界条件,将所有金属零件模拟为无损耗的理想导体。这样做是合理的,因为之前我们已经证明,在这种情况下,金属中的损耗相对来说可以忽略不计。

COMSOL Multiphysics 用户界面特写视图,显示模型开发器,突出显示了集总端口边界条件,相应的设置窗口中集总端口属性和设置部分已经展开。
同轴类型的 集总端口边界条件屏幕截图,指定了随时间变化的电流脉冲。

我们使用同轴 类型的集总端口 边界条件,并指定一个瞬态外加电流。请注意,阶跃 函数的参数是以非维度单位输入的。总模拟时间跨度为 150ns,每 1ns 保存一次结果。下图显示了在集总端口 边界条件(在电磁波,瞬态 接口内,下图中缩写为 TEMW)处感应到的电压。曲线显示了电阻电容系统的典型响应。

比较了电磁波,瞬态接口和电流接口的外加电流和测量电压的一维绘图。
电磁波,瞬态接口和 电流接口的外加电流和测量电压图。

同样的情况也可以用电流 接口模拟,只考虑电阻和电容效应。在此接口中,电流 类型的终端 边界条件将在内部导体注入指定电流。外导体和其余外部边界均设置为接地。为了比较求解结果,将求解器的最大时步也设置为 1ns,结果显示二者非常吻合。

比较了电磁波、瞬态接口和电流接口的损耗的一维绘图。
电磁波,瞬态接口和 电流接口计算出的损耗对比。

该图显示了使用两个物理场接口计算的随时间沉积到模型中的热量对比,结果显示二者非常一致。我们还可以使用 timeint() 算子计算随时间变化的集总损耗:

timeint(0,150e-9,intopSample(ec.Qh),'nointerp'),

其中,增加的 ‘nointerp’ 选项仅使用保存的时步计算体积积分的时间积分。两个接口在 0-150ns 的时间跨度内计算出的沉积能量总和为 46.8nJ,二者相差不到 1%。根据这些数据,我们可以得出结论:对于由电流信号激发的系统,电流 接口与电磁波,瞬态 接口的计算结果几乎相同,而且计算成本更低。

电流中的电压激励

接下来,让我们使用相同的阶跃函数调制电流 接口中的终端电压。也就是说,我们将尝试即时改变同轴电缆内外导体之间的外加电压。实际上这样的模型会求解失败。这并不奇怪,因为电容式设备会阻碍电压的瞬时变化。也就是说,电压的阶跃输入是非物理的。

与其尝试求解这种非物理激励,不如回到阶跃 函数并启用平滑选项。如 COMSOL 知识库中的文章:控制瞬态求解器的时间步长所述,做出这一改变后,我们就可以在 5ns 的较短时间内求解模型,每 0.01ns 保存一次结果,并将求解器相对容差严格控制在 1e-5。

比较了终端电流和施加的电压的一维绘图。
通过平滑阶跃函数计算指定电压时的电流。

该图显示了外加电压和通过终端的电流。请注意,当外加电压上升时,电流上升到稳态电流的十倍以上。为了理解这一点,我们来查看电流 接口中定义的电流表达式:

\mathbf{J}(t) = \sigma \mathbf{E}(t) +\epsilon_0 \epsilon_r \partial \mathbf{E}(t) /\partial t.

这是传导电流和位移电流之和,电场由 计算得出。因此,如果在边界处指定了随时间变化的电势函数,那么进入模型的传导电流和位移电流都是指定的,这是非物理的。这与前一种外加电流的情况不同,前者只指定总电流,而这个模型则计算总电流中位移电流或传导电流的比例。

我们还应该问,是否有可能在电磁波,瞬态 接口中应用类似的边界条件。这是不可能的;该接口使用的是磁矢量电势方程,不允许使用这种激励条件。即使可以通过数值方法实现,这种激励在物理上也是不可行的,因为这是一种反馈控制问题。

在时域的电流 接口中使用电压激励仍然有效,但仅限于终端边界处产生的位移电流比传导电流小得多的特定情况。也就是说,只有在设备几乎是纯电阻的情况下才使用电压边界条件。不过,我们现在研究的情况要求采用更真实的边界条件。

传输线、集总端口和终端条件

电磁波,瞬态 接口中,让我们再来看看集总端口 边界条件。前面我们已经讨论过电流 类型,稍后将讨论电路 类型,现在我们来重点讨论电缆 类型。电缆 选项可以定义电压信号和电缆阻抗。这样就给定了一个在指定阻抗的、无限无损耗的传输线背景下理解的条件,例如 ,并在无限电缆上放置一个信号源。该信号源施加的电流会使信号沿传输线向远离信号源的两个方向传播,从而使感应电压等于所定义的信号。由于信号是双向传播的,因此外加电流的大小为

这是基于指定的电压信号 和指定的电缆阻抗建立的——假设系统阻抗与电缆阻抗相匹配。实际上,电缆阻抗与系统阻抗()不同,因此该信号将部分被系统模型反射并返回传输线。因此,输入信号在此边界以电压形式输入,但实际上会外加一个固定的电流以及与电缆阻抗相等的并联载荷。我们可以认为,来自电流源的信号被分成电缆和系统两部分,其中一部分信号被反射回来。在大多数真实信号源中,都会用某种循环器或隔离器来防止反射信号与电流源发生作用,并将反射信号转移到匹配的损耗载荷上。

集总端口边界条件的电路等效解释示意图,类型设置为电缆。
电缆类型 集总端口边界条件的等效电路解释。上图显示的是假设情况:信号从电流源传播到阻抗匹配的电缆和系统中。信号源位于电缆内,因此信号向两个方向传播。下图显示的是模拟情况:系统阻抗不匹配导致部分信号反射回电缆。

在电流 接口中,类似的边界条件是终止 类型的终端 条件。在这个接口中,我们同样可以输入电缆阻抗,但代替电压需要输入施加功率,其中功率为

对于这两个物理场接口,都可以使用更精细的输出时间步长和公差来求解模型。我们可以通过测量的电压、电流和损耗,以及随时间变化的集总损耗来计算结果,如下图所示。有几个特征有必要说明一下:

  1. 不出意料,电磁波,瞬态 接口感应到的电压和电流信号中会出现波纹或波浪。这些波纹是由输入信号的频率组成造成的,也是由于系统模型的材料、边界条件和几何形状对信号的反射造成的。
  2. 感应电压几乎是外加电压的两倍。这是因为这个边界条件也可视为电压源的诺顿等效条件,但其诺顿电阻等于电缆阻抗,在这种情况下,电缆阻抗与所模拟系统的电阻相比相对较小。
  3. 使用电流 接口计算得出的解没有任何波纹,因为该接口明确忽略了电感效应,但整体形状非常相似,并给出了相同的稳态解。
  4. 损耗结果非常一致,总沉积能量的吻合度在 1% 以内。

因此,我们可以得出结论,对于该系统和激励类型而言,电流 接口的计算结果非常接近于完整的电磁波,瞬态 接口计算结果。

在对施加的平滑阶跃电压信号建模时,比较测量电压和电流的一维绘图。
模拟沿传输线传播的外加平滑阶跃电压信号时,测量的电压和测量的电流曲线图。

比较电磁波、瞬态接口和电流接口计算的损耗的一维绘图。
施加平滑阶跃电压信号后,计算的损耗与试验材料的损耗比较。

电路连接

从上图的电路图来看,电缆 类型的集总端口 似乎代表了连接到系统上的电阻器。我们可以使用电路 类型的集总端口,并通过电路 接口添加一个与系统并联的集总电流源和一个集总电阻器来验证这种解释。连接这些物理场接口的方法与 COMSOL 博客:了解电流仿真的激励选项中介绍的类似。通过电路 类型的终端 条件将电流 接口连接到电路 接口,可以重现相同的激励。

包括电容器、电感器和变压器等更复杂的匹配电路,也可以在电路 接口中实现。只要在电路中添加了用于防止任何类型的非物理激励的额外元件,在电路接口中使用电压源特征就是合理的。也可以包括内非线性集总器件、二极管和晶体管,但这些器件会导致方程组的计算量增大,可能需要进一步修改求解器的设置

快速了解沉积功率

在关于电磁热系统频域激励的博客中,我们还模拟了一种将已知功率输入系统的激励。这种激励基于反馈,即监测模型的某些状态并将信息反馈给输入。在频域模型中,这种反馈是合理的,因为隐含的假设是反馈发生在几个周期内。但对于时域模型来说,该假设的合理性就大打折扣了,因为在时域模型中,任何反馈都必须包括控制系统的动态和延迟。这种时域反馈对于与我们在此研究的系统和时间跨度类似的系统并不适用。

结束语

这篇博客,我们介绍了在电流 接口和电磁波、瞬态 接口中研究用时域信号激励系统的各种方法。对于所考虑的特定系统和信号,这两个接口生成的结果非常相似。当受激系统的电能远大于磁能时,适合使用电流 接口。对于另一种情况,即系统主要是电感,磁场远大于电场时,我们将在以后的博客中单独讨论。

我们已经看到,所有激励都从根本上指定了进入系统模型的电流。电压信号沿传输线传播的情况与诺顿情况完全等同:电流源与外部电阻(代表传输线)平行于系统模型。最终,如何在代表电流源的激励选项、沿传输线传播的电压信号或添加电路 接口之间做出选择,取决于你正在处理的源类型。

这里研究的信号都很简单,但我们经常需要考虑更复杂的瞬态信号,尤其是周期性信号。这类信号适合采用一些非常有效的建模技术,我们将在下一篇文章中讨论,敬请期待!

]]>
//www.denkrieger.com/blogs/understanding-the-transient-electromagnetic-excitation-options/feed/ 2
小型智能扬声器的完整室内声学脉冲响应仿真 //www.denkrieger.com/blogs/full-acoustic-room-impulse-response-of-a-small-smart-speaker //www.denkrieger.com/blogs/full-acoustic-room-impulse-response-of-a-small-smart-speaker#comments Fri, 07 Jul 2023 02:16:40 +0000 http://cn.staging.comsol.com/blogs?p=343811 最近,我们在 COMSOL 博客中讨论了如何使用有限元-射线混合方法建立室内声学模型。本篇博客,我们将使用 COMSOL Multiphysics® 软件中内置的有限元-射线耦合功能,对放置在一个小房间桌子上的小型智能扬声器的响应进行建模。除了使用此功能外,我们还将通过手动耦合来更详细的描述近场源。这个方法结合了详细的换能器有限元模型、全频率范围辐射特性、低频全波有限元模型和高频射线声学模型。此外,我们还模拟了随角度和频率变化的房间吊顶的吸收特性。

如果您想了解关于使用有限元-射线混合方法的博客,请点击查看:“使用混合方法建立室内声学模型”。请注意,这篇博客描述了将脉冲响应的高频和低频部分串联起来的操作,但本文并未明确讨论串联问题。

提出问题

我们以求解放置在一个小房间里的桌子上的小型智能扬声器的声学响应为例。房间的吊顶(也就是“天花板”)由一个背面为空腔的多孔材料构成。墙壁、沙发和地板也具有吸声特性。本模型只选择了一个接收器(传声器)位置,设置如下图所示。

标记了吊顶、麦克风和智能扬声器的房间。
图1.问题的设置。

在当前的设置中,我们采用将压力声学与机电元件的集总表示(Thiele-Small 参数)相结合的方法来模拟小型智能扬声器。使用集总扬声器边界 功能将压力声学、频域接口 与集总电路 模型耦合。有关这种建模方法的详细信息,请参阅教程模型:扬声器驱动器集总模型

小型智能扬声器的示意图如图 2 所示。该模型包括:

  • 前腔和背腔
  • 扬声器振膜与集总元件模型耦合
  • 穿孔的网格
  • 从后部通向外部的通风口
  • 狭窄区域和小型波导中的热黏性边界层损耗

该模型的几何结构还包括三个使用 RCL 模型模拟的麦克风,但此教程并未明确使用这些麦克风。请注意,这只是一个简化的几何体,当然也可以扩展为包含更详细的几何体和物理场的完整的多物理场模型。

标记了麦克风、穿孔网、前音量、通风口、后音量和扬声器隔膜的智能扬声器模型。
图2.小型智能扬声器

显示了声压的扬声器模型表面图。
图3. 1kHz 时扬声器表面声压实部。

方法组合

这里我们展示的是将最适合全波仿真的结果与高效率求解几何声学的射线追踪相结合的模型设置。在此,我们介绍了计算低频和高频所需解的必要设置。高频和低频响应的串联并不是在此模型中完成的,而是根据之前博客中介绍的模型进行的。

低频问题

对于低频系统,直接使用压力声学、频域接口电路接口 来解决房间和换能器的声学问题,可以通过在模型的组件 2 中设置,并在研究 2 中求解。后者用于模拟换能器机电部分。使用多孔介质声学 功能模拟吊顶。使用狭窄区域声学 功能计算扬声器内部波导结构的热黏性损耗。对于音圈和磁铁系统周围的一些损耗也很重要的区域,则使用热黏性边界层阻抗 功能求解。

在本例中,低频系统的求解频率最高可达到 1200Hz。求解的最高频率可能还会进一步提高。为了有效求解高频率,我们改用了基于移位拉普拉斯方法的迭代求解器建议。该模型可求解约 3.8e6 个自由度 (DOF),需要约 22GB 内存。模型的求解频率从 50Hz 到 1200Hz,步长设置为 10Hz,大约需要 4 小时(具体取决于硬件配置)。需要注意的是,迭代求解器的相对容差需要设置为 1e-6,以确保有限元模型和集总参数模型的收敛性。

COMSOL Multiphysics UI 显示了选择了多孔声学特性的模型开发器,以及相应的设置窗口,显示流体属性设置、多孔矩阵属性设置等。
图4. COMSOL Multiphysics 的用户界面,其中的多孔介质声学功能用于对吊顶进行明确建模。

用彩色表示声压级分布的房间模型,其中大部分显示为绿色。
图5. 频率为 400Hz 时,房间内的声压级分布。

有关使用迭代求解器的另一个例子,请参阅汽车车厢声学-频域分析教程模型。

高频问题:两种方法

在高频范围内,使用的是射线声学接口,并与全波模拟结果相结合,用于表示扬声器的声源以及与角度和频率相关的吊顶表面阻抗。我们使用了两种声源表示方法,并进行了比较。

第一种辐射源表示法将被称为“点源释放”,从某种意义上说,它是一种经典的射线追踪辐射源。智能扬声器放置在一个立在桌子上的无限隔音板上时的辐射特性在组件 1 中建模。这个例子很好地示范了在 COMSOL Multiphysics® 中轻松设置子模型的方法。通过根据外场释放 功能,可以直接将这些结果用于定义射线声学模拟中的点声源表示,该功能在组件3 中设置和使用,并在研究3 中求解。就电声参数和物理模型而言,智能扬声器的设置对于声源子模型和完整(低频)室内声学模型是相同的。

COMSOL Multiphysics UI显示了模型开发器,并选择了从外部场释放特征,以及相应的设置窗口,显示源方向设置等。
图6. COMSOL Multiphysics® 用户界面显示了 根据外场释放功能,该功能可以自动将全波有限元模型的辐射模式与射线追踪模型结合起来。

在第二种高频射线追踪方法中,源的特征不是用它的远场辐射特征(作为点源),而是用近场特征表征的,包括最靠近卓面边缘的散射细节。这将被称为 “根据外场计算释放”。在这个示例中,使用压力声学,频域接口 建立的全波有限元模型将在声源周围的球体中求解(在组件 4 中设置,在研究 4 中求解声源)。其原理是,射线从球体表面沿声学强度(“声学坡印廷矢量”)方向释放,大小为局部强度。这种设置是通过射线声学中的从边界释放功能实现的(在组件 4 中设置,在研究 5 中求解声源问题)。设置见下图 7。请注意,释放方向是归一化强度矢量 ,源总功率(取决于空间)是 ,其中 是总释放面积, 是表面法线。在这两种情况下,表达式都包含在 bndenv() 算子中,从而确保有限元求解可以映射到射线上。

边界释放特性的设置窗口,显示初始位置、射线方向矢量等设置。
图7. 从边界释放功能的 COMSOL Multiphysics 用户界面设置。

在彩色表中显示释放球体的扬声器模型,球体的上半部分为红色,箭头表示射线释放的方向。
图8. 释放球体表面的射线释放方向和强度示例。

压力场释放设置结合了全波方法(近场)和射线追踪的相关假设,这也为使用这种方法设置声源设置了一些限制。例如

  1. 当使用从边界释放射线时,射线是同时释放的。因此,应该假定从声源发出的声音会同时到达和离开释放边界的每一部分。然而,要做到这一点,就不能随意设置释放边界。
  2. 由于上一点提到的限制,源域中的内部反射就很难考虑在内。根据反射路径的不同,声音确实可以传播不同的距离,这将导致在释放边界和脉冲响应中出现不同的时间事件。
  3. 最后,在射线追踪中计算的脉冲响应不包括时间延迟(从源到释放边界的飞行时间)。COMSOL® 软件假定释放边界处的释放时间为 0。

在这个模型中,近场球半径设置为 0.3 米。选择这个尺寸是为了防止局部全波问题太大而无法求解,同时还能显示最近的桌面边缘的影响。

请注意,这两个射线跟踪模型都包括了吊顶吸收的角度和频率相关性。这些特性是在一个单独的模型中计算得出的,如下图所示。

吊顶的特性

通过对多孔层(使用压力声学,频域接口 中的多孔声学 功能)和空腔进行建模,将吊顶的特性直接纳入模型的低频分析部分。在(高频)射线追踪模拟中,吊顶的吸收特性被包含在与频率和入射角有关的吸收系数 中。吸收数据是从吊顶的子模型中提取的。该模型也可在此处下载。该模型采用了与多孔吸声体教程模型类似的方法。一般来说,使用子模型是为射线跟踪模拟获取更详细的边界(和源)条件的一个好方法。

下图显示了模型中吊顶的吸收面。该吊顶由 1cm 的多孔材料制成,流动电阻为 20,000 [Pa-s/m2],后面是 2cm 的空腔。在射线追踪模型中,通过调用一个带有频率参数和入射角变量 rac2.wall5.thetai(标记为射线声学模型 2 和壁条件 5)的插值函数,包括了角度和频率相关性。

彩虹颜色表中的颜色图,左手边是深蓝色,中间有一大块红色,中间有一些黄色和绿色。
图9.吊顶的吸收系数面。

为简单起见,目前的模型只包括天花板的详细吸收数据。模型完全可以扩展到包括所有边界的角度和频率吸收数据。详细的散射数据也可以通过全波模型计算得出,如施罗德扩散器二维模型教程模型所示。

边界条件考虑

本文讨论的模型有多种用途,可以在边界条件做出各种假设。这些假设取决于重点是压力声学仿真还是射线声学仿真。让我们来详细了解一下建模注意事项和假设是如何根据仿真类型发生变化的。

首先,让我们来看看压力声学仿真的一些注意事项:

  1. 这里会模拟相位信息,因此一般最好使用与频率相关的阻抗条件。
  2. 在低频情况下,仅使用吸收系数通常并不准确。
  3. 表面的法向阻抗取决于入射角。那么,应该使用什么值呢?对于没有明确入射角的室内声学应用,使用有效入射角通常是一个不错的选择。例如,根据阻抗 条件中多孔层 选项的定义,在自动 设置下以 50° 入射角进行计算法向阻抗。
  4. 如有可能避免上述假设,最好像本模型中的吊顶一样,对实际吸收表面进行建模。

在射线声学仿真中,考虑使用

  • 正态与随机入射吸收系数
  • 随角度变化的吸收系数
  • 散射系数

正常(和随机)入射的吸收系数、角度相关吸收系数和散射系数可以是常数,也可以是频率相关系数,但模拟选项也取决于可用的数据。

此外,对于射线声学仿真,如果壁的吸声在一个倍频程内变化很大,可考虑使用更窄的频带表示,如 1/3 倍频程或甚至 1/6 倍频程频带。

结果

图 10—13 展示了从示例模型中选取的一些结果。图 10 显示了 1000Hz 的压力分布,可以清楚地看到解的波形。在图 11 中,描绘了 1000Hz 频段的射线在同一时刻的位置(对两种方法的不同释放时间进行了修正),比较了点源和压力场描述的释放。从图像中可以清楚地看到,这两种方法给出了不同的空间分辨率(射线密度),因为点源只向上半部空间释放射线,而压力场释放射线也会向下释放射线(由于桌面边缘的衍射)。要对这两种方法进行更正式的比较,应考虑到这一事实。

房间模型大部分为灰色,压力分布如 Wave 颜色表所示,其中靠近智能扬声器的颜色最深,周围表面的颜色较浅。
图10. 1000Hz 下的压力分布。

带有光线图的房间模型显示在 Rainbow 颜色表中,其中图显示为球体的上半部分,顶部为黄色和绿色,其余部分为橙色。
Rainbow 颜色表中有光线图的房间图,主要以黄色显示,其中有声压图,显示在 Wave 颜色表中,大部分为蓝色。

图11. 点声源(左)和压力场释放(右)的射线图。两幅图都显示了在 6ms 时计算的 1k Hz 频带(根据 0 时刻的不同定义进行了近似校正)。请注意色条上不同的射线功率刻度。右图还绘制了声源区域近场的声压。

图 12 和图 13 对这两种方法进行了比较。图 12 描述了声源和接收器之间的传递函数。它绘制了两种射线追踪方法和全波有限元模型的脉冲响应(IR)的快速傅立叶变换(FFT)。这里没有对有限元模型结果进行平滑处理,但对射线追踪结果应用了 1/3 倍频程运行平均滤波器处理。该图显示了相同的整体行为,还显示了即使在预期的施罗德频率(垂直线)之上,房间内也有很强的模态行为。两条射线声学结果(蓝色和红色曲线)之间似乎存在更大的水平差异。这可能是因为两种声源描述的能量传播方式不同。最后,图 13 比较了两种射线追踪结果的一些时间特征。我们对早期衰减时间(EDT)和 T20 混响时间进行了比较,从下图中可以看出,两者之间存在显著差异,这表明两种模型到达接收器的能量的时间分布是不同的。

蓝色为指向性射线点源,绿色为全波有限元压力声学,红色为压力场射线释放。
图12. 全波响应和射线声学脉冲响应的快速傅立叶变换。

蓝色实线显示 EDT 点源,绿色实线显示 T20 点源,蓝色虚线显示 EDT 从压力场释放,绿色虚线显示 T20 从压力场发布。
图13. 早期衰减时间和 T20 混响时间的室内声学客观指标比较。

这里讨论的一些结论可以加以完善,用于扩展模型中进行的分析。例如,您可以选择使用更多的射线,比较多个接收器位置,在有限元模型中使用更精细的频率分辨率,或在射线跟踪模型中使用 1/6 倍频程波段。这些不同的选项都可以使用当前模型完成。例如,通过改变参数 Nrays 来改变射线数量,或通过改变参数 xryr zr 来改变接收器的位置。

下一步

点击下面的按钮,进入 COMSOL 案例库,进一步探索本博客中讨论的模型。

其他资源

]]>
//www.denkrieger.com/blogs/full-acoustic-room-impulse-response-of-a-small-smart-speaker/feed/ 9
批处理扫描功能的优势 //www.denkrieger.com/blogs/the-power-of-the-batch-sweep //www.denkrieger.com/blogs/the-power-of-the-batch-sweep#comments Thu, 18 May 2023 22:44:00 +0000 http://cn.staging.comsol.com/blogs?p=170991 你有没有过通宵运行大量参数化扫描,第二天早上发现仍未完成求解的经历?在等待最后几个参数收敛的时候,你可能希望先查看已经计算出的参数解。批处理扫描 功能是解决上述问题的有效方法,计算好的参数化解会自动保存为文件,便于打开进行可视化及结果评估。

编者注: 这篇博客最初发表于 2016 年 2 月 2 日,为呈现软件的新特征和新功能,对其进行了更新。

批处理扫描:大多数仿真分析的有效解决方案

在上一篇博客中,我们探讨了批处理扫描中任务并行的附加值。这篇文章,我们将讨论批处理扫描的另一个重要功能:在求解过程中检索参数化扫描的解。使用批处理扫描可以随时检索部分解,即使在求解器无法求解某些参数时,也可以这样做。当所研究的问题中每个参数的解都独立于其他所有参数的解时,就适合采用批处理扫描。

在求解器扫描过程中,希望查看部分解的情况很多,例如:

  • 当基于表格中的输入数据扫描时,你发现求解表格中列出的一部分数值所需的时间格外长,但无法判断具体是哪些值。这时,你希望能查看尽可能多参数的解,来判断是否需要中止求解过程,或者在所有扫描完成之前开始分析结果。
  • 你用数学表达式描述某一材料属性或边界条件,结果却得到某些参数的非物理解。
  • 你用 C 语言或 FORTRAN 语言编写了一个有关定义复杂材料的外部函数,但未检查所有的输入数据,结果某些参数值的输出数据出现了异常。
  • 你正运行参数化扫描,其中一个参数为几何尺寸,但参数尺寸的范围定义得过大。当你意识到这一点时,求解已经运行了很长时间,所以不希望停止。

如果你在以上任何一种情况中运行批处理扫描,每个参数都能在一个单独的进程中求解,这个进程可以独立开始和停止。求解完成的参数值都被存储为一个.mph 文件,你可以在求解过程中打开任何数量的文件进行查看。在下面的示例中,你将了解如何将探针结果保存到文本文件中。

静电传感示例

为了演示批处理扫描,我们使用 COMSOL Multiphysics® 案例库中的 电传感器示例模型来展示批处理扫描的操作。此模型展示了如何通过在盒的边界施加电位差,获得盒内的图像信息。模型计算的表面电荷结果取决于盒内物体的介电常数,该结果也可用于判断例如盒内是否存在物体,甚至可以帮助确定物体的形状。电阻抗断层成像案例中也采用了类似的技术进行医疗诊断,但使用的是交流电。

电传感器模型中盒外的表面电荷。
盒外的表面电荷。

屏幕截图显示了盒内待检测的物体。
盒内待检测的物体。

原示例模型中将物体厚度拉伸为 0.8 米。本文示例中,物体厚度被拉伸为 0.5 米。

参数化扫描的输入数据

假设有一组包含十个样本物体,这些样本形状相同但由具有不同介电常数的材料制成。我们要探究的是检测物体及其形状的能力,不管物体由什么材料制成。十个样本的介电常数值已存储在内插表 int1 中。实际上我们不会使用这个表格进行任何插入操作,而是把它作为一种存储和调用表格值的简便方法。(在这里,我们可以将内插方法从默认的 线性内插 改为 最相邻内插,但在本示例中结果不变。)

模型开发器中的介电常数表格。
介电常数的表格。

现在用全局参数 sn(样本编号的英文缩写)对这个样本集添加索引。

使用全局参数对样本组添加索引。
作为全局参数的样本编号参数 sn 。

此模型在材料节点下定义了三种材料。材料3表示盒内的星形物体,材料 2表示其他物体。材料 1对应盒内物体周围的空气。我们通过适当调用材料3材料属性中定义的内插表 int1,来改变星形物体的介电常数,使用的语法为 int1(sn)。请注意,这里无需考虑单位,因为介电常数是无量纲。

星形物体的介电常数。
通过参数 sn 在表格中索引得到的星形物体的介电常数。

探测表面电荷

为了监测星形物体上方的表面电荷,我们在盒子上表面的 x = 1.5,y = 1.5,z = 1.0 位置处定义了一个边界点探针。为了快速定义此位置,我们可以单击物体上表面的一个大致位置,然后在 设置 窗口中手动调整坐标值。

所研究物体上方的边界点探针。
研究物体上方的边界点探针

至于点探针表达式,我们选择用变量名 es.nD 和单位 nC/m^2 来表示表面电荷的大小(模值)。

点探针表达式设置窗口的近视图
单位为 nC/m^2 的表面电荷的 点探针表达式

稍后,我们会将此探针的输出写入文本文件。为此,单击 更新结果。此操作会生成 派生值表格项

边界点探针设置中的更新结果按钮
探针的 更新结果 按钮

在 COMSOL Multiphysics® 中设置批处理扫描

默认情况下,软件不会显示批处理扫描选项。可以在模型开发器的工具栏选择 显示更多选项 来启用该选项。在 显示更多选项 对话框选择 研究>批处理和集群

显示更多窗口中打开的批处理和集群研究
在模型开发器中的 显示更多选项 菜单激活 的高级研究选项

如果右键单击 研究 节点,可以在列表中选择 批处理扫描 (单次运行,选择 批处理,而不是 批处理扫描)。

 COMSOL Multiphysics中的批扫描菜单选项。
研究 菜单中选择 批处理扫描

在如何定义扫描范围方面,批处理扫描与参数化扫描相似。在这里,我们使用整数 1 到 10 来定义参数 sn 扫描时的步长。

扫描的参数范围。
批处理扫描的参数范围。

批处理扫描 模型树 设置 窗口的 批处理设置 栏中包含了用于控制结果的设置。

在批量扫描设置窗口中展开的批量设置部分的屏幕截图。
控制批处理扫描的设置。

默认文件名为 batchmodel.mph,用于自动创建一个 MPH 文件序列,其中的每个文件对应于扫描中的每个参数。可以更改文件名,不过此处演示的示例仍保留此文件名,生成的 MPH 文件名将分别为 batchmodel_sn_1.mphbatchmodel_sn_2.mph,……,batchmodel_sn_10.mph。稍后,我们会探讨这其中的每个文件为何是一个可以单独打开并执行后处理的完整的模型。

扫掠前 部分有两个选项:清除网格和清除解。我们清除了这两个复选框,因为只有在执行远程集群计算或云计算时,这两个选项才真正有用,并希望通过网络传递的文件尽可能小(只有使用网络浮动许可证时才能这样做)。

在扫描过程中 部分有两个选项:同步解同步累积探针表同步解 将存储的所有文件中的结果从开始仿真时收集到“主模型” MPH 文件中,最终结果与运行参数化扫描的结果极其相似。在这个示例中,选择清除这个复选框是因为我们假设只对查看单个结果感兴趣。此外,如果扫描的范围过大,收集全部结果可能会消耗大量时间和内存。保持选中 同步累积探针表 状态,表示对探针的输出结果进行累积,与完整的求解信息相比,收集这种信息非常轻松。

扫掠后部分中,我们勾选输出模型到文件复选框,确保自动保存的 MPH 文件包含(每个参数的)解,同时会增加磁盘空间。

在下一节,将 群集计算 设置更改为 用户控制。然后,将 目录 更改为 C:\COMSOL。这就是存储所有批处理文件的位置。

如果你有网络浮动许可证,并且希望使用远程安装的 COMSOL 软件执行这一计算,可以使用 指定服务器路径 选项。本文我们只讨论包括单用户许可证在内的 COMSOL 所有许可证类型都能使用的功能。

将探针数据保存到文件

为了将探针数据保存到文件,我们不能使用常规的探针表,而是使用一种特殊的 累积探针表。第一步是手动添加一个探针表,即右键单击 结果 下的表格 节点,将表格名称改为 保存的探针表。稍后,我们会通过批处理扫描在其中写入累积探针表的数据。当需要将异步生成的数据在表格中按照一定的顺序排列时,就可以使用累积探针表。请记住,一般来说,我们不清楚不同的参数对应的解应该按照什么顺序排列,而累积探针表帮我们解决这一难题。

屏幕截图显示了如何添加保存的探针表
手动添加保存的探针表。

在保存的探针表设置中,将 存储表 设置改为 模型和文件中。在本示例中,我们将探针结果保存到 C:\COMSOL\results.txt。如果扫描的数量过于庞大,则可能需要提高 最大行数 的值(这通常适用于需要大量扫描的情况或瞬态解)。

保存的探针表设置的屏幕截图。
保存的探针表设置。

批处理扫描 设置的 求解时输出 一栏中,将 输出表 改为 保存的探针表。这就是我们的累积探针表。

突出显示具有批处理扫描的模型开发器,并展开具有求解时输出部分的相应设置窗口。
保存的探针表 用作 累积探针表

运行批处理扫描

现在,可以单击 计算 启动批处理扫描。求解过程中,图形窗口下的信息窗口显示一个 外部进程 窗口。

外部进程窗口屏幕截图
外部进程窗口

通过外部进程窗口,我们可以了解正在运行的批处理进程及其状态的概况。在本文示例中,共有十个这样的进程,分别对应扫描中的每一个参数。

在这个阶段,大部分的用户界面不能交互,但可以单击进度条左侧的脱离作业,重新获得对用户界面的控制。

脱离作业选项
脱离作业 选项

使用脱离作业后,就看不到进程状态的实时更新了,不过这时可以对各个进程执行操作。

屏幕截图显示了脱离作业后外部进程窗口。
脱离作业后的 外部进程 窗口。

此时,我们可以停止所有进程,或者单击某一行来停止该进程,甚至可以单击表中状态为 完成 的进程,在另一个 COMSOL Desktop 窗口中打开它。在新打开的窗口中,我们可以执行任何可视化操作或后处理任务,这些任务通常需要在模型中运行。

外部进程窗口的打开文件选项。
选择一个完成的外部进程,单击 打开文件,即可在一个新的 COMSOL Desktop 窗口中显示结果。

单击 外部进程 窗口左上角的 附加作业,就可以重新显示进程状态的实时更新。

屏幕截图显示了外部进程窗口的附加作业选项。
外部进程 窗口附加作业。

探针结果文件

我们可以使用 Notepad 等文本编辑器打开包含探针输出的 results.txt 文件。

探针结果近图
包含边界点探针结果的 results.txt 文本文件。

我们也可以在求解过程中查看这个文件,从而在全部参数都完成收敛之前快速浏览结果。不仅是批处理扫描可以这样做,对于常规的参数化扫描,在表格保存为文件后也可以在求解过程中查看。

使用批处理扫描功能时需要考虑的其他因素

性能

如果扫描中每次计算速度都很快,并且不需要很大的内存,如上文中的示例所示,批处理扫描所需的计算时间会比常规的参数化扫描的时间长。因为采用批处理扫描时,每个参数都会启动一个 COMSOL Multiphysics 进程。对于每一个计算要求都较高的参数扫描,这个额外启动进程的时间相对较短,可忽略不计。

参数错误处理

假设我们调用的是用户定义的外部 C 语言函数,而不是内插表;同时假设我们在 C 代码中犯了一个编程错误,导致一个或几个参数在扫描时出现分段错误。这种情况下,我们仍然可以浏览 C:\COMSOL 目录(或者指定保存 .mph 文件的目录),打开其中的文件执行可视化及后处理,甚至进一步的计算工作。

在上文示例中,演示此类错误的一个简单方法是将其中的一个介电常数值设为零,然后启动批处理作业。介电常数为零意味着我们向求解器提供了一个定义模糊(甚至是异常)的方程(类似于 0 = 1),此时会显示一条错误消息,提示求解器找不到出错参数的对应解。同样地,仍可以打开保存的 .mph 文件并执行后处理。如果更正了表格,将介电常数改成非零,就可以重新运行批处理作业并且不会收到错误消息。请注意,如果错误一直存在,则对 外部进程 窗口附加作业时始终会提示错误。此时,仍会更新累积探针表中与其他参数对应的项。更正错误后继续运行扫描,对外部进程窗口附加作业后就可以再次访问该窗口了。

管理多核处理

如果你有一台多核计算机,这是现代电脑的常见配置,就可以更改 批处理 的相关设置,控制批处理扫描中可运行的并发进程数,以及每个进程可用的内核数。假设你使用的是六核机器,那么可以将 并发作业数改为三,将 内核数 改为二。这样设置后,可以并行求解三个参数,每个求解器进程可使用两个内核,所以对于上面的示例,仿真时间减少了一半。

如果所运行的仿真中每个参数的计算量都很少,可以增加并发作业的数量,使其与计算机的内核数相同。对于计算量较大的问题,应该保持并发作业数为一,以充分利用求解器的多核处理能力。

多核批处理设置。
批处理设置中的并发作业数和内核数。

请注意,也可以在批处理扫描 节点研究扩展 一栏下控制并发作业数。这种情况下,软件会用实际内核数除以并发作业数,自动计算出“内核数”。(要实现自动计算,请不要勾选 批处理 设置下的 内核数 复选框,就不会使用以灰色显示的数字 1。)

批处理扫描和 App 开发器

借助 App开发器,我们可以在用于构建 App 的模型中使用 批处理扫描 节点。此时,App 充当批处理扫描的“驱动”,且无法在 外部进程窗口中看到相关信息。也无法在该窗口中看到保存的 .mph 文件,就像此 App 根本没有用户界面。运行结束后,我们可以打开这些文件进行传统的模型后处理工作。如果需要更灵活地创建可使用 批处理扫描 的App,可以使用一个内置的方法来包含 批处理扫描 ,详细请参考 Programming Reference Manual。(注意,在这里使用“录制代码”工具的作用很有限,因为在生成录制的代码时会与实时运行的批处理命令冲突。)

批处理扫描 vs 集群扫描

COMSOL Multiphysics 的所有许可证类型都可以使用 批处理扫描 功能。如果你有网络浮动许可证,则还可以使用 集群扫描 这一附加功能。这两个扫描功能很相似,不过 集群扫描 选项多了远程计算和集群配置等设置。集群扫描功能可以将大量扫描分散到一个(很可能是大型的)集群上。这种做法可以显著提高效率,因为独立扫描(也称作易并行计算)所涵盖的范围通常很广。如果你已熟练掌握了批处理扫描,那么运行集群扫描也不是什么难事。

下一步

想亲自动手尝试模拟这篇博客中讨论的模型吗?欢迎进入 COMSOL 案例库,下载示例模型:

拓展阅读

阅读 COMSOL 博客,了解更多关于批处理扫描和集群扫描的文章:

]]>
//www.denkrieger.com/blogs/the-power-of-the-batch-sweep/feed/ 2