Magnus Ringh – COMSOL 博客 - //www.denkrieger.com/blogs 发布博客 Wed, 04 Dec 2024 08:22:59 +0000 en-US hourly 1 https://wordpress.org/?v=5.7 如何在用户定义的材料库中添加材料信息 //www.denkrieger.com/blogs/adding-information-to-materials-in-user-defined-material-libraries //www.denkrieger.com/blogs/adding-information-to-materials-in-user-defined-material-libraries#respond Fri, 10 May 2024 03:13:23 +0000 http://cn.staging.comsol.com/blogs?p=365641 你知道吗?在 COMSOL Multiphysics® 软件中创建用户定义的材料库,并向库中添加自定义材料时,可以为这些材料添加相关信息,包括材料属性的引用以及相、取向、材料编号和其他常规信息。在这篇博客中,我们将向您介绍如何添加材料信息。

在材料属性中添加引用和其他信息

COMSOL 材料库产品中的所有材料属性都包含引用信息,它描述了材料属性数据的来源,并附有其他说明,例如数据的计算方法或与温度有关的数据插值的限制。在COMSOL 产品库的附加模块或多或少也内置了包含材料引用信息的材料库,如 电池 材料库。要查看这些材料属性的引用信息,请打开材料浏览器窗口(例如单击 材料 功能区上的 浏览材料 按钮)。在选择含属性引用信息的材料时,单击属性就可以查看其引用信息。

COMSOL Multiphysics 的一个附加产品,材料库中的刚材料的屏幕截图。
材料库产品中 DocolS355 钢材料恒压热容的属性引用信息,方向/变化 栏显示了钢的成分。

添加自定义的材料属性引用信息

如果要为添加到用户自定义材料库的材料添加自定义的材料属性引用信息,可以通过以下步骤完成:

  1. 添加新材料,并在包含常用材料属性的属性组子节点(如 基本)中定义要使用的输出属性和模型输入。
  2. 定义材料属性的表达式,可以是数值,也可以是对插值函数的调用,例如作为子节点添加。
  3. 输出属性 部分,表格中列出了所添加的材料属性及其变量名、表达式和单位。最右边的 信息 栏初始为空,但最终会包含符号  COMSOL Multiphysics中信息符号的截图。,表示有引用信息或其他信息可供查阅。
  4. 点击要添加信息的属性所在的行,激活表格下方的 编辑/显示属性信息 按钮。(该按钮与 信息 栏中显示的符号  COMSOL Multiphysics 中信息符号的截图。) 相同。)单击该按钮可打开 编辑/显示属性信息 对话框,在 信息 栏中输入任意引用或其他信息。
  5. 完成后,单击 确定 保存属性信息并关闭对话框。COMSOL Multiphysics 中信息符号的截图。符号就会出现在该属性的 信息 栏中。您可以再次单击 编辑/显示属性信息 按钮查看或编辑信息。
  6. 如果将材料保存到用户定义的材料库中,就可以如上所述在材料浏览器窗口中访问和查看这些属性信息。

突出显示了模型开发器的基本子节点,相应的设置窗口的输出属性部分被展开。
单击属性可激活表格下方的 编辑/显示属性信息按钮,COMSOL Multiphysics 中信息符号的截图。

编辑/显示属性信息对话框的屏幕截图。
编辑/显示属性信息 对话框提供了材料密度的一些引用信息。

添加相、取向和其他材料信息

对于要添加到用户定义的材料库中的自定义材料,可以添加如相或取向等可选的材料信息。这些设置可以在 材料 节点的 设置 窗口的 材料库设置 部分找到。要激活该部分(仅适用于在 全局定义 节点下添加的材料),请打开 显示更多选项 对话框,然后选择 常规 节点下的 材料库设置 复选框并单击确定。

材料库设置 部分,可以从 菜单中定义一种相— 固态液态气态自定义,并在 方向/变化 栏中添加某种材料取向或变化。当使用 节点建立用户定义的材料库时,用户能够在材料库中创建一个结构,其中包含文件夹和具有不同相、取向或其他变化的材料。创建具有这些属性的用户自定义材料库,需要将材料库保存为 MPH 文件,然后将该文件导入材料浏览器窗口。在 材料 节点中的 标签 栏,需要使用相同的材料名称,然后在括号中标注相,(如[固体]),或同时包含相和某些方向取向和变化,(如 [固体,nbc])。然后,这些标签将被转换为材料浏览器窗口中 方向/变化 菜单中的列表条目。

材料信息 下,您可以添加各种类型的材料信息,包括分类和编号标准或特定材料的其他名称:

  • AFNOR: 法国标准化协会,总部设在巴黎的标准组织,也是国际标准化组织(ISO)的法国成员机构
  • AISIM: 美国钢铁协会(AISI)材料名称
  • AMS: 美国汽车工程师学会(SAE)航空航天材料标准(AMS)
  • ASTM: ASTM 国际,一个国际标准组织
  • 自定义 (默认):添加任何自定义材料信息类型
  • DIN: 德国工业标准(DIN),一个德国标准
  • ISO/EN/DIN: ISO 通用的编号;欧洲标准,也称为欧标(EN);和 DIN
  • JIS: 日本工业标准(JIS),一种日本标准
  • SAE:美国汽车工程师学会(SAE)的材料名称
  • UNS: 统一编号系统,一种在北美被广泛接受的合金命名系统
  • WNr: 德国材料编号系统

要在表格中添加包含材料信息的新行,请单击下方的 添加 按钮 (A screenshot of the add button in COMSOL Multiphysics.)。然后单击 编辑材料信息 按钮 (A screenshot of the edit information button in COMSOL Multiphysics. ) 打开 编辑材料信息 对话框并添加信息。从 类型 列表中选择一种材料信息类型。如果选择 自定义 选项,还需填写信息类型的 标题 栏。对于所有条目,在 信息 栏中添加所需的文本。定义好材料数据编号或名称后,可以使用材料浏览器左上角的搜索框在所有材料库中搜索匹配的材料。输入搜索词,例如 UNS 编号为 G10060,然后单击 搜索。搜索框下方的材料库树将只显示与该搜索词匹配的材料。

下一步

这篇博客,我们介绍了如何将材料属性信息和其他信息添加到用户的模型中,并存储在用户定义的材料库中。这些库可用于存储材料,供个人使用或在组织内部共享使用。

要了解在软件中使用材料的更多信息,请查看以下 COMSOL 网站资源:

]]>
//www.denkrieger.com/blogs/adding-information-to-materials-in-user-defined-material-libraries/feed/ 0
使用 LaTeX 为仿真结果的绘图标题添加数学表达式 //www.denkrieger.com/blogs/using-latex-to-add-mathematical-expressions-to-plot-titles //www.denkrieger.com/blogs/using-latex-to-add-mathematical-expressions-to-plot-titles#respond Tue, 16 Jan 2024 02:24:53 +0000 http://cn.staging.comsol.com/blogs?p=355431 如果能将数学表达式添加到仿真结果图的标题中,是不是很棒?从 COMSOL Multiphysics® 软件的 6.2 版本开始,我们就可以使用 LaTeX 来实现这一功能了!LaTeX 是一种用于数学和科学排版的高质量文档编写系统。在 6.2 版本中,你还可以轻松创建多行绘图标题。这篇博客,我们将讨论这一新功能。

关于 LaTeX

LaTeX 支持对复杂数学表达式进行综合排版,并能呈现出丰富的视觉效果。以前版本的 COMSOL Multiphysics® 支持在报告中使用 LaTeX 片段,随着 6.2 版本扩展支持的引入,现在我们也可以使用数学内容来丰富绘图标题了。

LaTeX 系统包含大量用于创建数学表达式的元素,包括:

  • 希腊字母和其他特殊字符,包括统一码字符
  • 数学符号和运算符
  • 分隔符和空格
  • 数学函数名称
  • 分数和根号的特殊数学排版
  • 如上标、下标、上划线、下划线和斜体等文本和字体元素

COMSOL Multiphysics Reference Manual 包含所有支持的 LaTeX 命令列表。所有命令均以反斜线开头。例如,\alpha 用于表示

为绘图标题添加 LaTeX 片段

使用 LaTeX 在绘图标题中添加数学表达式非常简单。具体过程如下:

  1. 设置 窗口中找到绘图组或绘图的 标题 部分。
  2. 在标题设置中,从 标题类型 列表中选择 手动
  3. 标题 框中,添加带有一个或多个 LaTeX 片段的文本。

要在 标题 框中添加 LaTeX 命令,请用 \[\] 或者 /$/$ 将它们括起来,以调用以下两种 LaTeX 模式之一:

  1. 在 LaTeX 数学表达式前后使用 \[\] 来调用 显示 数学模式。调用显示数学模式会使数学表达式占用更多的垂直空间,但不会像标准 LaTeX 的显示数学模式那样新增一行。
  2. 在 LaTeX 数学表达式前后使用 /$/$ 来调用 内嵌 数学模式。内嵌数学模式是指以标准 LaTeX 格式内嵌在文本中,表述更加简洁。这种简洁的表达方式可能不太适合大型数学表达式。

反之,你也可以将 LaTeX 命令的一部分转换为不同的模式类型,比如你想混合使用 LaTeX 格式类型,但又不想拆分和重写表达式。例如,要将 LaTeX 命令从内嵌数学模式转换为显示数学模式,可以使用特殊命令 \displaystyle\textstyle 将显示数学模式转换为内嵌数学模式。

下面我们将列举一些示例,了解如何在绘图标题中添加方程和其他数学表达式。

数学表达式示例

添加磁场方程

在绘制使用 COMSOL Multiphysics® 计算场方程得到的解时,在绘图标题中包含这些方程可能很有用。我们将使用 AC/DC 模块案例库中的 海底电缆 8a—电感效应三维 模型作为示例来说明。这个案例使用 磁场 接口,求解磁势 A 及其分量。求解的方程包括:

\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}.

要在 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 命令使文本以粗体字体显示,表示矢量。
  • _(下划线)符号使后面的字符以下标形式出现。
  • 由于在 标题 中输入了 4 个换行符,因此标题显示为 5 行。
  • 这些方程是在显示数学模式下编写的,不过在这个示例中,显示数学模式和内嵌数学模式并无明显区别。

