模型求解完成后如何自动导出图像

作者
2025年 4月 23日

在之前的博客中,我们探讨了如何在研究节点下设置一系列程序化操作,用于求解模型、将模型保存到文件,以及将数据导出到文件。这篇博客,我们将在此基础上,展示在 COMSOL Multiphysics®软件中求解模型后,如何自动导出完整的图像序列。

编者注:本文最初发布于 2017 年 7 月 11 日,之后对部分内容和图片进行了更新。

示例:微混合器模型

为了演示这项功能,我们将延续前一篇博客在 COMSOL 中求解模型后,如何使用作业序列保存数据的方式,首先从案例库中加载微混合器教程模型。该模型位于COMSOL Multiphysics>流体动力学文件夹中,它演示了层流静态混合器中的流体流动和质量传输。

突出显示了微混合器教程模型的案例库屏幕截图。

该模型使用层流接口进行流体流动模拟。接下来的步骤中,模型演示了如何利用流体流动模拟的结果作为输入,通过稀释物质传递接口计算混合效率。组分将根据流体的流速被输送到下游。

此模型计算耗时约数分钟。在上一篇博客中,我们通过不求解稀释物质传递部分来加快计算速度。本文,我们需要计算整个混合器中的浓度分布。为了更快地运行计算,我们可以将预定义单元大小设为极粗。

微混合器教程模型中可以加速求解时间的单元大小设置屏幕截图。

此网格粗化步骤为可选操作,后续流程不受此设置影响。

下文演示了如何使用参数化切面图和动画导出一系列的图像,其中每个图像对应一个切面。

使用参数定位切面图

下图是模型库中已求解的示例模型在x方向上 5 个不同的yz平面上默认绘制的速度切面图:

COMSOL Multiphysics 用户截面显示了选中切面图的模型开发器,对应的设置窗口和图像窗口中的微混合器模型。

接下来,创建一个类似的浓度切面图。右键单击速度 (spf)节点并选择复制。在新创建的绘图组中,将名称改为浓度,将表达式改为c表示浓度:

COMSOL Multiphysics 用户截面显示了选中切面图的模型开发器,对应的设置窗口和图像窗口中已求解的微混合器模型。

在浓度切面图中,您可以将平面数据输入方法更改为坐标,而不是默认的 5 个均匀分布的切面。这样,就可以生成 0.5 mm 处的单个切面,如下所示。

屏幕截图显示了在 COMSOL Multiphysics 中如何生成单个切面图数据。

结果如下图所示:

The COMSOL Multiphysics 用户界面显示了选中切面图的模型开发器,相应的设置窗口,以及在图形窗口显示了单个切面绘图的微混合器模型。

可以通过结果参数对切面的位置进行参数化。右键单击结果节点,然后选择参数。

结果节点下参数选项的屏幕截图。

定义一个参数xcut值为 -3.5[mm](微通道在x方向 -3.5 mm 至 8 mm 范围内变化)。

屏幕截图显示了如何在 COMSOL Multiphysics 中定义一个参数。

对于浓度切面图,在平面数据部分,在x坐标的编辑框中输入xcut。

屏幕截图显示了如何在平面数据特征中添加一个参数。

上述设置对应的切面图显示如下:

COMSOL Multiphysics 用户界面显示了选中切面图的模型开发器,相应的设置窗口,在图形窗口中使用一个设置参数标记的微混合器模型

使用动画导出图像序列

如果要导出不同切片位置的图像序列,该怎么操作?您可以使用基于文件导出的动画来实现。

如下图所示,可以从功能区工具栏的动画菜单中选择文件生成动画。

屏幕截图显示了如何由模拟结果生成一个动画。

或者,您也可以右键单击结果下的导出节点,然后选择动画>文件。

屏幕截图显示了如何由模拟结果生成一个动画。

在模型树中动画节点的设置窗口中,将主题更改为浓度。然后选择图像序列作为输出类型。

屏幕截图显示了图像序列选项,用于选择模拟动画的输出类型。

