2. Abaqus裂纹建模技术入门

在Abaqus中做断裂与裂纹扩展仿真,第一步并不是直接进入Interaction模块去“加一个裂纹”,而是要在Part模块里把裂纹的几何形态真实地建出来。Abaqus的裂纹建模逻辑是“几何先行”:裂纹面、裂纹前沿、裂纹尖端这些概念,最终都要落到具体的几何边、顶点或面上,后续的Interaction模块才能识别并指派它们。本节以一个带中心穿透裂纹的二维平板为例,走完从草图到裂纹定义指派的全过程。

一、理解Abaqus中的裂纹几何要素

在二维问题中,裂纹通常表现为一条线(裂纹面)和它的两个端点(裂纹尖端)。Abaqus把这条线称为裂纹面(crack surface),把端点称为裂纹尖端(crack tip)。对于三维问题,裂纹前沿是一条曲线,称为裂纹前沿(crack front),其上的点称为裂纹尖端。理解这个对应关系很重要:二维的“尖端”在三维里扩展成“前沿”,而二维的“裂纹面”在三维里扩展成“裂纹面”。

需要特别注意的是,Abaqus的裂纹定义是基于几何的。也就是说,你必须先在Part模块里把裂纹作为几何的一部分画出来,而不是在网格里“挖”一条缝。常见的做法有两种:一是把裂纹面作为一条独立的边(edge)建在平板内部,平板被这条边分成上下两部分;二是把裂纹面作为平板的一条内部切割线,通过分割(partition)操作生成。前者更直观,后者更灵活。

对于二维穿透裂纹,推荐使用“分割面”的方式:先画一个完整矩形平板,再用一条水平线段把平板分割成上下两块,这条分割线就是裂纹面,它的两个端点就是裂纹尖端。这样几何干净,后续指派裂纹时不容易出错。

二、在Part模块创建含裂纹的二维平板

下面以“100 mm × 100 mm 平板,中心水平穿透裂纹长 20 mm”为例,说明具体操作。假设平板中心在原点,裂纹沿 x 方向,从 (-10, 0) 到 (10, 0)。

  1. 进入Part模块,选择 Create Part,选择 2D Planar、Deformable、Shell,近似尺寸设为 200。
  2. 进入草图,用矩形工具画一个从 (-50, -50) 到 (50, 50) 的矩形。
  3. 用直线工具画一条从 (-10, 0) 到 (10, 0) 的水平线段。这条线段就是裂纹面。
  4. 使用 Partition Face: Sketch 或 Partition Face: Line,用这条线段把矩形面分割成上下两个面。分割后,这条线段成为两个面共享的内部边。
  5. 退出草图,完成Part创建。此时在模型树中可以看到该Part包含两个面、若干条边,其中中间那条水平边就是裂纹面。

这里有一个容易踩的坑:如果只是画了一条线段但没有做分割,这条线段不会成为面的边界,Abaqus在后续指派裂纹时可能无法识别它。所以分割操作是必须的。分割完成后,可以用 Query 工具点击中间那条边,确认它确实存在且属于两个面。

三、指派裂纹尖端区域与裂纹面

几何建好后,切换到 Interaction 模块。裂纹的定义在Interaction模块中通过 Special → Crack → Assign Seam 和 Special → Crack → Create 来完成。但更常用的流程是:先用 Assign Seam 把裂纹面定义为“缝”,再用 Create Crack 定义裂纹前沿/尖端。

具体操作如下:

  1. 选择 Special → Crack → Assign Seam,选择中间那条水平边作为seam。Seam的作用是告诉Abaqus“这条边两侧的网格节点在力学上可以分离”,它是裂纹面能够张开的前提。
  2. 选择 Special → Crack → Create,弹出裂纹定义对话框。对于二维问题,选择 Contour integral 类型,因为我们要计算应力强度因子或J积分。
  3. 在 Select the crack front 中,选择裂纹前沿。二维问题中,裂纹前沿就是裂纹尖端所在的点。但Abaqus要求选择的是“前沿”,对于二维,通常选择裂纹尖端对应的顶点(vertex)。如果几何中裂纹尖端是一个点,直接选它即可。
  4. 在 Select the crack tip 中,选择裂纹尖端。对于二维,裂纹前沿和裂纹尖端往往是同一个点,但Abaqus的界面会分别要求指定。这里选择 (-10, 0) 和 (10, 0) 两个端点中的一个作为当前分析的裂纹尖端。如果要同时分析两个尖端,需要分别创建两个裂纹定义。
  5. 在 Select the crack surface 中,选择裂纹面。对于二维,裂纹面就是那条水平边。注意:如果之前已经Assign Seam,这里选择同一条边即可。
  6. 点击OK,完成裂纹定义。模型树中会出现 Cracks (1),展开可以看到裂纹名称和对应的前沿、尖端、裂纹面。
