由 Walter Frei 创作的所有博客

线性方程组的解:直接和迭代求解器
本篇博客中,我们将向您介绍使用 COMSOL 求解任何有限元问题时,其中所用的两类线性方程组的求解算法。这些信息与理解求解器的内部工作原理,以及内存使用如何随问题大小变化等相关。

如何使用几何单元进行网格划分
在之前的博客中,我们向您介绍了线性静态问题的网格剖分注意事项。这里的核心概念之一是网格收敛,随着网格的细化,解将变得更为精确。本篇博客中,我们将更加深入地探究对于线性静态有限元问题,如何选择一个合适的网格来进行网格收敛研究。

网格剖分时识别并解决其中的奇异性
阅读之前的一篇博客 “线性静态问题的网格剖分注意事项”,我们发现,有限元模型的解将能在网格细化的限度内收敛至真实解。不仅如此,我们还了解到,在误差较高的区域,可以通过自适应网格细化生成包含更小单元的网格,而不是简单地在整个模型内都使用较小的网格单元。

线性静态问题的网格剖分注意事项
本篇博客中,我们介绍了线性静态有限元问题的网格剖分注意事项。这是网格剖分技巧系列博客的第一篇,希望能帮您建立起对有限元模型剖分网格的信心。

求解线性稳态有限元模型
本篇博客是求解器系列的首篇博客,将介绍用于求解所有线性稳态有限元问题的算法。虽然我们在博客中基于一维有限元问题进行介绍,但所讲解的内容具有普适性,能帮助您理解博客系列中接下来将介绍的更加复杂的非线性多物理场的求解技巧。

使用全局方程模拟室内空气温度
前些天我遇到了一个有趣的问题,它促发了我想要写一篇博客的灵感,因为它使我想到了我们的 COMSOL Multiphysics 软件中一个非常强大但常常没有得到充分利用的功能:全局方程。在这篇文章中,我们将讨论如何使用全局方程为模型引入一个额外的自由度,来表征一些并不想明确建模的东西。 建模场景 假设有一个小房间,里面有一个人,如下图所示。房间内有一个风扇使空气循环流动并充分混合,因此可以假定房间内空气温度是恒定的。假设室外有微风,并且我们知道室外的空气温度。我们还假设地下的地面温度是恒定的,普通人在休息时会散发大约 75W 的热量。建模目标是计算房间内的空气温度以及通过墙壁的温度梯度。 模型设置 如果你想要非常精确的建模,可以建立一个共轭传热模型,并求解房间内部和周围的温度场和流体流动。(如果你想建立一个房间内所有气流的模型,请参阅“置换通风”案例模型)。 然而,与求解传热问题相比,求解流体流动问题对计算要求很高。如果你熟悉传热建模,就会知道对于垂直和水平壁,可以通过一个方程 q”=h(T{air}-T) 将内向热通量 q”、墙壁温度 T、空气温度 T{air} 和传热系数 h 联系起来。如果空气温度高于墙壁温度,热量将流入墙壁,反之亦然。因此,使用该方程,我们根本不需要求解流体流动,就可以知道室内的空气温度。我们用一个简化的工程草图来说明如何建模: 这里,我们使用有限元方法对房间壁进行了具体建模;我们使用了真实的墙壁尺寸,并设置了适当的材料属性。求解的场是墙壁的温度,我们将它假设为稳态条件。我们知道室外温度、地面温度和所有传热系数,因此这个问题几乎是可以求解的。但是我们不知道房间内的空气温度 T{air}。因此,空气温度需要作为一个额外未知数添加到有限元模型中。 除了未知数,我们还需要知道该变量必须满足什么等式。在这个示例中,选择很明确:我们要确保进出空气域的所有热量之和等于零。也就是说,如果我们对室内墙壁和空气之间的热通量进行面积分,再加上人的热量贡献,那么这个积分应该等于零: \int{walls}q”dS+q_{person}=0 使用全局方程求解模型 全局方程 接口提供了一个变量名称输入列表(我们将使用 Tair)和所要满足的方程。在定义方程的字段中,我们将使用名为 intop 的积分耦合算子 对所有墙壁边界的法向总能量热通量变量 ht.nteflux 进行积分。由于这是一个稳态问题,我们给定的初始条件并不重要。在设置时,请确保打开模型开发器中的高级物理场选项,以便在物理场接口中添加全局方程。在求解全局方程时,需要使用全耦合 方法和直接 求解器。 全局方程接口以及相应的求解器设置。 求解模型后,我们可以看到所有内壁的温度分布,并通过结果 > 派生值 > 全局计算对空气温度进行评估。我们假设空气温度均匀,从而简化了问题,并使用全局方程简化建模。这里展示的方法假定空气的热容量可以忽略不计,但如果我们想将它看作瞬态问题建模,可以将空气温度的时间导数以及空气的总质量和比热包含在全局方程中。 下一步 如果你想查看类似的示例,了解在模型中设置全局方程的所有步骤,请参阅使用全局方程满足约束条件案例教程。如果你认为使用全局方程对您的建模有所帮助,并有兴趣了解更多有关 COMSOL Multiphysics 的信息,请联系我们。

