如何创建包含 CAD 导入和选择的仿真 App

2020年 4月 30日

在使用 COMSOL 软件二次开发的过程中,你可能会遇到这样的问题:如何使用 App 开发器创建可以处理 CAD 导入并能让用户交互式选择边界条件的仿真 App?我需要了解编程吗?今天我们将为您介绍在COMSOL软件中创建包含CAD导入和选择的仿真App 的方法,通过这些方法,你不仅可以通过一系列简单的步骤来做到这一点,而且不需要任何编程!你只需在 COMSOL 软件附加的 App 开发器的表单编辑器中执行标准操作就可以轻松完成。

CAD 导入和 仿真 App 选择演示

 

本文即将讨论的仿真 App 屏幕操作录像。

模型开发器中的选择

“选择”是创建本文开头演示的仿真 App 的关键。首先,我们来回顾一下选择的概念以及它们在 COMSOL Multiphysics® 软件中的用法。

在模型开发器中,指定选择可以在分配材料属性、边界条件和其他模型设置时,对域、边界、边或点进行分组。我们可以通过在组件>定义 节点下添加子节点来创建不同类型的选择。这些可以在整个模型组件中重复使用。

下面,我们以边界条件的选择为例来说明如何使用选择。当我们选择一些边界与某个边界条件关联时,可以直接在 COMSOL Desktop® 环境的 图形 窗口中单击那些边界。这是默认选项,称为手动选择。然后这些边界将被添加到该边界条件的局部选择中。

图片显示了带有手动选择出口流边界的微混合器模型。
使用编号为 186 的边界手动选择出口流边界。

相反,指定选择可以让我们定义全局选择,只需从边界条件的下拉列表中进行选择即可将其重新应用。下图显示了显式 选择的定义和使用,将编号为 186 的边界定义为出口流边界

设置窗口的屏幕快照,用于显式选择名称为出口边界
定义显式选择,将编号为 186 的边界定义为出口边界。

屏幕快照显示了名为“选择”的“出口边界”,用于层流边界条件
对层流的出口边界条件使用出口边界选择。

准备用于创建 仿真App 的模型

我们将以 COMSOL Multiphysics 案例库中的 微混合器模型 教程为例,说明 CAD 导入和选择的用法。在案例库中,原始模型位于以下位置:COMSOL Multiphysics > 流体动力学 > 微混合器

该模型模拟了一个静态层流微混合器,混合器具有两组平行的分离-再成形-重组混合单元。每个混合单元使流体层的数量增加了一倍,从而实现快速混合过程。以标量混合质量为输出结果,通过计算出口处的浓度曲线的相对方差来定义。

来自模型生成器中的 COMSOL Multiphysics 案例库中的微混合器模型。
COMSOL Multiphysics® 案例库中的微混合器模型。

我们将对此模型稍做修改并作为仿真 App 的基础模型。尽管这是一个微流体模型,但这里使用的操作是通用的,适用于任何模型。

COMSOL 案例库中的模型都是通过使用 COMSOL Multiphysics 中的内置功能来构建几何结构的。但是,这里我们将其修改为基于 CAD 导入的版本。

首先,下载并打开相应的文件 micromixer_prepared.mph,该文件在与本博客文章相关的文件列表中可以查看:支持 CAD 导入和选择的 App

该模型在几何 序列中具有一个 CAD 导入节点,如下图所示。

“ CAD导入设置窗口图。
CAD 导入设置窗口,显示输入了一个本地的 COMSOL 几何结构。

如果我们拥有可访问 CAD 内核的附加产品(CAD 导入模块,设计模块或用于连接 CAD 的 LiveLink™ 产品之一),则该仿真 App 将允许我们导入各种行业标准的 CAD 格式文件。

为了使仿真 App 不依赖导入 CAD 格式文件的尺寸,该模型还添加了 缩放 操作,并设置参数为 geometryScale,如下图所示。

缩放操作设置窗口的屏幕截图
缩放操作的设置窗口。

