用户界面 – COMSOL 博客 - //www.denkrieger.com/blogs 发布博客 Fri, 08 Nov 2024 09:35:43 +0000 en-US hourly 1 https://wordpress.org/?v=5.7 图形窗口:高效又美观的后处理功能 //www.denkrieger.com/blogs/the-graphics-window-effective-beautiful-postprocessing //www.denkrieger.com/blogs/the-graphics-window-effective-beautiful-postprocessing#respond Tue, 01 Feb 2022 03:09:22 +0000 http://cn.staging.comsol.com/blogs?p=305101 COMSOL Multiphysics® 软件中的 图形 窗口和 图形 工具栏可用于简单直接地对结果进行常规后处理,只要您了解这些功能背后的原理和更高级的技巧,就可以操控相机和视角,创建出高质量的视觉效果,获得既美观又包含各种信息的视图。

编者注:这篇博客最初由 Lexi Carver 撰写,发布于 2014319日。现在已经更新,以反映新增的后处理功能。

全能的视图节点

在 COMSOL 软件中,通过鼠标点击和移动 图形 窗口以及 图形 工具栏按钮对几何视图进行直接处理的方法有很多。所有的视图改变都会显示在 视图 节点中,包括一般视图和照明选项,环境遮挡视觉效果;环境、透明度和剪裁设置。

COMSOL Multiphysics 中的模型开发器窗口和图形窗口的截图。在模型开发器窗口中选择了视图节点,并显示了一些设置,包括环境光遮蔽复选框。图形窗口显示了无人机拓扑优化模型的结果。
选择了 视图 节点的 模型开发器 窗口,显示了为模型添加阴影的 环境光遮蔽 复选框等视图设置。图形 窗口显示了无人机机身拓扑优化模型的仿真结果。

光、相机和操作

COMSOL 中有多方法可以操控相机来获得更吸引人和信息丰富的视图。比如,您可能希望在查看一个较大模型的同时,放大模型中一个小关注点;或者你的模型可能具有高纵横比。在这些情况下,操控相机有助于显示模型中重要的部分。

超音速喷射器的模型。它的入口在前景中,出口在后景中。

曲轴网格,它的网格单元在前景中可见。

一个超音速喷射器,前景中的入口是我们的一个关注点,后景中的出口也可以看见(左)。曲轴的网格,前景中可以看到网格单元,但仍保持完整的模型(右)。

所有称职的摄影师(不管是业余的还是专业的)都知道,光照对于任何一张显像良好的图像都非常重要。但是使用 COMSOL Multiphysics 工作时就不一定需要了解这些,通常软件默认的照明设置就足够了。当然,照明确实有助于在正确的场景中展示模型。以下图中万圣节主题的南瓜模型为例,我们可以使用软件中的各种照明功能在镂空的南瓜中创建出蜡烛产生的独特的黄光。

A model of a jack-o'-lantern with a distinct yellow glow inside of it.

南瓜内的黄色点光源产生了黄色光晕,使用软件内置的 环境光遮蔽 特征可以添加阴影。

你可能会想:这些效果都很好,但我还想看到一些能显示实际物理场的结果。下图中的模型使用 COMSOL 6.0 版本软件传热模块的新功能,模拟了一个用火炉加热的房间内的表面对表面辐射。热量通过辐射传递到周围的表面,再经传导扩散到家具中。模型中添加了一个照明特征以突出显示模型表面辐射热通量的可视化效果。有关照明特征和相机功能,请阅读 COMSOL 学习中心的文章 使用图形窗口,了解更多详细内容。

一个用火炉加热的房间表面辐射热通量的模型。
由火炉加热的房间内表面的辐射热通量。

隐身特效:隐藏实体

我们一直在讨论如何修改 视图 节点,来突出模型(和仿真结果)中关注点的方法。视图 节点的另一个用处是能够在预处理和后处理中隐藏一些几何实体。同样,这个功能可以直接从 图形 工具栏访问,不过操作此功能获得的结果却是通过 视图 节点访问的。隐藏实体是大多数仿真中使用的一种技术,因为很多情况下,一些重要的结果会被壁挡住而无法看到。在下面的三个示例中,如果我们不隐藏一些不关注的部分,就无法查看结果。您可以阅读 COMSOL 学习中心的文章如何选择几何,了解如何使用隐藏功能。

  • 电力变压器的木结构中的损耗分布,其中隐藏了部分木结构和两个线圈的一半,以看到更多内部结构。
    电力变压器的木结构中的损耗分布,其中隐藏了部分木结构和两个线圈的一半结构,从而可以看到更多内部结构。
  • 室内音乐厅模型中的射线声学仿真。为了看到仿真结果,天花板、前墙和近墙都被隐藏起来了。室内音乐厅模型中的射线声学仿真。视图中隐藏了天花板、前壁和近侧壁,以查看仿真结果。
  • 风力发电机复合材料叶片表层(部分被隐藏了)和翼梁的von Mises应力分布。
    风力发电机复合材料叶片表层(部分被隐藏)和翼梁的 von Mises 应力分布。

结语与后续步骤

要了解如何使用文中讨论的特征和更多用户界面功能,请查看 COMSOL 学习中心的课程,了解如何在 COMSOL Multiphysics 中浏览用户界面。

]]>
//www.denkrieger.com/blogs/the-graphics-window-effective-beautiful-postprocessing/feed/ 0
如何从命令行运行 COMSOL Multiphysics® //www.denkrieger.com/blogs/how-to-run-comsol-multiphysics-from-the-command-line //www.denkrieger.com/blogs/how-to-run-comsol-multiphysics-from-the-command-line#comments Wed, 09 Dec 2020 02:18:33 +0000 http://cn.staging.comsol.com/blogs?p=244561 你知道如何从命令行运行同一个模型文件的多种工况并自动导出数据吗?我们只需要在 COMSOL Multiphysics® 软件的用户界面(UI)中进行少量准备工作,就可以使用方法来扩展模型文件,在方法中通过命令行自动实现许多模型的设置和计算。下面,我们来看看如何操作……

从模型写出数据

以在 COMSOL® 软件介绍中使用的模型——母线板教程模型 为例来演示如何操作这一工作流程。该模型具有多个需要研究的参数化输入以及需要得到的输出。

首先,将模型中的一些数据写入硬盘。我们的模型已经建立了多个绘图,包括其中的一个温度场。右键单击此特征,然后选择 添加要导出的图像 选项,将获得结果 > 导出 > 图像 特征,其设置如下面的屏幕截图所示。在这些设置中,键入输出文件名。请注意,我们还可以根据需要调整图像布局 设置。我们可以添加一些类似的特征,并导出其他类型的数据,包括动画、网格信息等。如果要一次性写出所有这些数据,请右键单击导出 分支,然后选择全部导出 选项。

A screenshot of the COMSOL Multiphysics model tree with the Results node opened to the Export branch and the image export settings opened.
屏幕截图显示了结果中的导出分支,此处用于导出图像文件。

我们还可以提取一些标量值。在结果 分支下添加计算组 特征,并添加任意数量的派生标量值。例如,对所有域中的损耗进行 积分 并计算最高温度。在 计算组 设置中,还可以指定文件名,如下所示。

A screenshot of the Evaluation Group node opened to the settings that specify writing numerical data to a file.
该屏幕截图显示了 计算组,将数据组合并写到文件中。

最后,结合计算组导出 特征,我们可以从模型中写出任意数量的数据。现在,让我们看看如何进一步实现自动化操作。

通过模型方法自动操作

我们需要 Microsoft® Windows™ 操作系统来使用模型方法,因为我们将使用 App 开发器 功能。单击功能区中的 App 开发器 按钮,或使用键盘快捷键 Control + Shift + A,将进入下图所示的界面。此处我们需要做的是在方法 分支中添加一个新方法,并为其命名,例如,my_method,但是先不添加任何内容。通过左上方的按钮或键盘快捷键 Control + Shift + M 返回到模型开发器。

The Application Builder zoomed in and open on a blank Method Editor window for writing a method to run COMSOL Multiphysics from the command line.
建立了一个方法的 App 开发器屏幕截图。

回到模型开发器,添加方法调用。右键单击全局定义,然后转到方法调用 子菜单,我们将在其中看到我们刚刚创建的方法。添加并确保更改标记 字段。通常,我们可以使用与App开发器中相同的名称。我们可以在下面的屏幕截图中看到方法调用 特征具有三个按钮:

  1. 运行
  2. 停止
  3. 编辑方法

编辑方法 按钮是一个快捷方式,可以便于切换到 App 开发器,一旦我们需要在方法中添加代码时就可使用此功能。

