使用代理模型加速仿真和 App 计算

2026年 3月 30日

COMSOL Multiphysics® 软件具备创建和使用数据驱动代理模型的功能,这类模型是对更复杂且计算成本更高的仿真过程的一种简单、高效计算的近似模拟。得益于其相对简洁的特性,代理模型具有许多实际用途,例如,增强仿真 App 的交互性、加快优化进程以及加速不确定性量化任务。

创建代理模型的工作流程

如何在 COMSOL® 中创建代理模型?从一个已完成的参数化单物理场或多物理场模型开始,其工作流程可概况为以下几个步骤:

  1. 添加并运行 代理模型训练 研究。该步骤基于试验设计 (DOE) 方法对模型参数空间进行采样。
  2. 添加一个合适的代理模型,并利用存储在 设计数据 表中的仿真数据对其进行训练。也可以选择使用其他数据(如实验数据)对代理模型进行训练。
  3. 在仿真 App 或数字孪生中使用该代理模型,或将其用于其他目的。

下图也展示了这一工作流程。

使用代理模型的工作流程。

在仿真 App 中使用代理模型

代理模型的一个实际应用是加速使用 App 开发器创建的仿真App。在下图所示的微带贴片天线 App 示例中,对代理模型的函数调用替代了求解完整有限元模型的需求,从而在改变天线尺寸或材料属性时,实现了近乎瞬时的响应速度。在下图中,可以看到该 App 如何展示经训练好的代理模型得出的天线增益方向图,并将其与原始模型的计算结果并列显示以供比较。

一款将代理模型与完整仿真模型的计算结果进行对比的仿真 App。

下图展示了另一个使用代理模型实现加速的仿真App示例。在这个案例中,一组代理模型被用来重构 MEMS 执行器中的电势、温度和应力分布。用户可以通过滑块,交互式地调整 CAD 模型的四个几何尺寸参数以及施加的电压。得益于代理模型,该 App 的响应非常迅速,提供了比使用完整仿真模型更为流畅的交互体验。


MEMS 执行器仿真 App ,采用多个代理模型,可快速可视化并评估温度、应力及电场等物理场量。

在上述 MEMS 执行器仿真 App 中,可视化效果与结果评估均由一组后台调用的代理模型函数生成。下图展示了一个与温度场对应的函数。

对深度神经网络(DNN)代理模型函数的函数调用,在 MEMS仿真App中于后台使用。

通过表达式 dnn1_T(x, y, z, dw, gap, wv, L, DV)调用一个名为 dnn1_T 的深度神经网络函数,括号内列出了八个输入参数:

  • 三个空间坐标:x, yz
  • 四个 CAD 尺寸: dw,gap,wvL
  • 施加的电压:DV

这类函数调用替代了对完整仿真模型(在本例中为有限元模型)所定义的场量的调用。

每个代理模型都可以定义多个函数,且每个函数可以包含任意数量的输入参数。这些函数通常代表物理量,例如电场、温度或应力。由于代理模型函数是可微分的,因此非常适合用于基于梯度的优化流程,例如,需要求解输入参数灵敏度的反演建模。

代理模型的类型

COMSOL® 提供三种类型的代理模型:深度神经网络 (DNN)、高斯过程 (GP) 和 多项式混沌展开 (PCE)。DNN 代理模型已集成在平台产品中,不需要任何附加产品。GP 和 PCE 代理模型则包含在不确定性量化模块中,该模块会通过专用求解器或研究自动创建和训练这项模型,用于不确定性量化分析。不过,这三类代理模型中的任何一种,都可以基于任意类型的仿真数据或实验数据进行训练。

高斯过程代理模型的响应面,展示了不确定性估计(标准差)。

代理模型训练完成后,会作为函数出现在 全局定义 节点下,可在整个模型中随时调用。不同类型的代理模型各有优势,具体选择取决于待解决的问题:深度神经网络模型在处理带有大规模训练集的复杂高维问题时表现出色;而高斯过程和多项式混沌展开模型则更适用于需要获取预测结果置信度或不确定性的场景。

一种深度神经网络代理模型定义,包含八个输入参数中的六个函数。用户界面支持自定义网络层数以及每层的神经元数量。

需要注意的是,对于小型数据集,高斯过程模型往往更容易构建,且其表现优于深度神经网络模型。

接下来,我们进一步探究用于训练这些模型的数据是如何生成的。

生成训练数据

代理模型训练 研究用于生成训练代理模型所需的数据。它利用基于 试验设计(DOE)的方法执行参数化扫描,并且可以配置为对几乎任意组合的输入和输出参数进行扫描。最终会生成一个仿真数据表,作为模型训练的基础数据。代理模型不受物理场的限制,可广泛应用于电磁学、结构力学、声学、流体流动、传热、化学工程等领域,或是任意多物理场耦合的场景。

由代理模型训练研究生成的数据文件的前几行。

训练代理模型

训练是将收集到的数据拟合到代理模型中的步骤。一旦训练完成,代理模型就可以替代原始仿真,在许多情况下,既能保持足够的精度,又能显著提升运算速度。代理模型既可以在数据生成步骤后自动完成训练,也可以在单独的步骤中手动添加并进行训练。

代理模型的保真度取决于训练数据的数量和质量。高保真度的模型通常需要更多的数据,这些数据可以来自仿真、物理实验,或者两者的结合。

在使用代理模型时,数据生成步骤通常比训练步骤更耗时。不过,这两个步骤都可以加速。可以通过在集群上运行仿真,并行计算多个设计点,从而加速数据生成。此外,还可以使用 GPU 来加速 DNN 代理模型的训练,这能显著减少大数据集的训练时间。

一款用于分析电池测试循环的仿真App,着重展示深度神经网络代理模型如何用于重构时变物理量。

深入探究代理模型

在本篇博文中,我们简要介绍了 COMSOL® 软件中构建代理模型的相关功能。若想更全面了解该功能,可查看学习中心关于代理模型的建模课程,这是一套包含 8 个部分的自主学习课程,内容涵盖代理模型创建入门、基于深度神经网络(DNN)拟合数据、模型不确定性评估以及几何采样等多个方面。

提示:若想了解使用代理模型进行仿真的理论背景,可查看学习中心的课程:代理模型的仿真理论

博客分类


评论 (0)

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