假设你正在使用 COMSOL Multiphysics® 软件及其附加产品重新创建一个 COMSOL 案例库中的模型,以了解如何使用软件的特定功能来建立模型。然而,你创建的模型输出结果可能与案例模型的结果不一样。那么,如何查找这两个模型之间的差异?接下来,我们将介绍在 COMSOL 软件中比较两个模型差异的方法。使用模型文件比较工具
对于任何在 COMSOL 软件中创建的模型文件,都可以使用比较工具将 COMSOL Desktop® 中的当前模型与文件系统中的其他任何 COMSOL 模型文件(在比较工具中称为远程文件)进行比较。通过对模型文件进行比较,你可以:- 将两个模型文件之间的差异输出为一个 XML 文件,以进行下一步处理。
比较按钮位于开发工具栏的最侧。在 Windows® 操作系统中开发工具位于软件界面的顶部,在 Linux® 操作系统和 macOS 中,位于软件界面的底部。
首先,单击比较按钮,打开选择 App 窗口,从文件系统中选择任意一个 COMSOL Multiphysics 文件(MPH 文件)。然后,单击打开按钮打开该文件并进行比较,比较结果将显示在 COMSOL Desktop® 中的比较结果窗口。比较结果窗口显示本地文件和远程文件的差异列表。
单击选定属性的详细比较按钮,或双击该行打开比较属性窗口,其中包含有关比较的更多详细信息。比较属性窗口列出了属性值之间差异的较详细视图。示例中选择了边界差异。
两个模型之间的典型差异
在创建或重新创建 COMSOL Multiphysics 模型时,可能会出现几个错误使模型的结果与预期不同。例如,模型中会包含一些与预期值不符的源值、流量、材料属性或其他输入值。这可能是由于一些小错误引起的,例如小数点位置错误。根据被修改值的用途和影响,这些错误会对结果产生巨大影响。另外,还可能出现的错误是在确定边界条件在何处有效时选择了错误的边界;也有可能是选择了错误的边界设置;或者,从某些模型文档中输入了几何实体编号,而当前模型的实际几何组件的编号可能与模型文档中的不匹配。这个不匹配可能是由创建模型几何结构时的某些更改引起的,也可能是添加的边界条件或域源的选择是空的,或者这些选择对于任何几何实体都未激活。在这种情况下,模型树中的节点会出现警告,并会提示选择为空,帮助你识别这些物理场节点。添加的物理场节点选择为空时的提示信息和警告。
对于这种情况(很容易发现的空选择除外),比较工具对于查找两个假定相同的 COMSOL 模型之间的确切差异非常有用。接下来,我们以 COMSOL Multiphysics 案例库中的汽车消声器模型为例,来介绍如何使用比较工具来查找这种差异。此案例模型模拟了内燃机消声器中压力波的传播。下图显示了案例模型的解以及两个新创建的模型的解,新创建的模型分别使用了错误的入口压力幅值和出口边界选择。COMSOL案例库中原始模型的声压解。
使用错误的入口压力的模型声压解。
使用错误的出口边界的模型声压解。
意外更改产生的差异
假设你在输入入口压力幅值参数值 p0 时,手指在键盘上不小心滑动了一下,将该值设置为 11Pa,而不是案例模型中的 1Pa。很显然,产生的压力将比预期高 11 倍,如上图(中)所示。此时,使用比较工具,比较结果窗口会显示以如下图所示的差异:比较结果窗口显示了本地文件与远程文件的入口压力幅值差异。
在上图所示的差异中,照相机位置(视图下方)和求解器的时间标记(求解器序列下方)处还显示了其他差异。这些差异可以忽略。结果栏显示了绘图数据范围存在差异,即解改变产生的影响。如果凭借经验或预感判断,该差异可能与压力有关,那么比较结果的筛选图仅显示入口压力幅值的变化:比较结果窗口中差异的筛选图,仅显示入口压力幅值的差异。
将入口压力幅值的参数 11Pa 校正为 1Pa,然后重新求解模型,得出的解与案例库模型的解相同。边界选择错误产生的差异
出口边界选择不正确也会导致差异产生。在图形窗口选择出口管的上边界时,可能会选择错误的边界。错误的选择会影响解,因此声压会略有变化,并且压力等值面具有不同的形状和位置,如上图右方所示。使用比较工具,比较结果 窗口将显示以下差异:选择平面波辐射为出口边界条件时,比较结果窗口显示了本地值和远程值之间的差异。
在上述差异中,你可以与之前的比较一样,忽略其他差异。如果你认为差异与某些选择有关,那么比较结果的筛选图仅显示出口边界选择的变化:比较结果窗口中差异的筛选图,仅显示选择出口边界的差异。
通过将出口的选择更改为仅包括边界 50,然后重新求解模型,我们将得到与案例库模型相同的解。结论
这篇文章,我们介绍了如何使用 COMSOL Multiphysics 中的比较工具查找两个 COMSOL 模型文件之间的差异。对两个常见的错误建模示例,我们使用比较工具查找出了错误解与预期解的差异。通过纠正这些差异,可以重新创建模型并得到正确的解。本文内容来自 COMSOL 博客,点击底部“阅读原文”,可查看更多延伸文章。如果您有相关问题,或者文中介绍的内容没有涉及您所关注的问题,欢迎留言讨论。