A screenshot of a Settings window showing how to add a call to a method in the Model Builder.
在模型开发器中添加方法的调用,使我们能够运行和编辑该方法。

如果对编程不是很熟悉,那么我们可以执行以下操作:方法包含代码片段,其中每行代码包含在模型上的某种修改或操作。有 2 种方法可以从模型开发器中提取这些代码片段。

第 1 种方法是转到开发工具 选项卡,然后单击录制方法。接着,我们可以在模型开发器中执行一系列完整的操作,直到单击停止录制 按钮。相关代码将保存到新方法中。

在第 2 种方法中,右键单击模型树中的特征,并且(在大多数情况下)我们将看到作为代码复制到剪贴板 子菜单。在模型的研究 分支上进行尝试,其中一个选项是运行。选择此选项可将用于运行的代码片段复制到剪贴板。转到方法编辑器并粘贴(Control + V)以查看代码:

model.study(“ std1”).run();

第 2 种方法比较简单,因此我们在这篇博客文章中使用了此方法。

A screenshot of the export settings with a menu expanded and the option Copy as Code to Clipboard selected.
复制用于运行模型树的特定节点的代码。

我们可以添加更多代码来自动执行数据提取。我们已经设置了将数据写到硬盘的功能,现在只需要在我们的方法中包括这些功能的运行即可。右键单击导出 特征,然后在运行命令中再次使用作为代码复制到剪贴板,如上所示。将其粘贴到我们的方法中,然后对计算组 重复此操作。完整的方法应如下所示:

model.study(“ std1”).run();
model.result().export().run();
model.result().evaluationGroup(“ eg1”).run();

由于我们正在通过方法写入硬盘,因此我们可能还需要更改一些默认的安全首选项。进入文件菜单 > 首选项 > 安全性,并允许访问所有文件的文件系统。此设置显示在下面的屏幕截图中。否则,我们将只能写入临时 和 App 文件 位置,此部分通过文件菜单 > 首选项 > 文件进行指定。

A screenshot of the Preferences window opened to the Security options.
如果需要,修改安全性首选项以允许方法写入文件。

现在,当我们运行此方法时,将重新求解整个模型,并将新的数据和图像文件写出到硬盘。最后一步是从命令行完成所有操作,完全不使用用户界面。

从命令行运行

保存此修改后的文件,将其命名为 my_file.mph,然后退出 COMSOL Multiphysics 用户界面。打开 Windows 命令提示符,然后导航到包含模型文件的目录。确保将 COMSOL® 可执行文件的路径添加到 PATH 环境变量中,然后输入以下命令:

comsolbatch -inputfile my_file.mph -pname tbb,Vtot -plist“ 1 [cm]”,“ 10 [mV]”-methodcall my_method -nosave

此命令将打开模型,并通过 -pname-plist 变元的组合使用修改模型中的两个全局参数。当前情况下,参数 tbb 会更改母线板的厚度, Vtot 为所施加的电压。

我们自定义的方法将被调用(通过 -methodcall 变元),实现运行模型并写出数据。附加的可选变元 -nosave 表示不保存模型文件。有关此处所使用的和所有其他可选变元的完整详细信息,请参见《COMSOL Multiphysics 参考手册》中的 COMSOL 命令部分。

现在,修改模型和写出数据的整个过程都已经简化为一个命令了。

我们还能做什么?

当然,我们在这里所做的只是一个非常简单的示例,以演示运行模型和写出数据的自动化过程。其实我们还可以做很多工作。基本上我们可以将所需的任何代码放入模型方法中。例如,可以放入以下代码:

另外,值得一提的是,我们还可以使用另一种工作流程实现许多相同的数据提取,即通过作业序列功能 (此功能不需要使用方法)。

最后,需要说明的是,我们可以同时并行运行多个不同的批处理作业,当我们拥有一台配置大内存和内核的计算机时,这种方法尤其有效。

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

]]>
//www.denkrieger.com/blogs/how-to-run-comsol-multiphysics-from-the-command-line/feed/ 2
如何将图像转换为模型几何 //www.denkrieger.com/blogs/how-to-use-an-add-in-to-convert-images-to-geometry-models //www.denkrieger.com/blogs/how-to-use-an-add-in-to-convert-images-to-geometry-models#comments Thu, 23 Jan 2020 05:28:50 +0000 http://cn.staging.comsol.com/blogs?p=212361 “图像到曲线”是 COMSOL Multiphysics 的一个产品插件,您可以将图像导入COMSOL中作为仿真分析的起点。借助此插件,您可以将导入图像的轮廓创建为插值曲线,然后将其转化为模型几何的一部分。这篇博客,我们将演示如何使用这项功能。

“图像到曲线”插件简介

下图显示了根据一张用黑色标记线绘制轮廓的照片创建扫掠网格的不同步骤。在这个示例中,3D 模型是通过拉伸 2D 几何图形创建的 。

COMSOL Multiphysics UI的屏幕截图,其中包含手绘的导入照片和叠加的轮廓图。

导入的照片(用智能手机拍摄),用黑色标记线画出了轮廓,并用绿色细线画出了叠加的轮廓线(绿色细线)。

导入手绘轮廓后的实体几何轮廓的屏幕截图。

删除了从图像转换模型几何的过程中产生的一些无关域后得到的实体几何轮廓。

该图像显示基于导入的照片的扫掠网格,如COMSOL Multiphysics UI中所示。

基于黑色标记线轮廓创建的扫掠网格。

启用“图像到曲线插件”

首先,选择模型开发器中的开发工具选项卡,单击插件库,然后从插件库启用“图像到曲线”插件。

外接程序库按钮的屏幕快照。

插件库按钮。

从列表中,选择“图像到曲线”复选框,启用该插件。

外接程序库窗口的屏幕截图。

插件库窗口。

单击 开发工具 选项卡上的插件按钮,软件界面显示“图像到曲线”插件。

开发工具选项卡的屏幕快照,其中包含图像到曲线加载项。

通过开发工具选项卡访问插件。

“图像到曲线”设置窗口

“图像到曲线”插件的 设置 窗口如下所示。该窗口的顶部有 5 个工具栏按钮,以及5个包含不同设置的工具栏。

图像到曲线设置窗口的屏幕快照。

“图像到曲线”的设置窗口。

通过设置窗口顶部的工具栏在不同步骤之间导航。

图像到曲线加载项的工具栏按钮的屏幕快照。
“图像到曲线”插件的工具栏按钮。

“图像到曲线”插件的工具栏按钮包括:

  • 重置
    • 将所有值重置为出厂设置
  • 绘图
    • 渲染原始导入的图像,不包含任何过滤器
  • 过滤器
    • 使用 图像 栏中指定的 过滤器 渲染过滤的图像
  • 轮廓
    • 使用轮廓栏中的阈值设置绘制图像轮廓
  • 曲线
    • 2D几何序列或3D工作平面中创建插值曲线节点
    • 可以在 曲线 栏中调整曲线插值容差

“图像到曲线”插件的设置工具栏包括:

  • 图像
  • 轮廓
  • 曲线
  • 目标
  • 高级

下面将详细描述各栏的设置项。

图像栏

要导入图像,请在插件 设置 窗口的 图像 中单击 浏览 按钮,打开文件浏览器,可以在其中选择要导入的图像。

“图像到曲线插件的“图像”部分的屏幕快照。"
图像栏

导入的图像可以是一个物体的照片或一张图片,支持的格式为.png,.jpg,.jpeg,.bmp和.gif。 为了创建高质量的模型几何,导入的图像最好是浅色背景深色形状,或深色背景上浅色形状。导入图像时,彩色图像将被转换为灰度图像。
导入图像后,图像栏中将显示以像素为单位的图像尺寸(xy),以当前长度单位(由几何节点确定)表示的图像宽度,文件名和用于处理图像的 过滤器 等信息。

通过更改图像宽度值,可以调整最终几何结构的尺寸。后续也可以通过在几何序列中添加比例特征节点来更改此设置。过滤器选项包括一些模糊过滤器和锐化过滤器,如下图所示。

图像到曲线插件的过滤器设置的屏幕快照。
过滤器设置

使用这些过滤器可减少导入图像中的噪点(模糊)或增强边缘(锐化),更改过滤器将更改从图像提取的曲线的形状,默认值为 高斯模糊 过滤器。如果有必要,请在导入之前使用专用的图像处理软件进一步处理图像。单击工具栏中的 绘图过滤器 按钮分别渲染原始图像或过滤后的图像。

轮廓栏