假设您的系统中有一个C:\COMSOL文件夹,可以这样输入文件名,如C:\COMSOL\my_image.png,你也可以输入任何有写入权限的文件夹。

屏幕截图显示了如何为图像序列设置文件名类型。

要将导出文件链接到参数xcut,请将序列类型更改为结果参数,这可以在动画编辑部分设置。

屏幕截图显示了如何将导出的图像序列链接到定义的参数。

选择xcut作为参数,起始值设置为-3.5,停止值设置为8,单位设置为mm。

屏幕截图显示了设置参数的选项,起始值和停止值,以及动画的单位。

在动画设置窗口顶部,单击导出开始生成图像。图像的后缀将与序列中的编号相对应。帧数或图像数在帧部分设置。

屏幕截图显示了动画设置窗口的帧部分。

这样就会生成一系列图像,名称分别为:my_image01.png、my_image02.png、……、my_image25.png,如下图所示。

文件夹的屏幕截图显示了由动画生成的一系列图像。

求解模型后自动导出

现在,我们来看看在 COMSOL Multiphysics 中求解模型后,如何自动生成图像。

要在研究节点下定义操作序列,请启用求解器和作业配置。此选项可在模型开发器工具栏上的显示更多选项对话框中找到。单击眼睛图标即可打开对话框。

屏幕截图显示了研究节点下选中的求解器和作业配置节点。

在出现的作业配置节点下,选择序列。我们在上一篇博客中对此步骤进行过描述。

屏幕截图显示了作业配置节点下选中的序列选项。

右键单击序列并选择解。在解设置窗口中,如果尚未选择,请选择全部,确保运行所有研究步骤。

在作业序列下用于运行所有研究步骤的设置截图。

右键单击序列,然后选择结果>导出到文件。

A screenshot of the Export to File option under the Sequence node.

在导出到文件设置窗口,选择运行选项下的动画 1。在这个简单的示例中,导出选项下仅有一个节点,因此,我们也可以保留默认的全部选项。

屏幕截图显示了导出到文件设置窗口。

要使用序列求解,请右键单击并选择运行。或者,点击序列设置窗口顶部的运行按钮,再次运行整个模型,并在求解后导出图像文件。

屏幕截图显示了模型求解完成后自动导出图像的设置。

使用截面导出二维图像

上文我们使用导出操作生成了一系列三维图像。如果要为每个切面生成一系列二维图像,该怎么操作?这可以通过使用参数化的截面来实现。

右键单击数据集节点,选择截面。

屏幕截图显示了带截面贡献的数据集节点

在截面设置窗口中,输入xcut作为x 坐标。

屏幕截图显示了截面的设置窗口。

已经存在的三维绘图组不能生成二维绘图,因此右键单击结果并选择二维绘图组。

屏幕截图显示了结果节点下的二维绘图组。

在二维绘图组设置窗口中,选择截面1作为数据集。

屏幕截图显示了二维绘图组的设置窗口。

在二维绘图组下添加一个表面绘图节点,并将表达式更改为c,对应于浓度。

屏幕截图显示了表面绘图节点的设置,突出显示了改变的表达式。

要整理绘图组列表,请将二维绘图组的名称改为截面浓度。

屏幕截图显示了二维绘图组改变后的名称,即截面浓度。

现在,转到模型树中的动画节点。在相应的设置窗口中,将主题更改为截面浓度。

屏幕截图显示了如何在动画节点设置下改变对象。

单击导出生成二维图像序列,如下图中的文件浏览器视图所示:

图片显示了一个文件夹视图下的二维图像序列。

要使用 Windows®Explorer 获得此视图,请将视图更改为大图标。

与之前的示例一样,现在我们可以继续运行作业序列求解,就可以自动生成图像集并保存到文件中。

下一步

想亲自尝试本文中演示的示例模型吗?请单击下面的按钮访问 MPH 文件。

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

评论 (0)

正在加载...
浏览 COMSOL 博客
Baidu
map