☰
Abaqus螺栓模拟三大方法:连接单元、梁单元、实体螺栓怎么选
2026/10/20 8:16:33 网站建设 项目流程

我搞结构分析这么多年,被问得最多的问题之一就是:一大块装配体上几十上百个螺栓,在Abaqus里到底怎么建才靠谱?问这个问题的人往往已经搜过一圈教程,结果发现网上答案分成几派,有人说用连接单元,有人说用梁单元,还有人坚持要把螺栓建成实体,否则就是“不准”。说实话,这些说法各有道理,但都没说全。最关键的判断标准不是哪种更“高级”,而是你这次分析到底想看什么。

这篇内容就把Abaqus螺栓模拟的三条主流技术路线——连接单元模拟、梁单元模拟、实体螺栓模拟——从头到尾捋一遍:各自的建模逻辑、适用场景、具体操作步骤,以及我实际用下来踩过的坑。无论你是在做装配级刚度评估,还是要校核单颗螺栓的疲劳寿命,看完应该能直接选对方向。

1. 为什么同一根螺栓,有三种建法

1.1 结构设计和强度校核关注的不是同一件事

先说个最容易被忽略的事实:螺栓在仿真里的“作用”并不是固定的。在概念设计阶段,你可能只想知道整个机架在预紧力作用下的刚度有多大;到了详细设计阶段,你想知道的是螺栓连接处会不会滑移、螺栓轴力够不够;等到做疲劳分析时,你又开始关心螺纹根部的应力集中。这三种需求对应的建模深度完全不一样,硬要用一种方案从头打到尾,要么计算量爆炸,要么精度远远不够。

我见过不少人一上来就建实体螺栓,每个螺栓带螺帽、带螺杆、带螺纹,网格画得极其细致。结果模型一跑就是两三天,而且只要接触设置稍有问题就发散。回头想想,如果整体方案还没定,螺栓数量又多,这种细节密度根本没必要。反过来,如果你要写一份螺栓断裂失效分析报告,结果只用了梁单元,审的人肯定也会质疑:你连接触应力都没算,怎么敢下结论。

所以“三种建法”从来不是谁替代谁的关系,而是对应不同分析层级。连接单元适合把螺栓当作一种力学行为来抽象,梁单元适合快速搭建传力路径和判断内力分配,实体螺栓则适合把接触状态、夹紧力、局部应力集中算明白。

1.2 网格规模与计算成本的账要提前算清

实体螺栓之所以“贵”,不只是因为几何多,更因为接触计算本身就是隐式分析里最难收敛的部分之一。一颗M10螺栓的实体模型,网格稍微细一点,单元数量就可能上万;加上螺杆与孔壁、螺帽与被连接件表面的接触对,每次迭代都要做接触探测。如果装配体里有几十颗螺栓全部实体建模,普通工作站几乎是跑不动的。

梁单元和连接单元就轻量得多。梁单元本质上是一个线单元,不管截面多大,计算开销都比实体小几个量级;连接单元更是只有两个节点加一段刚度行为,基本不消耗什么计算资源。这也意味着,你在模型里放100颗梁单元螺栓,和放100颗实体螺栓,求解时间差距可能是一到两个数量级。做工程分析,时间也是成本,提前把账算清楚,比建模时纠结网格要重要得多。

1.3 三个路线的本质差别

一句话总结:连接单元是“行为模型”,梁单元是“杆件模型”,实体螺栓是“细节模型”。

  • 连接单元:用两个点之间的力-位移关系模拟螺栓的力学行为,可以定义刚度、阻尼、失效,甚至是扭转刚度。
  • 梁单元:用一根带截面属性的线来代表螺栓,能输出轴力、剪力、弯矩,传力路径清晰。
  • 实体螺栓:完整建出螺栓几何、接触面、预紧力作用截面,能直接看应力分布。

这三种方案不是由软件决定的,而是由你要回答的问题决定的。下面逐条展开讲。

2. 连接单元模拟:把螺栓压缩成一个行为模型

2.1 CONNECTOR 什么时候好用,什么时候会失真