默认情况下,轮廓曲线会被自动放置在相对于过滤之后的图像中像素强度级别接近于平均阈值的位置。 如果需要手动控制轮廓阈值,请清除自动轮廓阈值复选框。

“要弯曲的图像”加载项的“轮廓”部分的屏幕快照。
轮廓栏

单击工具栏中的 轮廓 按钮,将轮廓曲线和图像可视化,下图为一个导入的工字梁轮廓图。

该图显示了导入到COMSOL®中的工字梁图像的轮廓。
工字梁图像的图像轮廓(绿色)。

如要检查像素值,请在“图像到曲线:图组中,选择表面节点,然后单击图形窗口。像素值和坐标将显示在一个二维计算表格中,如下图所示。

该图像显示具有显示的像素值的I型光束。
表格中显示了包含像素灰度值的工字梁图像。

曲线栏

单击工具栏中的曲线按钮,以2D几何序列或3D工作平面生成插值曲线节点。默认情况下,曲线类型设置为开放,但是可以将其更改为闭合或实体。曲线容差设置确定了曲线应该与轮廓曲线接近的程度。
图像到曲线插件的曲线部分的屏幕快照。
曲线栏

下图显示了一个工字梁示例,曲线 类型使用 实体曲线容差 为 0.0。

工字梁的2D实体几何的屏幕截图。
从工字梁图像转换为图像轮廓的2D实体几何。

目标栏

在目标栏中,可以指定应该为其创建插值曲线节点的几何序列。可以指定模型组件,对于 3D 几何,还可以指定 工作平面

图像到曲线插件的目标栏的屏幕快照。
目标栏

高级栏

高级 栏,可以更改用于可视化图像的插值方法,在 线性最近邻 插值之间选择。逐像素细化 设置用于确定表示图像每个像素的网格单元数:小于1.0的值表示用于表征图像的网格插值点数少于图像中的像素数,大于 1.0 的值表示网格将对图像进行过采样。
“图像到曲线”加载项的“高级”部分的屏幕快照。
高级栏

显示 x 和 y 度量复选框可控制是否显示轮廓曲线的尺寸。

屏幕截图显示了轮廓曲线的标注尺寸。
轮廓线尺寸的标注。

寻求帮助

如您需要查看与插件相关的动态帮助,请单击模型树中的图像到曲线节点,然后单击COMSOL Desktop®用户界面右上角的问号图标(与获取其他设置窗口的文档一样)。

如何将图像转换为几何模型的示例

您可以下载以下示例模​​型和上文展示的图像。

示例模型文件image_to_curve_h_beam.mph包含一个具有分布式载荷的简单结构分析,如下图所示。

显示如何将图像转换为几何模型的示例。
基于图像几何拉伸形成的 H 型梁的分布式载荷。

屏幕快照显示von Mises在H型钢中的应力。
H型梁中的von Mises应力。

示例模型文件hand_drawn_image_geometry_and_mesh.mph包含本文开头所描述的黑色标记线轮廓的几何形状和扫掠网格。 除了显示如何使用图像到曲线插件之外,还演示了如何删除在从图像到几何的转换中创建的一些无关的域。

请注意,您可以通过COMSOl中提供的所有几何建模功能,如与其他几何零件、钻孔等联合等,继续使用生成的2D或3D拉伸几何结构。以上示例中的网格是扫掠网格,但也可以使用非结构化的四面体或三角形网格。

扩展资源

如需了解如何创建此插件,您可以通过从 COMSOL 安装目录加载相应的MPH文件来查看,甚至修改其 App 开发器设置。对于 Windows® 操作系统的标准安装,该文件位于:

C:\Program Files\COMSOL\COMSOL55\Multiphysics\addins\COMSOL_Multiphysics\image_to_curve.mph

如需了解有关通常使用APP开发器创建插件和仿真APP的更多信息,请参见:

您还可以通过帮助文档工具在 COMSOL Multiphysics 安装访问这些文档。

]]>
//www.denkrieger.com/blogs/how-to-use-an-add-in-to-convert-images-to-geometry-models/feed/ 4
如何使用 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
如何使用插件自定义模型开发器的工作流程 //www.denkrieger.com/blogs/how-to-customize-your-model-builder-workflow-using-add-ins //www.denkrieger.com/blogs/how-to-customize-your-model-builder-workflow-using-add-ins#respond Fri, 03 Jan 2020 05:43:10 +0000 http://cn.staging.comsol.com/blogs?p=290841 插件或插件程序是对 COMSOL Multiphysics 软件中的用户自定义功能的扩展,即用户可以创建和打包自定义功能。通过使用插件自动执行常见的仿真任务,可以降低仿真错误,提高仿真效率。用户可以使用 App 开发器中强大的用户界面和编程工具创建插件。

编者注:本博客更新于 2024 年 7 月 22 日,以反映 COMSOL Multiphysics® 软件 6.2 版本的新特征和新功能。

设置表单和方法调用

插件由三部分组成:方法、表单和功能区选项卡,这三部分都是通过 App 开发器创建的。在早期版本的 COMSOL® 软件中,方法编辑器只包含创建仿真 App 的功能,但经过最近几次版本更新后,新版本软件中的方法编辑器也可以创建插件,即使用方法和表单创建插件。这样就能创建从用户自定义界面访问的用户自定义功能,从而增强模型开发器中的建模工作流程。接下来让我们简要回顾一下什么是方法和表单,先从方法开始。

方法是用户在 App 开发器中使用方法编辑器创建的基于 Java® 编程语言的程序。通过这些程序,用户能够创建执行复杂操作的自定义功能,例如结果评估和可视化。若想要学习如何使用方法,用户不必阅读用户手册,只需在用户界面上单击 录制代码,然后在模型开发器中执行想要的操作,最后停止录制,并修改自动生成的编程代码。

COMSOL Multiphysics 中 App 开发器的方法编辑器的截图。
方法编辑器可用于编写模型开发器树节点的标准用法中未涵盖的操作。

当然,您可以使用多个方法来表示自定义工作流程中的各种任务。您还可以在 App 开发器中使用表单编辑器创建自己的专用用户界面来规划您的工作流程。这样的用户界面可以在模型开发器中以 设置表单 或模态框的形式使用。

 App 开发器中的表单编辑器的截图。
表单编辑器可用于创建包含表单和表单对象(如输入框、按钮和组合框)的用户界面。

在这些精选的博客中了解更多有关创建方法、表单和仿真 App 的内容。

早期版本的 COMSOL Multiphysics® 不允许用户在会话之间或不同用户之间重复使用模型开发器中使用的方法和表单。当然,这样的需求可以通过创建一个仿真 App来实现。现在,在新版本的软件中用户可以创建插件、方法集合、表单和功能区选项卡,并将它们存储在一个插件库中,以便在新的仿真会话中重复使用。COMSOL Multiphysics 还提供了一些内置的插件库。对于内置的插件,您可以通过查看其 App 开发器的设置,包括表单、方法和功能区选项卡,来快速了解如何创建自己的插件。接下来,让我们来看看如何基于方法和设置表单创建插件。

在 COMSOL Multiphysics® 中创建插件

创建插件与创建仿真 App 类似,但有一些区别。插件没有自己的 图形 窗口,而是使用模型开发器中的主 图形 窗口。对于任何类型的模型,插件都应该能够正常工作或者能给出受控的错误信息。要创建一个插件,您可以从在 App 开发器中创建表单开始,然后单击功能区中的 插件定义 来创建插件,如下图所示。

插件定义按钮的截图
功能区中的 插件定义 按钮。

右键单击 App 树中的 插件定义 节点,然后选择 表单定义

App 开发器的特写视图,显示了插件定义按钮下的表单定义被选中。
为插件创建表单定义。

下图为 表单定义 的设置窗口。在这里,您可以为插件表单添加标签,也可以选择插件使用的表单。标签 将显示在用户定义的插件库中。您可以选择将该表单作为模型树中的 设置表单 显示,还是作为 对话框 显示。允许多个设置表单 复选框用于允许在模型树中有多个 设置表单 实例。描述 框中的内容将显示在插件库中,并在功能区中选择插件时作为工具提示显示。

表单定义的设置窗口的截图,描述框的内容已展开
表单定义 的设置窗口

单击 插件定义 节点,查看其 设置 窗口,如下图所示。

插件定义设置窗口的截图
插件定义 的设置窗口。

文件名 是插件的 MPH 文件在用户自定义的插件库中的位置。如果您希望与同事共享该插件,可以将其放在共享网络驱动器上。 标签 将显示在 插件库 窗口中。唯一标识符 是插件的标识,对于任何 COMSOL Multiphysics 会话都是唯一的。唯一标识符建议采用类似于 < company name > . < Add-in name > 的格式,例如, my_company.my_add-in。您可以在创建的插件中应用 编辑密码,该密码与插件根节点 设置 窗口中的编辑密码不同。

