解决方法编号: 1118
标题: 解析瞬态波
平台: 所有平台
适用于: COMSOL Multiphysics, RF 模块, MEMS 模块, 结构力学模块, 声学模块, 波动光学模块
版本: 所有版本
类别: 网格, 网格
关键字:

问题描述

我正在求解一个瞬态波型问题,应该调整哪些网格和求解器设置才能获取更高精度并缩短运行时间?

解决方法

对于求解电磁、声学、结构或任何其他波型模型的瞬态模型来说,其精度受限于两点:有限元网格在空间中对波的解析程度以及时间步对时间变化的解析程度。本文介绍在分析此类问题时如何控制网格和求解器设置。

在开始建模之前,您应该知道以下两点。首先是激励的最大频率组成。您需要将其定义为全局参数,如:f_max。其次是所有域的材料属性。由于材料属性控制可能出现的最短波长,所以此信息控制所有域中需要使用的网格大小。如果任何材料或边界条件具有非线性,请注意这可能产生倍频,或引起可能导致更高频率组成的其他现象。如果您预计载荷或边界条件将发生任何阶跃变化,请先阅读:知识库 1244:求解载荷呈阶跃变化的波型问题

在知道预期建模的最大频率和材料属性后,您便可以构建模型并进行网格划分。默认情况下,电磁、声学和结构瞬态接口中使用二阶(二次)单元。网格至少必须满足奈奎斯特准则,因此每个域中的每个局部波长至少有两个单元。但是,这通常会产生令人无法接受的低精度。实际上,每个局部波长应至少使用五个二阶单元,但每个波长很少超过十个单元。您可以设置用户控制网格,对不同的材料域应用不同的大小特征。您可以首选使用自由三角形网格(用于二维模型)和自由四面体网格(用于三维模型);但如果模型结构的纵横比较高,包含薄层,材料呈各向异性,或出于其他原因期望解仅在一个或两个方向产生明显变化,那么可以使用其他单元类型(六面体、三角柱和金字塔单元)。此外,还需定义全局参数(例如:N)来控制每个局部波长的单元数,并定义一组变量来定义不同域中的局部波长,如下面的屏幕截图所示。

网格大小设置

手动设置单元大小

默认情况下,瞬态求解器将不断调整时间步,以满足指定的容差。“瞬态”设置中的相对容差框(如下所示)控制求解器如何调整时间步。这个数值越小,时间步就越小,精度就越高。请注意,更改瞬态节点中输出时间步的数量仅控制输出时间步,而对求解器实际采用的时间步几乎没有影响。

相对容差

输出时间步和相对容差设置

然而,由于您已经知道最大局部网格大小和最大频率,因此手动设置时间步在计算上更高效。该时间步在时域解析波应与网格在空间中进行解析的效果一样好。较长的时间步不能最佳利用网格,任何较短的时间步都会导致求解时间较长,而结果并没有明显的改进。波速 c、最大网格大小 h 与时间步长 Δt 之间的关系称为 CFL 数:

CFL = cΔt/h

我们已将最大网格大小手动定义为局部波长的 1/N(如上所述),因此可以根据频率 f 和每个局部波长的单元数 N 将上述关系重写为:

CFL = fNΔt

重组后得到:

Δt = CFL/Nf

使用默认的二阶(二次)网格单元后,CFL 数应小于 0.2,并且值 0.1 被证明接近最优,将 CFL 数也定义为全局参数会很有帮助。

您可以在瞬态求解器设置中实现手动调整时间步长,通常位于“研究 > 求解器配置 > 解 > 瞬态求解器”的“时间步进”栏。(如果“研究”分支中没有这些设置,您可以右键单击研究并选择显示默认求解器。)将时间步进下的方法:设为广义 α,将求解器采用的步长:设为手动,并将时间步设为:CFL/(N*f_max)

首选使用广义 α 求解器的原因请参见知识库 1062:向后差分公式法、广义 α 法和龙格-库塔法

时间步设置

手动设置时间步长

有关这些网格和求解器设置的示例,请参见“案例下载”页面提供的“声学模块”中的高斯爆炸

有关在“RF 模块”中对非线性材料建模的示例,请参见高斯光束的二次谐波产生。“波动光学模块”也提供了相同的示例:高斯光束的二次谐波产生

注:如果您使用任何“时域显式”公式(例如压力声学,时域显式对流波动方程,时域显式电磁波,时域显式物理场接口)求解模型,那么本知识库条目并不适用。

另请参见:

知识库 1244:求解载荷呈阶跃变化的波型问题

知识库 1240:手动设置变量的缩放比例


免责声明

COMSOL 尽一切合理的努力验证您在此页面上查看的信息。本页面提供的资源和文档仅供参考,COMSOL 对其有效性不作任何明示或暗示的声明。COMSOL 对所披露数据的准确性不承担任何法律责任。本文档中引用的任何商标均为其各自所有者的财产。有关完整的商标详细信息,请参阅产品手册。