在下图中,你可以看到表达式如何作为标题显示的。

标题为磁场方程的海底电缆的三维电感效应图。
以磁场方程为标题的海底电缆电感效应绘图。

添加函数极限

极限 表达式是一种需要一定垂直空间的数学表达式,它描述了数学函数在其函数参数接近某个极限时的值。这种极限在微积分课程中很常见,可以参考下面的示例来表述:

证明 都等于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}}\]

以下是关于这个标题的一些注意事项:

  • 只使用了一个使用显示数学模式的数学表达式片段。要使 “and” 以罗马字体显示为正常文本,需要使用 \textrm 命令。另一种方法是使用两个数学表达式,并在表达式之间用空格将“and”括起来。
  • LaTeX 中的 \lim\frac 命令分别表示创建一个极限和一个分数。极限下标中的 \to 命令是指向右的箭头。
  • 带有下标 的极限占用了一些垂直空间,因此最好使用带有 /[\] 的显示数学模式。如果使用内嵌数学模式,下标箭头就不能位于 下方,如图所示:

数学表达式的屏幕截图。

为了使这个特殊的标题在使用内嵌数学模式时看起来更美观,可以使用 \displaystyle 命令将 \lim_{x\to 0} 部分括起来,将其转换为显示模式: \displaystyle{\lim_{x\to 0}}。这样,它看起来就会像下图中的所示标题一样。

使用数学表达式作为绘图标题的一维绘图。
该绘图使用了包含数学表达式的标题,表明该表达式的结论与绘图是一致的,因为当 x 接近 0 时,两条曲线都接近 0.5。

结束语

这篇博客,我们列举了几个示例来说明如何在绘图标题中使用 LaTeX 来增强数学表达式。我们还讨论了如何创建多行绘图标题。你可以使用任何 LaTeX 命令,没有限制地在绘图标题中加入方程和其他数学内容。希望这些示例能为你在自己的仿真项目中创建绘图标题带来灵感。

]]>
//www.denkrieger.com/blogs/using-latex-to-add-mathematical-expressions-to-plot-titles/feed/ 0
高温来袭:桑拿房内的传热仿真 //www.denkrieger.com/blogs/the-heat-is-on-modeling-temperature-distribution-in-a-sauna //www.denkrieger.com/blogs/the-heat-is-on-modeling-temperature-distribution-in-a-sauna#respond Fri, 31 Mar 2023 01:46:31 +0000 http://cn.staging.comsol.com/blogs?p=333591 芬兰是桑拿的故乡。其实,“桑拿(sauna)”这个词是芬兰语,在英语和其他语言中用于表示一个体验热的小房间。除了在芬兰受欢迎之外,桑拿在世界上许多地方都很受欢迎。传统的桑拿房使用电炉或燃木炉加热,提供的干热可能达到或超过 100°C(212°F)。在这篇博客中,我们将使用 COMSOL Multiphysics® 软件创建的模型来研究这种桑拿房的加热和温度分布。

桑拿的物理特性

干式桑拿房通常是一个覆盖着如杨木、雪松或松木之类木材的小房间,房间内至少配置了两个不同高度的木凳。房间通过火炉加热。由于热空气膨胀导致其密度较低,所以桑拿房内最热的部分是靠近天花板的位置。如果你想体验温和一点的热量,可以坐在较低的长凳上,这样更接近地面。

一个老式的干桑拿,有两个不同高度的木凳。
一个传统的桑拿房。

通常炉子的顶部会覆盖一些石头(桑拿石),它们的温度会升高并向房间辐射热量。这些石头能够吸收并保持热量,发挥着重要的作用。你也可以向热石头上加水(这在北欧国家很常见),来释放蒸汽。这样可以增加湿度,并在在人的皮肤上短时间内引起强烈的热感,但皮肤的温度仍保持在露点以下。然而,只有在干热的环境下,才有可能享受超过几分钟的真正的热桑拿(高达或超过 100°C)。干热的环境能使更多的水分从皮肤上蒸发,防止身体过热。

桑拿房内发生的物理现象主要包括传热和流体动力学:传热是通过对流和辐射产生的,而热对流是由通风和浮力引起的空气运动驱动产生。桑拿房通常包含使空气流通的进气口和出气口。在湿式桑拿房中,水分含量和湿度也是很重要的物理特性,但在这篇博客中,我们将重点讨论干式桑拿房及其加热和温度分布。

桑拿炉有许多不同的类型和尺寸,使用什么型号的桑拿炉取决于桑拿房的大小。从小型家用桑拿房使用的约 5kW 功率到大型商业桑拿房使用的高达 20kW 功率,桑拿炉的功率范围变化较大。有时,烧木材的桑拿炉可以产生比电动桑拿炉更高的加热功率。然而,燃木桑拿炉的实际加热功率取决于用来生火的木材的数量、类型和质量。现代电热桑拿炉内置有恒温器,因此温度可以保持在一个理想的数值。

一个点燃的桑拿炉特写。
一个桑拿炉。

以下是桑拿炉加热过程中,我们关注的一些特性:

  • 从开启或点燃桑拿炉到桑拿房达到所需温度需要的时间。如果知道需要多长时间,就会知道你有多少时间为体验桑拿浴做准备。
  • 桑拿房内的热量分布,特别是凳子上。这样蒸桑拿的人就能找到一个舒适的温度。

模拟桑拿房的热分布

作为基准模型,我们对博客作者家里的桑拿房做了一些测量,这个房内刚好有一个烧木柴的炉子,但没有恒温器。点燃柴火后,通常需要 35~40 分钟(在正常室温下),顶层长凳的温度可达到 70°C 左右(158°F)。

桑拿模型

桑拿房内的传热物理模型本质上是一个多物理场模型,它的模型域(桑拿房内的空气、桑拿房的炉子和桑拿房的墙壁)中包括以下类型的物理场:

  • 流体(空气)中的热传递:桑拿房内空气中的温度场。包括该模型的主要物理量,即空气温度。
  • 湍流:桑拿房内流动的空气。它是对流传热的驱动力,使用一个湍流模型计算空气的速度场。
  • 表面对表面辐射:来自炉子和桑拿房墙壁的热辐射(即通过电磁波传递热量),对桑拿房的整体温度有所贡献。用于计算出表面辐射率,即来自表面的热辐射,单位是 W/m2(SI 单位)。

还包括以下边界条件:

  • 一个空气流出口。为了通风,桑拿房通常包括一个使空气流向建筑物外的小出风口。
  • 一个空气流入口。来自通风或向周围房间的一些开口的空气流入。
  • 通过墙壁的热通量。通过墙壁的热通量将取决于墙壁的类型和周围的温度。大多数情况下,桑拿浴室的墙壁是用木板覆盖的,但部分也可以是纯混凝土墙。有时,至少有一面墙壁是与外部空气接触的外壁面,外面的空气可能明显更冷(例如,在北欧国家的冬季)。在这个模型中,使用单独的热通量-外部热通量-内部 节点来考虑较冷的外部温度(10°C; 50°F)。室内温度被设定为 20°C (68°F)。
  • 在加热器(桑拿炉)的顶部有一个使用了 10kW 加热功率的边界热源,但加热器的启动时间只有 10 min。使用一个表达式来描述恒温器边界,如果天花板的平均温度达到 100° C,就会关闭加热器,但在这个桑拿房模型中,以及在现实中并不会达到这样的高温。

这个模型必须考虑的物理参数包括材料属性、桑拿炉特性、整个桑拿房内部的尺寸和位置以及炉子和长椅。获取这些信息后,我们就可以开始使用 COMSOL Multiphysics 和传热模块来建立桑拿房模型,这个产品模块是建立湍流和表面对表面辐射模型所必需的。

在 COMSOL Multiphysics® 中创建模型

设置模型

第一步是创建一个代表桑拿房的内部和周围的墙壁的三维几何结构,也就是模型的外部边界。下图所示就是包含桑拿炉、长椅、进气口和出气口的三维桑拿房几何结构:

桑拿浴室几何形状的侧视图。
桑拿浴室几何形状的鸟瞰图

桑拿房的几何结构,其中天花板和门被隐藏起来。加热器和进水口位于右侧,长椅和出水口位于左侧。左边的墙是外墙;其他墙是内墙。

在桑拿房温度计所在的后墙上的一个点上定义了一个域点探针 功能,以便在瞬态模拟中能直观地看到温度计位置的温度上升。

接口

将要设置的COMSOL Multiphysics 模型必须能实现上述所有物理场,这可以通过三个物理场接口完成。第一个是固体和流体传热 接口,用于包括桑拿房内的对流传热,其中墙壁是固体,桑拿房内的空气是流体。

第二个接口是湍流,代数 y+ 接口,用于描述桑拿房内空气的湍流情况。该接口使用了一个代数 y+ 湍流模型,即一个基于近壁距离的代数湍流模型。代数 y+ 湍流模型基于普郎特混合长度理论建立,适用于内部流动建模。

最后,使用表面对表面辐射 接口来实现炉子和墙体边界之间的辐射热交换(内部空气并不显著参与辐射热交换)。

节点和材料

使用两个多物理场特征节点来耦合空气流动和热传递(非等温流动),以及表面到表面辐射和空气中的热传递。一个是非等温流动节点。这个节点耦合了湍流、k-ε流体传热 接口,用于模拟流体属性取决于温度的流体流动。另一个节点是表面对表面辐射传热,它耦合了墙体的表面对表面辐射和空气中的对流传热。在这个示例中,需要考虑到边界上的辐射传热,而周围的介质不参与辐射。

此外,模型中还使用了以下四种材料:

  1. 空气,包含了与温度和压力有关的空气材料属性(COMSOL内置材料库中包含这些参数)。
  2. 混凝土,用于桑拿房墙壁的材料
  3. 木材(松木),覆盖桑拿房墙壁内部的材料,也是长椅的材料。
  4. 辐射墙,一个额外的用户定义的材料,用于定义边界上的表面辐射率。