geometryScale 的值 1 假定导入的 CAD 格式文件以微米为单位定义。 geometryScale 的默认值 1000 假定导入的 CAD 格式文件以毫米为单位定义。

如本文开头所述,模型 micromixer_prepared.mph 具有两个显式 选择,即入口边界出口边界。这些选择将应用于模型中的流量和质量传输的入口和出口。

将出口边界选择应用于出口边界条件的微型混合器模型
出口边界选择应用于稀物质传递接口的 出口边界条件。

使用新表单向导创建第一个仿真 App

现在,让我们基于微混合器模型创建一个仿真 App。在主屏幕 选项卡上,从模型开发器切换到 App 开发器,然后单击新建表单,打开新建表单向导。

输入/输出页面,将表单标题 更改为 Main,并将表单名称 更改为 main。然后,双击左侧的树使以下参数在表单中可用(详请参见下图):

  • 入口浓度
  • 扩散系数
  • 平均速度
  • 几何比例

此外,双击全局计算 节点以显示计算出的混合质量。

表单向导中的输入/输出页面
表单向导中的输入/输出页面。

图形 页面中,双击浓度,表面(tds以将其作为默认图形输出。

打开图形页面的表单向导
表单向导中的 图形页面。

按钮 页面中,双击计算研究1以添加计算 按钮。

打开按钮页面的表单向导
表单向导中的 按钮页面。

单击确定 退出表单向导。

在表单编辑器中,根据下图使用拖放操作放置图形 对象和计算按钮。单击并拖动以调整图形 对象的大小,使其稍大一些。


表单编辑器中的初始应用布局。

下一步,将 App 布局模式切换为 栅格 模式。通过选择增长列增长行对齐>水平填充,以及 对齐>垂直填充,使图形 对象可调整大小。有关如何执行此操作的详细说明,请参阅COMSOL App开发器 简介(5.5版本)中第 116-117 页。

具有初始应用程序布局的表单编辑器演示了表单对象的拖放功能
网格布局模式,其中 图形对象可调整大小。

现在,我们通过单击功能区中的测试 APP 来运行该仿真 App。此仿真 App 非常有趣,对于各种输入都可以轻松计算并获得结果。

微混合器仿真 App 是在第一次设计迭代中内置于 COMSOL Multiphysics 的仿真开发器中。
微混合器仿真 App 的第一个版本。

在运行时最大化整个 App 窗口可能更为方便。在 App 开发器 中,单击 App 开发器模型树中的主窗口 节点,然后在设置窗口中的大小 部分,选择初始大小最大化,就可以启用这个功能。

打开“初始大小”选项的“主窗口设置”窗口的屏幕快照。
初始大小设置为 主窗口的设置。

启用 CAD 导入

为将 CAD 导入仿真 App,我们需要添加一个专用按钮,使用该按钮打开文件浏览器并执行导入。为了给新添加的按钮留出空间,如下图所示,在最后一个输入框相对浓度方差,出口 下方添加新行。

屏幕截图显示了如何在表格中添加另一行
在表格中添加另一行。

如下图所示,单击并选择新行中最左边的单元格。

屏幕快照显示了主窗体,选中的单元格显示了较深的蓝色
主表单中一个选中的单元格会显示更深的蓝色。

选择空单元格后,在表单 选项卡中,选择插入对象>输入>按钮。在按钮的设置窗口,将文本 更改为导入,使用图像库中名为 import_32.png 的图标(单击图标右侧的+按钮),然后将大小更改为(或使用另一个图标)。

混合模型开发器中导入按钮的设置
导入按钮的设置窗口。

右键单击按钮,然后选择对齐>右对齐 以更好地放置按钮。

屏幕截图显示了如何在仿真App中布局的右侧对齐CAD导入按钮。
CAD 导入按钮,靠右对齐。

现在,按钮的布局已经准备就绪。下一步是将动作或命令关联到按钮。单击导入按钮查看其设置窗口。在选择要运行的命令 部分中,浏览并双击模型>组件1>几何1>导入1>文件名(文件名)

导入按钮设置窗口的选择要运行的命令部分的屏幕快照。
导入文件添加到 导入按钮的命令序列中。

同样,浏览并双击模型>组件1>几何1GUI命令>图形命令>缩放范围,以将这些操作添加到命令 序列中。此外,根据下图,使用命令 序列下方的编辑变元按钮,或在绘制几何1缩放范围命令的变元字段中,手动键入 main/graphics1

屏幕快照显示了如何编辑“缩放范围”和“绘制几何1”命令的参数。

变元 main/graphics1 将图形输出到仿真 App 中的相应的图形 对象。不管模型的尺寸有多大,缩放到窗口大小命令可以确保整个 CAD 模型在图形窗口中都是可见的。

现在,我们可以通过单击测试 App 来运行该仿真 App,然后导入在本篇博客相关文件中下载的 MPHBIN 文件。

为了能够使用缩放 参数轻松更改导入 CAD 模型的比例,我们需要在新比例下重建几何对象并对其进行可视化。为此,我们可以添加另一个按钮来显示和构建几何图形。使用编辑器工具 窗口可以很容易地做到这一点。通过单击功能区的表单选项卡中的相应按钮,可以打开编辑器工具 窗口。单击编辑器工具 窗口中的导入按钮右侧的空白单元格,浏览至模型>组件>几何,然后单击鼠标右键,选择按钮。

编辑器工具窗口的屏幕快照,用于将“绘图几何”按钮添加到仿真 App
使用 编辑器工具窗口添加 绘制几何按钮。

突出显示了“绘制几何图形”按钮。
主表单中的绘制几何按钮。

如果需要对导入缩放后的CAD模型自动调整图形 轴,请根据下图,在绘制几何 按钮的设置窗口中,向命令序列添加缩放范围命令。

绘制几何图形”按钮的命令序列
绘制几何按钮 命令序列。

选择边界

现在,我们添加两个按钮来选择边界:一个按钮用于入口边界,另一个按钮用于出口边界

单击与计算 按钮相同的行中最左边的空白单元格。

使用编辑器工具窗口,浏览并右键单击模型>组件1>定义>选择>入口边界>按钮

选项已扩展的“编辑器工具”窗口添加了一个用于选择入口边界的按钮。
绘图选择 按钮添加到所选单元格。右键单击并选择对齐>右对齐以更好地放置按钮。

双击绘图选择 按钮,然后在其设置 窗口中,将文本 更改为入口

双击绘图选择按钮,然后在其设置窗口中,将文本更改为入口

入口边界 入口选择按钮。

根据下图,通过浏览并右键单击模型>组件1>定义>选择>出口边界>按钮,然后将按钮的相应文本更改为出口,重复上述步骤以创建出口 按钮。

入口和出口按钮用于在微型混合器模拟应用程序中进行边界选择。
用于边界选择的 入口出口按钮。

与在 模型开发器 中一样,单击 出口 选择按钮,使图形 对象具有交互性,从而允许我们单击边界,以便为出口边界 选择一个或多个边界。如下图所示,在绘制出口边界 命令中将 graphics1 作为变元反映在命令 序列中。对于入口 按钮,也是如此。

截图显示了“出口”按钮的命令顺序。
出口按钮的命令顺序。

要查看单击选择按钮后用户界面的显示方式,请参阅本文末尾更高级版本的仿真 App 图示。

在使用新的选择按钮之前,我们还需要在用于计算混合质量的平均算子中使用选择。在模型开发器中,转到组件1>定义>平均值1组件1>定义>平均值2,然后根据下图将选择 分别更改为入口边界出口边界

边界平均运算子的“设置”窗口,显示选择设置
边界平均算子 的选择设置。

参数化阶跃式流入浓度曲线

为了使用户能够控制用于测量混合质量的入口边界处的浓度阶跃函数,我们需要将其参数化并将此表达式提供给用户。为了表示微流体通道的特征宽度(数量级),根据下图,以具有默认值 1400[um] 的全局参数 channelWidth 开始。

在“参数设置”窗口中,突出显示通道宽度的“全局参数”。
通道宽度的全局参数

找到阶跃函数组件 1 > 定义 >阶跃 1 的设置窗口。在平滑部分中,在过渡区域大小 输入 channelWidth/10。这样可确保在从 0 增加到 1 时,阶跃函数的过渡区域为通道宽度的 10%。过渡过于尖锐可能会导致粗糙网格存在收敛问题。在本文的后面,我们将看到如何使用此阶跃函数来设置自定义浓度曲线。

步骤设置窗口显示了步骤功能的过渡区域的设置。
阶跃函数的过渡区域设置。

接下来,在流入边界条件的浓度 设置中,将表达式替换为 cStep

流入设置窗口突出显示了流入浓度变量
用于流入浓度的变量 cStep

组件1>定义>变量,定义新的变量 cStep 使表达式 等于 c0*step1(-z[1/m])

“变量设置”窗口突出显示了cStep变量的定义表达式。
定义变量 cStep

在 App 开发器的表单中,根据下图,在几何比 输入框下方添加两个新行,并使用编辑器工具 窗口分别为通道宽度参数和浓度阶跃 变量添加输入。为了放置和适应新的输入框,我们可能需要使用表单编辑器功能区中的合并单元格工具。使用 Shift + 单击以选择多个单元格,然后单击合并单元格。另外,我们可能还需要拖动以展开输入框的列,以适合浓度阶跃 的新变量表达式。有关更多信息,请参见模型开发器简介

主要形式带有两个新变量,分别是浓度阶跃和通道宽度
带有 通道宽度参数和浓度阶跃变量表达式的两个新行。

打开编辑器工具,其中显示了如何将“通道宽度”参数添加到表单。
通道宽度参数添加到表单。

将打开“编辑器工具”,其中显示了如何将“浓度阶跃”变量表达式添加到表单
将浓度阶跃变量表达式添加到表单。

使用数据访问控制单元大小

为了让用户控制单元的大小,请通过单击模型开发器的开发工具 选项卡中的相应按钮来启用数据访问。这样我们就可以访问单元大小的大小 属性,并在仿真 App 中使用它。

应用程序构建器中数据访问按钮的屏幕快照,用于允许访问称为“预定义”的元素大小属性。
使启用数据访问按钮,访问预定义单元大小属性。

表单中,在浓度方差输出下方添加另一行。单击新添加的行中最左侧的单元格,然后使用编辑器工具 窗口添加预定义大小输入

编辑器工具窗口中:

通过“编辑器工具”窗口将预定义大小的组合框对象添加到仿真 App。
使用编辑器工具窗口为预定义大小添加组合框对象。

这样做将为预定义的大小 添加一组合框 对象,如下图所示。请注意,我们可能需要使用合并单元格 来获得所需的布局。

主表单中“预定义大小”组合框的屏幕截图
主表单中的预定义大小选项。

该仿真 App 的基本版本现在已经准备就绪。如果您不想执行所有步骤,可以从与此博客文章相关的文件集中下载该 App。文件名是 micromixer_basic_app.mph

测试仿真 App

测试该仿真 App需要导入 CAD 文件 split_recombine_mixer.mphbin,并使用输入参数,如下图所示。这些参数将重现微流体模块中可用的教程模型的结果。

微型混合器模型的输入参数图表,包括入口浓度,扩散系数等
分离-重组微混合器模型的输入参数。

表达式 c0*step1((0.75[mm]-x)[1/m]) 定义了 x 方向上的浓度阶跃,过渡区域位于两个入口边界之间。具体地,过渡区域是 500 微米道宽度的 10%。这意味着在入口边界之间的区域中,浓度阶跃 表达式的值在宽度为 50μm 的区域内从 0 迅速增加到 1,从而确保左右入口的浓度值分别精确地为 0 和 1。单位表达式 [1/m] 确保阶跃函数的输入变元没有单位。

计算后的结果如下图所示。在这种情况下,相对浓度方差为 0.158。

微型混合器模拟的图像
使用具有用户定义的 CAD 导入和选择功能的临时设计仿真 App 模拟分离-重组微混合器。

启用其他 CAD 格式

启用任何格式的 CAD 导入取决于附加产品,我们需要在模型开发器中的几何 序列中为 CAD 导入节点显式启用任何文件格式。为此,需启用数据访问,操作与上述的启用用户单元大小控制时相同。在导入设置窗口中,选中 旁边的复选框,然后更改为任何可导入文件,如下图所示。此处可用的选项将取决于可用的附加产品。

导入设置窗口,带有选择导入任何可导入文件的选项。
启用任何可导入文件以进行 CAD 导入。

在 App 开发器中,双击导入按钮以打开其设置窗口。双击模型>组件1>几何1>导入1>源(类型),然后输入文件 作为变元。反复使用上移 按钮将其上移到命令 序列的顶部。(可用变元为:文件、网格、本机、cad和ecad。)

选择一个选项以导入任何类型的文件以进行 CAD 导入。
为 CAD 导入启用任何文件类型。

整理仿真 App

在可下载文件列表中,我们会找到此仿真 App 的稍微复杂的版本,文件名为 micromixer_app.mph。此版本仿真 App 的界面组织得更好,所有按钮都作为功能区项来使用,各种输入和输出分别布置在 CAD网格传递流动结果 子表单中,并通过表单集合进行汇总,如下图所示。此外,在文件菜单中,还有保存另存为重置报告 选项

但是,即使在此版本的仿真 App 中,也无需编程。使用表单编辑器,仅需要几步就可以创建它。为了使仿真 App 简洁明了,其中并未设置错误检查和文档。我们可以在 COMSOL Multiphysics 案例库中找到更多高级仿真 App,例如 螺旋静态混合器 App

通过添加到应用程序的CAD导入功能以交互方式应用带有入口边界条件的微型混合器模型几何
在微混合器几何结构中交互式地设置入口边界条件,该几何结构是使用仿真 App 中的 CAD 导入功能导入的。

具有专用用户界面的交互式模拟应用程序,允许cad导入和选择
此仿真 App 的设计更好,且仅使用表单编辑器创建而无需编程。

通过网页浏览器在 COMSOL Server™ 上使用仿真 App

当然,我们可以使用 COMSOL Compiler™ 将仿真 App 编译为独立的应用程序,或者通过连接到 COMSOL Server™ 来运行它。使用 COMSOL Server 运行时,我们可以使用以下三种方式运行 App:

  1. COMSOL Client for Windows®
  2. 标准网页浏览器
  3. COMSOL Client for Android™

使用 COMSOL Client for Windows® 运行时,通过在用户界面中单击来执行选择的方式,与使用 COMSOL Multiphysics® 进行选择的方式相同。使用标准的网页浏览器或 COMSOL Client for Android™ 运行时,我们可以双击边界来选择它们。

具有CAD导入功能的微型混音器仿真 App 可通过COMSOL Server™在Web浏览器上运行。
通过连接到 COMSOL Server™,可在 Chrome™ 网页浏览器中运行的具有 CAD 导入和选择功能的仿真 App。

仿真 App 的潜在扩展

本文介绍了如何创建包含 CAD 导入和选择的仿真 App 而无需进行任何编程。仿真 App 有两种类型的入口和出口边界条件,使用本文介绍的技巧可以轻松扩展仿真 App 的其他边界条件。例如,仿真 App 还可以为其他类型的边界条件添加更多的选择,例如对于设置固定压力值或对滑移流进行建模。该仿真 App 演示了计算流体动力学和稀物质传递。您也可以轻松地为另一个物理领域创建类似的仿真 App,例如结构力学、声学、电磁学或传热。

下载仿真 App 文件

单击下面的按钮,下载本文中讨论的仿真 App。通过学习该仿真 App,激发创建您自己的仿真 App(并添加专门功能)的灵感!

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


评论 (0)

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