Assign Seam 和 Create Crack 的顺序不能颠倒。必须先Assign Seam,再Create Crack。如果先Create Crack,Abaqus可能找不到可用的seam边,导致裂纹定义失败。另外,seam边必须是内部边,不能是外边界。

四、检查裂纹定义是否正确

完成上述操作后,建议做三项检查:

  • 几何检查:在Assembly模块中,确认Part实例的中间边确实存在,且没有被其他几何覆盖。
  • Seam检查:在Interaction模块中,选择 Special → Crack → Edit,查看已定义的裂纹,确认裂纹面、裂纹前沿、裂纹尖端都指向正确的几何对象。
  • 网格检查:划分网格后,观察裂纹面两侧的网格是否共节点。如果共节点,说明seam没有生效,需要重新Assign Seam。正确的状态是:裂纹面两侧的网格在几何上重合,但节点是独立的,这样裂纹才能张开。

对于二维裂纹,还有一个细节:裂纹尖端的网格需要特别处理。通常会在裂纹尖端周围布置一圈退化的四边形单元(collapsed element)或三角形单元,形成所谓的“奇异单元”,以捕捉裂纹尖端的应力奇异性。这属于网格划分的内容,但建模阶段就要为后续网格划分留好几何条件,比如在裂纹尖端附近做局部分割,方便布置结构化网格。

五、二维裂纹建模的完整流程示意

下面的SVG图展示了从平板几何到裂纹定义完成的完整关系。图中左侧是Part模块中的几何构造,右侧是Interaction模块中的裂纹指派关系,中间用箭头表示模块切换和数据传递。

二维中心穿透裂纹建模:几何构造与裂纹指派关系 Part 模块:几何构造 裂纹面(seam边) 尖端A 尖端B 100 mm × 100 mm 平板 中心水平裂纹长 20 mm 关键操作:用线段分割面 分割后线段成为内部共享边 模块切换 Interaction 模块:裂纹指派 ① Assign Seam 选择中间水平边 → 定义为seam 作用:允许裂纹面两侧节点分离 ② Create Crack 类型:Contour integral 指定裂纹前沿、尖端、裂纹面 ③ 检查与验证 Edit Crack 查看指派对象 网格检查:两侧节点是否独立 顺序约束 必须先 Assign Seam,再 Create Crack seam边必须是内部边,不能是外边界 几何对象(边/顶点)→ 裂纹定义(seam/前沿/尖端)一一对应

图中左侧的红色线段是Part模块中通过分割生成的内部边,它同时承担两个角色:在几何上是裂纹面,在裂纹定义中是seam边。两个红色端点分别是裂纹尖端A和B。右侧的Interaction模块中,Assign Seam和Create Crack是两步关键操作,顺序不能颠倒。底部的虚线箭头强调了几何对象与裂纹定义之间的对应关系:裂纹面对应seam边,裂纹前沿对应尖端顶点,裂纹尖端对应具体顶点。

六、常见问题与排查

初学者在这一步最常遇到三个问题。第一,Assign Seam时选不到中间边,原因通常是分割没有成功,或者选中的是外边界。解决办法是回到Part模块,用Query工具确认内部边的存在。第二,Create Crack时提示“no crack front selected”,原因是没有正确选择裂纹前沿。二维问题中,裂纹前沿就是裂纹尖端的顶点,需要在视图中直接点选那个点,而不是选整条边。第三,网格划分后裂纹面两侧仍然共节点,说明seam没有生效。此时需要删除网格,重新Assign Seam,再重新划分。

另外,如果平板是对称的,可以只建一半模型,在对称面上施加对称边界条件,裂纹面位于对称面上。这种做法可以减少计算量,但要注意对称边界条件会约束裂纹面的法向位移,对于I型裂纹(张开型)是合适的,对于II型或III型裂纹则不合适。本节示例采用完整模型,避免对称性带来的额外判断。

完成上述步骤后,一个简单的二维中心穿透裂纹模型就建立好了。接下来可以进入Property模块定义材料,进入Step模块设置分析步,进入Load模块施加边界条件和载荷,最后提交计算并在Visualization模块中查看应力强度因子或J积分。裂纹建模的质量直接决定了后续断裂参数计算的可靠性,所以Part模块的几何构造和Interaction模块的裂纹指派值得反复检查。