连接单元(CONNECTOR)在Abaqus里是一种非常灵活的建模手段。它的思路很直白:螺栓把两个零件连接在一起,本质上就是两点之间的一种力学约束关系。只要我能定义这两点之间轴向的拉压刚度、径向的剪切刚度,以及必要的阻尼或失效条件,我就等于把螺栓“装”进了模型。

适合用连接单元的场景很集中:一是装配级的大模型,螺栓数量多、结构复杂,只要整体受力分布合理即可;二是机构动力学或刚柔耦合分析,需要模拟连接处的相对运动、间隙甚至脱落;三是对螺栓本身应力不关心,只关心连接行为对整个系统的影响。我在做某些装配体模态分析和多体动力学时,用连接单元螺栓是最省事的做法,计算结果也完全够用。

但连接单元有一个明显失真点:它不知道螺栓孔长什么样,也不知道板件被螺栓头压紧的面积有多大。如果分析目标就是孔边应力、螺栓头下压陷这类局部问题,连接单元就不要碰了。

2.2 从 Wire 到 Section 的四步建模流程

在Abaqus/CAE里建连接单元,基本流程可以拆成四步:

  1. 创建Wire(线特征)。在两个需要建立连接关系的参考点之间创建一条Wire,这两个参考点通常位于被连接件的孔中心位置,或者通过Coupling约束与孔周边关联。
  2. 定义Connector Section。进入Interaction模块,选择Connector Section,指定连接类型。对于螺栓连接,最常用的是Cartesian(笛卡尔)类型,它允许你在三个平动自由度上分别定义刚度,也可以配合转动自由度。
  3. 设置局部坐标系。连接器刚度是各向异性的,必须明确局部方向1、2、3分别指向哪里。一般把局部方向1设为螺栓轴线方向,方向2和3设为横向剪切方向。
  4. 指派Section到Wire上,再按需要添加阻尼、塑性或失效行为。

操作上有一点要特别指出:很多人建完连接器后,发现输出的连接力方向不对,或者模型一加载就乱动,十有八九是局部坐标系没定义好。Abaqus对连接器方向的默认推断不一定是你想要的轴向,必须在Connector Orientation里显式指定,做完后最好画一下方向矢量检查一遍。

2.3 刚度参数哪里来

连接单元里的刚度可不是随便填的。轴向刚度一般可以用材料力学公式估算:

轴向拉压刚度 k = E·A / L

其中E是螺栓材料弹性模量,A是螺栓杆截面面积,L是螺栓参与变形的有效长度。剪切方向的刚度可以采用类似思路,按剪切模量和面积计算,同时要考虑板件孔壁的局部变形,工程上经常取一个折减系数,或者直接用试验或更高精度模型标定。

我个人的习惯是:先在实体螺栓局部模型上做一次拉压标定,提取力和位移曲线,再反推出连接单元的刚度参数。这样得到的连接器行为最接近真实螺栓,而不是拍脑袋填个数。需要注意的是,刚度和螺栓的夹持长度、被连接件材质都有关,换一个结构就要重新标定或验证。

2.4 螺栓数量多到怀疑人生时:用 Fastener

如果模型里的螺栓数量非常多,比如汽车车身、箱体结构这类动辄几十上百颗螺栓的装配,我会直接用Fastener功能,也就是紧固件单元。Fastener和连接器的思路接近,但更“批量化”:它允许你在两个相邻面之间批量定义锚点,每个锚点自动挂一个连接器截面,不用你手动去建几百条Wire。

Fastener建模的好处很明显:第一,不需要在几何上钻孔,不受网格拓扑限制;第二,可以指定分布耦合区域,模拟螺栓对被连接件局部区域的影响;第三,批量定义、批量修改非常方便。缺点是它依然是行为模型,无法输出螺栓局部应力。Fastener本身需要定义连接器截面,所以连接单元相关的刚度设置经验同样适用。

2.5 连接单元几个容易被忽略的坑

  • 连接单元的失效设置:如果只是静力分析,不关心螺栓断裂,别急着设失效。失效参数一旦触发,单元会被删掉,接触状态大变,容易把收敛问题带出来。
  • 质量/惯量处理:在多体分析和模态分析里,连接单元本身不带质量,需要把螺栓的质量分配到端点上,否则模态频率会有偏差。
  • 输出变量:连接器输出的是Connector Force或Connector Moment,读取时要先弄清楚默认输出坐标是全局坐标还是局部坐标,转换关系要看清楚。