添加了流出流入 节点,分别代表热量的流入和流出。另外,在墙体边界上有一个热通量 节点,用于添加由外部温度和传热系数定义的热通量。最后,使用边界热源 节点模拟桑拿炉。为了对加热过程进行建模,使用了一个温度一旦超过 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 之间持续平滑。下图显示了热功率与时间的关系:

显示热功率与时间关系的 1D 图。
加热器的功率在大约 10min 内从 0 上升到其额定值 10kW。

研究

使用该模型进行了三项研究。第一项是含初始化的稳态研究,包括用于计算湍流的壁距离倒数的壁距离初始化 研究步骤,以及用于计算气流的稳态起始解的稳态 研究步骤。在这个步骤中,固体和流体传热 以及表面到表面辐射接口 没有被激活。

第二项研究包含主要的瞬态 研究步骤。该研究包括前面提到的三个物理场接口和两个多物理场耦合。在瞬态 研究步骤的设置中,用分钟作为时间单位,输出时间设置为 range(0,0.5,60),这是 COMSOL Multiphysics 的表达方式,即每 30s 输出一次解,持续一小时。(求解器的实际时间步长由容差控制,与选择的输出时间无关)。计算不是从零速度开始,而是从第一次研究得到的速度场开始,它计算了通风引起的初始速度场。这个研究步骤在一台性能好的电脑上计算大约需要 45~55min。在此期间,可以利用 COMSOL Multiphysics 中的求解时绘图和探针功能监测域内的气流和温度,以及桑拿房内温度计位置的温度。

第三项研究是为了方便运行而添加的。它包含两个研究引用 节点,一个引用研究1 ,另一个引用研究2 。因此,通过运行第三项研究,可以按顺序运行前两项研究。

模型开发器中扩展的三个研究节点的特写
桑拿模型中的三项研究:第一项用于壁距离初始化;第二项用于瞬态模拟;第三项是为了方便地运行这两项研究。

温度分布结果

我们要看的主要结果是 60min 后桑拿房内的温度变化,可以在下面的切面图中看到:

用 HeatCamera 的颜色表显示加热60分钟后桑拿房内的温度分布图。桑拿房中加热器的顶部是橙黄色,桑拿房的其他部分则主要是紫色。
加热 60min 后,桑拿房内的温度分布。最高温度为 339° C (642°F),是在加热器的顶部,而进风口则保持在 10°C(外部温度)。

为了更好地了解桑拿房内的垂直温度差异,我们可以限制数据和颜色范围,只显示 10 到 100°C 之间的温度。下图显示,从地板到顶部的长凳有一个明显的温度梯度:

用 HeatCamera 的颜色表显示桑拿房加热60分钟后的温度分布图。桑拿房的底部主要是紫色,中间是紫粉色,而顶部主要是黄色
该图显示,顶部长凳的温度约为 70°C,但底部长凳的温度只有 30-40°C(86-104°F),因此,如果你愿意,可以移到较低的位置避免过热。

域点探针 功能的温度折线图显示,在安装桑拿温度计的地方温度是如何上升的:

显示温度与时间关系的一维图。
桑拿房温度计位置的温度与时间的关系。温度上升得相当快,但如果你想在享受桑拿浴前使温度上升到70°C,必须等待 30min 以上,这与作者的经验相一致。

为了进一步探索这个多物理场模型,还可以尝试改变炉子的加热功率、环境温度、材料属性、长凳位置以及其他可能影响桑拿房内加热和温度分布的参数。

结语

文章介绍了如何利用 COMSOL Multiphysics 模型解释和探索桑拿房的加热问题。还可以使用类似的模型模拟热量和水分传输(HAM),用于改善和优化一般建筑物的供热以及其他供热应用。以下是使用 COMSOL Multiphysics 和传热模块建立的基于热量的模型的例子:

]]>
//www.denkrieger.com/blogs/the-heat-is-on-modeling-temperature-distribution-in-a-sauna/feed/ 0
在 COMSOL Multiphysics® 中使用表达式运算符 //www.denkrieger.com/blogs/using-the-expression-operator-in-comsol-multiphysics //www.denkrieger.com/blogs/using-the-expression-operator-in-comsol-multiphysics#comments Thu, 17 Nov 2022 01:16:30 +0000 http://cn.staging.comsol.com/blogs?p=319331 COMSOL 软件中的表达式运算符 节点可以计算任意参数化表达式。你可以在一个模型中添加多个节点,每个节点定义单独的表达式以供使用,或者将表达式定义在不同的几何实体(如域、边界)中使用。

在这篇博客中,我们将介绍表达式运算符 的工作原理,以及在使用 COMSOL Multiphysics® 软件时如何在你的建模项目中使用这项功能。

表达式运算符

表达式运算符 节点是自 COMSOL Multiphysics 5.5 版本起引入的功能,右击模型开发器 中的 全局定义定义 节点,可以从变量实用程序 子菜单(通过选择显示更多选项 对话框中常规 下的变量实用程序 复选框激活)中获得。(当添加到全局定义 下时,表达式运算符 在整个模型中有效)。表达式运算符 节点的设置包括一个定义 部分,可以在其中定义运算符。下面是具体的操作步骤。

步骤 1:输入默认表达式

表达式 字段中,输入默认表达式,该表达式在其选择上定义了表达式运算符(或者在全局定义 下添加时全局定义)。表达式可以包含任何常量、变量、函数和运算符,它们在要计算表达式运算符的上下文中是有效的。此外,它应该至少使用一个输入参数。请注意,默认表达式可以被子选择上的运算符贡献 节点所覆盖。

步骤 2:定义输入参数

表达式 字段下面的表中,定义输入参数。在参数 列中键入参数的名称,并在维度 列中键入用于定义其维度 的单位;在参数类型 列中,从下拉列表中选择表达式 选项(默认设置)或 选项。通过值传递输入参数意味着在将它作为数字插入运算符表达式之前,在调用表达式运算符的上下文中对它进行计算。由表达式传递的参数直接被替换到运算符表达式中。如果将参数作为参数传递给在不同上下文中计算其参数的耦合运算符,这可能会有所不同。例如,在一个参数中传递空间坐标变量时,必须小心,该参数被转发给作为表达式运算符定义一部分的积分 耦合。

步骤 3:输入名称

名称 字段中,为表达式运算符输入一个合适的名称。它将是你在 COMSOL 模型中引用表达式运算符时使用的名称。

表达式运算符的优点

表达式运算符 对各种建模项目和方案都有好处。下面列出了一些具体的内容:

  • 一旦定义表达式运算符并为它确定了描述性名称后,就可以在 COMSOL 模型中使用它来隐藏复杂的数学表达式。这意味着可以用速记的方式书写的表达式代替复杂的表达式。
  • 表达式运算符 节点可以使用运算符贡献 子节点在模型几何图形的不同部分定义不同的表达式。可以将 运算符贡献 子节点添加到组件 节点下定义的表达式运算符 节点。对于每个这样的子节点,可以定义几何实体级别和选择使用它的几何实体。然后,可以在运算符贡献 子节点的表达式 字段中输入新的运算符 表达式。例如,表达式运算符 节点这一功能是解决多层壳接口后处理困难的好工具。对于这类后处理,能够使用单个运算符是有好处的,该运算符可以根据不同的选择扩展为不同的运算符。然后,它作为一个包装器,将合并不同域或其他几何实体上的不同运算符和表达式。
  • 表达式运算符 还可以用来创建混合函数,这些函数混合了本地计算的参数和变量。

表达式运算符与分析函数

你可以把表达式运算符看作是一个参数化的变量,而不是一个分析函数。与分析函数相反,表达式运算符可以定义为仅在某些域中处于活动状态。根据定义,表达式运算符可以使用任何被定义的能计算出结果的表达式。

相反,分析函数应该是其参数的纯函数。由于它的全局性质,分析函数可用于定义模型参数;而表达式运算符不能。

使用表达式运算符的示例

这个示例演示了如何将表达式运算符 节点用于以下两个目的:

  1. 根据表达式运算符的计算位置,将表达式作为参数替换为不同的运算符。在本示例中,它被用于绘制双镜对称。
  2. 通过混合函数混合参数和变量,例如本示例中的运算符 phase(kx,ky)

在这个示例中,固体力学 接口仅在模型几何图形的第一个象限(右上角),也就是单位圆中定义。两个广义拉伸 运算符, yAxisMirror 以及 xAxisMirror,分别为 –x 和 –y 坐标,x 和 –y 坐标提供从源到目标的镜像操作。然后使用三个运算符贡献 子节点定义一个名为 doubleMirror 的表达式运算符,每个子节点分别在第二、第三和第四圆象限中提供双镜像转换 yAxisMirror(expr)xAxisMirror(yAxisMirror(expr)) xAxisMirror(expr)。下图显示了第三象限的运算符贡献 子节点的设置:

COMSOL Multiphysics UI显示操作员贡献设置窗口,几何实体选择和定义部分展开,图形窗口中显示单位圆模型。
第三象限中的 表达式运算符的定义

下图显示了有效 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。

延伸阅读

想要了解有关 表达式运算符 节点的更多信息?查看我们的博客文章获取统计信息:计算标准偏差和其他统计数量,其中表达式运算符 用于简化在多个位置中使用的标准偏差的表达式

]]>
//www.denkrieger.com/blogs/using-the-expression-operator-in-comsol-multiphysics/feed/ 2
获取统计数据:计算标准差和其他统计量 //www.denkrieger.com/blogs/getting-the-stats-computing-standard-deviations-and-other-statistical-quantities //www.denkrieger.com/blogs/getting-the-stats-computing-standard-deviations-and-other-statistical-quantities#respond Fri, 17 Jun 2022 03:46:37 +0000 http://cn.staging.comsol.com/blogs?p=306731 当你在评估使用 COMSOL Multiphysics ® 软件模拟的设备、系统或进程的性能或特性时,数据集的标准差和平均值等统计量可能很有价值。这篇博客,我们将了解 COMSOL Multiphysics 中用于计算和可视化统计量的函数、绘图和其他工具。

统计学:概述

统计是指计算出表示或显示数据的值和变化的结果。下表列出了 COMSOL Multiphysics 中一些最常见的统计测量值以及它的算子和数据集操作名称:

测量值 参数 算子名称 数据集操作名称
平均值 mean, timeavg 平均值
标准差 stddev 标准差
方差 变量, 方差

下面是对这些统计测量的概述:

  • 平均值算术平均值 (下面等式中的 )是所有数据值的总和除以数据集中数据值的数量。它是一个很有用的值,可以用来表征一些波动量的水平。平均值可能对异常值(即与数据集中的其他值有明显差异的数据值)敏感。一个相关的统计量是中位数,它是将数据集的上半部分与下半部分分开的中间值(如果数据集包含偶数个值,则为两个中间值的平均值)。COMSOL Multiphysics 中的 timeavg 算子可以计算一个时间间隔内随时间变化的表达式的平均值。
  • 标准差 (下面的等式中的 )用于表征数据偏离实际平均值的程度。它是方差 的平方根。与方差不同的是,标准差与数据本身的单位相同。
  • 方差(下面等式中的 Var)用于衡量一组数据值与它的平均值的距离,它的单位是数据的平方。

下面的等式显示了平均值 的定义:

\mu(X)=\frac{1}{n}\sum_{i=1}^nx_i \cdot

下面的等式定义了方差:

Var(X)=\frac{1} {n}\sum_{i=1}^{n}(x_i-\mu)^2

式中, 是要计算的方差(和平均值)的变量, 是的一组取值, 是平均值。方差的定义对于固定总样本是有效的。

在 COMSOL Multiphysics 中, 表示一组固定的值。

标准差 是方差的平方根:

\sigma = \sqrt{\text{Var}}

这些统计公式可以简单的被概括为描述定义在几何实体上的统计量,其中对几何实体的求和被积分所取代,这就是 COMSOL Multiphysics 的计算方法。变量 域上的平均值的积分形式为

\mu(X) = \frac{1}{|\Omega|}\int_\Omega x d\Omega

同样,变量 的方差在 域上可以表示为

Var(X) = \frac{1} {|\Omega|}
\int_\Omega (x-\mu(x))^2 d\Omega

式中, 是域的大小(体积、表面或长度,取决于模型的空间维度)。

接下来,我们将介绍如何在 COMSOL Multiphysics 仿真中使用这些操作和算子。

COMSOL Multiphysics 中的统计量

非局部耦合算子

稍后,我们将看到如何使用内置算子 stddev 计算一个表达式的标准差。在这之前,让我们先看看如何计算一个计算量的平均值,例如在一个域内或沿边界。右键单击感兴趣的 组件 节点下的 定义 节点,然后从非局部耦合 菜单中选择平均值。这样就会创建一个平均算子,默认情况下为 aveop1,在其设置中,首先定义几何实体层(例如边界),然后定义要计算的平均值的边界(或其他几何实体,取决于所选的实体层)。我们还可以用相同的方式添加算子来计算积分、最大值和最小值。

我们可以在模型中和后处理过程中使用我们创建的算子。例如,在流体流动模拟中,可以使用在出口边界定义的平均算子来计算平均流出速度。为此,我们在结果 部分的派生值 下的全局计算 节点,添加一个类似aveop1(spf.U) 的表达式,然后点击计算。在瞬态模拟中,每个输出时间的平均速度就会出现在一个表格窗口中。

表格窗口的截图,显示了瞬态模拟中每个输出时间的平均速度。
一个 表格窗口,包含每个输出时间的平均速度值。

我们可以使用非局部耦合算子计算标准差或方差两次:一次是计算平均值,一次是计算标准差或方差。例如,使用我们在流体流动示例中为出口边界定义的平均算子 aveop1,使用全局计算 节点和表达式 sqrt(aveop1((aveop1(p)-p)^2)) 计算标准偏差,该表达式实现了上述边界上压力标准偏差的方程。

使用表达式运算符简化

上述表达式 sqrt(aveop1((aveop1(p)-p)^2)) 有点长,所以如果我们想在几个地方使用它,可以定义一个表达式运算符 来简化它。首先,需要在显示更多选项 对话框的常规 部分下启用变量实用程序。然后,右键单击组件 下的定义 节点时出现的变量实用程序 子菜单添加一个表达式运算符 节点。在表达式运算符 节点的设置中,我们定义了一个算子,例如 stdop1,使用与上述类似的表达式,但其输入参数由我们选择,例如 pin,如下图所示:

设置窗口的截图,显示了表达式运算符节点的几何实体选择和定义部分。定义部分中的表达式设置为sqrt(aveop1((aveop1(pin)-pin)^2))。
表达式运算符节点的 设置 窗口,为标准差定义一个简化的算子 stdop1

然后,我们可以在后处理中使用这个算子,键入 stdop1(p) 而不是 sqrt(aveop1((aveop1(p)-p)^2))

派生值

出于后处理目的,我们可以添加体积平均表面平均值线平均值 节点,可以通过右键单击派升值 节点然后从平均值 子菜单中选择其中一个选项来实现。我们可以为积分最大值最小值 定义类似的节点。

时间序列和参数扫描的转换

例如,在使用点计算 特征计算来自瞬态、参数化或特征值解决方案的数据时,我们可以对系列数据应用以下操作之一:

  • 平均值
  • 积分
  • 最大值或最小值
  • 均方根 (RMS)
  • 标准差
  • 方差

每个操作都提供一个输出,它可以是参数扫描值中的平均值或瞬态模拟中某个点的量的标准偏差。

内置算子

在计算和绘制 COMSOL Multiphysics 仿真结果时,我们可以访问大量物理场专用变量以及内置的物理和数学常数、函数和算子。我们可以将它们直接输入到任何表达式 字段中,也可以单击添加表达式替换表达式 按钮(可在结果功能的表达式 部分工具栏中找到)。下面屏幕截图显示了 COMSOL Multiphysics®6.0 版本中积分和统计信息 中可用的算子:

COMSOL Multiphysics 6.0 版本中集成和统计类别的可用算子的截图。
可用于积分和统计的算子。

这里有一个特别算子 stddev,我们可以用它来计算表达式的标准偏差。可以使用达式 stddev('comp1.aveop1',p) 来计算上述相同出口边界压力下的标准偏差,这是一种比上一个标准偏差表达式中使用的对平均运算符的嵌套调用更直接、更有效的语法。请注意,这里给出的组件和运算符名称只是示例,在您的模型中可以使用其他名称。

一个标准差和平均值的例子

作为示例,我们来计算圆柱绕流模型的几个瞬态统计值,该模型可在软件案例库中的流体动力学 文件夹中找到。我们将计算以下值:

  1. 模拟的所有时间步长的计算域中压力的平均值和标准差
  2. 在所有时间步长上计算的出口边界点处速度的平均值和标准差

经过长圆柱体的不稳定流动,不可压缩流模型,显示了速度场和粒子运动。
圆柱绕流模型的默认绘图,显示了模拟结束时间(7s)的速度场和粒子运动。

域内和出口边界压力的平均值和标准差

为了计算域内的压力的平均值和标准差,首先添加一个平均值 非局部耦合节点,例如 aveop2,并在域中定义它(这个几何结构中只有一个域)。计算解后,我们可以在结果 部分的派生值下添加一个全局计算 节点,使用表达式 aveop2(p) 计算平均压力。然后,所有从时间选择 列表中选择的时间的平均压力将显示在表格 窗口中。(默认是包括所有时间步长)如果要计算所有时步的平均压力,从数据序列运算 部分中的转换 列表选择平均值。对于平均压力的平均值,这时输出的是一个单个标量数。对于每个时步的标准偏差,使用表达式 stddev('comp1.aveop2',p)(或上述任何其他选项)。

stddev 算子的参数不一定要是平均值。作为替代,比如我们可以传递给它一个积分耦合算子,它仍然会计算平均值的正确标准差。我们还可以将它与 timeavg 算子结合使用,用于产生与在其他地方获得的相同结果,方法是使用类似 stddev('timeavg',t1,t2,expr) 的表达式对时间序列进行数据运算,其中 t1t2 分别是开始时间和停止时间,expr 是计算该时间间隔内时间平均值的表达式。例如,为了将沿出口边界的每个点的压力的时域标准差绘制为从 6s 到 7s 的时间平均值,可以使用 stddev('timeavg',6,7,p) 表达式。

设置窗口的截图,显示了线图节点中打开的各部分,包括数据、选择、y 轴数据和 x 轴。
线结果图的 设置窗口,其时域标准差表达式为从 6s 到 7s 的时间平均值。

相应的绘图显示了压力的标准偏差在出口边界的中间最小。

一个y轴标记为'stddev('timeavg',6,7,p)', x轴标记为'弧长(m)'的线图。
出口边界处时域标准差的 线结果图。

出口速度的平均值和标准差

如果我们想在所有时步上计算出口边界中点的平均值和标准偏差,就必须首先确定该点的速度。可以使用两种方法执行此操作:

  1. 在输出边界中间的几何结构中添加一个点,即使创建几何结构时不需要它
  2. 添加一个切割点数据集(在本例中为二维截点),然后在数据集的设置中定义截点的坐标

要计算中点处的速度,请使用点计算 节点并选择已经定义的点或使用二维截点 数据集作为输入数据集(取决于为点数据选择的方法)。例如,使用 spf.U,作为速度大小的表达式。在数据系列运算 部分,选择平均值,然后选择标准差,每次选择后单击设置 窗口顶部的计算,可以获得模拟中的所有时间步出口中点处速度大小的平均值和标准偏差(单位均为 m/s)。

表格窗口的截屏显示了平均速度大小和相同数量的标准偏差。
表格窗口,显示了相同数量的平均速度大小和标准偏差。

直方图

直方图可用于说明某些数据的形状和分布。COMSOL Multiphysics 中的绘图工具包括以下类型的直方图:

  1. 直方图 (一维和二维图),显示数量如何在几何体(即网格体积)上分布。在一维直方图中, x 轴表示数量的值(作为区间的数量或值的范围),y 轴表示每个区间中总单元体积的计数。
  2. 表直方图(一维和二维图),类似于直方图,基于来自表或计算组的数据。
  3. 矩阵直方图(仅限二维图),当有一个预计算的矩阵并希望将它可视化为二维直方图时,可以使用它。

