问题描述
如何对问题求解结果的精度充满信心?如何执行网格细化研究?
解决方法
COMSOL Multiphysics® 中使用的所有数值方法都通过网格对建模空间进行离散,这有两个目的。首先,此网格用于近似 CAD 几何。其次,系统在该网格定义的空间中的离散点处求解问题的近似解。随着网格的细化,解将趋向于更准确地逼近所提出的边界值问题的真实解。(在 COMSOL 中,并非所有物理场问题都是边界值问题,特别是由射线光学和粒子追踪接口求解的控制方程,它们是常微分方程。不过,即便如此,我们仍然需要对 CAD 几何进行离散。)
为了确保模型的精度,您必须基于逐渐细化的网格重新求解模型,并将结果进行比较。在网格细化的极限下,适定问题会收敛。实际上,在超出可用的计算资源之前,网格细化的程度是有限的。(另请参见:知识库 1030:错误:“内存不足”。)
您可以使用多种不同的策略来执行网格细化研究:
自适应网格细化
使用自适应网格细化时(如下面的屏幕截图所示),软件将基于初始网格计算解,并估计误差较大的位置。然后,将在这些区域使用较细化单元对几何结构重新划分网格,并基于新的网格重新求解模型。借助此功能,您可以控制执行自适应网格细化的级别,在较细化网格上创建的单元数,用来估计误差的度量标准,以及用于网格自适应的方法。此功能并非适用于所有物理场接口,比如“射线光学”和“粒子追踪”接口。
COMSOL Multiphysics 核心软件包提供了演示此功能用法的示例模型,包括点源实现和带轮应力。
屏幕截图显示稳态研究的自适应网格细化设置、创建的网格以及数据集(包含基于不同网格的计算结果)。
自适应网格细化的结果是生成一组不同的网格(可在网格分支中查看),以及一个数据集,其中合并了所有网格细化级别的结果。您可以手动设置初始网格,也可以使用软件默认的网格。
瞬态研究的自适应网格细化的设置和界面看起来有点不同,如下面的屏幕截图所示。在整个仿真过程中,软件将创建多个网格,而不仅仅是一个网格。
显示瞬态研究的自适应网格细化设置的屏幕截图。软件创建了对应于不同时间的多个网格,并将其存储在单个数据集中。
手动定义网格细化
使用这种方法时,您需要手动编辑网格划分序列,并使用不同设置的组合来定义模型不同部分的不同网格大小。请参见COMSOL 学习中心的网格划分基础操作教程。使用网格划分序列是一个简单的介绍性应用示例。
这种方法的优点在于,您可以更直接地控制创建网格的细化程度,还可以控制所创建单元的纵横比。如果已知解将在一个或两个方向上强烈变化或逐渐变化,此方法特别有用。与自适应网格细化相比,这种方法确实需要更高层次的互动,需要更多的工作量以及更深刻的理解,但这是一种占用更少计算资源的策略。
您可以引入一个用于控制网格大小的参数,并使用参数化扫描在控制网格的值范围内进行扫描。要了解如何设置参数化扫描,请观看视频:在 COMSOL Multiphysics® 中执行参数化扫描研究。结果将存储在单个数据集中,其中包含所有参数化解。
屏幕截图显示手动网格划分策略,以及“参数化扫描”特征和结果“数据集”。
使用物理场控制的网格设置
除此之外,您也可以使用默认的物理场控制网格设置。根据模型中涉及的物理场,软件将基于几何结构调整网格,可能还会根据物理场中应用的域和边界条件以及材料属性进行调整。后者仅适用于电磁波问题,比如在“电磁波,频域”仿真中自动划分网格中演示的例子。
一旦创建不同的网格,您便可以在每个“研究步骤”的设置中选择它们。
使用这种方法时,您无法直接控制网格,但这种方法非常方便。创建多个不同的网格,为每个网格设置各自的单元大小:,并引入多个不同的研究。选择网格,如上面的屏幕截图所示。结果将包含在不同的数据集中(每个研究一个)。
增加单元阶次
除了上述方法以外,您还可以研究增加单元阶次所产生的影响,只是这种情况比较少见。每个物理场接口定义一个单元阶次,用于近似每个单元内的场。您可以通过离散化设置来增加或减小单元阶次,如下面的屏幕截图所示。增加离散化可以显著增大内存使用率。在为多物理场模型更改此设置时要小心,尤其是在不同物理场中混合单元阶次时更是如此。另请参见:在多物理场模型中跟踪单元阶次。
物理场的离散化设置。
总结
这些方法都假设软件会收敛到每个不同网格的解。这不一定适用于非线性问题,如果网格过于粗化,非线性问题可能不收敛。有关处理非线性模型的其他策略,请参见:提高非线性稳态模型的收敛性。
比较和评估结果
在使用上述一种或任意组合方法后,建议您对不同情况下得到的计算结果进行比较。要查看任意两种情况之间的差异,请在结果 > 数据集中创建并使用合并数据集。调整要比较的两个数据集的设置,并选择差集作为组合方法,以创建一个反映不同网格细化级别之间差异的数据集,如下面的屏幕截图所示。
“合并”数据集可以计算解之间的差异。
在评估网格细化研究的结果时要非常小心。根据您评估的度量标准,有些量的收敛速度快,而有些量的收敛速度较慢。一般来说,对整个模型进行积分,可以达到最快的收敛速度,而通过网格细化的局部值则会得到最慢的收敛速度。此外,在计算尖角处场的导数时也要注意,尽管这些导数不会显著影响远离奇点的模型的整体精度,但会出现局部不收敛。有关更多详细信息,请参见:
更多资源
以下文章是一些具体案例,但也具有普遍意义:
COMSOL 尽一切合理的努力验证您在此页面上查看的信息。本页面提供的资源和文档仅供参考,COMSOL 对其有效性不作任何明示或暗示的声明。COMSOL 对所披露数据的准确性不承担任何法律责任。本文档中引用的任何商标均为其各自所有者的财产。有关完整的商标详细信息,请参阅产品手册。