Bethany Nine – COMSOL 博客 - //www.denkrieger.com/blogs 发布博客 Fri, 04 Jun 2021 19:31:08 +0000 en-US hourly 1 https://wordpress.org/?v=5.7 如何执行网格细化研究 //www.denkrieger.com/blogs/how-to-implement-mesh-refinement-study //www.denkrieger.com/blogs/how-to-implement-mesh-refinement-study#respond Tue, 06 Aug 2013 12:11:06 +0000 http://com.staging.comsol.com/blogs/?p=73261 几周前,我主持了一场有关 COMSOL Multiphysics 后处理和可视化特征的网络研讨会。这场网络研讨会在 COMSOL 用户中的反响非常好,因此我特意写了本篇博客,希望再次强调下我们所涉及的一个重要专题,即在 COMSOL Multiphysics 中进行网格细化研究。

网格细化研究中的最佳网格尺寸和细化程度

COMSOL 主要利用有限元方法 (FEM) 进行单物理场和多物理场仿真。使用有限元方法时要谨记一点,那就是解的精度与网格尺寸相关。随着网格尺寸逐步减少并接近零(趋向于一个无限大尺寸的模型),您的解也将接近所求解方程的精确解。但受计算资源和时间的限制,您将不得不依赖于真实解的近似值。因此,仿真的目的是最小化精确解和近似解之间的差值(“误差”),并基于设计和分析目标将误差控制在具体项目可接受的水平内。

当您更改网格尺寸以确定参数在哪个网格尺寸上“收敛”为正确值时,您将需要追踪仿真中的特征输出参数。请注意,“收敛”之所以加了双引号,是因为具体收敛标准将取决于您的设计和分析目标。

您可以阅读后面的逐步说明,学习如何执行网格细化研究。您也可以观看下面已归档的后处理和可视化网络研讨会,了解如何在扩音器几何中执行这些步骤。

已归档的网络研讨会:后处理和可视化

执行网格细化研究

为了在 COMSOL Multiphysics 中执行网格细化研究,您必须首先确定收敛标准中将使用哪个输出参数。这必须是您通过网格中的部分或全部节点计算得到的数值。您可以在感兴趣的一个点上追踪一个变量或多个变量的数学表达式,或者在一个或多个域、边界或边上执行各类操作,例如积分、平均、最小、最大等。如果您选择后者,可以右击组件 1 > 定义,在模型耦合菜单中定义适合的积分、平均、最小或最大算子,然后选择您希望应用至哪个或哪些几何实体。注意,应在运行仿真前增加这一操作。这将有助于输出参数的设定。

现在,您需要应用用户定义参数来设定网格尺寸。在全局定义 > 参数下定义一个参数,然后在模型网格节点下的相关尺寸特征中,通过本参数定义最大单元尺寸。

接下来,右击研究节点,并增加参数化扫描。在设定窗口中,在参数名称列输入虚拟网格尺寸参数,然后输入您希望扫描的参数值范围。确保您将扫描的最大网格尺寸范围足够大,以便充分捕获分析中的收敛效应。这一范围将基于您的几何以及所求解物理方程的本质。例如,对于波辐射类问题,我们建议您在三维下的每个波长中至少使用 5 个单元,在二维下的每个波长中至少使用 8 个单元,但您可能仍需通过网格细化研究验证模型的最佳网格尺寸。

仿真计算结束后,您首先需要建立合并数据集,将所追踪参数在每个网格尺寸下的值与您认为可靠的解进行对比;这里,我们选择最细化网格尺寸下的解作为可靠解。右击结果 > 数据集,选择合并。在设定窗口中,将数据设定为包含参数化扫描结果的解(通常为解 2),并将解设定为数据 1 的所有解,在数据 2 中,将数据设定为您希望对比参数化扫描结果的解,例如数据设定为解 2,解设定为一个等。由于我们希望减去这些值,组合方法保留缺省的差集选项。

完成所有这些步骤之后,您就可以创建绘图了。基于上述收敛标准中所追踪的参数,增加包含全局点图一维绘图组,确保将数据集指定为合并 1。然后在表达式框中,输入您正监控其收敛情况的追踪参数的表达式,如果您正在运行频域仿真,则在 x-轴数据 > 轴源数据的下拉菜单中选择外部的解,因为此时您的频率范围会被看做内部解。最后,点击设定窗口上方的绘图图标,您将看到收敛图。

您可以下载下方后处理和可视化网络研讨会中用到的扩音器模型文件,其中包含我所演示的完整网格细化研究。

下面列出了您在最终模型中应关注的几个要点:

  • 参数化扫描中所用的参数每波长单元,将扫描从每波长 1 个单元到每波长 8 个单元的范围(请记住,本波辐射问题的推荐值是 5),但最大网格尺寸将由参数最大单元尺寸定义,即波长除以每波长单元参数的结果。
  • 我们是在追踪模型中最大声压级(SRL)的收敛,因此我们首先在组件 1 > 定义 > 最大 1 定义了所感兴趣域中的最大算子,并在仿真之后在一维全局绘图中绘制了表达式 maxop1(acpr.Lp)。注意算子的作用等同于函数,在模型开发器窗口中,您可以在算子名称后看到斜体的“函数”名称。在这里,我们可以找到声压级 (SPL) 变量 acpr.Lp 的最大值,因此,acpr.Lp 是括号内的自变量。

扩音器网格细化
声学扩音器几何中执行的网格细化研究

其他资源

]]>
//www.denkrieger.com/blogs/how-to-implement-mesh-refinement-study/feed/ 0