Lsdyna 中裂纹模拟的几种办法
By lojade
我不是研究裂纹扩展的,前不久一个偶然的机会涉及到这一方面,查阅了一
些资料。看到论坛中最近又不少人在问裂纹模拟的办法,先将我查阅的资料整理
如下,希望对大家有帮助,请大家批评指正,加以完善。
1、*CONSTRAINED_TIED_NODES_FAILURE
首先必须把单元间共节点的节点离散,可以采用 ls-prepost 或 femp 实现。然
后在通过 matlab 或者其他语言编写小程序,对位于同一个位置的节点建立节点
集,添加*CONSTRAINED_TIED_NODES_FAILURE 关键字。采用此方法来实现
裂纹模拟的缺点是前处理太麻烦。应用实例可参考白金泽《lsdyna3d 基础理论与
实例分析》。
2、mat_add_eroson
关于这个关键字本版内有很多讨论,可以搜索一下。需要注意的是,在 lsdyna
971R4 之前的版本中,这个材料模型所带的失效模式均只适用于单点积分的二维
和三维实体单元。但是在 R4 之后的版本中,这个关键字有了很大的改进:
1、去除了单点积分的限制,同时还支持 3 维壳单元和厚壳单元中的 type1 和
type2。
2、可以定义初始损伤值,增加了几种损伤模型,具体可以参考 lsdyna 971R5
版的关键字。
3、带有失效的材料模型
有些材料模型本身就带有失效的,可以定义单元的失效来模拟裂纹的拓展。
如*MAT_PLASTIC_KINEMATIC 等。如果某些材料模型不带失效模式,可以采
用方法 2,或者通过自定义材料本构来实现裂纹的模拟。
4、带有失效模型的接触或者用弹簧单元来模拟裂纹
这个方法个人觉得有些牵强,但是在有些文献中也见过。在定义裂纹前必
须 已 知 可 能 出 现 裂 纹 的 区 域 , 通 过 带 有 失 效 模 式 的 面 对 面 的 绑 定 接 触
CONTACT_TIED_SURFACE_TO_SURFACE_FAILURE 或者用弹簧单元来模拟
裂纹面。
5、采用特殊的材料模型
某 些 材 料 模 型 如 *MAT_120 ( *MAT_GURSON ), *MAT_120_JC
(*MAT_GURSON_JC),*MAT_120_RCDC(*MAT_GURSON_RCDC),还有一
些 damage 模型,如*MAT_96(*MAT_BRITTLE_DAMAGE)等,用损伤值来代
替裂纹,通过观察损伤云图来判断裂纹的扩展。
6、EFG 和 XFEM Cohesive
这两种方法是目前 lsdyna 重点发展的用来模拟裂纹扩展的方法。其中 EFG
方法适用于 4 节点积分的实体单元,XFEM 只适用于 2 维平面应变单元和壳单元。
这两种方法具体使用参考 LS 971 R4 EFG User’s Manual 和 XFEM User’s
Manual。
7、个人总结
以下是个人总结,不一定对,仅供参考。
1、用单元失效或节点失效来模拟裂纹,即采用本文中的方法 1-3,其结果很
大程度上依赖于单元的划分。网格必须画得很细,才能得到感官上的裂
纹扩展。
2、采用带有失效模型的接触或者用弹簧单元来模拟裂纹时,必须已知裂纹
面产生的区域,因此这个方法只适用于某些特殊的场合。
3、采用特殊的材料模型来模拟裂纹时,对单元的要求没有方法 1-3 中那么
高。其缺点是参数的设置比较复杂,目前文献中很难查到有关于这个模
型的材料参数。文献《Identification of Gurson–Tvergaard material
model parameters via Kalman filtering technique. I. Theory》研究
了这个模型中各个参数对结果的影响,在设置参数时可供参考。
4、推荐采用 EFG 和 XFEM Cohesive,这两种方法应该代表着裂纹模拟的发展
方向。目前这两种方法有了很大的改进,但是仍不够完善,且对单元的
支持有限。
5、 lsdyna 中的裂纹扩展都得不到裂纹前端的应力强度因子,个人认为用
Franc3d 来做裂纹扩展要方便得多。