COMSOL Multiphysics® 中的高效参数控制和使用

2019年 6月 4日

使用参数设置和控制模型绝对是 COMSOL Multiphysics® 软件最强大且最容易使用的功能之一。然而,随着模型复杂度的增加,经常会引入越来越多的参数。因此,需要好的工具来组织模型参数。今天这篇博客,我们将了解 COMSOL® 软件中可用于保持模型和参数有序的功能。

什么样的模型需要参数?

原则上,任何模型都可以从适当的参数列表中受益。全局定义的参数能带来高效的工作流程,并且可以在模型中的任何位置使用。在大多数模型中,参数用于控制几何和物理设置。此外,后处理可以从特定的结果参数中受益。然而,有些仿真项目的参数是强制性的,例如以下模型:

COMSOL 中高效处理参数的功能

在建模工作流程中使用参数时,有许多与参数相关的特性和功能。参数是全局定义的量。它们可以组织成多个节点。有时,可能需要考虑一组参数的多种变化。这可以使用参数 switch 来完成。这些参数或参数实例是参数扫描或参数案例扫描的输入。此外,还有特定的后处理参数,它们只能用于后处理。例如,控制动画。

显示所有参数相关特征的模型屏幕截图。
模型的屏幕截图,显示了 全局定义研究 结果部分中的所有参数相关特征。

当定义了所有参数和其他定义,例如变量、函数后,需要在整个模型中应用它们。尤其是在具有大量参数的模型中,确切的名称通常不容易记住。这时,使用快捷键非常有帮助。按 Ctrl+Space 会打开一个树,其中包含可以插入的可用参数和变量。可以通过在搜索字段中输入文本来搜索和过滤内容。

显示在表达式字段中使用 Ctrl+Space 的屏幕截图。
表达式字段中使用的 Ctrl+Space。图中,输入了字母 “u” 来使用自动过滤器。

组织参数

随着模型复杂性的增加,参数列表往往会越来越长。为了保持长列表的用户友好性,全局定义中的参数可以用几个参数节点来分配。这种设置允许对使用的参数进行逻辑分组;例如,用于几何或物理设置。此外,还建议给参数附加单位。这样可以帮助保持模型在单位上的一致性。对于文档来说,参数的描述也应该是工作流程中的一个强制性步骤。这些描述在同事或客户之间交换模型时特别有用。

具有两个逻辑结构参数节点的模型设置屏幕截图。
具有两个逻辑结构参数节点的模型设置。

使用和设置多个参数节点绝对是建立新模型的最佳做法。但是,有些模型有大量的参数列表,比如只有一个很长的参数列表的旧模型。(使用多个参数列表的功能是在 COMSOL Multiphysics 的 5.4 版本才引入的)。在这种情况下,建议进一步创建 参数 节点。实际上,将参数移到单独的节点中是非常容易的。只要用 Shift 或 Ctrl 键多选表中的几行(取决于你要移动的参数是否连续),然后右键单击并选择移动到新参数。这样就能创建一个包含这些参数的新节点。用同样的方法,也可以在现有参数节点之间移动参数。

显示如何在模型设置中的现有节点之间移动参数的屏幕截图。

另一种情况,一个模型可以有一个逻辑参数部分,其中包含很多对模型有不同重要性的参数。当然,在这种情况下,适当的参数描述是有帮助的,但是滚动整个列表来改变几个重要的和经常使用的参数是一件很麻烦的事情。因此,这类模型的参数列表往往又很难理解。显然,我们可以从重要到不重要重新构建和/或子结构参数节点。然而,我们现在有两个标准——逻辑和重要性来组织参数,当基本标准改变时,可能会带来大量的编辑工作。为了获得控制权并确定这些参数的优先次序,一个有效的解决方案是使用表单。

使用表单自定义参数控制

为了避免将参数节点拆分为太多基于逻辑和重要性的单个节点,我们可以利用 App 开发器功能。它允许创建具有快速参数访问的用户定义表单,并且可以仅使用几个参数节点来保持参数的逻辑组织。第二个重要标准特别适用于 App 开发器,因为该标准通常仅在输入值更改时触发。此外,重要性标准可能会在整个仿真任务中发生变化。因此,我们可以从简单快速的可调整表单中受益,并可以访问和组织参数。