使用无梯度的优化方法求解模型
COMSOL 软件的优化模块包含基于梯度和无梯度的优化 2 种功能。基于梯度的优化方法可以计算目标函数和任何相关约束函数的精确解析导数,但它要求函数是平滑和可微分的。在这篇博客中,我们将研究无梯度优化器的使用,它可以考虑不可微分或不平滑的目标函数和约束条件。为了减轻质量,同时保持对零件峰值应力的约束,我们对旋转轮的尺寸进行了优化。 旋转轮的压力 旋转的轮子会产生离心应力,从而导致整个零件产生应力。为了减轻质量,轮毂上被切割了一些规则的孔洞。下图中显示了离心力产生的 von Mises 应力。我们希望进一步减轻质量,同时将应力保持在临界值以下。 求解应力 虽然我们可以一次对整个轮子进行建模,但由于这个零件存在镜面对称和旋转对称,因此可以减小模型,从而最大限度地降低计算要求。对称边界条件用于约束该零件。 基于旋转速度、旋转轴和材料密度施加体载荷,用于模拟离心力。该模型使用瞬态求解器求解,即假设转速恒定。 选择设计变量 在这个示例中,假设已经有了一套制造工艺,我们希望对零件的整体设计做最小的改动,以降低重新加工的成本。设计变量的一个常见选择就是改变轮毂上孔的半径。因此,我们回到几何序列,对孔的半径及其位置进行参数化。我们还可以根据纯粹的几何分析推算出,每个孔的最大半径必须有一定的限制,否则孔与孔之间的区域会变得太薄,孔与孔之间就会重叠。我们还将对最小半径设限,因为我们不希望孔洞完全消失。 定义目标函数和约束条件 这里的优化目标只是减少零件的质量,即所有域上材料密度的积分。 优化目标是使质量(密度的积分)最小。 这个约束条件稍微复杂一些;我们希望尽量减小零件的峰值应力。但是,我们并不知道峰值应力会出现在哪里。如果内孔或外孔太小,就会导致孔周围应力集中。如果我们将孔的半径做得过大,孔之间的材料就会变得过薄,同样会导致高应力。因此,我们必须监控整个零件的最大应力,并将其限制在指定的峰值应力以下。这是一种无差别约束,尤其需要使用无梯度优化方法。 峰值应力通过域探针进行监测,并命名为 PeakStress。 峰值应力变量受限于一个上限。 用无梯度优化法求解问题 为了求解优化问题,我们在研究分支下添加了优化 功能。Nelder-Mead 方法是两种无梯度方法之一(另一种是坐标搜索)。无梯度优化算法还允许当几何尺寸变化时重新划分网格。 目标函数和约束条件由模型树中的优化 分支定义。控制变量给定了初始条件,我们指定了上限和下限。优化后的设计有很大不同——质量减少了 20%,同时保持了对峰值应力的限制。