对于直方图表格直方图,我们可以选择是要指定直方图中的 bin 数量,还是要指定直方图 bin 的限制范围。对于任何一个二维直方图,我们添加一个高度表达式 子节点来绘制沿 z 轴的 bin 大小,如下面的三维直方图所示。

三维矩阵直方图中计算的应力循环模型。
疲劳分析中的循环计数-基准模型,矩阵直方图显示计算的应力循环。

不确定性量化和统计

使用 COMSOL Multiphysics 的附加产品不确定性量化模块,可以直接在输出表组中访问与不确定性量化仿真相关的统计数据。例如,对于使用非自适应高斯过程代理模式的不确定性传播(UP)分析,可以使用下列 4 个表:

  1. QoI 置信区间 表,其中每个关注量 (QoI) 包含一行,列表示平均值、标准差、最小值和最大值,后面是 90%、95% 和 99% 可能性的置信区间。
  2. UP 预测 QoI 表,其中包含蒙特卡罗采样点的 QoI 的代理模型预测值。
  3. UP 预测标准差 表,其中包含蒙特卡罗采样点的代理模型预测标准差。这可以看作是内置的代理模型误差估计。
  4. 最大熵 表,其中包含最大相对标准差,每个 QoI 一个。

当使用自适应高斯过程代理模型时,4 个对应的自适应结果表也被添加到输出表组中。它们包含所有适应步骤的结果信息。

下一步

接下来,你可以在自己的仿真模型中尝试其中一些统计工具;你可以获得感兴趣的变量或参数的变化和特征的统计值并对它们进行量化。如果你对这个主题有任何疑问,请点击下面的按钮联系 COMSOL。

]]>
//www.denkrieger.com/blogs/getting-the-stats-computing-standard-deviations-and-other-statistical-quantities/feed/ 0
在控制系统模型中添加一个全状态空间反馈控制器 //www.denkrieger.com/blogs/add-a-full-state-space-feedback-controller-to-a-control-system-model //www.denkrieger.com/blogs/add-a-full-state-space-feedback-controller-to-a-control-system-model#respond Tue, 23 Mar 2021 05:51:43 +0000 http://cn.staging.comsol.com/blogs?p=307911 反馈控制系统理论中运用了全状态反馈的概念,使配置系统的所有闭环节点成为可能。极点对应于系统的动态行为,因此将它们配置在一个期望的位置可能非常有趣。在 COMSOL Multiphysics® 软件中,我们可以使用状态空间控制器插件为系统模型添加一个全状态空间反馈控制器。这篇博客,我们简要回顾了全状态反馈,描述了如何使用该插件,并演示一个示例。

关于全状态反馈

全状态反馈假设系统的闭环动力学在形式上可以表示为

\dot{\boldsymbol{x}} = \boldsymbol{A}\boldsymbol{x}+\boldsymbol{B}u\,,
\boldsymbol{y}= \boldsymbol{C}\boldsymbol{x} + \boldsymbol{D}u.

如果 ,只要系统是可控 的,我们就可以通过求解特征方程来任意配置系统的极点。

使用插件实现状态空间反馈控制器

使用插件,我们能够在模型中实现一些功能。从 5.6 版本开始,COMSOL Multiphysics 提供了一个状态空间控制器插件,可以配置闭环系统的极点。

有关控制器插件的另一个示例,请参阅博客文章:如何使用 PID 控制器插件模拟控制系统

屏幕截图显示了状态空间控制插件的设置,包括方程,可观察量的数量,变量部分展开。
状态空间控制器插件的 设置窗口

我们可以先定义所需系统的观测变量的数量,矩阵 ,矢量 ,初始条件,以及在复平面中配置极点的位置。然后使用插件创建一个新的零维模型组件,该组件使用全局方程 定义反馈控制器。信息 部分提到了相关的组件,以及创建控制器后如何访问输出变量。控制变量可以用作

下面介绍一个如何使用插件的示例。

力对双质量-阻尼-弹簧的示例

以一个描述质量为 的质点的系统为例, 一侧连接到带有弹簧和阻尼器的墙壁上,另一侧用弹簧和阻尼器连接到第二个质量为 的质点。第二个质量点又受到一个力 的作用,为了达到平衡,这个力需要被控制。

含不同零件的质量阻尼弹簧系统示意图,用作实现状态空间反馈控制器的示例。

该系统由以下方程描述,这些方程是牛顿第二运动定律的实例,使用点符号表示时间导数:

m_{1}\ddot{\tilde{x}}_{1} = k_{2}(\tilde{x}_{2}-\tilde{x}_{1})+c_{2}(\dot{\tilde{x}}_{2}-\dot{\tilde{x}}_{1}) – k_{1}\tilde{x}_{1} – c_{1}\dot{\tilde{x}}_{1},
m_{2}\ddot{\tilde{x}}_{2} = F – k_{2}(\tilde{x}_{2}-\tilde{x}_{1})-c_{2}(\dot{\tilde{x}}_{2}-\dot{\tilde{x}}{1}),

式中, 是两个弹簧的弹簧常数, 是两个阻尼器的阻尼常数, 用于描述两个质点与其各自平衡位置的偏差。

引入四个新变量,,我们得到一个系统形式为

\dot{\boldsymbol{x}} = \boldsymbol{A}\boldsymbol{x}+\boldsymbol{B}u\,
\boldsymbol{y}= \boldsymbol{C}\boldsymbol{x},

其中,

\boldsymbol{A} = \begin{pmatrix}
0 & 1 & 0 & 0\\
-(k_{1}+k_{2})/m_{1}& -(c_{1}+c_{2})/m_{1} & k_{2}/m_{1} & c_{2}/m_{1}\\
0 & 0 & 0 & 1\\
k_{2}/m_{2} & c_{2}/m_{2} & -k_{2}/m_{2} & -c_{2}/m_{2}
\end{pmatrix} \text{ 和 } \boldsymbol{B} = \begin{pmatrix}
0 \\
0\\
0\\
1/m_{2}
\end{pmatrix}.

在这种情况下,控制变量 是力, 是单位矩阵。我们将常量定义为参数,如下所示。

显示状态空间控制器的不同常数被定义为参数的表格。
常量的定义。

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


双质量阻尼器系统的状态空间控制器设置。

选择初始条件,使得第一个质量块开始于负 方向 1.3 m,速度为 0.2 m/s,第二个质量块从静止开始,从它的平衡点向正 方向 1.3 m。

单击创建 后,会收到以下消息。

通知窗口的截图,描述状态空间控制器的输出变量。
状态空间控制的输出变量的描述。

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

绘制状态空间控制器中两个质量在研究的前 25 秒内的位置的折线图,质量 1 显示为蓝色,质量 2 显示为绿色。
25 s 内两个质量点的位置,此时所有极点都位于 -0.5

我们还可以绘制作用力,它可以通过控制变量 访问,得到以下绘图。

在研究前25秒,控制变量在状态空间控制器中的位置的线形图,用蓝色线表示,在第5秒有一个尖锐的峰值。
在模拟的前 25 s绘制控制变量,此时所有极点都位于 -0.5

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

在研究的前15s内,绘制状态空间控制器中极点位置的线形图.
15s 的位置图,此时所有极点都位于 -1

此外,我们还可以得到如下所示的受控力图。

COMSOL Multiphysics 模拟的前 15s 状态空间控制器中被控制的力的线图。
前 15 s 的受控力图,此时所有极点都位于 -1

正如预期的那样,系统稳定得更快。

在状态空间控制器插件中,还可以在复平面中配置极点。复极点总是以复共轭对的形式出现。

状态空间控制器插件的设置窗口,在变量部分修改设置以包括2个复杂的极点。
具有两个复极点的状态空间控制器设置。

这个结果会产生如下图所示的位置和控制信号图。

用蓝绿线绘制的状态空间控制器中两个实极点位置的图。
状态空间控制器系统中两个实极点控制信号的线图。

两个实极点分别位于 -0.5 和两个复极点位于 -1+2i -1-2i 的位置图(左)。两个实极点(-0.5)和两个复极点(分别为 -1+2i -1-2i)的控制信号图(右)。

极点配置

从上一节的模拟可以看出,系统的行为会发生巨大变化,具体取决于闭环系统的极点配置的位置。很难找到关于极点配置如何影响任意系统的一般描述。但是,如上所述,可以说配置连续系统的极点应该会使稳定更快,但可能会导致更大的控制信号。使用状态空间控制器插件,您可以轻松评估各种极点配置的系统行为。

]]>
//www.denkrieger.com/blogs/add-a-full-state-space-feedback-controller-to-a-control-system-model/feed/ 0
如何将仿真结果自动生成 Microsoft® PowerPoint®演示文稿 //www.denkrieger.com/blogs/generating-microsoft-powerpoint-slideshows-from-your-models //www.denkrieger.com/blogs/generating-microsoft-powerpoint-slideshows-from-your-models#respond Mon, 07 Dec 2020 05:35:03 +0000 http://cn.staging.comsol.com/blogs?p=244721 COMSOL Multiphysics® 软件自 5.6 版本起可以生成用 Microsoft® PowerPoint®幻灯片演示的模型结果。这篇博客将介绍如何生成 PowerPoint® 幻灯片演示文稿,如何编排文稿格式和扩展文稿以在组织内部使用。你可以将幻灯片用于教学,也可以展示一些与你的仿真研究相关的易于访问的信息。

通过模型创建 Microsoft® PowerPoint® 幻灯片

你可以像在创建其他类型的报告一样,在模型开发器 结果 部分的 报告 节点下添加 PowerPoint® 演示文稿。右键单击 报告 节点后,可以从 演示文稿 子菜单中选择以下任何一个演示模板:

  • 标准演示文稿
    • 包括模型中最重要的部分
    • 包含所有结果和绘图的模型概述
    • 去除有关物理场、网格和材料的详细信息
  • 详细演示文稿
    • 除了标准演示文稿外,还包括有关物理场、网格和材料的详细信息
  • 自定义演示文稿
    • 初始为空白的幻灯片演示文稿
    • 可以使用所有可用的演示组件进行自定义
  • 演示文稿模板
    • 可以配置并保存为自定义演示文稿模板(请参见下文)
    • 如果你已经制作了自定义演示文稿模板,可以从 来自模板 子菜单中获取它们