3. 梁单元模拟:最快拿到传力路径和轴力

3.1 为什么梁单元很适合模拟螺栓

梁单元(Beam Element)和连接单元最大的区别在于:梁单元是一根“有身子”的杆,它有长度、有截面、有方向,能够通过截面内力真实表达螺栓的承载状态。用B31这类梁单元模拟螺栓,既能输出轴力、剪力、弯矩,又能以很低的计算成本处理大量螺栓,所以在静力分析和结构强度快速迭代里非常受欢迎。

梁单元模拟螺栓的适用面很广:整体结构的刚度评估、静强度校核、多螺栓连接的载荷分配、甚至基础疲劳分析(基于名义应力法时)。它不像连接单元那样纯粹抽象,也不像实体螺栓那样笨重,属于性价比最高的路线。

3.2 从画线到赋截面的完整流水

用梁单元建螺栓的流程,我可以概括成这么几步:

  1. 在Part模块创建代表螺栓轴线的Wire几何线,尽量从被连接件的一个孔心连到另一个孔心,注意这条线本身不能和实体几何重叠。
  2. 在Property模块定义梁截面。用Circular截面类型,输入螺栓杆的公称直径和材料属性。如果是变截面螺栓(头部和杆部直径不同),可以分段定义不同截面。
  3. 指定梁方向。Abaqus的B31需要指定梁截面的法向方向(n1方向),这个方向会影响弯矩输出。如果方向没指定,可能出现弯矩方向异常。
  4. 布置网格种子并划分网格,梁单元类型默认B31即可。

这里有个细节需要强调:梁单元螺栓的两端必须和被连接件建立约束关系,否则它只是悬空的一根线,不参与受力。后面专门讲。

3.3 梁单元上加预紧力:两种施加方式有讲究

Abaqus里给梁单元施加螺栓预紧力,位置通常在Interaction或Load模块下的Bolt Load功能,不同版本菜单位置略有差异,但逻辑一致。

施加时你会面临两种目标量选择:

  • 指定目标力(Force):直接输入你想要的轴向预紧力,Abaqus会以该力为目标把螺栓“拉紧”。
  • 指定轴向长度变化(Adjust length或调整长度):输入螺栓需要缩短的长度或应变,求解器算出对应的内力。

这两种方式适合不同场景。如果你在仿真前已经根据拧紧力矩换算出了目标预紧力,直接用Force方式最简单。如果你实际关心的是拧紧圈数对应的长度变化,那就用后者。但要注意:直接给力时,因为螺栓两端连接的结构刚度不同,最终反映出来的“夹紧位移”会有差异;而给长度时,轴向力大小是求解出来的,不一定是你的目标值。工程上我会优先用指定力的方式,因为设计任务书给的通常是一个目标预紧力范围。

3.4 梁端与被连接件的约束选型

梁单元螺栓的两端,最常见的做法有三种:Tie约束、Coupling运动耦合、MPC约束。

  • Tie是把梁端点与孔周边网格节点直接绑定在一起。优点是简单,缺点是局部刚化严重,孔边应力会显得偏大,特别是网格粗的时候。
  • Coupling采用运动耦合(Kinematic或Continuum Distributing)时,梁端的位移被分布到孔周面的节点上,更接近真实螺栓通过螺帽把力扩散到板面的效果。我一般优先推荐这个。
  • MPC(多点约束)的用法和Coupling类似,但更“刚性”,对孔边局部应力同样偏保守。

实际操作中,我一般会把梁端隐藏在板件内部一点,再做一个Coupling区域,区域大小尽量等于实际垫片或螺帽的承压半径。这样既保证传力,又不至于局部刚度失真。如果你只是算整体刚度,Tie其实也够用,不要在这里浪费太多精力。

3.5 梁单元输出结果的判读