使用 COMSOL 模拟共面波导
共面波导 (CPW) 常用于微波电路中。使用 COMSOL Multiphysics 及其附加产品 RF 模块,您能够轻松地计算设计共面波导时所需的阻抗、场、损耗和其他工作参数。 二维接地共面波导设计 下图为2个典型的共面波导的横截面。如图所示,介电基板的顶部刻蚀有金属层。当基板底部也刻蚀金属层时,称为接地共面波导。底部的金属层通常是经通孔连接至电介质顶部的金属层。虽然这些金属层常常被称为接地,但是金属层中有电流流过,因此表面的电势并不恒定。接下来,我们将重点讨论接地共面波导的示例。 共面波导可以由以下特征参数表征:金属迹线层厚度 t,中心导体宽度 w,中心导体和侧导体之间的间隙 g。如果是接地波导,还包括介电基板厚度 h。 无论进行任何仿真分析,都需要先计算趋肤深度: 以工作频率为 1GHz 的器件中使用的铜为例,其相对磁导率和介电常数为 1,电导率为 6×107S/m,趋肤深度为 2.05µm。由此可知,电场和电流衰减为:,其中 是进入金属的距离。趋肤深度和金属层的厚度将决定需要进行什么分析。如果趋肤深度和迹线厚度相同,则有必要将金属域本身包含在 COMSOL 模型中。另一方面,如果趋肤深度远小于迹线厚度,至少小 10 倍 (), 那么金属层一侧的场不会显著影响另一侧的场。在这种情况下,没有必要对金属层的内部进行建模,可以将它们看作模拟域的边界。 另外,如果金属层的厚度 t 足够小,使得其对结果的影响可以忽略不计,那么我们可以将金属迹线建模为理想电导体 (PEC) 边界条件。例如,下图显示了一个最简单的共面波导模型,该共面波导上方的空气区域可以通过代表金属封装的理想电导体边界条件,或代表没有电流流过的表面的理想磁导体边界条件来截断。 我们可以使用 RF 模块建立和求解此类模型,选择二维模式分析研究类型。计算阻抗 Z=V/I;计算电压 V 沿导体之间的任意一条线获取电场的路径积分,此处标记为 A;计算电流 I 沿任意路径环绕中心导体对磁场进行积分,标记为 B。同轴电缆的阻抗教程模型提供了一个类似的示例,其中详细介绍了如何设置这类模型。 建立三维共面波导模型的 3 种方法 上述二维模型可以快速计算共面波导的阻抗,并可以帮助我们了解横截面中的相对场强。然而,我们通常对一些结构上有变化,需要建立完整三维模型才能求解的设备更感兴趣。这就提出了如何激励三维共面波导模型的问题。我们可以采用多种不同的方法,但首先可以考虑使用理想电导体表面建模的共面波导,其迹线厚度 t,可以忽略不计。 1.为模型添加矩形面 如下图所示,一种方法是向模型中添加几个矩形面,这些矩形表面可以垂直或平行于共面波导平面,代表探针尖端。这些理想电导体表面充当两侧导体之间的桥梁。然后在电桥和中心导体之间的另一个矩形面上应用集总端口激励。该集总端口在相邻的理想电导体表面之间施加电压差(注意:图中箭头的方向是任意的,它们只是为了表明存在沿箭头方向流动的正弦时变电流)。 这种方法非常简单,只需要对模型进行少量修改。要了解使用此方法激励的共面波导模型的示例,请查看 COMSOL 案例库中接地共面波导上的 SMA 连接器模型。 2.通过两个集总端口减少修改 实际上,上述方法需要向模型添加一些额外的结构,因此我们可以考虑一种需要更少修改的方法,如下图所示。通过在中心导体两侧增加 2 个集总端口也可以激励共面波导。 这种方法的唯一困难是它需要手动设置;2 个集总端口功能中的端口号、尺寸以及最重要的是,方向 相同,而且必须设置集总端口的方向,使它们要么都指向中心导体,要么都指向远离中心导体。 相比于第一种方法,这种方法在模型中引入了较少的额外结构,但确实需要两个端口特征,因此必须手动设置并指向正确的方向。 3.模拟两点探针 我们还可以扩展共面波导的布局,以及将理想电导体的侧平面扩展为围绕中心理想电导体的带状结构,然后为集总端口引入一个额外矩形,模拟两点探针,如下所示: 结束语 当然还有其他方法可以激励共面波导,但以上3种方法是最常见的。这 3 种方法的解之间的差异应该很小,但应该注意,所有这些都是为了近似激励,并且集总端口附近的场并不是理想的物理场。这是一种局部效应,远离激励的场和计算的阻抗等量应该更准确。 为了获得最高的保真度,可以对同轴波导的耦合进行具有完整细节的显式建模,如上图所示。有关说明此方法的类似示例,请参阅 Wilkinson 功分器模型。 所有上述方法都可以推广到共面波导金属迹线厚度值很大的情况,或者金属层必须明确包含在模型中而不是通过边界条件近似的情况。其他激励策略当然也是可行的,但这些是最常见的方法。学习了这些方法,您就可以自信地使用 COMSOL Multiphysics 和 RF 模块进行共面波导的建模和设计。