网格划分在COMSOL多物理中是并行运行的吗?

标签:
cae |
你有没有想过模型几何的拓扑(换句话说,将几何分解成像域、边界、边和顶点这样的几何实体)会以某种方式影响COMSOL Multiphysics软件中网格的生成如何利用你的计算资源?如果是这样的话,那么你会对这篇文章感兴趣…
COMSOL多物理中的并行网格划分
以下操作利用共享内存并行性:
*自由四面体
*自由三角形
*免费四方
*映射
*边界层
*扫过
这自由四面体操作跨域和面并行化。这意味着,当该操作在具有四个域的几何图形上生成四面体时,它最多可以使用四个核,而如果几何图形中有一个域,则同一操作只能使用一个核,而不考虑可用的核的数量。同样地自由三角形,免费四方,和映射操作在2D跨域并行化,面向3D。
这边界层操作部分并行化。与其他操作不同,该网格操作在每个域内并行化。
最后,链接面的网格划分(通过映射操作)是扫过并行化的操作。
请注意,网格是按照网格操作的顺序从上到下一次一个操作地构建的。因此,并行化是每个操作完成的,一次一个。
基准性能测试
在实际建模场景中,并行化网格划分在多大程度上加快了网格划分时间?让我们取一个6×1×1-m的块,在一台6核的普通台式计算机上进行网格划分。任何人自由四面体操作添加在下网状物。在整个测试过程中使用了以下网格元素尺寸参数:
最大元素大小:0.02米最小元素大小:0.01米
网状物大小基准测试中使用的设置。
这些设置给出了非常精细的网格,这导致大约1300万四面体元素。
我们设置了三个测试用例,其中模型具有:
一个域
六个域,将块划分为六个大小相等的域
六个域,限制软件只能在一个内核上运行
左:一个6×1×1-m的块,有一个域(例1)。右图:外形尺寸与例1相同,但分为6个尺寸为1×1×1 m的区域(例2和例3)。
要限制软件只能在一个内核上运行,您可以添加选项-np 1到start命令。也可以在多核和集群计算页面偏好对话框。
基准结果和讨论
下表收集了3项测试的结果。案例1和案例3中的网格划分将仅在一个核心上运行,并且需要大约相同的时间来进行网格划分。具有6个域的几何图形(情况2和3)有更多的边界,因此会产生更多的三角形元素,这也意味着该几何图形需要稍多的网格工作。在情况2中,网格算法使用所有6个核心,网格划分减少到仅使用一个核心时所用时间的不到25%。
情况 | 域 | 时间 | 三角形元素 | 四面体元素 |
---|---|---|---|---|
1 | 1 | 136 s | 1.51e3 | 13.0e6 |
2 | 6 | 31 s | 1.81e3 | 13.0e6 |
3 (1个核心) | 6 | 147 s | 1.81e3 | 13.0e6 |
在六核台式计算机上运行的基准测试结果。该测试显示从一个内核(表中的第一行和第三行)到所有六个内核(表中的第二行)的速度显著加快。
你可能想知道你是否应该把你的几何划分成和你有核一样多的域,假设你有更少的域。答案是什么?不一定……
划分一个域会导致更多的边界。这给网格设置了更多的约束,这反过来可能会给网格带来更复杂的情况。边界的增加将需要更长的时间来进行网格划分,通过比较案例1和案例3中三角形元素的次数和数量可以清楚地看出这一点。您还应该考虑划分一个域会导致需要更细网格大小的窄区域。请注意,该基准中的情况是理想化的;六个内核上有六个相等的域。在真实情况下,更有可能的是,一些域更复杂,并支配网格划分时间,导致速度更慢。
用边界层划分域
这边界层插入边界层元素时,operation并行移动点,即使在单个域上操作时也可以这样做。因此,分区域不会提高性能,相反,因为额外的分区面需要更多的处理。
在不损失性能的情况下,我可以使用多少网格操作?
让我们使用上面基准示例中的案例2(最多六个核心上有六个域)。并行化是按网格操作完成的,所以如果我们现在添加另一个自由四面体操作和网格三个域在每个操作中,最多可以使用三个内核。一般来说,建议使用尽可能少的网格操作(相同类型)。这不仅使尽可能多的并行化成为可能,而且还允许网格质量的良好优化。要在不同的域/边界上设置不同的大小设置,请使用多个全局或本地大小属性,并且只能使用一个自由四面体手术。这使用网格序列教程讨论有关设置全局和本地大小属性的详细信息。
关于平行啮合运行的总结性思考
在这篇文章中,我们讨论了COMSOL多物理中网格划分算法的并行化方式。一个简单的基准测试结果表明,并行网格划分可以通过在更多的核上分布域来显著加快算法的速度。
本文摘自:http://www.zmfea.com/news/view/749-1.html