要创建插件(一种特殊类型的MPH 文件),请单击 创建插件 按钮。

创建插件按钮的截图
创建插件 按钮。

插件库和插件的使用

要使用 插件库 中的插件,首先需要启动它。在模型开发器的 开发工具 选项卡中,单击 插件库 即可。

插件库按钮的屏幕截图
插件库 按钮。

在插件列表中,选择要启用的插件的复选框。

插件库的特写视图,图中显示已选中了colored_selections,image_to_curve 和 planar_cut selected。
插件库 窗口。

启用插件后,单击 开发工具 选项卡中的 插件 按钮时,就会显示相应的插件。

从开发工具选项卡选择插件后的屏幕截图
开发工具 选项卡访问插件。

下图显示了一个内置插件的 设置表单

模型开发器的特写视图,突出显示了图像到曲线插件的设置窗口,并在设置窗口中展开显示了 Image 和 Contour 的部分。
图像到曲线 插件的设置窗口。

如果您需要查看和编辑某个内置插件的 App 开发器设置,可以打开相应的 MPH 文件。在 Windows® 系统的安装文件中,内置插件库位于:

C:\Program Files\COMSOL\COMSOL62\Multiphysics\addins.

单击 插件库 窗口底部的 添加用户插件库 按钮,即可浏览用户定义的插件库。

添加用户插件库按钮的屏幕截图
添加用户插件库 按钮。

用户自定义的插件库将与软件内置的插件库一起显示,如下图所示。

用户定义的插件库的屏幕截图
用户定义的插件库。

创建和编辑插件的工作流程

在创建和编辑插件时,您会发现同时打开两个 COMSOL Multiphysics 会话非常有用:

  1. 一个会话用于显示原始插件的 MPH-文件,在这个会话中您主要在App开发器中工作
  2. 另一个会话用于在模型开发器中测试插件

在使用模型开发器测试插件时,请确保测试多种模型,包括不同空间维度的模型以及包含多个模型组件的模型。使用 刷新插件 按钮可以确保您使用的插件始终是最新版本。

刷新插件按钮的截图
刷新插件。

仿真 App 和插件之间的一些区别

仿真 App 和插件之间有许多相似之处,但也有一些重要的区别,下表对二者之间的差别进行了总结。

条目 仿真 App 插件
目标对象 任何人 仿真专家
开发工作 简单(适用于简单的 App) 更详细
模型 嵌入式模型 任意用户定义的模型
图形 多个图形窗口 COMSOL Desktop® 图形窗口
可与…一起使用 已编译的独立仿真 App, COMSOL Server™, COMSOL Multiphysics COMSOL Multiphysics

仿真 App 通常是围绕一个您可以完全控制的嵌入式模型构建的,而插件则需要适用于用户提出的任何模型和仿真场景。因此,创建插件通常比创建仿真 App 需要更多的工作。当然,这也取决于所处理的仿真任务的复杂程度。

例如,一个插件的维护需要检查诸如以下这些项目:

  • 是否有多个模型组件
  • 当前组件的空间维度:0D、1D、 2D 或 3D
  • 某些项是否为空
  • 名称是否唯一,以避免命名冲突

内置插件库中的示例也说明了这一点。

内置插件库

软件内置的插件库提供了多个插件示例,您可以从这些示例开始,快速学习如何创建自己的插件。这些示例演示了如何创建包含自定义方法、设置表单和功能区选项卡的插件。如果您想要查看和编辑内置插件的设置,可以打开相应的 MPH 文件,在 Windows® 安装系统中,该文件位于:C:\Program Files\COMSOL\COMSOL62\Multiphysics\addins.

一个平面切割插件的屏幕截图
一个使用了内置的平面切割插件的模型。

在模型开发器中使用了内置的图像到曲线插件的屏幕截图
一个使用了内置的图像到曲线插件的模型。

您可以查看 App 开发器简介 文档 ,了解有关创建插件的更多信息。
 

Microsoft 和 Windows 是微软公司在美国和/或其他国家的注册商标或商标。
Oracle 和 Java 是 Oracle 和/或其关联公司的注册商标。

]]>
//www.denkrieger.com/blogs/how-to-customize-your-model-builder-workflow-using-add-ins/feed/ 0
在 COMSOL Multiphysics® 软件中比较两个模型文件 //www.denkrieger.com/blogs/comparing-2-model-files-in-the-comsol-multiphysics-software //www.denkrieger.com/blogs/comparing-2-model-files-in-the-comsol-multiphysics-software#respond Mon, 15 Apr 2019 03:25:00 +0000 http://cn.staging.comsol.com/blogs?p=224521 当我们使用 COMSOL Multiphysics® 软件及其附加产品重新创建了一个 COMSOL 案例库中的模型,并想了解如何使用软件的特定功能来设置该模型时,发现我们创建的模型可能与原模型的输出结果不一样。那么,我们如何查找这两个模型之间的差异呢?下面,我们将为您介绍一个在 COMSOL 软件中比较两个模型差异的方法。

使用模型文件比较工具

对于任何在 COMSOL 软件中创建的模型文件,我们随时可以使用 比较 工具将 COMSOL Desktop® 中的当前模型与文件系统中的其他任何 COMSOL 模型文件(在比较 工具中,称为 远程文件)进行比较。通过对模型文件进行比较,我们可以:

  • 识别并纠正当前模型中的错误;
  • 记录并检查开发过程中两个模型之间的差异;
  • 将两个模型文件之间的差异输出为一个 XML 文件,以进行下一步处理。

工具栏中 开发工具 下的比较按钮。

Windows®操作系统中的开发工具栏的屏幕截图

Linux®操作系统和macOS中的 开发工具 栏的屏幕截图
比较按钮是“开发工具”工具栏最右边的按钮。在 Windows® 操作系统中该工具栏位于软件界面的顶部,在 Linux® 操作系统和 macOS 中,位于软件界面的底部。

首先,单击 比较 按钮,打开 选择 App 窗口,从文件系统中选择任何一个 COMSOL Multiphysics 文件(MPH 文件)。然后,单击 打开 按钮打开该文件并进行比较,比较结果将在 COMSOL Desktop® 中的 比较结果 窗口显示。


比较结果窗口显示本地文件和远程文件的差异列表。

单击 选定属性的详细比较 按钮,或双击该行打开 比较属性 窗口,其中包含有关比较的更多详细信息。

A Compare Attribute window used for comparing 2 model files.
“比较属性”窗口列出了属性值之间差异的更详细视图。在这个案例中,选择了边界差异。

两个模型之间的典型差异

在创建或重新创建 COMSOL Multiphysics 模型时,可能会出现几个错误使模型的结果与预期不同。例如,模型中会包含一些与预期值不符的源值、流量、材料属性或其他输入值。这可能是由于一些小错误引起的,例如小数点位置错误。根据被改值的用途和影响,可能会对结果产生巨大影响。

另外,还可能出现的错误是,在确定边界条件在何处有效时选择了错误的边界;也有可能是选择了错误的边界设置;或者,从某些模型文档中输入了几何实体编号,而当前模型的实际几何组件的编号可能与模型文档中的不匹配。这个不匹配可能是由创建模型几何结构时的某些更改引起的,也可能是添加的边界条件或域源的选择是空的,或者这些选择对于任何几何实体都未激活。在这种情况下,模型树中的节点会出现警告,并会提示选择为空 帮助我们识别这些物理场节点。

A screenshot of a tooltip with the Selection is empty warning.
添加的物理场节点选择为空时的提示信息和警告。

对于这些情况(很容易发现的空选择除外),比较工具对于查找两个假定相同的 COMSOL 模型之间的确切差异非常有用。下面我们以 COMSOL Multiphysics 案例库中的 汽车消声器模型为例,来介绍如何使用比较工具来查找这些差异。

此模型模拟了内燃机消声器中压力波的传播。下图显示了一个示例模型的解以及两个新创建的模型的解,新创建的模型分别使用了错误的入口压力幅值和出口边界选择。

案例库中原始汽车消声器模型中的声压图。
入口压力选择错误模型的声压解

COMSOL案例库中原始模型的声压解(左),入口压力选择错误模型的声压解(中)和出口边界选择错误模型的声压解(右)。

意外更改产生的差异

