首页 / 资讯中心 / 文章详情

焊接结构疲劳评估实战:nCode DesignLife从应力到寿命的完整闭环

焊接结构疲劳评估实战:nCode DesignLife从应力到寿命的完整闭环 ★ FEATURED ARTICLE
做结构耐久的朋友基本都绕不开一个痛点拿到一版有限元应力结果却不知道该用什么方法评估它到底能扛多久。nCode DesignLife这套流程我用了很长时间系列教程更到第十二期前面已经把SN、EN、多工况组合这些基础讲了个遍这一期终于要碰一个我自己觉得特别容易翻车的场景——焊接结构的疲劳评估。例子我选了一个很常见的工程机械安装支架材质Q345B板厚4mm左右主要焊缝是角焊缝。目标很直接在给定试验载荷谱下这个支架能不能扛住30万次循环如果扛不住改哪里最有效从有限元应力结果导入DesignLife开始到寿命云图输出再到结构方案调整建议完整走一遍闭环。适合正在做结构耐久、强度校核或者整车整机可靠性分析的工程师也适合刚接触DesignLife、想把焊接疲劳流程跑通的新手。至于为什么不用之前的例子接着扩展非要从焊接下手后面我会慢慢说。这里面坑很多不少坑是我自己踩出来的写出来能帮大家少走弯路。1. 这期案例为什么选焊接结构1.1 焊接疲劳是很多结构的第一失效模式先说一个事实工程机械、商用车、桥梁、压力容器这些行业里绝大多数疲劳裂纹都出现在焊缝附近而不是母材的光滑区域。原因不复杂焊接过程带来三样东西几何突变、残余应力、材料组织变化。焊缝趾部的应力集中系数可以轻松到2到3以上再加上焊接残余拉应力叠加实际承受的应力水平远高于你静强度校核时看到的名义应力。用DesignLife做焊接评估本质上就是把这几个因素通过不同的评估方法折算到一条可计算的疲劳曲线上。以前做强度分析的人总觉得“有限元应力最大处就是寿命最低处”做多了疲劳就会明白这个结论在焊接结构里经常不成立尤其是多焊缝、多传力路径的支架类零件往往寿命最低的位置和静强度最大值位置错得很远。1.2 案例对象与分析路径设计这次用的是一个商用车底盘附近的蓄电池托架支架安装在车架纵梁侧面承受颠簸路面传递过来的垂向和横向振动载荷。材料Q345B板厚4mm结构主体由底板、侧板和一个翻边组成连接方式为角焊缝焊缝焊脚高度3mm。分析目标验证该支架在试验场采集的典型强化路面载荷谱下寿命不低于30万次循环。整体分析路径是先用Abaqus计算单位载荷下的线弹性应力结果再把应力结果导入DesignLife叠加载荷谱和材料参数选择SN方法结合焊接评估最终得到寿命和损伤分布。这套路径的好处是“一次有限元计算多种工况复用”。因为疲劳分析往往需要调整载荷缩放、平均应力修正、焊缝等级等多个参数如果把参数都放在DesignLife里调有限元部分就不需要反复重算效率会高很多。2. 案例准备模型、载荷谱、材料参数缺一不可2.1 FE结果文件怎么准备才不出幺蛾子DesignLife本身不做应力计算它专注在“应力结果到寿命”这一段所以有限元计算结果文件的质量直接决定疲劳分析的成败。我比较常用的做法是用Abaqus或ANSYS做单位载荷静力分析导出结果文件再导入DesignLife。单位建议统一用mm、N、s、MPa这一套。单位问题绝对是新手重灾区。同样一个模型如果你在ANSYS里用m、N、s作为单位应力单位是Pa而DesignLife默认按MPa处理导入之后应力就差了六个数量级寿命自然离谱到完全没法看。这种问题在静强度计算里最多影响应力显示大小在疲劳里直接让寿命变成个位数特别迷惑。我每次切换项目单位时都会先花一分钟检查模型尺寸和材料弹性模量确认单位体系一致再往下走。网格方面如果后面打算用热点应力法评估焊缝那网格就不能按普通静强度的粗网格来画。热点应力法对外推点的应力做插值外推点位置受到板厚影响网格太粗会把应力梯度抹平导致评估结果不可信。后续用常规SN寿命评估时FE网格只要求能较好捕捉名义应力和整体应力分布但一旦切换到焊接热点应力法就必须对焊趾附近网格做局部细化并且在细化前先想清楚后续要取哪几个外推点。2.2 载荷谱的处理与加载方式疲劳计算必须有“应力-时间”或“应力幅循环次数”的数据。最可靠的办法是从实测载荷谱出发做成时间序列文件再映射到FE模型的加载位置。实测载荷谱如果只有峰值统计没有完整时序也可以先做雨流计数再生成等效谱但会丢失加载顺序效应和实际台架结果的相关性会差一些。我这次使用的时间序列是三通道数据Fx、Fy、Fz分别对应纵向、侧向和垂向载荷采样频率512Hz总时长60秒其实就是一段强化路面的循环。用DesignLife的TimeSeries Generator可以直接把文本格式的载荷数据读进来然后通过Load Mapping把通道和模型上的加载点对应起来。加载方式上要明确一个问题载荷是按比例加载还是非比例加载。当各通道载荷随时间的变化趋势一致时可以当作比例加载处理寿命计算用SN方法就可以如果各通道相位差很大载荷路径是非比例的SN方法会高估寿命这时候要考虑多轴疲劳评估方法。2.3 材料SN曲线和焊缝等级的选择DesignLife材料库里有很多常用材料的SN曲线数据Q345B这种材料也有类似牌号可选。但实际工程中我更推荐自己创建或修正一条贴合项目实际的SN曲线因为材料库里的曲线是通用数据不包含你这家钢厂实际供货状态、表面状态、板厚效应等信息。如果只想做初步评估用材料库默认曲线也可以但要清楚它代表的是光滑试样的中值疲劳特性直接拿来做焊接结构评估会过于乐观这也是为什么后面要用焊缝细节等级曲线来做校核。SN曲线的关键参数包括疲劳强度指数b1钢一般取默认值约-3、拐点寿命Nc1常取1e6或2e6循环、拐点后斜率b2、疲劳极限。焊缝评估里更常用的是“细节等级”这个思路即把焊缝按型式、受力方向、焊接质量分为若干等级每个等级对应一条S-N曲线。以前我总纠结到底应该用母材SN曲线还是焊缝SN曲线后来想明白了一个逻辑焊接结构的疲劳裂纹几乎都从焊缝细节起裂评估焊缝时就应该用对应焊缝细节等级的曲线而不是母材曲线。工程上可以参考国际焊接学会IIW的相关推荐值里面覆盖了不同焊缝型式、受力方向和制造质量针对自己公司的焊接工艺还应结合实际疲劳试验数据做修正不能机械照搬。3. 在DesignLife里搭建疲劳分析流程3.1 流程图搭建与节点连接DesignLife采用节点式工作流。打开软件后新建一个分析流程向画布上拖入FE Input、TimeSeries、SN Analysis和Results这些核心节点把它们按数据流向连起来。看起来像搭积木但每根连线都代表一组数据的传递连接错误或者数据不匹配时后处理结果会非常奇怪。本次流程的骨架是FE Input读取Abaqus的odb结果文件TimeSeries节点读取三通道载荷谱SN Analysis节点负责把应力结果和载荷谱组合Materials节点给模型分配材料SN曲线。如果要用焊接评估还需要在SN Analysis里额外选择焊接评估方法或者直接使用专门的焊接疲劳分析节点。加载FE结果后第一步是检查模型单位和应力类型。DesignLife在FE Input节点里会显示模型单位如果和预期不一致在这里就可以调整不要等到结果出来再返工。同时检查一下结果类型是应力还是应变焊接疲劳里一般用应力结果如果模型里有接触和大变形还得确认应力输出的是Mises还是分量方向应力提取对SN计算更合适。疲劳计算的底层逻辑本质上就是Palmgren-Miner线性累积损伤把载荷谱雨流计数后得到的每一级应力幅对照材料SN曲线查对应的破坏循环数再逐个累加损伤值损伤值超过1就认为发生了疲劳破坏。DesignLife会在处理时间序列时自动完成雨流循环计数这一步大部分情况下不需要手动干预但要理解这个机理后处理时才能看懂为什么某段载荷贡献了主要损伤。3.2 载荷映射与通道匹配把时间序列载荷加载到模型上有两种常见方式一种是把载荷直接映射到节点力上适用于加载位置明确、载荷按节点施加的情况另一种是在模型表面创建载荷映射区域将力分布到一片节点上适用于接触加载或者力通过垫片传递的情况。我在这个案例里用的是节点力映射。FE模型里预先建立了一个加载点实际是几个节点组成的集把三通道时间序列分别指定到这三个方向的自由度上。通道匹配时最关键的是“载荷方向”和“通道单位”如果时序文件里力的单位是N而模型内部单位体系导致力的比例因子不同寿命结果就会成倍变化。另外需要注意通道名称最好和实际物理方向对上否则三通道载荷顺序弄反寿命云图看起来正常实际加载方向完全不对后期根本没法解释结果。做完映射后先做一个单步验证给某一个通道加载一个单位力查看应力结果是否与FE静力分析对应位置一致。如果应力输出显示和静态分析一致说明映射关系没问题可以放行如果不一致先别往下算回头检查节点集和数据格式。这个检查几乎是免费的却能挡掉大量低级错误。3.3 平均应力修正和存活率怎么设置疲劳试验数据通常是在特定应力比下获得的但实际载荷谱的平均应力并不是常数。DesignLife在计算时会把交变应力按平均应力水平修正到材料试验的参考状态。常用的修正方法有Goodman、Gerber、Soderberg等三种方法对平均应力影响的处理保守程度不同。公式形式上来讲它们都是一种线性或二次近似真实材料行为往往介于不同修正之间所以选定修正方法后要保持一致不要在一个项目里来回切换。Goodman修正对拉伸平均应力比较敏感工程上用得最多设计偏安全。Gerber对平均应力的惩罚程度弱一些适合韧性较好的材料。Soderberg引入了屈服强度作为界限在材料接近屈服时非常保守。对一个Q345B焊接支架我一般先用Goodman做基准计算如果寿命不满足要求再尝试Gerber看看差距有多大为后续决策提供上下限。对高韧性钢残余应力也普遍存在Goodman修正算出来通常偏保守但很多时候保守不等于准确还要结合焊缝处理和表面状态一起看。存活率对应SN曲线的统计置信水平。默认材料库曲线一般是50%存活率安全评估里用97.7%存活率会更合适相当于把曲线向下平移了一些。这个设置在项目早期确定下来后面所有方案对比都在同一存活率下进行否则不同方案之间的寿命差值会混入统计因素的差异。3.4 焊接疲劳评估方法到底怎么选焊接结构疲劳评估在DesignLife里大体有名义应力法、热点应力法和结构应力法三个方向。名义应力法的操作最简单直接拿截面上的平均应力或最大应力对比焊缝细节等级曲线但对网格和应力提取位置比较敏感。热点应力法通过焊趾附近外推得到热点应力消除了部分网格敏感性问题是目前工程应用最多的折中方案。结构应力法基于节点力和弯矩计算网格不敏感性更明显但对模型离散方式和算法有要求。我在这次案例里优先采用了热点应力法。理由是支架板厚较薄几何相对规则热点外推点的布置比较方便而且热点应力法在商用车和工程机械行业积累了大量的验证数据和台架试验的相关性比名义应力法好。实际上支架类薄板结构用热点应力法还有一个好处外推点在表面和应变片测量位置接近方便后续用试验数据反向标定模型边界条件。4. 从寿命云图到设计改进4.1 寿命结果怎么读运行完成后Results节点会输出寿命云图、损伤云图和若干统计量。寿命云图单位是循环次数或者重复谱次数通常以对数坐标显示因为寿命范围可能跨越好几个数量级。损伤云图是寿命的倒数损伤值越大表示越危险。寿命云图上的颜色标尺默认是对数刻度每一档代表十倍或更多差距所以不要被颜色变化吓到先看清楚标尺范围再下结论。读云图时我有个习惯先不看寿命最小值而是先看整体寿命分布是否合理。如果整个模型都是深蓝色寿命极低或者全是红色寿命超高多半是材料参数、载荷映射或单位出了问题。合理的结果应该是有明显薄弱区其他区域寿命远高于目标值。如果只有某个网格尖角处寿命特别低要怀疑是不是网格奇异性导致的虚假热点而不是急着改结构。这个案例跑出来的结果是支架角焊缝根部附近寿命最低最小寿命大约12万次循环达不到30万次循环的目标。这个位置和台架试验里出现裂纹的位置基本一致说明分析方向和加载假设是站得住脚的。做对标分析时我会先确认最小寿命位置和试验裂纹起始位置是否吻合如果位置都对不上那寿命数值再好看也没有参考意义。4.2 找薄弱环节和结构优化方向薄弱位置确定后下一步是分析为什么那里寿命低。焊缝根部本身应力集中明显再加上它处于载荷传递的拐点弯矩效应叠加应力幅自然比其他位置高。针对这种情况工程改进方向一般有几种降低应力集中、改变传力路径、提高细节等级。我在这个案例里给的建议是先增加一块小筋板把原本集中到焊缝根部的弯矩分担掉一部分。这个方案成本低改动小对整车布置几乎没有影响。修改后重新计算静力结果并导入DesignLife最小寿命提高到了约55万次循环满足目标要求还有一定余量。这种改法听起来很常规但实际调整的时候要注意新筋板的焊缝不要落在原焊缝附近形成交叉热影响区否则反而会引入新的应力集中。4.3 寿命安全系数怎么评估除了直接看寿命数值工程上还常会问“这个结构离失效还有多少余量”。一个做法是不断放大载荷谱直到最低寿命降到目标值此时的放大倍数就是安全系数。DesignLife里可以用结果后处理公式或多次参数扫描来做这件事。安全系数定义方式在不同项目组可能不一样有的用载荷倍数有的用应力倍数报告里必须写清楚口径不然下游理解和计算基准对不上。简化估算时可以用寿命比值来反推应力安全系数。假设SN曲线斜率为-3寿命从30万次降到12万次寿命比是2.5倍则应力幅比约为2.5的1/3次方即约1.36说明在目标寿命下结构当前的应力裕度只有约1.36倍。这个数字给到结构设计同事比只说“寿命不够”要直观得多。这里假设SN曲线斜率恒定实际曲线在拐点附近斜率会变化所以这种估算适合在目标寿命和当前寿命处于同一曲线段时使用。5. 我踩过的坑常见问题与排查方法5.1 单位不一致造成寿命“不翼而飞”疲劳计算对单位的敏感程度远超静力分析。一次项目里我拿到一份客户发来的Nastran结果文件模型单位是m、N、s应力单位是Pa而我在DesignLife里默认用的是MPa体系结果寿命全部低于1次循环云图一片深蓝。排查了好几个小时最后发现单位问题。这种问题在静强度计算里最多影响应力显示大小在疲劳里直接让寿命变成个位数特别迷惑。后来我养成一个习惯导入任何结果文件后先把FE Input里的单位显示和目标分析单位截图对比一次再检查材料弹性模量数量级。如果钢材弹性模量显示为2.1e11而不是2.1e5那基本可以断定单位体系在某个环节串位了。5.2 SN曲线外推带来的虚假长寿内置材料库里的SN曲线通常只给到一定的循环次数范围超过这个范围后曲线会继续外推或者转为疲劳极限平台。如果载荷谱里大量循环落在曲线外推区间结果会产生很大的不确定性。尤其是随机载荷谱里低幅值循环数量巨大这部分循环到底算不算损伤不同材料和不同规范的差法都不太一样。有些规范把低于疲劳极限的循环完全忽略有些则按折减后的斜率继续累积选择不同自然会导致寿命差异。我遇到过最低损伤出现在10的40次方这种离谱结果的情况后来发现是某些单元应力幅接近零在曲线上外推得极远数值溢出。遇到这种结果第一反应不是分析结构而是检查那些超高寿命单元是不是数值噪声。5.3 平均应力修正方法不一致导致成倍误差同一个模型用Goodman和Gerber修正寿命结果可能差两倍甚至更多。问题不在于哪种方法“更正确”而在于整个团队必须用统一的设定来做对比不能今天用Goodman明天用Gerber否则完全无法判断设计改动的实际效果。这也是为什么项目评审时如果有资深工程师专门追问你用的哪种修正别觉得是在抬杠确实会影响结论。比较好的做法是建立内部规范明确标准计算流程用什么修正方法报告里同时给出一个替代方法的结果作为敏感性参考。定期回头对比一下新旧项目的修正设置也能避免团队里每个人按习惯各设一套。5.4 载荷谱时间尺度和循环统计出错时间序列文件里的时间单位很关键。如果载荷谱来自实测数据时间轴可能是秒也可能是小时。DesignLife统计循环次数时按时间序列的重复次数来算如果你把一个60秒的实测谱当成60个独立循环寿命会差很远。正确的做法是先明确“一次重复”的概念整个时间序列从头到尾算一次寿命结果的含义是“这个谱能重复多少次”。在设置重复次数时要把台架循环次数、试验时长和谱重复次数打通。比如台架要求30万次循环而一个谱代表一个循环那就是30万个谱如果一个谱包含10个循环那就只需要3万个谱重复次数。这类换算看起来简单实际在多人协作的项目里很容易各算各的导致最终报告里的寿命单位和试验对不上。5.5 快速排查清单快速排查这件事最大的价值不是帮你证明结果一定正确而是能够在最短时间内定位是哪个环节出了问题。很多疲劳计算结果看起来不合理其实不是什么高深的理论问题就是单位、通道、时间基准这类最基础的内容没对齐。我列了一个排查清单平时带新人时直接拿这个表格用省得每次从头翻文档。现象可能原因排查方法寿命整体极低单位体系不一致检查FE Input单位、应力数量级寿命高到离谱SN曲线外推过远检查载荷谱中低应力循环占比损伤集中在局部点网格奇异或应力集中细化网格或改用热点应力法结果对载荷缩放异常敏感平均应力修正选择不当对比Goodman与Gerber结果焊缝位置没有参与计算焊缝未识别或未定义检查焊缝定义和结果覆盖范围6. 针对疲劳分析加深的一些经验如果你想往焊接疲劳方向继续深入我的建议是先把热点应力法的网格规则吃透再去碰结构应力法。热点应力法对网格和外推点位有明确要求但它思路直观容易和试验对标结构应力法表面上看网格不敏感但对单元类型、节点力提取方式都有隐性要求直接上手容易踩坑。我自己最早就是从名义应力法起步走了不少弯路后才彻底理解三种方法之间的差异。计算方法之外疲劳分析比较练功夫的是载荷谱处理。同一台车同一个支架不同试验场的载荷谱跑出来结果可以差一两个数量级。做疲劳分析的人如果只精通软件不懂载荷谱评价能力会明显受限。我现在做项目时会把相当多时间花在了解载荷谱是怎么来的、测试条件是什么、数据处理做了什么修正上这些信息往往比疲劳模型本身的设定更影响结果。这个案例到这就讲完了。前面写了很多单位、网格、修正方法的细节希望能帮看到这篇文章的朋友缩短一点上手时间。后面如果时间允许我打算把多轴疲劳、振动疲劳、热机疲劳这些话题逐个拆开下一篇大概率会先写随机振动疲劳因为做车辆和电子设备的工程师经常问Dirlik方法相关的问题到时候再把频域法和本次的时域SN法放在一起做个对比。
阅读完成 · 觉得有帮助?
咨询建站