梁单元螺栓算完后,重点看两个量:轴向力和弯矩。

  • 轴向力是判断螺栓有没有被拉断或者是否仍然处于夹紧状态的核心。如果轴向力掉到零甚至变负,说明螺栓已经松脱,连接失效。
  • 弯矩反映偏心载荷或横向载荷的作用,对高强螺栓来说,过大的弯矩会导致螺纹侧向载荷恶化,也是需要留意的。

在Abaqus后处理里,梁单元的截面力通常用SF(Section Force)相关变量查看,具体输出要看你是否勾选了相应的Section Print。很多工程师在这里容易犯的错是只看Mises应力,却忽略了预应力载荷对螺栓轴的贡献,导致结论偏乐观或偏悲观。

4. 实体螺栓模拟:把接触摩擦和应力集中做扎实

4.1 几何简化的分寸

实体螺栓模拟是三条路线里精度最高、成本也最高的一条。所谓“实体”,就是把螺栓头、螺杆、螺母或螺纹等按真实几何建模,并在螺栓与被连接件之间定义接触。

但也不是所有几何细节都要堆上去。最常用的折中做法是:螺纹简化为光滑杆,螺栓头按实际尺寸建模,被连接件孔的直径按实际孔径或略放大。这样做的原因是螺纹的真实几何会让网格尺寸变得极小,计算量剧增,而工程强度校核更关注螺杆截面的名义应力和接触面的压强。只有在做螺纹根部疲劳分析、螺纹咬合失效研究时,才需要单独把螺纹建出来,此时一般用带周期对称的子模型,而不是整根螺栓。

简化几何时有个分寸要把握:螺栓头下的圆角不能随便省略。这个圆角是应力集中的高发区域,省掉它会把此处的应力算得偏低,疲劳校核时容易出现漏判。同样的,被连接件的孔口倒角也会影响接触压强分布,能保留尽量保留。

4.2 网格设计与接触对

实体螺栓的网格设计直接决定收敛难度和精度。我一般建议:

  • 螺栓杆和周向至少保证8到12个单元,避免应力分布“起刺”。
  • 接触区域附近不要用太粗的四面体单元,优先用扫掠六面体。如果几何太复杂,至少保证接触面的单元尺寸平滑过渡。
  • 减缩积分单元(C3D8R)使用时注意沙漏控制,或者直接采用非协调单元(C3D8I)处理弯曲问题。

接触对的设置是重头戏。一个完整的实体螺栓模型,至少需要这样几对接触:

  • 螺杆外表面与孔壁内表面
  • 螺栓头下表面与被连接件顶面
  • 螺母或螺纹啮合区域与被连接件底面(如果没有螺母,就考虑螺栓尾部埋入结构)

接触属性方面,法向行为一般用Hard contact或罚函数。Hard contact在Standard隐式求解时接触压力不穿透,物理上更真实,但收敛难度高;罚函数则平稳一些,适合迭代困难时先跑通再用Hard复核。切向摩擦系数,钢对钢一般取0.1到0.2之间,具体要看表面处理状态和是否涂油。

一个容易被忽略的细节是螺杆与孔壁的间隙。如果实际孔比螺栓大0.1mm,网格里也尽量体现这个间隙。把间隙画成零,反而会导致初始接触异常、预紧力还没加就出现接触应力。

4.3 预紧力施加与锁定顺序

实体螺栓的预紧力施加是全程最讲究操作的地方。Abaqus里的Bolt Load并不是简单加一个力,而是作用在一个螺栓杆横截面上、沿轴向的载荷。你需要先在螺栓杆中间做一个Partition,生成一个单独的加载面。

正常的加载顺序是两段式:

  1. 第一个分析步只施加Bolt Load,输入目标预紧力,让螺栓在预紧力作用下伸长、被连接件被压缩,接触逐渐建立。
  2. 第二个分析步把Bolt Load改为“固定于当前长度”(Fix at current length),然后继续施加外部工作载荷。

为什么要锁定?因为真实螺栓拧紧后,螺栓长度就被“锁死”在了一个特定状态,后续外部载荷会让螺栓轴力围绕这个状态上下波动。如果你不锁定,仅仅是继续施加载荷,Abaqus会认为预紧力还要保持恒定,这不符合实际的螺栓行为。