COMSOL Multiphysics 种演示子菜单的屏幕截图,用于从模型结果生成 Microsoft Powerpoint 演示。
演示文稿子菜单。

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

  • 标题幻灯片
  • 标题和内容
  • 节标题

扩展了“文件”,“图像”,“幻灯片布局”和“数字格式”选项的“主要演示”节点设置的屏幕截图。
演示文稿 节点的 设置 窗口。

根据选择的模板,演示文稿 节点下会出现许多演示节点:

  • 标题幻灯片 节点用于指定演示文稿标题幻灯片的内容:演示文稿标题以及可选的副标题、作者和公司信息。
  • 演示文稿主要部分的 节点。你可以在这些节点中指定标题和文本,以及是否应包括单独的节标题幻灯片。
  • 在每个 节点下,你可以找到代表所包括的模型中每个特征的节点。对于 PowerPoint® 演示文稿和 报告而言,这些节点都是相同的。

在演示文稿中的所有节点上,你可以单击以下任何一个按钮生成、预览和保存PowerPoint演示文稿:

  • 生成:生成演示文稿,它将替换当前的演示文稿树
  • 预览选定项:在 预览 窗口中查看所选演示节点的内容预览
  • 全部预览:在预览窗口中查看整个演示文稿内容的预览
  • 写入:创建PowerPoint®演示文稿并将其作为Microsoft PowerPoint文档(* .pptx)保存到文件中

添加、自定义和扩展 Microsoft®PowerPoint® 演示文稿的内容

更改 Microsoft®PowerPoint® 模板

你可以使用另一个 Microsoft®PowerPoint® 模板文件来更改生成的 PowerPoint 演示文稿的外观,从获取组织中使用的模板中获取外观。通过从 Microsoft PowerPoint 模板 列表中选择 自定义,你可以浏览并选择任何 Microsoft PowerPoint 模板文件(* .pptx) 或 Microsoft PowerPoint 文件(* .pptx)。下面两幅图显示了来自 COMSOL Multiphysics 案例库中基于汽车消声器模型的演示文稿。上图使用了内置的默认模板,下图使用了自定义模板。

使用默认幻灯片模板的,带有汽车消声器的 COMSOL Multiphysics 模型的 Microsoft PowerPoint 幻灯片的屏幕截图。
使用内置的默认模板生成的 Microsoft®PowerPoint® 幻灯片。

一个定制的幻灯片模板,用于在 Microsoft PowerPoint 中显示 COMSOL Multiphysics 仿真结果。
使用自定义模板生成的与上图内容相同的 Microsoft®PowerPoint® 幻灯片。

在幻灯片中添加注释

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

“图组”节点的“属性”窗口的屏幕截图,其中“注释”部分已展开。
绘图组 节点的 属性 窗口中,为 绘图添加的注释。

这样,就获得与之前布局不同的幻灯片,其中注释文本位于绘图左侧:

从模型生成幻灯片的示例,其中包括添加到幻灯片内容中的其他注释。
添加到幻灯片内容中的包含模型注释的幻灯片。

模型开发器节点中的注释既可以用作模型中设置的注释,也可以用作由 COMSOL Multiphysics 模型创建的演示文稿和报告中的文本。

你可以使用换行符进行注释将文本更改为项目符号列表,其中每个换行符都表示一个新的项目符号。在此注释中,插入了不间断空格以确保单位(Pa 和 Hz)与前面的字没有分开。

展开了“注释”部分的“绘图组”节点,显示了如何在幻灯片内容中添加换行符和项目符号列表。
带换行符的注释将文本变成一个项目符号列表。同样,不间断空格(\nbsp)用于确保单位与前面的字没有分开。

设置好的幻灯片如下图所示。

其中带有项目符号注释列表的注释直接从 COMSOL Multiphysics 添加到幻灯片内容中。

创建演示文稿模板

如果经常在 Microsoft PowerPoint 演示文稿使用特定的设置、内容和布局,那么自定义演示文稿模板会很有用。要添加你自己的演示文稿模板,请按照下列步骤操作:

  1. 右键单击 报告 节点,从 演示文稿 子菜单中选择 演示文稿模板
  2. 报告 菜单下添加一个 模板 节点。它的设置与 演示文稿 节点的设置相似,因此你可以指定要使用的 Microsoft PowerPoint 模板,幻灯片布局和图像设置这些内容。
  3. 通过添加具有结构性内容的部分,例如标题幻灯片和模型中所需的内容,来构建要包含在模板中的内容的演示文稿。单击 生成 创建包含所有类型内容的模板。如果你希望通用模板可以替代 标准详细 模板,这个功能很有用。相反,如果要生成更专业的演示文稿,则按功能构建模板功能比较合适。例如,仅包含标题幻灯片和绘图组的模板。
  4. 定义报告模板的内容后,右键单击 演示文稿模板 节点,选择 导出。然后,为报告模板选择文件名,将其另存为一个COMSOL Multiphysics MPH 文件,存储在你的用户目录 .comsol/v56 下的 reporttemplates 目录中。右键单击 报告 节点后,从演示文稿 子菜单中选择 导出模板,也可以导出所有演示模板和所有报告模板,如果存在于同一文件中。
  5. 最后,可以从 演示文稿 子节点的 来自模板 子节点中选择并访问此演示模板。

扩展演示文稿

创建完 Microsoft®PowerPoint® 演示文稿后,你可以使用 Microsoft PowerPoint 中的所有功能对它进行扩展,添加和修改生成的幻灯片的内容,添加新的幻灯片作为生成幻灯片的补充。还可以使用 PowerPoint® 中的 COMSOL 功能区工具栏将 COMSOL Desktop® 中的图像插入 PowerPoint® 幻灯片中。

下一步

尝试自己动手从你的 COMSOL Multiphysics® 仿真模型中生成 Microsoft®PowerPoint® 演示文稿,以及其他 HTML 和 Microsoft Word 格式的报告。

延伸阅读

阅读以下 COMSOL 博客,了解更多内容:

Microsoft 和 PowerPoint 是 Microsoft Corporation 在美国和/或其他国家的注册商标或商标。

]]>
//www.denkrieger.com/blogs/generating-microsoft-powerpoint-slideshows-from-your-models/feed/ 0
如何使用 COMSOL Multiphysics® 中的材料库 //www.denkrieger.com/blogs/using-the-material-libraries-in-comsol-multiphysics //www.denkrieger.com/blogs/using-the-material-libraries-in-comsol-multiphysics#comments Thu, 27 Feb 2020 06:51:18 +0000 http://cn.staging.comsol.com/blogs?p=219111 COMSOL Multiphysics® 软件及其大多数附加产品都有内置的材料库,其中包含各种材料及相关的材料属性数据。COMSOL® 软件还有一个附加产品——材料库,它包含多达 24 种不同的材料属性,可以模拟 10,328 种材料,有 84,000 多个材料属性数据集。今天,我们来了解一下 COMSOL软件内置的材料库和附加的材料库产品,以及如何在模拟中使用它们。

编者注:为了反映 COMSOL Multiphysics® 软件 6.0 版本的新功能,本博客已于 2022 年 4 月 1 日更新。

附加的材料库产品

附加的材料库中包含的材料属性非常全面,并且都附加了参考信息(即数据来源)。几乎所有的材料属性都可以定义为温度 T 的函数,这些函数的输入值可以是传热仿真中的温度场仿真结果。

材料库包含的材料范围非常广泛,包括:

  • 基本材料
  • 合金类
    • 磁性
    • 热电偶
    • 其他金属
  • 工具钢
  • 铸铁
  • 聚酰胺
  • 聚合物和聚合物复合材料
  • 矿物,岩石和固体
  • 木材
  • 热塑性塑料,聚醚和聚酯
  • 热绝缘体
  • 半导体和光学材料
  • 焊料
  • 牙齿材料
  • 食品类
  • 盐类
  • 燃料电池,电池和电陶瓷材料
  • 硅化物、硼化物和氮化物
  • 玻璃和金属玻璃
  • 模具材料
  • 其他材料

这些材料被广泛用于COMSOL® 软件的物理场接口,材料属性包括:

  • 导热系数
  • 热膨胀系数
  • 恒压热容
  • 电导率
  • 密度
  • 杨氏模量
  • 泊松比
  • 屈服应力和硬化曲线
  • 动态黏度

注意:特定材料的材料属性取决于材料的类型。

材料的变化

材料库中的大多数材料还包含了不同的取向或其他变化信息,这些信息可用于表述同一种材料在不同工况或者不同变化的材料属性。

下图为 COMSOL Desktop®材料浏览器 窗口,显示了材料库中铜合金 UNS C10200 的材料属性,在退火和 60% 冷拔时,可以获得不同剩余电阻比的材料属性数据:

材料库中提供的铜合金屏幕截图,是 COMSOL Multiphysics 的附加组件。
材料库中的 UNS C10200 铜合金材料。材料属性的值可用于多种变体。我们可以使用 Deutsches Institut für Normung (DIN) unified numbering system (UNS) 编号在方向/变异列表下搜索该材料。

材料属性的参考信息

材料库中的所有材料属性均都包含参考信息。在属性 列表中选择一个属性,可以查看材料属性的参考信息。如上图所示,列下方的属性 参考区域显示了参考信息。

参考信息通常包括一些期刊或论文,有时是一些电子文献的网址链接,也可能包含关于材料相关属性值的准确性、参考温度或压力的注释。

附加模块和内置的材料库

除了附加的材料库之外,COMSOL Multiphysics 及其一些附加模块中还提供了内置材料库,图下图所示:

材料库 产品 详细信息
内置材料库 COMSOL Multiphysics
  • 包含 30 多种常用材料,例如空气,铝,砖,混凝土,铜,硅玻璃,硅,结构钢和水
  • 一些材料属性取决于压力和温度
  • 该库中的材料属性值为某些常见材料的典型示例值
