有限元计算出现 Highly Distorted(单元畸变)错误怎么办?

有限元计算出现 Highly Distorted(单元畸变)错误怎么办?

Please Share Us

点击此处查看 ✿水哥原创ANSYS视频教程清单 ✿

水哥专属答疑服务已开通,点此此处查看详情

最近公众号后台有部分同学提问在计算过程中出现了单元畸变错误应该如何去调整, 错误信息大概内容如下,本文建简单罗列下调整此类错误的常规方式。

One or more elements have become highly distorted. Excessive distortion of elements is usually a symptom indicating the need for corrective action elsewhere. Try incrementing the load more slowly (increase the number of substeps or decrease the time step size). You may need to improve your mesh to obtain elements with better aspect ratios. Also consider the behavior of materials, contact pairs, and/or constraint equations. If this message appears in the first iteration of first substep, be sure to perform element shape checking.

一般此类错误多出现在非线性隐式计算中,问题内容本身已经解释的比较清楚了,主要内容为高度变形的单元导致数值计算收敛困难。如果要尝试解决这类错误,可从下面几个方面入手。

1、检查模型最后不收敛时刻的结果状态

通常模型即使计算不收敛,只要你设置了保存荷载子步的结果,那么也是可以查看不收敛前一步的计算结果,workbench里面可通过直接选定荷载子步评估结果,而APDL只需要采用set,list命令找到最后一个荷载子步对应的子步序号,然后再用类似set,1,subs的命令定位结果数据即可。

通常我们可以通过查看最后一个收敛子步的位移结果或者应力结果来综合判定。

对于位移而言,可比较位移变化形态与常规变形趋势的吻合性,当然这要求有比较丰富的行业经验了,如果变形趋势都不吻合,那也没必要往下进行了,因为这可能代表当前模型本身的边界或者荷载条件有问题,需进行调试更改。

对于应力而言,通常可与材料屈服应力或者极限应力比较。如果模型计算的应力已经接近或者局部超过设定的阈值,这已经提示你在当前模型、荷载和边界条件下,结构负荷可能已经到达极限值了~

2、核实单元连接是否处理得当

以本人计算经验而言,有的时候该错误可能出现在单元连接处。其中最大概率的地方在于接触。接触的设置对接触行为至关重要,所以如果你的模型出现了这类错误,并且又是在有接触的情况,不妨考虑调整下接触设置,例如接触行为设置是否合理?接触刚度设置是否合理?接触初始间隙设置是否合理?接触算法是否合理?

3、大变形开关是否打开

非线性计算中很大一类是几何非线性,所谓几何非线性,也即是考虑模型几何变化所带来的对模型刚度的影响,就好比一根琴弦,松弛和紧绷状态下的音律肯定是不同的。故而在分析时大变形效应要仔细考虑。如果你的模型变形“很小”,小到几何变形基本对模型没啥影响,这时候可以不考虑大变形,但如果你的模型变形“很大”,特别是有塑性材料时,这时几何变形对模型刚度的影响就不可忽略,在这种情况下关闭大变形不考虑几何刚度的影响通常会造成收敛困难或者上述错误单元畸变。

注意这里的变形很大很小并不是物理意义上的很大很小,事实上,这个界限是很难确定的,水哥个人建议在很难确定的情况下可做对比分析。

4、模型网格的修改

这种方法很多时候和其他方法结合在一起修改。出现Highly Distorted的单元一般是实体单元或者壳单元,而出现的地方一般位于可能出现应力集中的地方,如果这种地方网格质量较差或者网格较为粗糙,则很容易造成收敛失败。常规的修改思路如下:

1)更改网格尺寸,细化网格;

2)更改单元的阶数,例如低阶改为高阶;

3)更改单元形状类型,例如四面体改为六面体;

4)合理设置网格过渡尺寸,也即网格尺寸的过渡不宜太大,尽量平滑过渡

合理使用上述方法,让模型得到一个质量良好的网格,这是保证计算能够收敛的前提条件。

5、增大荷载子步数,让荷载加的更加缓慢。

对于非线性静力分析而言,模型的加载与荷载子步有关,你可以想象成荷载子步数是对最终荷载的切分,更多关于荷载步与荷载子步的概念可参考水哥以前写过的一篇文章:

时间步、荷载步与荷载子步的关系是啥

对于非线性计算而言,个人建议不要使用固定的荷载子步,这在应力变化剧烈区域极容易造成不收敛情况,自动时间步是一个非常好的选择,可通过命令autots打开。

6、增加最大迭代次数

非线性计算不管是采用默认的牛顿法还是手动设置弧长法,非线性的计算和解方程的迭代次数有关,隐式计算每一步都是需要迭代计算的,ansys的默认迭代次数为25,如果超过这个次数,就认为本次计算不收敛。故一般情况下,可通过人为的增加迭代次数来确保计算收敛。

workbench中没有可以直接更改迭代次数的地方,只能通过在求解阶段插入命令流解决,比如:

Neqit,50

表示最大迭代计算次数为50次。

7、材料线性和非线性的合理布局

这一步通常是模型较大,收敛性较难导致计算时间较长情况下的使用方法。也即在自己关心的区域赋予非线性材料,而在远离关心区域设置线性材料,此类方法可大大减少模型的非线性计算时间。

当然,如果经过上述几个方面的调整,计算还是出现此类错误,那么这个时候可能就不仅仅是求解技术层面的问题了,而要同学们自己反思有限元模型是否合理,比如边界,荷载,单元选择,单元连接…..

调整有限元模型合理性的效率永远比通过调整技术层面来的效率要高~

欢迎扫描如下二维码关注本站微信公众号:ANSYS结构院

有时间麻烦帮忙点击下公众号文末的广告哦, 权当码字的辛苦费,感谢大家!

Please Share Us
© 版权声明
THE END
喜欢就支持一下吧
点赞4赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容

YOU MAY LIKE…