我要算的更快 是什么让我更美,是肌肤吗?不,是头发!
是什么让我算的更快,是头发吗?不,是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!)。
使用前是这样的
使用后是这样的:
这是飞一般的感觉!
我要飞得更高,飞得更高 狂风一样舞蹈,挣脱怀抱 我要飞得更高,飞得更高
翅膀卷起风暴,心生呼啸
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, --, KeepFile Lab:求解方法,包括SPARSE、PCG , JCG、ICCG、QRM , 默认为SPARSE; TOLFR:迭代求解精度; MULT:使用PCG时,设置的迭代步数控制系数; KeepFile:使用SPARSE时,保留中间文件选项,默认为DELTE删除,可选为KEEP保留。
图1:选择PCG求解器的菜单操作
当然,你选择四核处理器求解时,一定要在交互式启动中设置好,如下图2所示。 图2:设置4核处理器
实例对比
下面通过一个例子来看一下PCG所求解的节点方程数目。
以4立方米的带夹套卧式反应釜为例,当选择默认求解时,即稀疏矩阵直接法求解,是计算不了的,如图3所示。
图3:稀疏矩阵求解器无法计算
所求问题的节点方程数量为8606066个。
当选择PCG求解器后,迭代1500次左右,就可以计算完成,计算速度也非常快。如图4所示。 图4:PCG迭代1370次计算完成
小技巧:
若计算完成保存了许多结果数据在工作目录下之后,往往就计算不了了,此时,先关闭软件,删除工作目录下的无用文件,然后再打开软件重新计算就可以了。
未完待续.........
|