你知道吗?在 COMSOL Multiphysics® 软件中创建用户定义的材料库,并向库中添加自定义材料时,可以为这些材料添加相关信息,包括材料属性的引用以及相、取向、材料编号和其他常规信息。在这篇博客中,我们将向您介绍如何添加材料信息。
COMSOL 材料库产品中的所有材料属性都包含引用信息,它描述了材料属性数据的来源,并附有其他说明,例如数据的计算方法或与温度有关的数据插值的限制。在COMSOL 产品库的附加模块或多或少也内置了包含材料引用信息的材料库,如 电池 材料库。要查看这些材料属性的引用信息,请打开材料浏览器窗口(例如单击 材料 功能区上的 浏览材料 按钮)。在选择含属性引用信息的材料时,单击属性就可以查看其引用信息。
材料库产品中 DocolS355 钢材料恒压热容的属性引用信息,方向/变化 栏显示了钢的成分。
如果要为添加到用户自定义材料库的材料添加自定义的材料属性引用信息,可以通过以下步骤完成:
对于要添加到用户定义的材料库中的自定义材料,可以添加如相或取向等可选的材料信息。这些设置可以在 材料 节点的 设置 窗口的 材料库设置 部分找到。要激活该部分(仅适用于在 全局定义 节点下添加的材料),请打开 显示更多选项 对话框,然后选择 常规 节点下的 材料库设置 复选框并单击确定。
在 材料库设置 部分,可以从 相 菜单中定义一种相— 固态、 液态、 气态 或 自定义,并在 方向/变化 栏中添加某种材料取向或变化。当使用 组 节点建立用户定义的材料库时,用户能够在材料库中创建一个结构,其中包含文件夹和具有不同相、取向或其他变化的材料。创建具有这些属性的用户自定义材料库,需要将材料库保存为 MPH 文件,然后将该文件导入材料浏览器窗口。在 组 和 材料 节点中的 标签 栏,需要使用相同的材料名称,然后在括号中标注相,(如[固体]),或同时包含相和某些方向取向和变化,(如 [固体,nbc])。然后,这些标签将被转换为材料浏览器窗口中 相 和 方向/变化 菜单中的列表条目。
在 材料信息 下,您可以添加各种类型的材料信息,包括分类和编号标准或特定材料的其他名称:
要在表格中添加包含材料信息的新行,请单击下方的 添加 按钮 (
)。然后单击 编辑材料信息 按钮 (
) 打开 编辑材料信息 对话框并添加信息。从 类型 列表中选择一种材料信息类型。如果选择 自定义 选项,还需填写信息类型的 标题 栏。对于所有条目,在 信息 栏中添加所需的文本。定义好材料数据编号或名称后,可以使用材料浏览器左上角的搜索框在所有材料库中搜索匹配的材料。输入搜索词,例如 UNS 编号为 G10060,然后单击 搜索。搜索框下方的材料库树将只显示与该搜索词匹配的材料。
这篇博客,我们介绍了如何将材料属性信息和其他信息添加到用户的模型中,并存储在用户定义的材料库中。这些库可用于存储材料,供个人使用或在组织内部共享使用。
要了解在软件中使用材料的更多信息,请查看以下 COMSOL 网站资源:
如果能将数学表达式添加到仿真结果图的标题中,是不是很棒?从 COMSOL Multiphysics® 软件的 6.2 版本开始,我们就可以使用 LaTeX 来实现这一功能了!LaTeX 是一种用于数学和科学排版的高质量文档编写系统。在 6.2 版本中,你还可以轻松创建多行绘图标题。这篇博客,我们将讨论这一新功能。
LaTeX 支持对复杂数学表达式进行综合排版,并能呈现出丰富的视觉效果。以前版本的 COMSOL Multiphysics® 支持在报告中使用 LaTeX 片段,随着 6.2 版本扩展支持的引入,现在我们也可以使用数学内容来丰富绘图标题了。
LaTeX 系统包含大量用于创建数学表达式的元素,包括:
COMSOL Multiphysics Reference Manual 包含所有支持的 LaTeX 命令列表。所有命令均以反斜线开头。例如,\alpha 用于表示 。
使用 LaTeX 在绘图标题中添加数学表达式非常简单。具体过程如下:
要在 标题 框中添加 LaTeX 命令,请用 \[ 和 \] 或者 /$ 和 /$ 将它们括起来,以调用以下两种 LaTeX 模式之一:
\[ 和 \] 来调用 显示 数学模式。调用显示数学模式会使数学表达式占用更多的垂直空间,但不会像标准 LaTeX 的显示数学模式那样新增一行。/$ 和 /$ 来调用 内嵌 数学模式。内嵌数学模式是指以标准 LaTeX 格式内嵌在文本中,表述更加简洁。这种简洁的表达方式可能不太适合大型数学表达式。反之,你也可以将 LaTeX 命令的一部分转换为不同的模式类型,比如你想混合使用 LaTeX 格式类型,但又不想拆分和重写表达式。例如,要将 LaTeX 命令从内嵌数学模式转换为显示数学模式,可以使用特殊命令 \displaystyle 和 \textstyle 将显示数学模式转换为内嵌数学模式。
下面我们将列举一些示例,了解如何在绘图标题中添加方程和其他数学表达式。
在绘制使用 COMSOL Multiphysics® 计算场方程得到的解时,在绘图标题中包含这些方程可能很有用。我们将使用 AC/DC 模块案例库中的 海底电缆 8a—电感效应三维 模型作为示例来说明。这个案例使用 磁场 接口,求解磁势 A 及其分量。求解的方程包括:
要在 COMSOL Desktop® 中创建类似的多行绘图标题,只需使用 Enter 或 Return 键(具体取决于你的键盘)在每个表达式后另起一行即可。在本例中,输入的标题如下:
Magnetic field equations:
\[\nabla \times \textbf{H} = \textbf{J}\]
\[\textbf{B} =\nabla \times \textbf{A}\]
\[\textbf{J} = \sigma\textbf{E} + j\omega\textbf{D} + \textbf{J}_{e}\]
\[\textbf{E} = -j\omega\textbf{A}\]
这个标题有一些特点值得注意:
\nabla 命令创建一个 nabla 符号 (\textbf 命令使文本以粗体字体显示,表示矢量。_(下划线)符号使后面的字符以下标形式出现。在下图中,你可以看到表达式如何作为标题显示的。

以磁场方程为标题的海底电缆电感效应绘图。
极限 表达式是一种需要一定垂直空间的数学表达式,它描述了数学函数在其函数参数接近某个极限时的值。这种极限在微积分课程中很常见,可以参考下面的示例来表述:
证明 和
都等于1/2.
第二个极限表达式在数学上很容易实现:使分子 为 0,就会得到 0.5 的值,符合预期。第一个极限表达式比较棘手,因为使分子和分母中的
都为 0 会导致一个未定义的 0 除以 0。不过,当
无限接近 0 时,函数值接近一个定义明确的数字。在数学上,可以使用 洛必达法则,即两个函数的商的极限与这些函数导数的商的极限相同。利用微积分中的微分法则,可以看出第二个极限表达式的分子和分母分别是第一个极限表达式的分子和分母的导数,因此第一个极限表达式的值也是 1/2。在下图所示的 COMSOL Multiphysics® 绘图中,我们将两个函数绘制在一个以接近 0 的值为起点的区间内。从图中可以明显看出,当函数参数接近 0 时,两个函数值都接近 0.5。
要添加图片中的标题,请使用以下文本:
Show that \[\lim_{x\to 0}{\frac{e^x-1}{2x}} \textrm{ and} \lim_{x\to 0}{\frac{e^x}{2}}={\frac{1}{2}}\]
以下是关于这个标题的一些注意事项:
\textrm 命令。另一种方法是使用两个数学表达式,并在表达式之间用空格将“and”括起来。\lim 和 \frac 命令分别表示创建一个极限和一个分数。极限下标中的 \to 命令是指向右的箭头。/[ 和 \] 的显示数学模式。如果使用内嵌数学模式,下标箭头就不能位于 
为了使这个特殊的标题在使用内嵌数学模式时看起来更美观,可以使用 \displaystyle 命令将 \lim_{x\to 0} 部分括起来,将其转换为显示模式: \displaystyle{\lim_{x\to 0}}。这样,它看起来就会像下图中的所示标题一样。

该绘图使用了包含数学表达式的标题,表明该表达式的结论与绘图是一致的,因为当 x 接近 0 时,两条曲线都接近 0.5。
这篇博客,我们列举了几个示例来说明如何在绘图标题中使用 LaTeX 来增强数学表达式。我们还讨论了如何创建多行绘图标题。你可以使用任何 LaTeX 命令,没有限制地在绘图标题中加入方程和其他数学内容。希望这些示例能为你在自己的仿真项目中创建绘图标题带来灵感。
芬兰是桑拿的故乡。其实,“桑拿(sauna)”这个词是芬兰语,在英语和其他语言中用于表示一个体验热的小房间。除了在芬兰受欢迎之外,桑拿在世界上许多地方都很受欢迎。传统的桑拿房使用电炉或燃木炉加热,提供的干热可能达到或超过 100°C(212°F)。在这篇博客中,我们将使用 COMSOL Multiphysics® 软件创建的模型来研究这种桑拿房的加热和温度分布。
干式桑拿房通常是一个覆盖着如杨木、雪松或松木之类木材的小房间,房间内至少配置了两个不同高度的木凳。房间通过火炉加热。由于热空气膨胀导致其密度较低,所以桑拿房内最热的部分是靠近天花板的位置。如果你想体验温和一点的热量,可以坐在较低的长凳上,这样更接近地面。

一个传统的桑拿房。
通常炉子的顶部会覆盖一些石头(桑拿石),它们的温度会升高并向房间辐射热量。这些石头能够吸收并保持热量,发挥着重要的作用。你也可以向热石头上加水(这在北欧国家很常见),来释放蒸汽。这样可以增加湿度,并在在人的皮肤上短时间内引起强烈的热感,但皮肤的温度仍保持在露点以下。然而,只有在干热的环境下,才有可能享受超过几分钟的真正的热桑拿(高达或超过 100°C)。干热的环境能使更多的水分从皮肤上蒸发,防止身体过热。
桑拿房内发生的物理现象主要包括传热和流体动力学:传热是通过对流和辐射产生的,而热对流是由通风和浮力引起的空气运动驱动产生。桑拿房通常包含使空气流通的进气口和出气口。在湿式桑拿房中,水分含量和湿度也是很重要的物理特性,但在这篇博客中,我们将重点讨论干式桑拿房及其加热和温度分布。
桑拿炉有许多不同的类型和尺寸,使用什么型号的桑拿炉取决于桑拿房的大小。从小型家用桑拿房使用的约 5kW 功率到大型商业桑拿房使用的高达 20kW 功率,桑拿炉的功率范围变化较大。有时,烧木材的桑拿炉可以产生比电动桑拿炉更高的加热功率。然而,燃木桑拿炉的实际加热功率取决于用来生火的木材的数量、类型和质量。现代电热桑拿炉内置有恒温器,因此温度可以保持在一个理想的数值。

一个桑拿炉。
以下是桑拿炉加热过程中,我们关注的一些特性:
作为基准模型,我们对博客作者家里的桑拿房做了一些测量,这个房内刚好有一个烧木柴的炉子,但没有恒温器。点燃柴火后,通常需要 35~40 分钟(在正常室温下),顶层长凳的温度可达到 70°C 左右(158°F)。
桑拿房内的传热物理模型本质上是一个多物理场模型,它的模型域(桑拿房内的空气、桑拿房的炉子和桑拿房的墙壁)中包括以下类型的物理场:
还包括以下边界条件:
这个模型必须考虑的物理参数包括材料属性、桑拿炉特性、整个桑拿房内部的尺寸和位置以及炉子和长椅。获取这些信息后,我们就可以开始使用 COMSOL Multiphysics 和传热模块来建立桑拿房模型,这个产品模块是建立湍流和表面对表面辐射模型所必需的。
第一步是创建一个代表桑拿房的内部和周围的墙壁的三维几何结构,也就是模型的外部边界。下图所示就是包含桑拿炉、长椅、进气口和出气口的三维桑拿房几何结构:
桑拿房的几何结构,其中天花板和门被隐藏起来。加热器和进水口位于右侧,长椅和出水口位于左侧。左边的墙是外墙;其他墙是内墙。
在桑拿房温度计所在的后墙上的一个点上定义了一个域点探针 功能,以便在瞬态模拟中能直观地看到温度计位置的温度上升。
将要设置的COMSOL Multiphysics 模型必须能实现上述所有物理场,这可以通过三个物理场接口完成。第一个是固体和流体传热 接口,用于包括桑拿房内的对流传热,其中墙壁是固体,桑拿房内的空气是流体。
第二个接口是湍流,代数 y+ 接口,用于描述桑拿房内空气的湍流情况。该接口使用了一个代数 y+ 湍流模型,即一个基于近壁距离的代数湍流模型。代数 y+ 湍流模型基于普郎特混合长度理论建立,适用于内部流动建模。
最后,使用表面对表面辐射 接口来实现炉子和墙体边界之间的辐射热交换(内部空气并不显著参与辐射热交换)。
使用两个多物理场特征节点来耦合空气流动和热传递(非等温流动),以及表面到表面辐射和空气中的热传递。一个是非等温流动节点。这个节点耦合了湍流、k-ε 和流体传热 接口,用于模拟流体属性取决于温度的流体流动。另一个节点是表面对表面辐射传热,它耦合了墙体的表面对表面辐射和空气中的对流传热。在这个示例中,需要考虑到边界上的辐射传热,而周围的介质不参与辐射。
此外,模型中还使用了以下四种材料:
添加了流出 和流入 节点,分别代表热量的流入和流出。另外,在墙体边界上有一个热通量 节点,用于添加由外部温度和传热系数定义的热通量。最后,使用边界热源 节点模拟桑拿炉。为了对加热过程进行建模,使用了一个温度一旦超过 100°C 时就会关闭加热器的恒温器和一个持续 10min 左右的平滑启动阶段的表达式。用于描述边界热源的表达式是 10[kW]*flc2hs(100[degC]-aveop1(T),10)*flc2hs(t-t_heater/2,t_heater/2),其中第一个系数 10[kW],代表炉子的额定加热功率。第二个系数使用内置函数 flc2hs,这是一个平滑的 Heaviside 函数,具有连续的二次导数,没有过冲,用于确保如果平均天花板温度接近 100°C,加热器就会关闭。在我们的例子中,没有达到这个温度,所以第二个系数等于 1。最后,第三个系数, flc2hs(t-t_heater/2,t_heater/2),用于描述一个围绕 t_heater 的平滑启动,在启动时间之前和之后的 t_heater/2 之间持续平滑。下图显示了热功率与时间的关系:

加热器的功率在大约 10min 内从 0 上升到其额定值 10kW。
使用该模型进行了三项研究。第一项是含初始化的稳态研究,包括用于计算湍流的壁距离倒数的壁距离初始化 研究步骤,以及用于计算气流的稳态起始解的稳态 研究步骤。在这个步骤中,固体和流体传热 以及表面到表面辐射接口 没有被激活。
第二项研究包含主要的瞬态 研究步骤。该研究包括前面提到的三个物理场接口和两个多物理场耦合。在瞬态 研究步骤的设置中,用分钟作为时间单位,输出时间设置为 range(0,0.5,60),这是 COMSOL Multiphysics 的表达方式,即每 30s 输出一次解,持续一小时。(求解器的实际时间步长由容差控制,与选择的输出时间无关)。计算不是从零速度开始,而是从第一次研究得到的速度场开始,它计算了通风引起的初始速度场。这个研究步骤在一台性能好的电脑上计算大约需要 45~55min。在此期间,可以利用 COMSOL Multiphysics 中的求解时绘图和探针功能监测域内的气流和温度,以及桑拿房内温度计位置的温度。
第三项研究是为了方便运行而添加的。它包含两个研究引用 节点,一个引用研究1 ,另一个引用研究2 。因此,通过运行第三项研究,可以按顺序运行前两项研究。

桑拿模型中的三项研究:第一项用于壁距离初始化;第二项用于瞬态模拟;第三项是为了方便地运行这两项研究。
我们要看的主要结果是 60min 后桑拿房内的温度变化,可以在下面的切面图中看到:

加热 60min 后,桑拿房内的温度分布。最高温度为 339° C (642°F),是在加热器的顶部,而进风口则保持在 10°C(外部温度)。
为了更好地了解桑拿房内的垂直温度差异,我们可以限制数据和颜色范围,只显示 10 到 100°C 之间的温度。下图显示,从地板到顶部的长凳有一个明显的温度梯度:

该图显示,顶部长凳的温度约为 70°C,但底部长凳的温度只有 30-40°C(86-104°F),因此,如果你愿意,可以移到较低的位置避免过热。
域点探针 功能的温度折线图显示,在安装桑拿温度计的地方温度是如何上升的:

桑拿房温度计位置的温度与时间的关系。温度上升得相当快,但如果你想在享受桑拿浴前使温度上升到70°C,必须等待 30min 以上,这与作者的经验相一致。
为了进一步探索这个多物理场模型,还可以尝试改变炉子的加热功率、环境温度、材料属性、长凳位置以及其他可能影响桑拿房内加热和温度分布的参数。
文章介绍了如何利用 COMSOL Multiphysics 模型解释和探索桑拿房的加热问题。还可以使用类似的模型模拟热量和水分传输(HAM),用于改善和优化一般建筑物的供热以及其他供热应用。以下是使用 COMSOL Multiphysics 和传热模块建立的基于热量的模型的例子:
COMSOL 软件中的表达式运算符 节点可以计算任意参数化表达式。你可以在一个模型中添加多个节点,每个节点定义单独的表达式以供使用,或者将表达式定义在不同的几何实体(如域、边界)中使用。
在这篇博客中,我们将介绍表达式运算符 的工作原理,以及在使用 COMSOL Multiphysics® 软件时如何在你的建模项目中使用这项功能。
表达式运算符 节点是自 COMSOL Multiphysics 5.5 版本起引入的功能,右击模型开发器 中的 全局定义 或定义 节点,可以从变量实用程序 子菜单(通过选择显示更多选项 对话框中常规 下的变量实用程序 复选框激活)中获得。(当添加到全局定义 下时,表达式运算符 在整个模型中有效)。表达式运算符 节点的设置包括一个定义 部分,可以在其中定义运算符。下面是具体的操作步骤。
步骤 1:输入默认表达式
在表达式 字段中,输入默认表达式,该表达式在其选择上定义了表达式运算符(或者在全局定义 下添加时全局定义)。表达式可以包含任何常量、变量、函数和运算符,它们在要计算表达式运算符的上下文中是有效的。此外,它应该至少使用一个输入参数。请注意,默认表达式可以被子选择上的运算符贡献 节点所覆盖。
步骤 2:定义输入参数
在表达式 字段下面的表中,定义输入参数。在参数 列中键入参数的名称,并在维度 列中键入用于定义其维度 的单位;在参数类型 列中,从下拉列表中选择表达式 选项(默认设置)或值 选项。通过值传递输入参数意味着在将它作为数字插入运算符表达式之前,在调用表达式运算符的上下文中对它进行计算。由表达式传递的参数直接被替换到运算符表达式中。如果将参数作为参数传递给在不同上下文中计算其参数的耦合运算符,这可能会有所不同。例如,在一个参数中传递空间坐标变量时,必须小心,该参数被转发给作为表达式运算符定义一部分的积分 耦合。
步骤 3:输入名称
在名称 字段中,为表达式运算符输入一个合适的名称。它将是你在 COMSOL 模型中引用表达式运算符时使用的名称。
表达式运算符 对各种建模项目和方案都有好处。下面列出了一些具体的内容:
你可以把表达式运算符看作是一个参数化的变量,而不是一个分析函数。与分析函数相反,表达式运算符可以定义为仅在某些域中处于活动状态。根据定义,表达式运算符可以使用任何被定义的能计算出结果的表达式。
相反,分析函数应该是其参数的纯函数。由于它的全局性质,分析函数可用于定义模型参数;而表达式运算符不能。
这个示例演示了如何将表达式运算符 节点用于以下两个目的:
phase(kx,ky)。在这个示例中,固体力学 接口仅在模型几何图形的第一个象限(右上角),也就是单位圆中定义。两个广义拉伸 运算符, yAxisMirror 以及 xAxisMirror,分别为 –x 和 –y 坐标,x 和 –y 坐标提供从源到目标的镜像操作。然后使用三个运算符贡献 子节点定义一个名为 doubleMirror 的表达式运算符,每个子节点分别在第二、第三和第四圆象限中提供双镜像转换 yAxisMirror(expr) 、xAxisMirror(yAxisMirror(expr)) 和 xAxisMirror(expr)。下图显示了第三象限的运算符贡献 子节点的设置:
下图显示了有效 von Mises 应力超过某个极限的区域:

超过应力极限的区域绘图。表达式运算符提供的双镜包括整个圆内的解决方案。
由于使用了表达式运算符,我们只需一个简洁的表达式,第一象限计算的解就可以在整个圆中被可视化为双镜图。
对于表达式运算符 的第二种使用方式,在整个几何体中定义了一个叫做 phase 的表达式运算符,并将参数和变量混合在一起,进行局部计算。表达式运算符 被定义为 exp(-i(kx*x+ky*y)),其中,kx 和 ky 是两个输入参数,前者代表波向量的 x 分量,后者代表 y 分量。它们也被定义为表达式,如下图中的设置窗口所示。

包含两个表达式参数的 phase 表达式运算符的 设置窗口。
相位的表达式 等效于使用 COMSOL Multiphysics 语法的数学表达式 。
你可以在曲面图中使用 phase 表达式运算符 来显示具有不同参数值的相位。下图显示相位 kx 设置为 5 ,相位 ky 设置为 20:

曲面绘图显示了使用 表达式运算符 的相位。
这篇博客解释了什么是表达式运算符 节点,以及如何在 COMSOL Multiphysics 中建模时利用它来发挥自己的优势。我们鼓励你练习使用这个功能来简化和改进你的 COMSOL 模型。如果您对这个主题有任何疑问,请通过以下按钮联系 COMSOL。
想要了解有关 表达式运算符 节点的更多信息?查看我们的博客文章获取统计信息:计算标准偏差和其他统计数量,其中表达式运算符 用于简化在多个位置中使用的标准偏差的表达式。
当你在评估使用 COMSOL Multiphysics ® 软件模拟的设备、系统或进程的性能或特性时,数据集的标准差和平均值等统计量可能很有价值。这篇博客,我们将了解 COMSOL Multiphysics 中用于计算和可视化统计量的函数、绘图和其他工具。
统计是指计算出表示或显示数据的值和变化的结果。下表列出了 COMSOL Multiphysics 中一些最常见的统计测量值以及它的算子和数据集操作名称:
| 测量值 | 参数 | 算子名称 | 数据集操作名称 |
|---|---|---|---|
| 平均值 | mean, timeavg | 平均值 | |
| 标准差 | stddev | 标准差 | |
| 方差 | 变量, | – | 方差 |
下面是对这些统计测量的概述:
timeavg 算子可以计算一个时间间隔内随时间变化的表达式的平均值。下面的等式显示了平均值 的定义:
下面的等式定义了方差:
式中, 是要计算的方差(和平均值)的变量,
是的一组取值,
是平均值。方差的定义对于固定总样本是有效的。
在 COMSOL Multiphysics 中, 和
表示一组固定的值。
标准差 是方差的平方根:
这些统计公式可以简单的被概括为描述定义在几何实体上的统计量,其中对几何实体的求和被积分所取代,这就是 COMSOL Multiphysics 的计算方法。变量 在
域上的平均值的积分形式为
同样,变量 的方差在
域上可以表示为
式中, 是域的大小(体积、表面或长度,取决于模型的空间维度)。
接下来,我们将介绍如何在 COMSOL Multiphysics 仿真中使用这些操作和算子。
稍后,我们将看到如何使用内置算子 stddev 计算一个表达式的标准差。在这之前,让我们先看看如何计算一个计算量的平均值,例如在一个域内或沿边界。右键单击感兴趣的 组件 节点下的 定义 节点,然后从非局部耦合 菜单中选择平均值。这样就会创建一个平均算子,默认情况下为 aveop1,在其设置中,首先定义几何实体层(例如边界),然后定义要计算的平均值的边界(或其他几何实体,取决于所选的实体层)。我们还可以用相同的方式添加算子来计算积分、最大值和最小值。
我们可以在模型中和后处理过程中使用我们创建的算子。例如,在流体流动模拟中,可以使用在出口边界定义的平均算子来计算平均流出速度。为此,我们在结果 部分的派生值 下的全局计算 节点,添加一个类似aveop1(spf.U) 的表达式,然后点击计算。在瞬态模拟中,每个输出时间的平均速度就会出现在一个表格窗口中。

一个 表格窗口,包含每个输出时间的平均速度值。
我们可以使用非局部耦合算子计算标准差或方差两次:一次是计算平均值,一次是计算标准差或方差。例如,使用我们在流体流动示例中为出口边界定义的平均算子 aveop1,使用全局计算 节点和表达式 sqrt(aveop1((aveop1(p)-p)^2)) 计算标准偏差,该表达式实现了上述边界上压力标准偏差的方程。
上述表达式 sqrt(aveop1((aveop1(p)-p)^2)) 有点长,所以如果我们想在几个地方使用它,可以定义一个表达式运算符 来简化它。首先,需要在显示更多选项 对话框的常规 部分下启用变量实用程序。然后,右键单击组件 下的定义 节点时出现的变量实用程序 子菜单添加一个表达式运算符 节点。在表达式运算符 节点的设置中,我们定义了一个算子,例如 stdop1,使用与上述类似的表达式,但其输入参数由我们选择,例如 pin,如下图所示:

表达式运算符节点的 设置 窗口,为标准差定义一个简化的算子 stdop1。
然后,我们可以在后处理中使用这个算子,键入 stdop1(p) 而不是 sqrt(aveop1((aveop1(p)-p)^2))。
出于后处理目的,我们可以添加体积平均、表面平均值 和线平均值 节点,可以通过右键单击派升值 节点然后从平均值 子菜单中选择其中一个选项来实现。我们可以为积分、最大值 和最小值 定义类似的节点。
例如,在使用点计算 特征计算来自瞬态、参数化或特征值解决方案的数据时,我们可以对系列数据应用以下操作之一:
每个操作都提供一个输出,它可以是参数扫描值中的平均值或瞬态模拟中某个点的量的标准偏差。
在计算和绘制 COMSOL Multiphysics 仿真结果时,我们可以访问大量物理场专用变量以及内置的物理和数学常数、函数和算子。我们可以将它们直接输入到任何表达式 字段中,也可以单击添加表达式 或替换表达式 按钮(可在结果功能的表达式 部分工具栏中找到)。下面屏幕截图显示了 COMSOL Multiphysics®6.0 版本中积分和统计信息 中可用的算子:

可用于积分和统计的算子。
这里有一个特别算子 stddev,我们可以用它来计算表达式的标准偏差。可以使用达式 stddev('comp1.aveop1',p) 来计算上述相同出口边界压力下的标准偏差,这是一种比上一个标准偏差表达式中使用的对平均运算符的嵌套调用更直接、更有效的语法。请注意,这里给出的组件和运算符名称只是示例,在您的模型中可以使用其他名称。
作为示例,我们来计算圆柱绕流模型的几个瞬态统计值,该模型可在软件案例库中的流体动力学 文件夹中找到。我们将计算以下值:

圆柱绕流模型的默认绘图,显示了模拟结束时间(7s)的速度场和粒子运动。
为了计算域内的压力的平均值和标准差,首先添加一个平均值 非局部耦合节点,例如 aveop2,并在域中定义它(这个几何结构中只有一个域)。计算解后,我们可以在结果 部分的派生值下添加一个全局计算 节点,使用表达式 aveop2(p) 计算平均压力。然后,所有从时间选择 列表中选择的时间的平均压力将显示在表格 窗口中。(默认是包括所有时间步长)如果要计算所有时步的平均压力,从数据序列运算 部分中的转换 列表选择平均值。对于平均压力的平均值,这时输出的是一个单个标量数。对于每个时步的标准偏差,使用表达式 stddev('comp1.aveop2',p)(或上述任何其他选项)。
stddev 算子的参数不一定要是平均值。作为替代,比如我们可以传递给它一个积分耦合算子,它仍然会计算平均值的正确标准差。我们还可以将它与 timeavg 算子结合使用,用于产生与在其他地方获得的相同结果,方法是使用类似 stddev('timeavg',t1,t2,expr) 的表达式对时间序列进行数据运算,其中 t1 和 t2 分别是开始时间和停止时间,expr 是计算该时间间隔内时间平均值的表达式。例如,为了将沿出口边界的每个点的压力的时域标准差绘制为从 6s 到 7s 的时间平均值,可以使用 stddev('timeavg',6,7,p) 表达式。

线结果图的 设置窗口,其时域标准差表达式为从 6s 到 7s 的时间平均值。
相应的绘图显示了压力的标准偏差在出口边界的中间最小。

出口边界处时域标准差的 线结果图。
如果我们想在所有时步上计算出口边界中点的平均值和标准偏差,就必须首先确定该点的速度。可以使用两种方法执行此操作:
要计算中点处的速度,请使用点计算 节点并选择已经定义的点或使用二维截点 数据集作为输入数据集(取决于为点数据选择的方法)。例如,使用 spf.U,作为速度大小的表达式。在数据系列运算 部分,选择平均值,然后选择标准差,每次选择后单击设置 窗口顶部的计算,可以获得模拟中的所有时间步出口中点处速度大小的平均值和标准偏差(单位均为 m/s)。

表格窗口,显示了相同数量的平均速度大小和标准偏差。
直方图可用于说明某些数据的形状和分布。COMSOL Multiphysics 中的绘图工具包括以下类型的直方图:
对于直方图 和表格直方图,我们可以选择是要指定直方图中的 bin 数量,还是要指定直方图 bin 的限制范围。对于任何一个二维直方图,我们添加一个高度表达式 子节点来绘制沿 z 轴的 bin 大小,如下面的三维直方图所示。

疲劳分析中的循环计数-基准模型,矩阵直方图显示计算的应力循环。
使用 COMSOL Multiphysics 的附加产品不确定性量化模块,可以直接在输出表组中访问与不确定性量化仿真相关的统计数据。例如,对于使用非自适应高斯过程代理模式的不确定性传播(UP)分析,可以使用下列 4 个表:
当使用自适应高斯过程代理模型时,4 个对应的自适应结果表也被添加到输出表组中。它们包含所有适应步骤的结果信息。
接下来,你可以在自己的仿真模型中尝试其中一些统计工具;你可以获得感兴趣的变量或参数的变化和特征的统计值并对它们进行量化。如果你对这个主题有任何疑问,请点击下面的按钮联系 COMSOL。
反馈控制系统理论中运用了全状态反馈的概念,使配置系统的所有闭环节点成为可能。极点对应于系统的动态行为,因此将它们配置在一个期望的位置可能非常有趣。在 COMSOL Multiphysics® 软件中,我们可以使用状态空间控制器插件为系统模型添加一个全状态空间反馈控制器。这篇博客,我们简要回顾了全状态反馈,描述了如何使用该插件,并演示一个示例。
全状态反馈假设系统的闭环动力学在形式上可以表示为
如果 ,只要系统是可控 的,我们就可以通过求解特征方程来任意配置系统的极点。
使用插件,我们能够在模型中实现一些功能。从 5.6 版本开始,COMSOL Multiphysics 提供了一个状态空间控制器插件,可以配置闭环系统的极点。
有关控制器插件的另一个示例,请参阅博客文章:如何使用 PID 控制器插件模拟控制系统。

状态空间控制器插件的 设置窗口。
我们可以先定义所需系统的观测变量的数量,矩阵 和
,矢量
,初始条件,以及在复平面中配置极点的位置。然后使用插件创建一个新的零维模型组件,该组件使用全局方程 定义反馈控制器。信息 部分提到了相关的组件,以及创建控制器后如何访问输出变量。控制变量可以用作
。
下面介绍一个如何使用插件的示例。
以一个描述质量为 的质点的系统为例, 一侧连接到带有弹簧和阻尼器的墙壁上,另一侧用弹簧和阻尼器连接到第二个质量为
的质点。第二个质量点又受到一个力
的作用,为了达到平衡,这个力需要被控制。

该系统由以下方程描述,这些方程是牛顿第二运动定律的实例,使用点符号表示时间导数:
式中, 和
是两个弹簧的弹簧常数,
和
是两个阻尼器的阻尼常数,
和
用于描述两个质点与其各自平衡位置的偏差。
引入四个新变量, 和
,我们得到一个系统形式为
其中,
在这种情况下,控制变量 ,
是力,
是单位矩阵。我们将常量定义为参数,如下所示。

常量的定义。
我们现在可以使用状态空间控制器插件来配置闭环系统的极点。假设我们想要四个实极点,都为-0.5。由于我们有四个可观察量,设置如下所示的插件。

双质量阻尼器系统的状态空间控制器设置。
选择初始条件,使得第一个质量块开始于负 方向 1.3 m,速度为 0.2 m/s,第二个质量块从静止开始,从它的平衡点向正
方向 1.3 m。
单击创建 后,会收到以下消息。

状态空间控制的输出变量的描述。
现在,我们可以运行研究,假设质量点在平衡状态下相距 3 米,我们可以绘制变量 和
,以看到它们位置的时间演变。因为
和
是两个质量点的平衡位置的距离,所以当两个质量点相距 3 米时,质量 2 与质量 1 的平衡位置的距离是
。

前 25 s 内两个质量点的位置,此时所有极点都位于 -0.5。
我们还可以绘制作用力,它可以通过控制变量 访问,得到以下绘图。

在模拟的前 25 s绘制控制变量,此时所有极点都位于 -0.5。
假设我们对上述系统的稳定时间不满意。从控制理论来看,如果我们将极点进一步配置在负实平面中,预计稳定时间会减少。如果我们按照上面的程序,将所有极点配置在-1 而不是 -0.5,就可以获得下面的位置图。

前 15s 的位置图,此时所有极点都位于 -1。
此外,我们还可以得到如下所示的受控力图。

前 15 s 的受控力图,此时所有极点都位于 -1。
正如预期的那样,系统稳定得更快。
在状态空间控制器插件中,还可以在复平面中配置极点。复极点总是以复共轭对的形式出现。

具有两个复极点的状态空间控制器设置。
这个结果会产生如下图所示的位置和控制信号图。
两个实极点分别位于 -0.5 和两个复极点位于 -1+2i 和 -1-2i 的位置图(左)。两个实极点(-0.5)和两个复极点(分别为 -1+2i 和 -1-2i)的控制信号图(右)。
从上一节的模拟可以看出,系统的行为会发生巨大变化,具体取决于闭环系统的极点配置的位置。很难找到关于极点配置如何影响任意系统的一般描述。但是,如上所述,可以说配置连续系统的极点应该会使稳定更快,但可能会导致更大的控制信号。使用状态空间控制器插件,您可以轻松评估各种极点配置的系统行为。
COMSOL Multiphysics® 软件自 5.6 版本起可以生成用 Microsoft® PowerPoint®幻灯片演示的模型结果。这篇博客将介绍如何生成 PowerPoint® 幻灯片演示文稿,如何编排文稿格式和扩展文稿以在组织内部使用。你可以将幻灯片用于教学,也可以展示一些与你的仿真研究相关的易于访问的信息。
你可以像在创建其他类型的报告一样,在模型开发器 结果 部分的 报告 节点下添加 PowerPoint® 演示文稿。右键单击 报告 节点后,可以从 演示文稿 子菜单中选择以下任何一个演示模板:

演示文稿子菜单。
添加标准演示文稿后,报告节点下将添加一个 演示文稿 节点。该节点包含演示文稿的所有设置,例如要使用的 COMSOL 演示文稿模板和 Microsoft PowerPoint 模板,演示文稿中图像的类型和大小以及要使用的主题颜色和背景色。你还可以控制演示文稿中使用的幻灯片布局类型用于幻灯片布局:

主演示文稿 节点的 设置 窗口。
根据选择的模板,演示文稿 节点下会出现许多演示节点:
在演示文稿中的所有节点上,你可以单击以下任何一个按钮生成、预览和保存PowerPoint演示文稿:
你可以使用另一个 Microsoft®PowerPoint® 模板文件来更改生成的 PowerPoint 演示文稿的外观,从获取组织中使用的模板中获取外观。通过从 Microsoft PowerPoint 模板 列表中选择 自定义,你可以浏览并选择任何 Microsoft PowerPoint 模板文件(* .pptx) 或 Microsoft PowerPoint 文件(* .pptx)。下面两幅图显示了来自 COMSOL Multiphysics 案例库中基于汽车消声器模型的演示文稿。上图使用了内置的默认模板,下图使用了自定义模板。

使用内置的默认模板生成的 Microsoft®PowerPoint® 幻灯片。

使用自定义模板生成的与上图内容相同的 Microsoft®PowerPoint® 幻灯片。
你可以使用 属性 窗口将信息添加到演示幻灯片(以及 COMSOL Multiphysics 生成的其他报告)中,该窗口在包含设置的模型开发器中的所有节点中都可用。在该窗口中,你可以在 注释 框中添加注释。在文本框上方和下方的工具栏,你可以使用各种字体、数学符号、希腊字符、不间断空格、破折号和引号来设置注释的格式。下图显示了为模型开发器中的 声压 绘图组节点添加的注释:

在 绘图组 节点的 属性 窗口中,为 绘图添加的注释。
这样,就获得与之前布局不同的幻灯片,其中注释文本位于绘图左侧:

添加到幻灯片内容中的包含模型注释的幻灯片。
模型开发器节点中的注释既可以用作模型中设置的注释,也可以用作由 COMSOL Multiphysics 模型创建的演示文稿和报告中的文本。
你可以使用换行符进行注释将文本更改为项目符号列表,其中每个换行符都表示一个新的项目符号。在此注释中,插入了不间断空格以确保单位(Pa 和 Hz)与前面的字没有分开。

带换行符的注释将文本变成一个项目符号列表。同样,不间断空格(\nbsp)用于确保单位与前面的字没有分开。
设置好的幻灯片如下图所示。

如果经常在 Microsoft PowerPoint 演示文稿使用特定的设置、内容和布局,那么自定义演示文稿模板会很有用。要添加你自己的演示文稿模板,请按照下列步骤操作:
.comsol/v56 下的 reporttemplates 目录中。右键单击 报告 节点后,从演示文稿 子菜单中选择 导出模板,也可以导出所有演示模板和所有报告模板,如果存在于同一文件中。创建完 Microsoft®PowerPoint® 演示文稿后,你可以使用 Microsoft PowerPoint 中的所有功能对它进行扩展,添加和修改生成的幻灯片的内容,添加新的幻灯片作为生成幻灯片的补充。还可以使用 PowerPoint® 中的 COMSOL 功能区工具栏将 COMSOL Desktop® 中的图像插入 PowerPoint® 幻灯片中。
尝试自己动手从你的 COMSOL Multiphysics® 仿真模型中生成 Microsoft®PowerPoint® 演示文稿,以及其他 HTML 和 Microsoft Word 格式的报告。
阅读以下 COMSOL 博客,了解更多内容:
Microsoft 和 PowerPoint 是 Microsoft Corporation 在美国和/或其他国家的注册商标或商标。
COMSOL Multiphysics® 软件及其大多数附加产品都有内置的材料库,其中包含各种材料及相关的材料属性数据。COMSOL® 软件还有一个附加产品——材料库,它包含多达 24 种不同的材料属性,可以模拟 10,328 种材料,有 84,000 多个材料属性数据集。今天,我们来了解一下 COMSOL软件内置的材料库和附加的材料库产品,以及如何在模拟中使用它们。
编者注:为了反映 COMSOL Multiphysics® 软件 6.0 版本的新功能,本博客已于 2022 年 4 月 1 日更新。
附加的材料库中包含的材料属性非常全面,并且都附加了参考信息(即数据来源)。几乎所有的材料属性都可以定义为温度 T 的函数,这些函数的输入值可以是传热仿真中的温度场仿真结果。
材料库包含的材料范围非常广泛,包括:
这些材料被广泛用于COMSOL® 软件的物理场接口,材料属性包括:
注意:特定材料的材料属性取决于材料的类型。
材料库中的大多数材料还包含了不同的取向或其他变化信息,这些信息可用于表述同一种材料在不同工况或者不同变化的材料属性。
下图为 COMSOL Desktop®材料浏览器 窗口,显示了材料库中铜合金 UNS C10200 的材料属性,在退火和 60% 冷拔时,可以获得不同剩余电阻比的材料属性数据:

材料库中的 UNS C10200 铜合金材料。材料属性的值可用于多种变体。我们可以使用 Deutsches Institut für Normung (DIN) 或 unified numbering system (UNS) 编号在方向/变异列表下搜索该材料。
材料库中的所有材料属性均都包含参考信息。在属性 列表中选择一个属性,可以查看材料属性的参考信息。如上图所示,列下方的属性 参考区域显示了参考信息。
参考信息通常包括一些期刊或论文,有时是一些电子文献的网址链接,也可能包含关于材料相关属性值的准确性、参考温度或压力的注释。
除了附加的材料库之外,COMSOL Multiphysics 及其一些附加模块中还提供了内置材料库,图下图所示:
| 材料库 | 产品 | 详细信息 |
|---|---|---|
| 内置材料库 | COMSOL Multiphysics |
|
| AC/DC 材料库 | AC/DC 模块 |
|
| 电池材料库 | 电池设计模块 |
|
| 生物热材料库 | 传热模块 |
|
| 建筑材料库 | 传热模块 |
|
| 腐蚀材料库 | 腐蚀模块 |
|
| 平衡放电材料库 | 等离子体模块 |
|
| 燃料电池和电解槽材料库 | 燃料电池和电解槽模块 |
|
| 液体和气体材料库 |
|
|
| MEMS 材料库 |
|
|
| 非线性磁性材料库 | AC/DC 模块 |
|
| 非线性结构和岩土力学材料模型 |
| |
| 光学材料库 |
|
|
| 压电材料库 |
|
|
| 压阻材料库 | MEMS 模块 |
|
| RF 材料库 | RF 模块 |
|
| 半导体材料库 | 半导体模块 |
|
| 热电材料库 | 传热模块 |
|
我们还可以自定义用户材料库。通过右键单击材料 节点,然后选择添加到用户定义的库 或任何其他用户定义的材料库。用户定义的材料库还可以包括完整的分层材料铺层。
本节,我们将介绍如何浏览材料库,将材料添加到模型中以及如何在仿真中使用材料属性。
COMSOL 桌面环境中有两个窗口可以浏览材料并将材料添加到仿真模型中:

添加材料窗口,我们可以从中快速选择材料并将其添加到模型中。最近添加的材料位于顶部。
在材料浏览器窗口和添加材料窗口中,均可以使用窗口顶部的搜索框中按名称搜索任何材料。例如,查找所有金或金合金材料,我们可以将金作为搜索词。
对于材料库中的材料,我们还可以使用其 DIN 或 UNS 号搜索材料,这些材料可用于多种材料,例如工具钢和合金。
附加材料库中的材料属性通常取决于温度,其中大多数被描述为温度的分段多项式函数。其他库还包括一些与温度有关的材料属性,以及一些与其他量(例如绝对压力)有关的属性。但是,大多数材料属性都用单个值表示。对于非恒定的材料属性,常使用分段子节点来描述变化。
在分段 节点的设置 窗口中,我们可以看到每个段使用的多项式,还可以单击绘图 按钮来创建一个函数图,该函数 图描述了材料属性与温度之间的函数关系;例如,在独立的绘图窗口中,单击创建绘图 按钮在结果 下创建一个独立的一维图组,该图显示了与温度相关的材料属性值。

分段函数,将导热系数 k 描述为铁的温度 T 函数。函数图显示了温度在 0~1810 K 范围内导热率的变化。
默认情况下,物理场接口中的大多数物理量值都是从材料中获取的。当使用来自材料 接口时,材料的物理量值是从几何中处于激活状态的材料中获取的。
下图显示了固体传热 接口中固体 节点的设置 窗口。它包含用于模拟固体材料传导传热所需的材料属性:
这些材料属性值都被设置为来自材料,以为固体 节点选择中相同的几何部分定义的活动材料中取值。如果材料属性取决于温度,则直接从温度场获取,温度场是传热物理学中的因变量。

固体传热所需的所有物理量均来自材料库。
如果建立的 COMSOL Multiphysics 模型不包含以温度场作为因变量的传热接口,我们可以在模型输入 下的温度 节点输入数据。下图显示了电流 接口中电流保护 功能的设置 窗口。我们可以选择在用户定义 节点中输入温度值或表达式,或在通用模型输入 节点中,从模型输入中获取温度值,也可以在全局定义 下的默认模型输入 节点或模型组件中的本地模型输入 节点中输入自定义温度。

对于电流接口中与温度相关的材料属性,当传热接口中没有温度场时,可以选择使用用户定义的温度或从模型输入节点中获取的温度。
下图为默认模型输入 节点的设置 窗口,它包含物理场和材料要求的模型输入,以及用于模型输入的表达式。在这个示例中,将温度作为模型输入设置为一个常数值,用于表示室内温度(20°C)。

默认模型输入设置显示了哪些特征需要模型输入以及用于模型输入的表达式(此处温度由电流守恒特征以及铁材料属性表达)。
这篇博客,我们介绍了如何使用 COMSOL Multiphysics 的附加材料库以及一些附件模块中的内置材料库。附加模块中的内置材料库包含很多材料,这些材料具有丰富的属性,在物理过程或应用中经常用到。此外,附加材料库中的所有材料都有与温度相关的材料属性,并且均附带有参考信息。对于材料库中的大多数材料,我们还可以选择相位和其他变化信息。
此外,我们还介绍了如何浏览和搜索材料,如何绘制与某些量(通常是温度)相关的材料属性,以及如何在 COMSOL Multiphysics 中使用材料库中的材料。有关 COMSOL Multiphysics 中材料库和材料的其他信息,请查看以下资源:
注:MatWeb 是 MatWeb,LLC 的商标。
在 COMSOL Multiphysics® 软件中,您可以很轻松地为您的仿真添加一个 PID 控制器插件。PID 控制器插件自 COMSOL 5.5 版本开始新增的功能,可以添加到任何仿真项目中。它实现了一个标准的比例积分微分(PID)控制器,具有额外的功能,如积分抗饱和与导数项的滤波。这种控制器被广泛应用在工业过程控制中。在这篇文章中,我们将描述如何使用 PID 控制器,并通过两个仿真示例来演示它的作用。
从 COMSOL® 5.5 版本开始,我们就可以使用插件功能了。插件 是自定义设置 窗口和模型方法的组合,形成一些通用功能,可以添加到任何仿真模型中。
PID 控制器插件是 COMSOL Multiphysics 中包含的示例插件之一,可以从软件的开发工具栏打开插件库 窗口获得。当导入 PID 控制器插件后,可以从插件 菜单(也可以在开发器工具栏)将其添加到你的模型中。然后它就会作为 PID 控制器节点出现在模型开发器的全局定义下。下图显示了 PID 控制器的设置窗口。

PID 控制器插件的设置窗口。在信息 部分,你可以找到关于创建的控制变量及其推导单位的信息。
PID 控制器的方程是标准方程,增加了控制变量(输出) 的可选偏差。对于导数项,不包含设定值 9 参考值),因为设定值通常是恒定的没有突然的变化。因此,设定值对导数项没有贡献,只是在变化时作为不需要的急剧输出。
对于测量值的输出(以 出现在方程式中),通常会添加一个域点探针,对你想控制的数量进行测量,如温度或物质浓度。域点探针被添加到几何结构的某个地方,作为你想控制的过程的控制器反馈。
在控制器参数 部分,你可以输入 PID 参数和参考值(设定值)。此外,还可以给控制变量添加一个可选的偏差,并给输出添加限制。在实际情况中,接收控制器输出的执行器(例如阀门或加热器)几乎都有下限和上限。
在 “抗饱和 “和 “预过滤 “下,你可以在 PID 控制器中加入两个常见并且有用的附加功能。
抗饱和 是对 PID 算法的一个补充,它考虑了执行器有极限。这时可能会发生控制变量达到执行器的极限,就会有效的破坏反馈回路,因为执行器仍然处于其极限。如果控制器中有一个积分部分,那么误差将继续被积分,并可能变得非常大(也就是说,它 “卷积 “了)。在执行器饱和的情况下,这种不受欢迎的行为可能会导致大的瞬态变化。
控制器的积分部分对于消除稳态误差至关重要,因此通常不能关闭。添加积分抗饱的目的是通过一个额外的反馈回路来避免卷积,其误差信号被定义为控制变量和执行器输出之间的差值。这意味着,当执行器不饱和时,误差为零。然而,当执行器饱和时,抗饱和算法将试图驱动积分器到一个值,使控制器的输出正好处于饱和极限,防止饱和。这种复位的速度由反馈增益 决定,其中时间常数
可以在 PID 控制器插件的设置 窗口中输入。时间常数越小,积分重置的速度越快。
导数项的滤波 是 PID 控制器导数部分的低通滤波器。导数项的一个问题是,它对噪声很敏感。在许多情况下,并没有使用导数项,控制器变成了 PI 控制器。随着导数项被过滤激活,它会变得更加有用,因为测量中的高频噪声将被去除,它将作为反馈信号的低频部分的导数发挥作用。参数 是时间常数,你可以在 PID 控制器插件的设置窗口中输入这个参数来控制滤波量。时间常数越大,应用于导数项的滤波就越多。
当设置好 PID 控制器后,点击设置 窗口顶部的创建 按钮,就可以创建一个零维组件,其中包含以全局方程实现的 PID 控制器。在信息 部分,可以看到创建的控制变量的名称,如 comp2.u_in_ctrl。这就是控制变量起作用的地方应该输入的变量,比如影响要控制的测量值的流入速度或热源。
信息 部分还显示了控制器的推导单位,它应该与模型中作用量的单位相匹配(例如,速度为 m/s,热源为 W)。如果控制器参数的单位不一致,在 “信息 “部分就会出现一个关于单位不一致的信息,并且不会创建 PID 控制器。
将控制参数定义为全局参数是一个好的做法。然后可以直接改变它们或通过参数扫描来评估控制器的性能并调整其参数。否则,如果直接在 PID 控制器插件中改变控制器的参数值,则每次都需要创建一个新的控制器。
在下面的章节中,我们将展示使用 PID 控制器插件的 2 个实际案例。
COMSOL Multiphysics 案例库中提供了一个使用 PID 控制器的过程控制模型,其中 PID 控制器以用户定义的全局方程方式实现。在这个例子中,使用一个流入来控制燃烧室中点火点的氧气浓度。氧气浓度的测量是作为域探针 特征来实现的。
现在,你可以使用 COMSOL 案例库更新下载这个模型的更新版本。在更新的版本中,PID 控制器是使用 PID 控制器插件创建的,使用的设置如上面的屏幕截图所示。PID 参数和设定值被定义为全局参数。请注意,PID 参数有负值,这反映了控制器的作用是相反的:它控制低氧浓度流量的流入速度,降低了点火点的浓度。
这个模型案例使用参数扫描来模拟包含 2 个不同参数值的 PID 控制,以获得P部分(比例增益)。在仿真过程中,探针图显示了随时间变化的浓度及其时间导数。仿真结束后,在一个绘图中显示了P参数的两个浓度值。显然,较高的比例增益是有益的,但当继续进一步增加它时,过冲将开始增加。积分部分确保了没有稳态误差。