假设我们在输入入口压力幅值参数值 p0 时,手指在键盘上不小心滑动了一下将该值设置为 11Pa,而不是案例库中案例模型中的 1Pa。很显然,产生的压力将比预期高 11 倍,如上图(中)所示。此时,使用比较工具,将在 比较结果 窗口显示以下差异:

A screenshot of the Comparison Result window showing the difference in inlet pressures between 2 models.
比较结果窗口显示了本地文件与远程文件的入口压力幅值差异。

在上图所示的 差异 中,照相机位置(视图 下方) 和求解器的时间标记(求解器序列 下方)处还显示了一些其他差异,我们可以忽略这些差异。

结果 栏显示了绘图数据范围存在差异,这是解改变产生的影响。如果我们凭借经验或预感判断该差异可能与压力有关,那么比较结果的筛选图仅显示入口压力幅值的变化:

A screenshot of the Comparison Result window when the list of differences is filtered for inlet pressure.
比较结果”窗口中差异的筛选图,仅显示入口压力幅值的差异。

将入口压力幅值的参数 11Pa校正为 1Pa,然后重新求解模型,得出的解与案例库模型的解相同。

边界选择错误产生的差异

出口边界选择不正确也会导致差异产生。当在图形 窗口选择出口管的上边界时,可能会选择错误的边界。错误的选择会影响解,因此声压会略有变化,并且压力等值面具有不同的形状和位置,如上图右方所示。使用比较工具,比较结果 窗口将显示以下差异:

比较结果窗口显示了选择不同边界条件的2个模型结果差异
选择 平面波辐射为出口边界条件时,比较结果”窗口显示了本地值和远程值之间的差异。

与之前的比较一样,在上面的 差异 中,我们可以忽略其他差异。如果我们认为差异与某些选择有关,那么比较结果的筛选图仅显示出口边界选择的变化:

A screenshot of the Comparison Result window with the differences in boundary selections filtered.
比较结果”窗口中差异的筛选图,仅显示选择出口边界的差异。

通过将出口的选择更改为仅包括边界 50,然后重新求解模型,我们将得到与案例库模型相同的解。

结论和后续操作

在本篇博客文章中,我们介绍了如何使用 COMSOL Multiphysics 中的比较工具查找两个 COMSOL 模型文件之间的差异。对两个常见的错误建模示例,使用比较工具查找出错误解与预期解的差异。通过纠正这些差异,我们可以重新创建模型并得到正确的解。

点击下方按钮,浏览 COMSOL “案例下载”页面,尝试重新创建一个模型并与案例模型进行比较:

 

阅读下面博客文章,了解如何在案例库中找到有趣的示例:如何在 COMSOL Multiphysics® 中搜索特定 App

LinuxLinus Torvalds在美国和其他国家/地区的注册商标。macOSApple Inc.在美国和其他国家/地区的商标。MicrosoftWindowsMicrosoft Corporation在美国和/或其他国家的注册商标或商标。

]]>
//www.denkrieger.com/blogs/comparing-2-model-files-in-the-comsol-multiphysics-software/feed/ 0
如何定制 COMSOL Desktop® 和使用键盘快捷键 //www.denkrieger.com/blogs/how-to-customize-the-comsol-desktop-and-use-keyboard-shortcuts //www.denkrieger.com/blogs/how-to-customize-the-comsol-desktop-and-use-keyboard-shortcuts#respond Tue, 11 Dec 2018 06:09:47 +0000 http://cn.staging.comsol.com/blogs?p=197001 COMSOL Desktop® 是 COMSOL Multiphysics® 软件中用于创建和管理仿真的集成用户环境,其中包含模型开发器 窗口、模型树、图形 窗口,以及带有多种建模工具的菜单和工具栏。在本篇博客文章中,我们将介绍如何定制用户界面,以及如何使用各种键盘快捷键来实现最高效的建模过程。

定制 COMSOL Desktop® 布局

COMSOL Multiphysics 用户界面包含许多窗口,且各自的用途不同。以下是常规显示的默认窗口:

  • 模型开发器,为模型树提供当前模型内容的概览
  • 设置,包含模型开发器 窗口中选定节点的所有设置
  • 图形,显示几何结构和网格,并显示结果图
  • 消息进度日志,通常在屏幕底部显示为三个选项卡窗口,分别提供常规消息、求解器进度以及模型属性和求解器活动日志

这些窗口中只有 消息 窗口可以关闭。你也可以从 窗口 菜单中打开许多其他窗口。

 

最大化窗口

举例来说,如果你想要增加显示结果图的 图形 窗口的大小,可以双击窗口顶部将其最大化,窗口随即变为最大化,所有其他窗口都被隐藏。再次双击,用户界面将恢复到窗口最大化之前的布局,这样,你可以最大化用户界面中的任何窗口。

调整、浮动、隐藏和关闭 Desktop 窗口

要调整窗口大小,请单击并拖动窗口边缘来增大或减小窗口宽度或高度。你也可以通过三种方式使窗口“浮动”或将其分离出来。一种是将窗口拖到 Desktop 之外,也可以右键单击窗口并选择 浮动 ,还可以从窗口右上角的 窗口位置 菜单(向下的小箭头)中选择 浮动 。此操作将分离窗口,使其作为屏幕上的一个单独窗口“浮动”显示。你还可以根据需要移动浮动窗口并调整其大小。

要停靠浮动窗口,右键单击窗口顶部并选择 停靠 ,或者从 窗口位置 菜单中选择 停靠 ,然后窗口将停靠到其先前的位置。此外,你也可以在 COMSOL Desktop 顶部移动浮动窗口,并单击它来显示定位窗格。然后,可以将浮动窗口移动到指定的窗口位置,浮动窗口会停靠在该位置(见下一节)。

要在 Linux® 操作系统或 macOS 版软件中隐藏窗口,可以右键单击窗口顶部并选择 切换隐藏 或单击窗口右上角的 切换隐藏 按钮(图钉图标)。窗口会被隐藏,但其名称仍显示在左侧或右侧边缘。要还原窗口,将鼠标移动到边缘中的窗口名称上,右键单击窗口顶部,然后选择 切换隐藏 或单击 切换隐藏 按钮。

要在 Windows® 版软件中隐藏(最小化)窗口,可以单击窗口右上角的 最小化 按钮,然后,它会在右侧边缘显示为一个图标。在最小化窗口后,单击 还原 按钮可还原用户界面。你也可以右键单击 还原 按钮下方的窗口图标,然后选择 还原
本篇博客文章开头列出的一些最重要的窗口是不可关闭的。要关闭任何其他窗口,请单击 关闭 按钮(叉号)。若要再次打开关闭的窗口,请从 窗口 菜单中选择该窗口。

平铺绘图窗口以显示多个绘图和图形

让我们借助用户界面的灵活性来平铺多个绘图窗口,以便同时查看这些窗口。如上所述,图形 窗口始终存在,不能关闭,也不能重命名,但你可以将绘图定向到单独的绘图 窗口,这是一种可以重命名、也可以关闭的类似窗口。通过将每个绘图放在具有描述性名称的单独绘图 窗口中,你可以创建多个平铺绘图来显示模型求解结果的各个方面。当你将绘图 窗口设为浮动时,可以将其定位在另一个绘图 窗口的顶部,作为“基础窗口”。然后,单击鼠标,此时会显示定位窗格。比如,你可以使用定位窗格将浮动窗口平铺在“基础窗口”的右侧,并继续添加更多绘图 窗口。下面显示的是四个平铺的绘图 窗口。

显示四个平铺绘图窗口的 COMSOL Desktop® 屏幕截图。平铺的四个绘图窗口,显示了模型求解结果的四个方面(从左上方开始,沿顺时针方向依次为:等温线、应力分布、焊点处应力放大图以及非线性求解器的收敛图)。

将 COMSOL Desktop® 恢复为内置布局

添加并重新排列多个窗口之后,建议你返回默认布局,为此,可以单击重置桌面 按钮,这将关闭所有添加的窗口,并恢复之前讨论的窗口的大小和位置。

有两种内置布局可供你选择:

  • 宽屏
    • 用于较大的宽屏显示器
    • 模型开发器 设置 图形 窗口并排显示
  • 常规屏幕
    • 用于较小的常规屏幕
    • 模型开发器 窗口位于 设置 窗口顶部, 图形 窗口位于旁

你始终需要选择一种布局方式, 重置桌面 按钮可将窗口还原为选定的布局。

COMSOL Desktop® 宽屏布局的屏幕截图。
. 重置后 COMSOL Multiphysics® 用户界面布局的屏幕截图。

重置桌面的宽屏布局(左)和常规布局(右)。

