咱们接着验证一下围线积分法的可靠性,前几篇文章里试过网格重划分和结果映射那套组合拳了,这次找来个更难啃的骨头——双孔边裂纹。你想啊,两个圆洞对称放着,边缘还带着预制的裂纹,在远场的拉扯下一起裂开。算完后一对比,围线积分的结果跟XFEM这种经典解法几乎长在了一块儿,跟文献里的数据也对上了号,“可行且准确”这事儿就这么顺理成章了。 咱们先看下这个40乘40毫米的平板。中间有两个圆洞,半径是2.5毫米,圆心离板边各有12.5毫米。每个圆洞边上都有一条2.5毫米长的纵向裂纹。载荷就按无限大板那样给个均匀拉伸力,模拟一下单向应力状态。 具体怎么算呢?用四边形八节点等参单元就行了,裂纹尖端那块网格得稍微加密点。四边设成简支边界条件,给远场加均匀位移载荷。围着两个孔边画一条闭合路径,专门抓裂纹刚要裂开或者扩张的时候的数据。 结果出来挺有意思的。两条裂纹几乎是同时顺着最大周向应力的方向裂开了,然后就各自往圆心那个方向跑。应力强度因子K值随着裂纹长度变化,呈现出“上升—平台—加速”这种典型的三段式走势。为了让数据不乱跳,每步网格更新后都得把结果映射回原来的节点上。 再来瞧瞧XFEM那边怎么搞的。模型尺寸和孔裂纹都跟咱们的完全一样。只不过它是用水平集函数表示裂纹面的,不用手动去加密网格了。但坏处是得手动盯着裂纹前头走。远场位移也是通过弱形式一点点加到每一步增量里去的。计算收敛后看裂纹尖顶的位移反算K值就行。 这里有个好玩的事儿:两者最终的扩展路线只差了不到0.2毫米;那种上升、平台和加速三段式的K因子曲线也跟文献里的记录一模一样;计算效率这块儿嘛,它不用重划网格但得写个脚本追着裂缝跑;而围线积分一次性就能把全程的路走完了。 看这张对比图就更清楚了。左边是围线积分最后画出来的图,右边是XFEM的轨迹再加上文献数据的叠加。中间那条黑线就是两条路径重合的地方。肉眼一看就知道两条线贴得死死的,除非局部放大细看才看得出那点微乎其微的差距。 总的来说这套方法在复杂场景下还是挺稳当的。路径对上了不说,K因子趋势也跟文献值对上了号。这套“先围线积分、后网格重划、再结果映射”的套路已经在三种不同算例里检验过了,可以放心拿去做更复杂的随机扩展模拟啦。