我第一次做实体螺栓分析时,直接第一步同时加了预紧力和工作载荷,结果接触区反复开合,算了五次都没收敛。后来把预紧力单独放第一步,把外部载荷放第二步锁定之后施加,问题立刻解决。这个顺序不要省。

4.4 收敛性问题和接触诊断

实体螺栓模拟最常见的收敛问题包括:接触对反复打开闭合、负特征值警告、接触初始化就穿透等。我的排查逻辑一般是这样的:

  • 先检查接触面间距。后处理里看一下接触状态(COPEN和CSTATUS),如果初始间隙太大,接触探测不到,就要调整接触界面尺寸或改用*Contact Stabilization。
  • 出现反复开合时,把增量步调小,并开启自动稳定(Automatic Stabilization)。阻尼系数从1e-4级别开始试,不能一上来给很大,否则结果像是“泡在油里”。
  • 负特征值警告在接触分析里经常出现,不一定意味着发散。如果求解能迭代收敛,可以先忽略;如果伴随大量迭代且结果异常,就回到接触设置排查。
  • 实在收敛不了的模型,可以改用Abaqus/Explicit做准静态分析,配合质量缩放,也能得到合理的应力场,只是用时步控制要花心思。

4.5 后处理和结果校核

实体螺栓模型的后处理重点有三块:

  1. 截面轴力。在螺栓杆截面定义Section Print,直接输出该截面的总轴向力,和给定的预紧力对比,确认螺栓传力是否正常。
  2. 接触压力CPRESS。被连接件之间的夹紧面压强应该是均匀分布的,如果压强出现严重偏斜,说明接触设置或网格有问题。
  3. 局部应力。观察螺栓头下圆角、螺杆根部、孔边等位置,采用合适的应力输出,比如Mises应力、第一主应力或最大剪应力。疲劳评估还要关注应力幅。

这里再提醒一句:实体螺栓的Mises应力高并不一定代表危险,要结合材料屈服和实际工况判断。螺栓设计标准里,高强螺栓的预紧力通常控制在材料屈服强度的一定比例内,具体数值要参照相关设计规范,不要凭感觉。

5. 三种方法混着用:模型级联是更聪明的路径

5.1 选型前先回答几个问题

前面聊了三种方案各自的适用性,实际操作中我建议你在建模前先问自己五个问题:

  • 分析目标是什么?整体刚度、连接内力、局部应力?
  • 螺栓数量有多少?5颗和50颗的建模成本完全不同。
  • 收敛风险能不能承受?隐式分析里接触越多,风险越大。
  • 时间预算多少?实体螺栓模型动辄数小时,连接单元也许只要几分钟。
  • 最终交付对象是谁?是强度评审报告,还是装配级刚度预测?

这五个问题回答完,选型基本就定了。举个例子:如果只做装配体的频率响应分析,螺栓全部用连接单元是合理的;如果做某关键螺栓的疲劳校核,那就必须围绕它建实体细节模型。

5.2 局部实体螺栓+全局简化模型的组合打法

在大型项目中,我更倾向于“全局用简化模型,局部用实体模型”的组合策略。

具体做法是:整体装配模型用梁单元或连接单元模拟所有螺栓,先算出结构在外载和预紧力作用下的整体变形和传力路径;然后锁定几个关键位置的螺栓,再建立一个包含实体螺栓的局部子模型,通过子模型技术把全局模型的边界位移映射到局部模型的切割边界上。

这个打法最大的好处是各取所长:全局模型轻快、迭代迅速,局部模型精细、结果可信。子模型的关键是切割边界要离关心的区域足够远,否则边界条件会把误差带进来。我一般建议切割边界距离螺栓孔中心至少留出两到三倍孔径的距离。

5.3 混合建模容易犯的三个错

  • 把梁单元螺栓直接和实体网格通过Tie连接,又把接触计算加在同一个区域,容易出现载荷路径双份传递。
  • 全局模型和子模型之间如果边界位移是粗略插值出来的,局部应力结果会受影响,需要留意子模型边界的节点集和单位一致性。
  • 预紧力在全局模型里施加后,又想在子模型里重新施加一遍,结果预紧力被重复计入。正确做法是子模型里直接继承位移边界条件,不要重复加载预紧。