在你选择重置桌面 按钮之前,桌面会一直显示为修改后的布局。你可以使用此功能保留两种定制布局,一种是宽屏布局,另一种是常规屏幕布局。如果你的台式计算机装置包含双显示器,则可以配置常规屏幕布局,以便 COMSOL Desktop® 与模型开发器设置 窗口(可能还有其他相关窗口)显示在同一显示器中。然后,可以用浮动的最大化图形 窗口填充第二个窗口。这种配置对于结果的后处理和可视化非常有用。宽屏布局 可以保持其基本的集成环境,并可能用于预处理和设置几何结构和物理场。随后,你可以通过选择宽屏布局 常规屏幕布局 在定制布局之间进行快速切换。

为 Linux® 和 macOS 操作系统定制 COMSOL Desktop®

前面的例子使用的是 Windows® 操作系统的 COMSOL Desktop®,Linux® 和 macOS 操作系统的 COMSOL Desktop® 略有不同,下面列出它们之间的最大差异:

  • The 重置桌面宽屏布局常规屏幕布局 选项位于窗口 菜单的桌面布局
  • 子菜单中没有快速访问工具栏
  • 你可以通过单击窗口右上角的最大化 按钮将窗口最大化
  • 在 Linux® 和 macOS 操作系统中,最小化(左)和最大化(右)按钮位于用户界面窗口的右上角
  • 没有浮动停靠 命令,但你可以将窗口拖到 COMSOL Desktop 以外,使窗口浮动,并可以将其移动到新位置
  • 没有定位窗格

 

COMSOL Multiphysics® 建模的实用键盘快捷键

在学习并记住以下常用命令和操作的键盘快捷键之后,你可以使用这些快捷键来提高工作效率,而无需用鼠标访问相应的功能。

导航模型开发器树

你可以使用上下箭头键在“模型开发器”树中的节点之间上下移动,这些节点表示模型开发器 窗口中的模型。此外,你还可以使用以下组合键来导航模型树:

  • 右箭头键可以展开节点以显示其子节点
  • 左箭头键可以折叠节点以隐藏其子节点
  • Alt+左箭头键(macOS 中为 Ctrl+左箭头键)可移动到“模型开发器”中先前选择的节点
  • Alt+右箭头键(macOS 中为 Ctrl+右箭头键)可移动到“模型开发器”中的下一个选定节点

除此之外,你还可以使用模型开发器 窗口工具栏上的全部折叠全部展开 按钮。下图显示完全折叠和完全展开的同一模型树(完全展开的图像没有显示整个展开的模型树)。

模型树完全折叠时的屏幕截图。
模型树展开时的屏幕截图。

完全折叠(左)和完全展开(右)的同一模型树。

切换到源

在模型树中移动的另一种方式是使用切换到源 按钮。此按钮显示在可以选择的列表旁边,例如下面的列表:

  • 要在绘图组中使用的数据集
  • 要在数据集中使用的解
  • 用于定义求解器设置的研究步骤
  • 一种通用模型输入,用作物理场接口中材料属性的值

单击切换到源 按钮将焦点从该按钮所在的节点移至包含切换到源 按钮所属列表中所选源的节点。例如,如下图所示,当你在应力(实体)绘图组设置 窗口中单击数据集 列表旁的切换到源 按钮时,焦点将移动到模型树中绘图组上方数据集 下的研究 1/解1 (1) 数据集节点。

 

当你单击数据集的 切换到源按钮时,焦点将移到研究 1/解 1 (1) 数据集,这是绘图的数据源。

快速访问工具栏

快速访问工具栏显示在 COMSOL Desktop 的最顶部,包含一组可定制的常用操作按钮,如 新建 打开 保存 撤消 重做 复制 粘贴 等。要定制快速访问工具栏中的按钮,请单击工具栏右侧的向下箭头,打开 定制快速访问工具栏 菜单,然后,可以右键单击快速访问工具栏;比如,从一组标准按钮中选择 在功能区下方显示快速访问工具栏 ;然后添加更多命令。

选择 更多命令 时,软件将显示 快速访问工具栏 对话框。你可以在其中分别使用 添加 >> << 移除 按钮从快速访问工具栏中选择要添加或移除的命令。当你在右侧的活动命令集中选择一个命令按钮时,可以使用向上和向下箭头键来更改按钮的顺序。


快速访问工具栏对话框,用于添加、移动和重新排列快速访问工具栏中的按钮。

尽管“快速访问工具栏”中的大多数按钮都有预定义的键盘快捷键,例如,Ctrl+S 用于保存,Ctrl+Z 用于撤消,但你也可以激活快速访问工具栏的数字键盘快捷键。要执行此操作,可以按 Alt 键,此时会出现代表每个按钮的数字(见下图),按下相应的数字键来激活该按钮的命令。

 快速访问工具栏的键盘快捷键屏幕截图。
按 Alt 键显示快速访问工具栏的键盘快捷键。举个例子,按 2 可以打开一个新的模型文件。

通过双击快速添加特征

在许多情况下,当你在模型中添加某些内容(如物理场接口、研究或材料)时,只需双击你想添加的项目,然后该项目将直接添加到模型树中,而无需单击添加到组件 按钮。在“模型向导”中,双击选择物理场 页面上的物理场接口,将其添加到添加物理场接口 下的列表中,而无需单击添加 按钮。在选择研究 页面上,双击研究将其添加到添加的研究 下,并退出“模型向导”,无需单击完成 按钮。

实用键盘快捷键列表

在 COMSOL Multiphysics 中,你可以使用许多实用的键盘快捷键。你可能熟悉其他软件程序的其中一些键盘快捷键,例如,Ctrl+S 用于保存;Ctrl+A 用于全选;Ctrl+C 和 Ctrl+V 分别用于复制粘贴;Del 键用于删除

注:在 macOS 操作系统中,Command+S、Command+A 等命令代替了 Windows® 和 Linux® 操作系统中的 Ctrl 键。

下表列出了一些最有用的键盘快捷键:

键盘快捷键 描述
Ctrl+O 打开 COMSOL 文件,例如 MPH 文件(*.mph)
Ctrl+F8 测试 App;启动 App 进行测试
Ctrl+D 清除“模型开发器”中所有域、边界、边或点的选择;清除表单编辑器窗口中的所有选择
Ctrl+F 打开查找 工具,在模型或 App 方法中查找搜索字符串,并在“模型开发器”树和“App 开发器”树中节点的设置、描述、标记和标签中搜索特定字符串
Ctrl+Z 撤消上一个操作
Ctrl+Y 重做上次撤消的操作
F1 打开帮助 窗口以显示上下文帮助并访问用户文档
F2 重命名选定的节点、文件或文件夹
F7 在几何结构和网格分支中构建所选节点,计算选定的研究步骤,计算求解器序列中的选定节点,或绘制瞬态、特征频率或特征值解;在 Windows® 中,进入“App 开发器”中方法编辑器的调试工具r
F8 构建几何结构或网格,计算整个求解器序列,更新结果数据,更新绘图或在方法调用中运行模型方法

F1、F2 等是功能键,通常位于键盘上标准字母数字小键盘上方。

App 开发器的键盘快捷键

当你在“App 开发器”中创建方法时,可以在 方法编辑器 窗口中使用这些方法的代码。在这种环境下,以下键盘快捷键特别有用:

键盘快捷键 描述
F8 检查方法中的语法;问题显示在错误和警告 窗口中。
F11 转到模型节点。
例如,如果突出显示 “pg4" in model.result("pg4").run();,则相应的绘图组节点将在编辑器工具 窗口中突出显示。在该窗口中,单击编辑节点 按钮,将其移动到“模型开发器”窗口中的相应节点(以编辑其设置)。
Ctrl+1 创建局部变量声明,可以简化代码。
例如,代码 model.result("pg4").run(); 转换为以下两行:ResultFeature pg4 = model.result("pg4"); pg4.run; ,你可以在整个方法中使用局部声明的变量 pg4
Ctrl+K 创建对象或菜单的快捷方式;与 Ctrl+1 类似,但当你想要在多个方法中使用相同的变量(快捷方式)名称引用对象(如绘图组)时,这非常有用。
例如,当你在model.result("pg4").run(); 中突出显示“pg4”的情况下按 Ctrl+K 时,屏幕将显示使用快捷方式 对话框,你可以在其中为快捷方式提供名称,还可以更新所有方法。然后,表示 Results/result/pg4 的快捷方式 pg4 出现在 声明>快捷方式 节点 设置 窗口的 快捷方式列表 下,你可以在 App 的所有方法中使用,以简化代码。
Ctrl+R 录制代码;开始录制所有后续建模步骤的相应代码。COMSOL Desktop® 窗口会显示一个红色框,表示正在进行录制。再次按 Ctrl+R 可停止录制。录制的代码被插入用于录制的活动方法中。

