猿代码 — 科研/AI模型/高性能计算
0

代数多重网格(AMG)方法在大型CFD模拟中的应用

摘要: 代数多重网格(AMG)求解器为大型CFD模拟提供了稳健的解决方案。自COMSOL Multiphysics®软件5.3a版本起提供,AMG方法只需要一个网格,而几何多重网格(GMG)求解器至少需要一个额外的粗糙网格。这消除了为具有小细 ...
代数多重网格(AMG)求解器为大型CFD模拟提供了稳健的解决方案。自COMSOL Multiphysics®软件5.3a版本起提供,AMG方法只需要一个网格,而几何多重网格(GMG)求解器至少需要一个额外的粗糙网格。这消除了为具有小细节的复杂几何体创建粗略网格的麻烦,除非使用精细网格,否则这些几何体很难进行网格划分。

流体流动可以用动量守恒、质量守恒和能量守恒定律来准确地描述。描述这些定律最准确的方法是偏微分方程。描述这些定律的偏微分方程系统是非线性的。在大多数实际情况下,这些方程无法解析求解。相反,我们可以在空间和时间上离散化,以便以代数方程的形式获得偏微分方程的近似值。我们可以说,我们用一个数值模型来近似我们的数学模型。

左边的几何结构的“真实”描述是用离散化描述近似的,其中每个元素都进行动量平衡和质量平衡。

A Fluid Flow Problem, Mathematical Model, and Numerical Model

对于空间和时间方面的问题,COMSOL Multiphysics使用线的方法,其中空间中的离散化使用有限元方法进行,时间离散化使用一些标准的常微分方程方法进行,如逆微分公式(BDF)或广义-α。

流体流动方程是非线性的,这意味着离散化的数值模型方程也是非线性的。对于瞬态问题,必须在每个时间步长求解一个非线性方程组。对于稳定流,数值模型方程形成一个非线性方程组,必须求解一次。

当系统完全耦合时,求解非线性方程组(包括含时问题和平稳问题)的方法是阻尼牛顿法。这种方法基于非线性方程的线性化,并在一系列迭代中求解线性方程,通常称为牛顿迭代,直到我们获得所需的精度。

Why Should I Use Iterative Methods for Linear Equation Systems?

在我们的例子中,我们有数十万或数百万个方程和未知数,与我们用来生成数值方程的有限元网格中的节点数量成比例。在每次牛顿迭代中必须求解的线性方程组过于昂贵,无法用直接求解器求解。然而,我们可以使用更少的内存使用迭代求解器来求解线性方程。

即使是离心泵中流动的这种相对简单的模型也需要350000个方程和未知数。多亏了AMG解算器,这些方程可以在台式计算机上求解。

对于流体流动问题,COMSOL Multiphysics使用广义最小残差(GMRES)方法,这是一种求解大型线性方程组的迭代方法。我们可以修改线性方程组,使GMRES方法表现得更好。

Multigrid Methods
多网格方法为像GMRES方法这样的迭代技术提供了修改或预处理方程系统的最佳技术。

GMG方法作用于从细网格到粗网格的不同网格级别的线性方程组。它在对应于更粗和更细网格的不同线性系统之间传输候选解决方案,即迭代。其思想是,只对最粗糙的网格求解直接方法,并使用此信息更快地找到更精细网格级别的解决方案。粗略问题需要非常小,以免影响方法的性能。

在每次GMRES迭代中,GMG方法可以从更精细的网格开始,在那里获得系统的右侧,在一个称为预平滑的过程中将更精细级别的近似解映射到更粗糙的网格。使用直接求解器在最粗略的级别上校正方程的解。然后,在一个称为后平滑的过程中,将该解决方案再次映射到精细级别。

对于每个GMRES迭代,可以重复降低和提高网格级别(V循环)的过程。当达到GMRES迭代中的容差时,我们就有了一个足够好的线性系统的解。

Why Should I Use the AMG Method?

GMG方法对于流体流动问题是非常有效的。然而,它有一个非常严重的局限性。对于复杂的几何形状,可能很难或几乎不可能生成一个粗略的网格,该网格给出一个小到足以在最粗略的水平上求解的方程组。

离心泵的薄叶片在叶片周围的流体中产生非常小的元件。这也意味着,即使是最粗糙的网格级别也会生成太多的元素,从而产生太多的方程,无法使用GMG直接求解器进行求解。

AMG方法不需要不同的网格级别。AMG方法中的粗化过程仅基于线性方程组的结构,或者更准确地说,基于表示方程组左侧的矩阵。该方法将矩阵中连接到较小条目中的条目聚合到具有较小大小的新矩阵中。聚集条目的过程可以重复进行,甚至可以构建更小的矩阵。然后,根据执行了多少聚合,为这些聚合分配不同的级别。具有前光滑、后光滑和最粗级别求解的多重网格循环的原理与GMG方法在不同级别上构造矩阵的原理相同。

迭代求解器(GMRES)的设置与AMG方法结合使用,用于求解Ahmed身体的模型方程,如下所示。注意,该方法用于在分离求解器中分两个单独步骤求解动量和连续性方程(u,v,w,p)以及湍流模型变量(k,ε)。

What About Performance?


为了监控COMSOL Multiphysics中不同解算器设置的性能,每天要运行数千次测试。迭代求解器和流体流动的测试案例之一是所谓的Ahmed身体模型。另一个测试是所谓的层流静态混合器测试。测量结果表明,对于630万个自由度,AMG方法在单核计算机上的求解时间比GMG方法短了约13%。

请注意,这些结果反映了COMSOL Multiphysics对这些方法的实现,而不是这些方法的一般属性。在一台有四个核心的计算机上,这一差异降至6%左右。对于32个核心,这两种方法是相等的。这种行为的原因是GMG解算器的并行化程度高于AMG解算器。新的AMG方法在第一年就已经表现出了卓越的稳健性和卓越的性能,与GMG方法的最佳情况不相上下。










说点什么...

已有0条评论

最新评论...

本文作者
2024-2-23 23:56
  • 0
    粉丝
  • 309
    阅读
  • 0
    回复
资讯幻灯片
热门评论
热门专题
排行榜
Copyright   ©2015-2023   猿代码-超算人才智造局 高性能计算|并行计算|人工智能      ( 京ICP备2021026424号-2 )