这些坑我基本都踩过,给初次尝试混合建模的人打声招呼:宁可多花一天做全局-局部数据核对,也别在建模阶段贪快。

6. 预紧力换算与几个工程老坑

6.1 拧紧力矩和轴向预紧力的换算

工程上多数人手里只有拧紧力矩T,Abaqus里却需要轴向预紧力F。换算公式很简单:

T = K · d · F

其中d是螺栓公称直径,K是扭矩系数。K不是一个固定值,它取决于螺纹摩擦、支承面摩擦、润滑状态等因素。钢制螺栓无润滑时大致在0.2左右,有润滑时可能降到0.15甚至更低。

举个例子:M10螺栓,K取0.2,拧紧力矩40 N·m,则:

F = T / (K·d) = 40 / (0.2 × 0.01) = 20000 N,也就是20 kN

计算时一定注意单位统一。如果直径用的是毫米,力矩用的是N·m,就需要把毫米换算成米再算。

这里有个经验:预紧力并不是越高越好,过高的预紧力会放大螺纹接触面的塑性变形,甚至导致被连接件压溃。设计时选定目标预紧力,通常可以按材料屈服强度的一定比例来初选,具体范围参考相关设计规范和手册。

6.2 螺栓载荷的两种工作方式再强调一遍

前面在梁单元部分提到过,实体螺栓的Bolt Load同样面临“指定力”和“指定长度变化”两种选择。我的建议是:常规静强度分析用指定力,预紧力容易控制;做拧紧过程模拟或研究拧紧圈数对轴力影响时,用指定轴向缩短量。前者是“目标控制”,后者是“位移控制”,两者输出的轴力数值可能差不少,尤其当结构刚度较低时。

如果你和我一样做过较软结构的螺栓连接,会发现指定力时外部载荷稍微变化,螺栓轴力可能快速下降,此时就要检查是不是接触面塑性变形或者结构失稳了,而不是怀疑载荷设置。

6.3 接触间隙与初始穿透:最容易被忽略的坑

实体螺栓模型里,有两个非常经典的坑:

  • 初始穿透:网格建模时螺栓头与被连接件面的网格互相穿透,预紧力还没加,接触就已经产生了很大的初始应力。这一步会在接触诊断后处理里看得一清二楚,处理方式是调整网格位置或者适当放大接触间隙容差。
  • 间隙过大:螺杆和孔壁如果间隙建模过大,Abaqus默认接触面在间隙未闭合前不传力,螺栓会“虚置”一段时间,导致传力路径严重滞后。这时改用罚函数接触或缩小间隙可以改善收敛。

一般我在建完网格后,会在初始状态里专门检查一遍接触距离,确保所有应该接触的面都处于可探测范围内。

6.4 从静强度到后续疲劳分析

如果你把螺栓模拟做完后,下一步要做疲劳评估,那在静强度阶段就要规划好输出内容。疲劳分析需要的是循环载荷下的应力幅,而不是单一状态的Mises应力。

对于梁单元或连接单元模型,可以输出螺栓轴力的循环上下限,用名义应力法做初步评估;对于实体模型,则需要保存多个载荷状态的应力张量,分析关键点的主应力方向和幅值。实体子模型的优势在这里体现得最明显:你可以把精细应力场提取出来,加载到疲劳软件里做局部应力应变法分析。

另外提醒一句,疲劳评估时的平均应力修正很关键,别只算幅值不算均值,高预紧力下螺栓的平均应力很高,这会显著影响寿命结果。

最后再分享一个我自己的日常习惯:遇到任何带大量螺栓的新结构,我都会先抽出一颗代表性的螺栓,单独建一个“两个板+一颗实体螺栓”的迷你模型,把预紧力、摩擦系数、接触参数全部在这个小模型上调通,再放大到整机模型里。这个迷你模型计算只要几分钟,却能把收敛问题和参数设置问题都暴露在前面,比在大模型里反复试错高效得多。这个小习惯救过我不少次,你也可以试试。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询