===概述===
商用有限元软件的健壮性体现在对各种特殊情况,求解过程和解的正确性依然能得到保证,而这些特殊情况在自编程序中如果没有考虑到,那么结果就可能相差极大。其中剪切自锁和沙漏现象是最常见的会影响正确性的两个特殊情况。譬如很多编程序的人都喜欢用悬臂梁来验证程序的正确性,如果是悬臂梁来做壳单元的验证,可能就会出现结果和理论值比较要么太大,要么太小,公式都是按书上标准的积分来的,怎么也查不出问题,其实与你的编程代码无关,而是书上的算法本来就会出现剪切自锁和沙漏而导致结果偏大或者偏小。最近编程也遇到了这个问题,就顺便研究了一下,有兴趣的可以参考一下。
===剪切自锁===
剪切自锁发生在完全积分单元中,这里的积分指的是求解刚度矩阵时采用的积分形式,且线性单元最明显,同时,不是所有的载荷都会发生剪切自锁的,只在受弯下才会发生自锁现象。壳单元的剪切自锁只影响薄膜刚度和面外横向剪切刚度。剪切自锁时会导致单元刚度变大,收敛比较慢,就算对一个细网格,结果和真实值之间也可能有很大误差。消除剪切自锁一般常用减缩积分或者假定应变的方法。
===沙漏===
沙漏和剪切自锁可以说是既相同又相反。和剪切自锁相同的地方在于在线性单元中最明显,且不是所有的载荷都会发生沙漏的,只在受弯下才会发生沙漏现象。和剪切自锁相反的地方在于剪切自锁发生在完全积分单元中,剪切自锁时会导致单元刚度变大,收敛比较慢,而沙漏发生在减缩积分单元中,且沙漏现象会导致单元刚度变小。在线性减缩积分时,通过算法能抑制沙漏,要想完全消除沙漏,那么只能改变建模方法,譬如换完全积分,高次单元,加密网格等。
===Abaqus的实现=== 完全积分单元才有剪切自锁,虽然Abaqus的S4单元是完全积分,但内部已经做了修正完全消除了剪切自锁,所以不需要用户做任何设置。 减缩积分单元才有沙漏现象,Abaqus的S4R默认增加一个人工的沙漏刚度来控制沙漏现象,如果发现结果还是不理想,那么需要采用其它建模方法才能控制沙漏了。 Abaqus针对剪切自锁和沙漏控制做的修正如下: 现象 | 单元类型 | 元素
| 修正情况 | 剪切自锁 | S4 | 薄膜刚度 | 假设应变方法修正 | | S4 | 面外弯曲刚度 | 无
| | S4 | 面外横向剪切刚度 | 假设应变方法修正 | | S4R | 薄膜刚度 | 无
| | S4R | 面外弯曲刚度 | 无 | | S4R | 面外横向剪切刚度 | 无 | 沙漏控制 | S4 | 薄膜刚度 | 无
| | S4 | 面外横向剪切刚度 | 沙漏控制,和Belytchko公式不一致,暂时没研究 | | S4R | 薄膜刚度 | 和Belytchko公式一致,因子取0.005G |
| S4R
| 面外弯曲刚度 | 和Belytchko公式一致,因子取0.00375G*4 |
| S4R
| 面外横向剪切刚度 | 沙漏控制,和Belytchko公式不一致,暂时没研究 |
详细的研究过程见附件。
|