这些表单是基于 App 开发器功能以及 COMSOL Multiphysics 平台产品设置的。设置表单只需几个步骤,无需编程。根据重要参数的数量,下面我们将讨论两种表单类型。

案例 1:简单表单

可以在几秒钟内创建一个简单的表单。对于只有少数参数经常更改的模型,建议使用这类表单。要创建这样的表单,通过单击功能区主页开发工具 选项卡中的 App 开发器图标,切换到的 App 开发器。然后,单击 App 开发器选项卡下主页新建表单 按钮,启动表单向导,就可以在其中设置标准输入和输出以及仿真App的操作按钮。在本文的例子中,我们想使用模型开发器中的表单,因此,选择相关参数作为输入就足够了。如果设置了单位和描述,它们将被自动识别并添加到表单中。在预览 部分,可以看到参数访问是什么样子。

表单向导的屏幕截图显示了参数控制,其中选择了最重要的几何参数。
表单向导的屏幕截图,用于轻松创建表单以控制输入参数。图中选择了最重要的几何参数。

一旦选择了所需的参数,单击确定,该表单就可以在模型开发器中使用了。如果需要针对某些参数更新表单,可以随时轻松调整。要删除不再需要的参数,只需用鼠标在表单编辑器 中选择相关功能并按删除即可。如果要快速添加新的相关参数,我们可以使用编辑器工具 窗口。

屏幕截图显示了 geomMajor 表单的调整。
调整 geomMajor 的形式。准备好选择第 1 层项目删除它们。在左侧,可以看见 编辑器工具,它允许快速向表单添加新参数。

案例 2:高级表单

第二种情况,讨论来自各种逻辑参数的更多参数很重要的模型。需要的设置是上面简单表单的一个小扩展。要创建这样的表单,请再次转到 模型开发器。不过,这一次创建更多简单的表单,每个表单都包含一组逻辑参数。在下面的示例中,我们确定了三组:主要的和次要的几何参数以及一些重要的物理参数。要组织这些表单,可以将它们组合成一个具有表单集合 对象的主表单。使用表单集合,可以很容易地在各自的设置中选择和组织三个子表单。

显示如何创建高级表单的屏幕截图。
创建高级表单。参数控制表单是使用 表单集合 功能的主要表单(设置显示在右起第二个窗口中)。三个子表单用于显示在 表单集合窗口中。

部署表单

最初,表单只用于在仿真 App 中创建自定义用户界面。从 COMSOL Multiphysics® 5.4 版本开始,也可以直接在模型开发器中使用它们。创建的表单可以作为全局定义 下的一个节点添加。例如,可以通过功能区上的开发工具 选项卡,单击设置表单 并选择相应的表单来实现。在模型开发器中选择后,该表单就会显示在设置窗口中,我们就可以在这里访问最相关的参数了。请注意,任何数据变化,无论是在表单中还是在参数节点中,都是同步的。

显示添加到 COMSOL Multiphysics® 的参数控制表单的屏幕截图。
添加到模型开发器的参数控制表单。在设置中,可以集中概览和控制最重要的设置。

结束语

现在,我们已经了解了在 COMSOL 中有效处理参数的不同功能。处理参数的功能使我们可以加速模型设置,简化工作流程,从而更快地获得结果。

此外,我们可以通过快速构建表单来帮助组织和控制参数。为此,文中演示了 App 开发器的功能,它将 COMSOL Multiphysics 转变为一个多功能的开发工具,用于扩展可能性的仿真。通过使用表单和方法,我们可以自动化几乎所有预处理或后处理步骤,并控制模型树中的所有设置。两者都可以添加在全局定义 下。

下一步

点击下列按钮,联系我们进行软件评估,详细了解 COMSOL Multiphysics 如何满足您的建模需求:


评论 (2)

正在加载...
会东 尚
会东 尚
2023-08-18

why i can’t use ctrl+space?

 Min Yuan
Min Yuan
2023-08-23 COMSOL 员工

If the system is Windows, the replacement option Ctrl+/ will be used for quick calls.

浏览 COMSOL 博客