AC/DC 材料库 AC/DC 模块
  • 包含对电磁材料属性,包括铜,软铁,石英,石墨,Jiles–Atherton 磁滞材料,非线性永磁体,硬磁材料和 Bomatec 磁性材料
  • 材料属性主要集中在电磁特性上,例如电导率,相对介电常数,相对磁导率以及磁通密度和磁场范数
电池材料库 电池设计模块
  • 包含许多电极和电解质,主要用于锂离子,镍氢和铅酸电池的建模
  • 材料属性包含电导率和电解质电导率,盐和参考浓度,扩散系数,平衡电势和密度
生物热材料库 传热模块
  • 包含许多与人体有关的材料属性,例如骨骼,脂肪,肝脏,肌肉,心肌,前列腺,皮肤和脾脏
  • 热材料特性包含热导率,恒定压力下的热容量和密度,适用于生物热建模
建筑材料库 传热模块
  • 包含建筑材料(如混凝土,木材,纤维素,铜版纸和不同类型的木板)的热湿属性
  • 除了常见的热特性外,这些材料还具有水蒸气渗透性、耐蒸汽性以及水含量等
  • 该库中的材料可用于热,空气和湿度(HAM)建模
腐蚀材料库 腐蚀模块
  • 包含大量不同金属在不同电解质和元素中的极化数据(局部电流密度与电极电位的关系)。
  • 提供平衡电位(电流密度为零时的电位)。
  • 库中所有腐蚀材料数据都是基于公开的文献资料,可作为属性参考。
平衡放电材料库 等离子体模块
  • 包含与空气,氩气,氦气,氢气,氮气和氧气有关的随温度变化的电学和热学性质
  • 适用于等离子体仿真中的平衡放电建模
燃料电池和电解槽材料库 燃料电池和电解槽模块
  • 包含一些比较常见的燃料电池和电解质电池类的电解质数据:碱水、熔融碳酸盐、聚合物电解质和固体氧化物
  • 库中的所有电解质材料数据都是基于公开的文献资料,可作为属性参考
液体和气体材料库
  • 声学模块
  • 电池与燃料电池模块
  • CFD 模块
  • 化学反应工程模块
  • 传热模块
  • MEMS 模块
  • 微流体模块
  • 管道流模块
  • 地下水流模块
  • 包含与温度相关的热和流体材料属性,其中包括:
    • 气体,例如空气,氮气,氧气,二氧化碳,氦气,蒸汽和丙烷
    • 液体,例如乙醇,乙二醇,汽油,变压器油和水
MEMS 材料库
  • MEMS 模块
  • 结构力学模块
  • 材料属性包含多种金属,半导体,绝缘体和聚合物的机械,热和电材料
  • 适用于仿真 MEMS 器件
非线性磁性材料库 AC/DC 模块
  • 材料属性为非线性磁化曲线,适用于用于各种铁磁合金(如各种类型的钢)仿真
非线性结构和岩土力学材料模型
  • 非线性结构材料模块
  • 岩土力学模块
  • 使用材料模型表示非线性结构材料,而不是使用材料库中的材料特性来表示。非线性结构材料模块岩土力学模块也包含此功能,例如,包括各种超弹性,弹塑性,黏塑性和蠕变材料模型。
光学材料库
  • 射线光学模块
  • 波动光学模块
  • 包含折射率的随频率变化的实部和虚部,用于光学仿真,该仿真由实验、模型和仿真共同验证
  • 该材料库中的折射率涵盖大量的无机和有机材料,玻璃和各种其他材料,例如合金,晶体,塑料,油,黏合剂,人体的各个部位以及黏土,包括肖特公司, 成都光明光电, Ohara 公司以及康宁公司生产的玻璃
压电材料库
  • 声学模块
  • MEMS 模块
  • 结构力学模块
  • 包含建模压电效应时使用的材料属性,例如弹性矩阵,柔度矩阵,损耗因子,相对介电常数和密度
  • 包含各种压电材料:氮化铝,钛酸钡,锗酸铋,硫化镓,钛酸锆钛酸铅和石英的变体,罗谢尔盐,二氧化碲等
压阻材料库 MEMS 模块
  • 包含在对压阻模型化时使用的材料特性,例如弹性矩阵,压阻和弹性耦合矩阵,损耗因子,相对介电常数,电导率和 p- 硅和 n- 硅的轻掺杂单晶和多晶密度材料
RF 材料库 RF 模块
  • 包含多种基材材料,可用于 RF 组件建模
  • 介电特性,如相对介电常数的实部和损耗角正切,包括频率依赖性
  • 包含层压板和 Rogers 公司的材料
  • 包含 Isola 集团 和 赛默飞集团 的材料
半导体材料库 半导体模块
  • 包含半导体材料,例如硅,锗,砷化镓,砷化铟,金刚石等
  • 材料属性各不相同,但通常包括热和电特性以及半导体特性,例如带隙,电子和空穴迁移率以及 n 型和 p 型的 Jain-Roulston 系数
热电材料库 传热模块
  • 包含碲化铋和碲化铅材料,用于热电效应 多物理场接口
  • 包含热和电材料属性,包括用于模拟热电效应(例如塞贝克和汤姆森效应)的塞贝克系数和汤姆逊效应

我们还可以自定义用户材料库。通过右键单击材料 节点,然后选择添加到用户定义的库 或任何其他用户定义的材料库。用户定义的材料库还可以包括完整的分层材料铺层。

如何在仿真中使用材料

本节,我们将介绍如何浏览材料库,将材料添加到模型中以及如何在仿真中使用材料属性。

浏览材料库

COMSOL 桌面环境中有两个窗口可以浏览材料并将材料添加到仿真模型中:

  1. 材料浏览器 窗口中,除了搜索和浏览材料并将其添加到模型外,还包含有关材料及其材料特性的完整信息。在此窗口中,我们还可以创建新的用户自定义的材料库,或从 MPH 文件或 XML 文件导入材料库。通过右键单击材料 节点并选择浏览材料,或单击材料 工具栏上的浏览材料 按钮,可以打开此窗口。材料浏览器 窗口的屏幕截图见上图。
  2. 添加材料 窗口中,我们可以快速搜索和浏览材料,并将它们作为整体材料或模型组件之一添加到模型中。通过右键单击材料 节点并选择从库添加材料,或单击材料 工具栏上的添加材料 按钮,可以打开此窗口。如下图所示:

COMSOL Multiphysics中添加材质窗口的屏幕截图。
添加材料窗口,我们可以从中快速选择材料并将其添加到模型中。最近添加的材料位于顶部。

搜索材料

材料浏览器窗口和添加材料窗口中,均可以使用窗口顶部的搜索框中按名称搜索任何材料。例如,查找所有金或金合金材料,我们可以将金作为搜索词。

对于材料库中的材料,我们还可以使用其 DIN 或 UNS 号搜索材料,这些材料可用于多种材料,例如工具钢和合金。

绘制材料属性图

附加材料库中的材料属性通常取决于温度,其中大多数被描述为温度的分段多项式函数。其他库还包括一些与温度有关的材料属性,以及一些与其他量(例如绝对压力)有关的属性。但是,大多数材料属性都用单个值表示。对于非恒定的材料属性,常使用分段子节点来描述变化。

分段 节点的设置 窗口中,我们可以看到每个段使用的多项式,还可以单击绘图 按钮来创建一个函数图,该函数 图描述了材料属性与温度之间的函数关系;例如,在独立的绘图窗口中,单击创建绘图 按钮在结果 下创建一个独立的一维图组,该图显示了与温度相关的材料属性值。

分段函数设置窗口的屏幕截图和相应的绘图。
分段函数,将导热系数 k 描述为铁的温度 T 函数。函数图显示了温度在 0~1810 K 范围内导热率的变化。

使用材料库中的材料

默认情况下,物理场接口中的大多数物理量值都是从材料中获取的。当使用来自材料 接口时,材料的物理量值是从几何中处于激活状态的材料中获取的。

下图显示了固体传热 接口中固体 节点的设置 窗口。它包含用于模拟固体材料传导传热所需的材料属性:

  • 导热系数
  • 密度
  • 恒压热容

这些材料属性值都被设置为来自材料,以为固体 节点选择中相同的几何部分定义的活动材料中取值。如果材料属性取决于温度,则直接从温度场获取,温度场是传热物理学中的因变量。

COMSOL Multiphysics中一个材质库的设置窗口屏幕截图。
固体传热所需的所有物理量均来自材料库。

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

显示电流界面设置及其材质属性的屏幕截图。
对于电流接口中与温度相关的材料属性,当传热接口中没有温度场时,可以选择使用用户定义的温度或从模型输入节点中获取的温度。

下图为默认模型输入 节点的设置 窗口,它包含物理场和材料要求的模型输入,以及用于模型输入的表达式。在这个示例中,将温度作为模型输入设置为一个常数值,用于表示室内温度(20°C)。

默认模型输入设置的屏幕截图。
默认模型输入设置显示了哪些特征需要模型输入以及用于模型输入的表达式(此处温度由电流守恒特征以及铁材料属性表达)。

结语

这篇博客,我们介绍了如何使用 COMSOL Multiphysics 的附加材料库以及一些附件模块中的内置材料库。附加模块中的内置材料库包含很多材料,这些材料具有丰富的属性,在物理过程或应用中经常用到。此外,附加材料库中的所有材料都有与温度相关的材料属性,并且均附带有参考信息。对于材料库中的大多数材料,我们还可以选择相位和其他变化信息。

此外,我们还介绍了如何浏览和搜索材料,如何绘制与某些量(通常是温度)相关的材料属性,以及如何在 COMSOL Multiphysics 中使用材料库中的材料。有关 COMSOL Multiphysics 中材料库和材料的其他信息,请查看以下资源:

注:MatWeb 是 MatWeb,LLC 的商标。

]]>
//www.denkrieger.com/blogs/using-the-material-libraries-in-comsol-multiphysics/feed/ 58
如何使用 PID 控制器插件模拟控制系统 //www.denkrieger.com/blogs/how-to-simulate-control-systems-using-the-pid-controller-add-in //www.denkrieger.com/blogs/how-to-simulate-control-systems-using-the-pid-controller-add-in#respond Thu, 09 Jan 2020 06:13:30 +0000 http://cn.staging.comsol.com/blogs?p=295831 在 COMSOL Multiphysics® 软件中,您可以很轻松地为您的仿真添加一个 PID 控制器插件。PID 控制器插件自 COMSOL 5.5 版本开始新增的功能,可以添加到任何仿真项目中。它实现了一个标准的比例积分微分(PID)控制器,具有额外的功能,如积分抗饱和与导数项的滤波。这种控制器被广泛应用在工业过程控制中。在这篇文章中,我们将描述如何使用 PID 控制器,并通过两个仿真示例来演示它的作用。

PID 控制器插件简介

从 COMSOL® 5.5 版本开始,我们就可以使用插件功能了。插件 是自定义设置 窗口和模型方法的组合,形成一些通用功能,可以添加到任何仿真模型中。

PID 控制器插件是 COMSOL Multiphysics 中包含的示例插件之一,可以从软件的开发工具栏打开插件库 窗口获得。当导入 PID 控制器插件后,可以从插件 菜单(也可以在开发器工具栏)将其添加到你的模型中。然后它就会作为 PID 控制器节点出现在模型开发器的全局定义下。下图显示了 PID 控制器的设置窗口。

COMSOL Multiphysics®中 PID 控制器外接程序设置窗口的屏幕截图。
PID 控制器插件的设置窗口。在信息 部分,你可以找到关于创建的控制变量及其推导单位的信息

PID 控制器方程

PID 控制器的方程是标准方程,增加了控制变量(输出) 的可选偏差。对于导数项,不包含设定值 9 参考值),因为设定值通常是恒定的没有突然的变化。因此,设定值对导数项没有贡献,只是在变化时作为不需要的急剧输出。

测量值的输出

对于测量值的输出(以 出现在方程式中),通常会添加一个域点探针,对你想控制的数量进行测量,如温度或物质浓度。域点探针被添加到几何结构的某个地方,作为你想控制的过程的控制器反馈。

控制器参数

控制器参数 部分,你可以输入 PID 参数和参考值(设定值)。此外,还可以给控制变量添加一个可选的偏差,并给输出添加限制。在实际情况中,接收控制器输出的执行器(例如阀门或加热器)几乎都有下限和上限。

在 “抗饱和 “和 “预过滤 “下,你可以在 PID 控制器中加入两个常见并且有用的附加功能。

  1. 积分抗饱和
  2. 导数项的滤波

抗饱和 是对 PID 算法的一个补充,它考虑了执行器有极限。这时可能会发生控制变量达到执行器的极限,就会有效的破坏反馈回路,因为执行器仍然处于其极限。如果控制器中有一个积分部分,那么误差将继续被积分,并可能变得非常大(也就是说,它 “卷积 “了)。在执行器饱和的情况下,这种不受欢迎的行为可能会导致大的瞬态变化。

控制器的积分部分对于消除稳态误差至关重要,因此通常不能关闭。添加积分抗饱的目的是通过一个额外的反馈回路来避免卷积,其误差信号被定义为控制变量和执行器输出之间的差值。这意味着,当执行器不饱和时,误差为零。然而,当执行器饱和时,抗饱和算法将试图驱动积分器到一个值,使控制器的输出正好处于饱和极限,防止饱和。这种复位的速度由反馈增益 决定,其中时间常数 可以在 PID 控制器插件的设置 窗口中输入。时间常数越小,积分重置的速度越快。

导数项的滤波 是 PID 控制器导数部分的低通滤波器。导数项的一个问题是,它对噪声很敏感。在许多情况下,并没有使用导数项,控制器变成了 PI 控制器。随着导数项被过滤激活,它会变得更加有用,因为测量中的高频噪声将被去除,它将作为反馈信号的低频部分的导数发挥作用。参数 是时间常数,你可以在 PID 控制器插件的设置窗口中输入这个参数来控制滤波量。时间常数越大,应用于导数项的滤波就越多。

创建控制器和信息部分

当设置好 PID 控制器后,点击设置 窗口顶部的创建 按钮,就可以创建一个零维组件,其中包含以全局方程实现的 PID 控制器。在信息 部分,可以看到创建的控制变量的名称,如 comp2.u_in_ctrl。这就是控制变量起作用的地方应该输入的变量,比如影响要控制的测量值的流入速度或热源。

信息 部分还显示了控制器的推导单位,它应该与模型中作用量的单位相匹配(例如,速度为 m/s,热源为 W)。如果控制器参数的单位不一致,在 “信息 “部分就会出现一个关于单位不一致的信息,并且不会创建 PID 控制器。

使用全局参数

将控制参数定义为全局参数是一个好的做法。然后可以直接改变它们或通过参数扫描来评估控制器的性能并调整其参数。否则,如果直接在 PID 控制器插件中改变控制器的参数值,则每次都需要创建一个新的控制器。

在下面的章节中,我们将展示使用 PID 控制器插件的 2 个实际案例。

控制 CFD 模型中的物质浓度

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 控制器插件。此外,您还可以查看以下资源:

]]>
//www.denkrieger.com/blogs/how-to-simulate-control-systems-using-the-pid-controller-add-in/feed/ 0
如何借助浏览器内置的翻译工具查看 COMSOL 文档? //www.denkrieger.com/blogs/using-web-browser-translation-tools-for-comsol-documentation //www.denkrieger.com/blogs/using-web-browser-translation-tools-for-comsol-documentation#comments Thu, 12 Dec 2019 01:36:07 +0000 http://cn.staging.comsol.com/blogs?p=241471 COMSOL Multiphysics® 软件内置了与操作自动关联的在线帮助功能和大量的技术文档。虽然我们正在逐步进行汉化,但是目前很多文档仅有英文版本,对于一些中文用户来说,阅读这些技术文档可能比较费时费力。好消息是,近年来机器翻译在准确度和可读性方面都得到了质的提升,很多主流网页浏览器也内置了机器翻译工具,方便用户在浏览网页时对页面内容进行自动翻译。借助于这些免费而便捷的翻译工具,COMSOL 用户可以更方便的阅读软件自带的技术文档。这篇博客文章将为您介绍如何使用网页浏览器内置的翻译工具实现 COMSOL 文档的本地化阅读。

在外部浏览器中显示 COMSOL 文档

COMSOL 文档有两种不同的格式:

  1. COMSOL 软件界面中 帮助 窗口用于显示帮助信息,支持根据模型树中选定的节点自动关联到相关文档、搜索,以及访问完整的文档列表。软件界面中,通过 F1 快捷键,或者从 文件 菜单中打开 帮助 窗口。在帮助 窗口中,我们可以通过单击在 外部浏览器中显示 按钮在外部浏览器中显示文档。通过首选项 设置,我们可以选择默认在网页浏览器中显示帮助内容。
  2. 文档 窗口是一个单独的窗口,可以访问 HTML 和 PDF 格式的 COMSOL 完整文档列表。通过首选项 设置,可以在网页浏览器中显示文档 窗口中的技术支持内容。

 

COMSOL Multiphysics® 中“首选项”对话框中“帮助”页面的屏幕截图

首选项对话框中的帮助页面,其中文档显示位置和帮助显示位置均已设置为外部浏览器

更改 COMSOL® 软件使用的默认浏览器

一般情况下,COMSOL 文档会使用操作系统默认的网页浏览器。当系统默认的浏览器没有内嵌翻译工具时,建议您在软件中设置 COMSOL 使用其他带有翻译工具的浏览器,如Google Chrome™

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


Web 浏览器的“首选项”设置的屏幕快照,设置为使用 Google Chrome™ 作为默认浏览器。

首选项中的网页浏览器由系统默认改为使用 Google Chrome™

在阅读时翻译文档

使用 Google Chrome™,我们可以指定要包括的语言,尤其是翻译页面时要使用的语言。我们可以通过在 Google Chrome™ 的“设置”页面“高级”选项,选择“语言”来找到这些设置。在下面的截图中,我们添加了中文(简体)并将其选择为翻译页面时使用的语言。


A screenshot showing the Languages settings for a web browser.

从 COMSOL 软件界面的“文件” 菜单中选择”帮助” > 文档,则可以在 Google Chrome™ 的网页浏览器的选项卡中找到 COMSOL 文档列表。下面这个截图中显示了 COMSOL Multiphysics Reference Manual 中的其中一页:


COMSOL 文档“COMSOL Multiphysics 参考手册”中页面的屏幕截图

COMSOL Multiphysics Reference Manual 的原始页面以英文显示

假设我们现在要将 COMSOL 文档翻译成中文,可以右键单击网页上的任意位置,然后选择翻译成中文(简体)。很快似,我们就会看到如下截图显示的简体中文内容:


COMSOL 文档从英文翻译成简体中文的屏幕截图

已翻译成简体中文的页面

在使用软件内置的帮助工具时,默认设置是在软件界面中的帮助 窗口显示相关文档,帮助 窗口在顶部工具栏中的最右侧提供了一个在外部浏览器中显示 按钮(以地球的图标表示),点击此按钮就可以转为打开一个外部浏览器,并在其中显示正在查看的内容,然后就可以按照上面的操作方法自动翻译为你想要的语言。

帮助窗口的屏幕截图,显示了在哪里可以找到“显示外部浏览器”按钮
单击在外部浏览器中显示按钮以在外部浏览器中显示此文本

灵活的语言选择

本篇博客文章显示了如何利用网页浏览器自带的翻译工具将 COMSOL 文档翻译成我们熟悉的语言。COMSOL 技术文档提供了大量的基础理论介绍和操作说明,结合这些免费的翻译工具,希望能够帮助您更好的理解和使用 COMSOL Multiphysics® 软件。

有关 COMSOL Multiphysics 中帮助工具的更多信息,请阅读此博客文章:使用 COMSOL Multiphysics® 中的帮助工具进行建模指导

Google Chrome 是 Google 公司的商标。

]]>
//www.denkrieger.com/blogs/using-web-browser-translation-tools-for-comsol-documentation/feed/ 1