使用这些键盘快捷键可以帮助你更快地开发和调试仿真 App 的方法。

关键点

本文中,我们大致介绍了如何定制 COMSOL Desktop® 以及如何使用键盘快捷键来提高 COMSOL Multiphysics® 建模过程的效率。通过探索这些选项,你可以定制用户界面,使其符合你的建模需求,并尝试使用一些键盘快捷键,看看它们是否会帮助你更快速高效地执行一些建模任务。

还有许多其他的键盘快捷键和鼠标快捷键。《COMSOL Multiphysics 简介》中的“附录 B – 键盘和鼠标快捷方式”列出了所有可用的快捷方式。在 COMSOL Multiphysics Reference Manual 中,你将找到有关如何定制建模环境的更多信息。

根据自己的进度学习建模工作流程

如需了解如何使用 COMSOL® 软件,包括 COMSOL Multiphysics 建模工作流程中的所有步骤,请观看我们陆续提供的一系列自学教程视频,并使用配套的练习文件进行练习:

Linux 是 Linus Torvalds 在美国和其他国家/地区的注册商标。macOS 是 Apple Inc. 在美国和其他国家/地区的商标。Microsoft 和 Windows 是 Microsoft Corporation 在美国和/或其他国家/地区的注册商标或商标。

]]>
//www.denkrieger.com/blogs/how-to-customize-the-comsol-desktop-and-use-keyboard-shortcuts/feed/ 0
如何在 COMSOL Multiphysics® 中搜索特定 App //www.denkrieger.com/blogs/how-to-search-for-a-specific-comsol-multiphysics-application //www.denkrieger.com/blogs/how-to-search-for-a-specific-comsol-multiphysics-application#respond Thu, 10 May 2018 06:44:14 +0000 http://cn.staging.comsol.com/blogs?p=189801 在 COMSOL Multiphysics® 软件中,用户可以直接访问“案例库”,从丰富的案例中汲取有价值的知识信息,学习如何模拟特定类型的问题,以及如何使用特定功能与建模技巧,而且案例在不断增加与更新。只要学会充分利用“案例库”,你就可以轻松找到所需要的信息。

在“案例库”中找到所需内容

我们会定期向“案例库”补充更多案例。不过,随着模型和 App 数量增多,查找特定 App 难度也增大。

A screenshot of the Application Libraries in COMSOL Multiphysics.
在 COMSOL Multiphysics“案例库”中选定“热执行器”模型。

为了摆脱这个困境,你可以使用“案例库”中的搜索工具轻易地缩小搜索范围。“案例库”按模块分类,每个模块包含更深一层的子文件夹,你可以利用搜索字段抓取模型描述中的任何自由文本。比如,搜索 automotive,不仅返回“automotive_muffler”,还有“brake_disc”和“snap_hook”模型,因为它们的描述中也都包含“automotive”。

除了搜索自由文本以外,我们还可以利用其他一些简单又快捷的方法(请注意,“案例库”只包括你在安装中或安装后下载的模型和 App,因此本文显示的搜索结果可能与你的搜索结果不完全相同)。

注意:为了充分利用本文讨论的搜索功能,我们建议使用 COMSOL Multiphysics 5.3版本更新 3 或其后的版本。

通过 App 名称搜索

通过 App 名称进行搜索比自由文本的用途更广。为了使搜索功能严格按照名称搜索模型,我们利用了前缀 @name:。此工具可以返回精确匹配的结果,比如输入 @name:electric_sensor,系统将返回名称完全相同的模型。用户也可以输入特定头/尾部字符,进行部分匹配搜索。比如输入 @name:elec*,系统将返回以“elec”开头的所有模型。最后,也可以输入名称中的任意搜索字符串,进行部分匹配搜索,比如 @name:elec*,系统将返回所有名称中包含“elec”的模型。

A collage of three screenshots of the Application Libraries to demonstrate how to search for a tutorial model.
三张图分别通过精确的名称(左)、名称前缀文本(中)或者名称中的任意文本(右)来搜索模型。

有了这项功能,你只需要知道模型名称,就可以精确地找到模型,而不必逐层单击文件夹结构。你还可以利用名称中的关键术语、前缀或后缀——例如 @name:mixer@name:piezo*@name:*metry——分别来搜索模型。

通过特征和标记搜索

基于标题的搜索方法已经足够简单,不过利用模型文件中的文本进行搜索就是另一回事了。下面将介绍,通过搜索 MPH 文件中的术语,我们可以轻松找到某个模型特征。首先,我们介绍如何找到这些搜索项,此例中,搜索词指的是标记。

在“模型开发器”窗口顶部的工具栏中,最右侧是模型树节点文本 按钮。该按钮的作用是在模型树节点的右侧显示出文本。虽然名称标记类型 选项都可以搜索模型文件,不过标记 选项适用于大部分节点,因此是最高效的选项。

A zoomed-in screenshot showing how to view tags in the Model Builder.
单击显示 App 节点标记;{comp1} 是截图唯一显示的标记。

接着,利用 @ 格式创建查询,并删除标记中的数字,借此搜索包含该标记或特征的所有模型。后文将提到,你还可以进一步缩小标记查询的搜索结果。

如果你对某个物理场特征很好奇,想要了解它的用途或者使用方法等,那么可以在“案例库”中搜索使用该特征的模型。例如,“案例库”的多个模块都采用了来自“粒子追踪模块”的从栅格释放 特征。

如果不能搜索到标记,一些特征就很难找到。大部分带标记的特征都可以通过这种方式来查找,包括定义(功能、选择、探针和耦合)、几何(体素和运算)、物理场边界条件、网格节点、研究步骤或结果节点(绘图类型、数据集和派生值)。

A screenshot of the Application Libraries after searching for models containing the Release from Grid feature.
包含 从栅格释放特征的模型列表。只查看右边的模型预览是无法找到该信息的。

通过物理场接口搜索

某些物理场接口可能会出现在你意想不到的模型中。这就导致我们很难找到使用某个接口的所有模型。全局常微分和微分代数方程(ge)接口就是一个例子。如果不逐个浏览模型描述,那么该如何确定哪些模型使用了这个具有广泛应用的接口呢?

辖域语法 @physics: 可以帮助我们在“案例库”中搜索包含特定接口的模型。比如,搜索词 @physics:ge 可以找到所有使用全局常微分和微分代数方程 接口的模型。你只需要知道缩写是什么,而且添加物理场 的“设置”窗口列出了全部缩写。

你也可以利用搜索项 @ge 找到这些模型,不过这也会返回包含全局方程 节点的模型。

A screenshot of the Application Libraries after searching for models containing the Global ODEs and DAEs interface.
搜索 @physics:ge,即可返回所有使用 全局常微分和微分代数方程接口的模型。

缩小特定 COMSOL Multiphysics® App的搜索范围

假设你需要在“案例库”中搜索所有包含几何扫描的模型。这时你可以使用标记搜索,但是扫掠网格和扫描几何运算拥有相同的标记:{swe},而包含扫掠网格的模型数量远远超过几何扫描,所以要学习如何进行几何扫描,利用 @swe 来查找相关的案例基本上是不可能的。那么如何解决这个问题呢?输入 @geom:swe,只在几何 节点中搜索 {swe} 标记。

A screenshot of the Application Libraries after searching for models containing the Sweep geometry operation.
查询 @geom:swe,返回五个包含 扫描几何运算的模型。

方便搜索“案例库”的实用查询列表

利用上述工具,你基本上可以在 COMSOL® 软件的“案例库”内搜索到任何特征。下表中的搜索参数能够帮助你找到某个具体特征:

搜索参数 用途
@axi 返回包含默认的轴对称 物理场节点的模型,主要用于查找轴对称模型
@gr 返回包含重力效应,也就是带重力 特征的模型
@pml 返回包含完美匹配层(PML)的模型
@ie 返回包含无限元 域的模型
@physics:dg 返回包含变形几何 物理场接口的模型
@genext 返回包含广义拉伸 特征的模型
@physics:shell 返回包含跨越五个模块的 接口的模型
@iss 返回包含初始应力和应变 属性的模型
@study:sens 返回包含灵敏度 研究的模型
@dataset:join 返回利用“连接数据集”合并两个解集的模型
@result:str 返回包含流线 图的模型(类似查询还可用于 COMSOL Multiphysics 的任何绘图类型)
@result:hght 返回包含高度表达式(一个二维绘图属性)的模型