两个比例增益值 k_P_ctrl 情况下,测量点的浓度与时间的关系。
第二个示例,我们考虑一个简单的传热模型,模型包含一个被加热的铜板,其周围有一个导热系数较小的材料,PID 控制器作为一个热耗率来控制加热器外某一点的温度。温度的设定值是 310 K,整个铜板最初温度保持在室温 293.15 K。铜板外部边界有一个对流热通量,传热系数设定为 5。在第一次模拟中,所有 3 个 PID 参数都以参数扫描的方式变化,以观察其效果。下图显示了仅有 PI 控制的测量温度与时间的关系(导数增益被设置为 0)。

三个不同的积分增益值和无导数项情况下温度与时间的关系。虚线表示设定点(310 K)。
积分增益最高的 PID 控制器(红色曲线)到达设定点的速度最快,但代价是更大的过冲。在下一个绘图中,添加了一个导数增益,以便使用一个完整的 PID 控制器:

三个不同的积分增益值和一个导数项值(加快了控制速度)情况下温度与时间的关系。
不出所料,导数增益减少了沉降时间,使得 PID 控制器比 PI 控制器更快。
在最后的模拟中,最大加热速率降低到 100 W,这限制了控制行为。这一限制将导致 PID 控制器的积分饱和效应,降低控制器的性能。由于这个限制,最低积分增益使控制器响应太慢,因此在下图中包括两个较高积分增益的模拟。下面的绘图显示了关闭积分抗饱和时该案例的 PID 控制器:

当加热速率受限且关闭积分抗饱和时,温度与时间的关系。由于饱和效应,产生了大的过冲。
当打开积分抗饱和后,如下面的绘图所示,控制器发生了巨大的变化。现在的控制器行为非常平滑,没有或非常小的过冲使得温度达到所需的设定点。更高的积分增益可使控制器效果更快,并且没有任何不利影响。

当加热速率受限并打开积分抗饱和时温度与时间的关系,这使得控制器运行更加平滑,而不会过冲。
如果您对模拟 PID 控制器的效果感兴趣,请尝试使用 COMSOL Multiphysics 中提供的 PID 控制器插件。此外,您还可以查看以下资源:
COMSOL Multiphysics® 软件内置了与操作自动关联的在线帮助功能和大量的技术文档。虽然我们正在逐步进行汉化,但是目前很多文档仅有英文版本,对于一些中文用户来说,阅读这些技术文档可能比较费时费力。好消息是,近年来机器翻译在准确度和可读性方面都得到了质的提升,很多主流网页浏览器也内置了机器翻译工具,方便用户在浏览网页时对页面内容进行自动翻译。借助于这些免费而便捷的翻译工具,COMSOL 用户可以更方便的阅读软件自带的技术文档。这篇博客文章将为您介绍如何使用网页浏览器内置的翻译工具实现 COMSOL 文档的本地化阅读。
COMSOL 文档有两种不同的格式:

首选项对话框中的帮助页面,其中文档显示位置和帮助显示位置均已设置为外部浏览器
一般情况下,COMSOL 文档会使用操作系统默认的网页浏览器。当系统默认的浏览器没有内嵌翻译工具时,建议您在软件中设置 COMSOL 使用其他带有翻译工具的浏览器,如Google Chrome
。
更改浏览器时,请打开首选项 对话框,然后在常规 页面上,从 Web 浏览器 下的程序 列表中选择定制。然后,浏览或输入所选网页浏览器的可执行文件路径。如下面截图中所示,在设置中将默认浏览器修改为系统中已安装的 Google Chrome
。之后,当我们选择在网页浏览器中显示文档时,软件将在 Google Chrome
中打开供大家查看,我们接下来就可以使用其内置的翻译工具,即时将 COMSOL 文档从英语翻译为我们选择的任意一种语言。

首选项中的网页浏览器由系统默认改为使用 Google Chrome
使用 Google Chrome
,我们可以指定要包括的语言,尤其是翻译页面时要使用的语言。我们可以通过在 Google Chrome
的“设置”页面“高级”选项,选择“语言”来找到这些设置。在下面的截图中,我们添加了中文(简体)并将其选择为翻译页面时使用的语言。
从 COMSOL 软件界面的“文件” 菜单中选择”帮助” > 文档,则可以在 Google Chrome
的网页浏览器的选项卡中找到 COMSOL 文档列表。下面这个截图中显示了 COMSOL Multiphysics Reference Manual 中的其中一页:

COMSOL Multiphysics Reference Manual 的原始页面以英文显示
假设我们现在要将 COMSOL 文档翻译成中文,可以右键单击网页上的任意位置,然后选择翻译成中文(简体)。很快似,我们就会看到如下截图显示的简体中文内容:
在使用软件内置的帮助工具时,默认设置是在软件界面中的帮助 窗口显示相关文档,帮助 窗口在顶部工具栏中的最右侧提供了一个在外部浏览器中显示 按钮(以地球的图标表示),点击此按钮就可以转为打开一个外部浏览器,并在其中显示正在查看的内容,然后就可以按照上面的操作方法自动翻译为你想要的语言。

单击在外部浏览器中显示按钮以在外部浏览器中显示此文本
本篇博客文章显示了如何利用网页浏览器自带的翻译工具将 COMSOL 文档翻译成我们熟悉的语言。COMSOL 技术文档提供了大量的基础理论介绍和操作说明,结合这些免费的翻译工具,希望能够帮助您更好的理解和使用 COMSOL Multiphysics® 软件。
有关 COMSOL Multiphysics 中帮助工具的更多信息,请阅读此博客文章:使用 COMSOL Multiphysics® 中的帮助工具进行建模指导。
Google Chrome 是 Google 公司的商标。