yuun 发表于 2019-10-25 09:23:14

PCG,让Ansys算的更快(上)

我要算的更快是什么让我更美,是肌肤吗?不,是头发!
是什么让我算的更快,是头发吗?不,是PCG!
今天分享一个有关大模型求解的问题。

在大规模结构计算中,计算速度是一个非常重要的问题。
下面就如何提高计算速度作一些建议:
A:充分利用ANSYS MAP分网和SWEEP分网技术,尽可能获得六面体网格,这一方面能减小求解规模,另一方面可以提高计算精度。
B:在生成四面体网格时,用四面体单元而不要用退化的四面体单元。比如186号单元有20节点,可以退化为10节点四面体单元,而187号单元为10节点单元,在此情况下用187号单元将优于186号单元。
C:选择正确的求解器。对大规模问题,建议采用PCG法。此法比波前法计算速度要快10倍以上(前提是您的计算机内存较大)。对于工程问题,可将ANSYS缺省的求解精度从1E-8改为1E-4或1E-5即可,要不然,只选择PCG的话,计算速度还是上不去的。将求解精度修改为1E-4之后,计算机迭代1500次左右就可以计算完成(Solution is Done!)。
使用前是这样的https://mmbiz.qpic.cn/mmbiz_png/DVnwQibl2L2m96rlXSZm8IO1PuibBWerA6FXgr9IUp0Jnn773eiaIspeHSsQHxDC4s38icdgxUibicPR7bSQMLPHibHuA/640?wx_fmt=png
使用后是这样的:https://mmbiz.qpic.cn/mmbiz_png/DVnwQibl2L2m96rlXSZm8IO1PuibBWerA6ZVhx7IQfS9QthpPW8JOEv3ZIO33rZic2bujMBCIlKlqEDR5E2T390cg/640?wx_fmt=png
这是飞一般的感觉!

我要飞得更高,飞得更高狂风一样舞蹈,挣脱怀抱我要飞得更高,飞得更高
翅膀卷起风暴,心生呼啸


PCG求解器的妙用针对一些大规模的分析,诸如换热器热应力、鞍座热应力、快开结构的热压炉、带夹套卧式容器的疲劳分析等,需要整体建模,考虑电脑配置和计算时间因素的影响,往往采用8节点的三维实体单元Solid185来进行网格划分,然后求解,并且计算速度比较快,在保证网格精度的情况下(加密一倍,计算结果之差在3%以下),应该也可以。
而一般要求(诸如分析设计答辩作业中)所做的分析要利用20节点的Solid186单元划分网格的,并保证厚度方向至少3层网格。
那么大模型用186单元划分网格后如何顺利快速求解呢?
那就是PCG,预条件求解器。
相应的命令流如下,最重要的是将ansys默认的求解精度为1e-8修改为1E-4或1E-5,这已经能满足一般的工程问题。

[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
Finish/config,nproce,4      !指定使用4核处理器----提前设置好(如下图2所示)/solu                  !进入求解器alls                   !全选            eqslv,pcg,1e-4       !ansys默认求解精度为1e-8msave,on         !节省内存SOLVE               !求解运算/POST1               !进入通用后处理器SET,Last            !在ANSYS 2019R1以后,必须加上此命令,查看最后time的结果PLNSOL, S,INT, 0,1.0   !显示应力云图
命令:EQSLV, Lab, TOLER, MULT, --, KeepFileLab:求解方法,包括SPARSE、PCG , JCG、ICCG、QRM , 默认为SPARSE;TOLFR:迭代求解精度;MULT:使用PCG时,设置的迭代步数控制系数;KeepFile:使用SPARSE时,保留中间文件选项,默认为DELTE删除,可选为KEEP保留。
https://mmbiz.qpic.cn/mmbiz_png/DVnwQibl2L2m96rlXSZm8IO1PuibBWerA6a8fibv1SrnqtI6eRGBlMGnzAkAw2eAK8OyEEOqrQmGhFUMkINdXfYWg/640?wx_fmt=png图1:选择PCG求解器的菜单操作
当然,你选择四核处理器求解时,一定要在交互式启动中设置好,如下图2所示。https://mmbiz.qpic.cn/mmbiz_png/DVnwQibl2L2m96rlXSZm8IO1PuibBWerA67nOicMWWMmkm8tics01l3AqTczKHiaa4SQ21Aml71tPuCLS46p2c9aWGA/640?wx_fmt=png图2:设置4核处理器
实例对比

下面通过一个例子来看一下PCG所求解的节点方程数目。
以4立方米的带夹套卧式反应釜为例,当选择默认求解时,即稀疏矩阵直接法求解,是计算不了的,如图3所示。
https://mmbiz.qpic.cn/mmbiz_png/DVnwQibl2L2m96rlXSZm8IO1PuibBWerA6yIZxTZlWsaLG6HpQBUo55L1JYe94hw1AuS0HErMFhsja3bAmBdRMeg/640?wx_fmt=png图3:稀疏矩阵求解器无法计算
所求问题的节点方程数量为8606066个。
当选择PCG求解器后,迭代1500次左右,就可以计算完成,计算速度也非常快。如图4所示。https://mmbiz.qpic.cn/mmbiz_png/DVnwQibl2L2m96rlXSZm8IO1PuibBWerA6g7kuyDickkiaY1ZyzPre240hic4KoP1KsBmcKeZ82VkUYOympjfwnU6uw/640?wx_fmt=png图4:PCG迭代1370次计算完成
小技巧:
若计算完成保存了许多结果数据在工作目录下之后,往往就计算不了了,此时,先关闭软件,删除工作目录下的无用文件,然后再打开软件重新计算就可以了。
未完待续.........

ps122 发表于 2019-10-25 09:23:14

楼主的文采了得。

mfy1969mx 发表于 2019-10-25 09:23:14

好,留存。将来学习

1254098538 发表于 2019-10-25 09:23:14

学到了,请问是在命令流里设置吗

mzbsong 发表于 2019-10-25 09:23:14

{:1110_550:}谢谢杨工。

天山 发表于 2019-10-25 09:23:14


既然你诚信诚意的推荐了,那我就勉为其难的看看吧!马后炮化工不走平凡路。

静心阁 发表于 2025-1-17 11:21:22

{:1110_550:}
页: [1]
查看完整版本: PCG,让Ansys算的更快(上)