如果你认为这个功能很有用,而且发现了一个对其他用户也有帮助的有效搜索参数,欢迎在评论区中留言,我们可以把它添加到列表中!

延伸阅读

浏览“COMSOL 博客”,阅读下列相关的主题文章:

]]>
//www.denkrieger.com/blogs/how-to-search-for-a-specific-comsol-multiphysics-application/feed/ 0
使用查找工具和自动完成工具加快建模过程 //www.denkrieger.com/blogs/how-to-use-the-find-and-auto-completion-tools-for-faster-model-setup //www.denkrieger.com/blogs/how-to-use-the-find-and-auto-completion-tools-for-faster-model-setup#respond Mon, 08 May 2017 09:41:49 +0000 http://cn.staging.comsol.com/blogs?p=184401 在 COMSOL Multiphysics® 软件中对模型进行修改时,常常需要添加更多的参数和变量。随着模型复杂程度的上升,跟踪这些参数在何处定义和使用将十分困难,在节点设置中调用这些参数也变得更加繁琐。这篇博客文章中,我们将向您展示如何使用“自动完成”工具和“查找”工具来有效加快建模过程。

教学视频:在 COMSOL Multiphysics® 中使用查找工具和自动完成特征

使用查找工具搜索模型中的参数

借助查找工具,我们可以在模型中搜索参数、变量甚至是一般的文本。要打开此工具,只需在快速访问工具栏(Linux® 操作系统和 macOS 中为主工具栏)中单击对应的查找 按钮,或者按下 Ctrl+F 键。

截图显示了 COMSOL Multiphysics 中的‘查找’工具。
Windows® 操作系统版本的 COMSOL Desktop® 中的 查找按钮。

“查找”工具会对整个模型进行搜索,最终列出搜索条目在模型树节点内的每一处使用位置。我们可以借助“查找”工具搜索全部组件及其操作序列、节点名称、标识符、标记和标签。

打开“查找”工具后,窗口中显示了三个搜索选项。全部 选项卡可以对模型本身进行搜索,方法 选项卡则对内置的“App 开发器”中的“方法编辑器”进行搜索。通过勾选复选框,我们可以组合出特定的结果,这些复选框包括:

  • 精确匹配
  • 使用正则表达式语法搜索模型中的文本字符串
  • 区分大小写

本文开头的教学视频详细解释了如何使用全部 选项卡进行搜索。如需详细了解有关“查找”工具中其他选项——特别是“App 开发器”的方法 栏中的选项,请参阅App 开发器简介》文档的“查找和替换”章节。

截图显示了如何使用 COMSOL Multiphysics中的‘查找’工具。
查找工具。

执行搜索后,消息/进度/日志 窗口中会弹出一个新选项卡。新的查找结果 选项卡以表格的形式展示搜索结果。表中列出了一个或多个搜索项在整个模型中的每一处使用位置。双击表内的任意一行,即可自动重定向到正在使用该参数或变量的节点和栏。

可以在教学视频中看到,当我们在搜索结果表格内的多行之间进行切换时,“设置”窗口和“模型开发器”中的选定节点也会随之更新。表内的每一列都列出了相关属性,例如正在使用当前搜索项的节点、项在节点中的作用以及包含此项的文本,分别对应节点类型文本 列。在文本 列中,如果搜索项来自表达式,软件会提供表达式中的其他文本和字符。如果搜索的文本出现在了参数描述中,那么描述中余下的文本也会出现。

每完成一项新搜索,系统就会打开一个新的查找结果 选项卡,这意味着我们可以一直参考指定选项卡中的旧搜索结果;如需继续调整模型,我们可以刷新表格以重新填充搜索结果。

如何使用自动完成工具

如果您需要快速调用在仿真中创建的参数、变量、函数及其他定义,“自动完成”工具可以实现这一操作。

要打开此工具,我们按住 Ctrl 键,然后在任意窗口的表达式 输入框中按下空格键。

截图显示了如何使用 COMSOL Multiphysics中的‘自动完成’工具。
用于定义热通量边界条件的自动完成工具。

对于调用内置参数或变量,另一种快捷方式是按下 Ctrl+/ 组合键。

如果完全遵照建模工作流程的每一步来创建模型和进程,那么我们必须返回到定义参数、变量、函数等项的原始节点和窗口栏,这个过程非常麻烦;如果我们正在处理使用了大量定义的大型或复杂模型,情况只会更甚。

借助“自动完成”工具,我们能够方便快速地编写表达式,而且基本可以在模型树内任何节点的设置中填写表达式,例如定义物理场边界条件。软件中所有需要输入表达式的位置都支持这项功能。

在教学视频中,我们演示了如何使用“自动完成”工具去定义参数,介绍了当定义变量时,多个可用的定义和运算符所属的类别,并展示了如何在模型中定义边界条件。

打开了“自动完成”窗口后,我们不仅可以访问自己定义的参数、变量和函数,还可以访问其他几种类别——包括数学运算符、物理常量和其他运算符。请记住:可选的类别取决于当前工作的节点。在几何节点、网格节点或物理场节点中输入表达式时,系统会提供不同的选项,举例来说,使用“自动完成”工具来定义参数时,则可以使用之前在“参数”表中定义的其他参数。如果使用“自动完成”工具来定义变量,我们可以在表达式中添加其他变量以及参数。

使用查找和自动完成工具简化建模工作流程

不管仿真简单还是复杂,“查找”和“自动完成”工具均可用于建模工作流程。无论要处理 5 个还是 50 个参数,您都能够快速轻松地查找某个定义的具体使用位置,并通过访问该定义来设置仿真的其他特征,从而提升模型的创建效率。要了解如何充分利用 COMSOL Multiphysics 中的这些功能特征,请观看本文开头的视频

更多资源

]]>
//www.denkrieger.com/blogs/how-to-use-the-find-and-auto-completion-tools-for-faster-model-setup/feed/ 0
如何及何时在 COMSOL Multiphysics® 中打开恢复文件 //www.denkrieger.com/blogs/how-and-when-to-open-recovery-files-in-comsol-multiphysics //www.denkrieger.com/blogs/how-and-when-to-open-recovery-files-in-comsol-multiphysics#comments Tue, 07 Feb 2017 07:39:46 +0000 http://cn.staging.comsol.com/blogs?p=191631 不少人对 COMSOL Multiphysics® 软件的打开恢复文件 功能比较陌生,对于正在运行生成多个解的仿真的用户而言,这项功能非常大有用处。如果由于某种原因,软件在仿真完成之前意外关闭,您可以打开恢复文件,这样就不会丢失工作进度。在本文中,我们结合视频重点介绍如何通过打开这些文件来恢复“丢失”的工作,并说明这项功能的优势和局限。

教学视频:如何打开恢复文件

何时在 COMSOL Multiphysics® 中打开恢复文件

在运行包含多个参数的仿真时,任何人都可能会用到“打开恢复文件”功能,这些仿真包括:

  • 瞬态研究
  • 频域研究
  • 辅助扫描
  • 参数化扫描

在运行上述仿真时,系统将在生成第一个解后创建恢复文件,然后在每次迭代求解完成后更新恢复文件。恢复文件也会在下列三个事件的任何一个发生后自动更新:

  1. 在瞬态仿真中对指定的输出时间进行求解之后
  2. 在参数化仿真中计算了每个参数值之后
  3. 在非线性稳态仿真中的每次迭代之后

如果在仿真过程的任意时间点上,COMSOL Multiphysics 意外关闭,您可以打开保存了解的恢复文件,然后从中断的地方继续运行仿真。

Screenshot of the Open Recovery File window in COMSOL Multiphysics.
“打开恢复文件”窗口。您可以通过单击“显示/隐藏详细信息”按钮查看其他详细信息。

请注意,此功能存在一些局限之处与微妙问题。目前的主要限制是参数化扫描 功能无法继续运行——您需要从头开始重新运行仿真,或者使用残值手动运行参数化扫描,并将解存储到新位置(不要覆盖仿真的第一个部分)。当仿真以这种方式终止时,数据将原封不动地存储在“参数化解”中,但扫描生成的解的数量却不完整。要访问各个参数化解,您可能需要重定向数据集以使用单个解。

如希望了解此功能的详细信息,请观看开始时的视频,此视频解释了与打开恢复文件相关的所有信息。首先,我们打开一个模型并运行仿真。在等待仿真将近完成之时,我们强制退出软件,以便重新打开并继续完成模拟。

更多资源

]]>
//www.denkrieger.com/blogs/how-and-when-to-open-recovery-files-in-comsol-multiphysics/feed/ 2