ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Hypermesh与Ls-Dyna联合碰撞仿真:从网格划分到结果分析全流程实战

Hypermesh与Ls-Dyna联合碰撞仿真:从网格划分到结果分析全流程实战 说实话干车碰仿真这行当的谁手机里没装过Hypermesh和Ls-Dyna但真正能把这两款软件配合明白的人其实比想象中少。我最近刚调完一套白车身的正面碰撞模型在Hypermesh里磨网格、补焊点、调接触再到Ls-Dyna里算完分析能量曲线中间踩了不少坑也把一些以前模棱两可的设置认真捋了一遍。这篇东西不是什么软件说明书而是我把这套联合之旅从头到尾的完整流程、关键参数和排错经验整理出来给正在做或者准备做碰撞仿真的同行做个参考。文章覆盖了从CAD几何清理、网格划分、连接建模到材料卡片、接触边界、求解控制再到结果解读和常见报错排查的完整链路。不管是刚接手碰撞安全的新人还是模型稳定能跑但经常被负体积、质量增加、能量异常折腾得头大的工程师应该都能从里面找到对你有用的东西。1. 一前一后Hypermesh和Ls-Dyna在碰撞仿真里到底各管哪一段1.1 这个联合关系是怎么形成的汽车碰撞仿真的工作流说到底就是三件事把几何变成能算的网格把网格变成能算的模型把模型跑出能信的结果。Hypermesh和Ls-Dyna恰好在这三件事里各占了一块核心位置。Hypermesh是前处理工具负责第一和第二件事的前半部分。它在网格划分、模型装配、连接建立这些环节上效率极高尤其是对Ls-Dyna关键字的支持非常完整。你可以在Hypermesh里直接创建焊点、定义材料、设置接触然后导出成.k文件交给求解器去跑。Ls-Dyna则是显式动力学求解器的老牌标杆最擅长处理大变形、高速冲击、接触碰撞这类问题。汽车碰撞中常见的整车正面撞击刚性墙、侧面柱碰、追尾工况本质上都是短时间内的强烈非线性过程Ls-Dyna的显式中心差分算法、成熟的接触算法以及庞大的材料本构库就是为这类工况准备的。两边的接口做得非常顺。Hypermesh可以原生读写Ls-Dyna的关键字模型不需要经过中间格式转换*KEYWORD卡片在Hypermesh里就能直接编辑。这意味着你在Hypermesh里看到的一个焊点单元、一个接触卡、一条材料曲线和Ls-Dyna计算时读到的完全一致不会出现转格式转丢东西的尴尬。1.2 为什么是它们而不是其他组合经常有人问我现在市面上前处理工具那么多ANSA、Abaqus/CAE、Patran都有人用为什么偏偏Hypermesh加Ls-Dyna成了国内车企碰撞安全部门的主流组合我的理解是这套组合在功能边界上咬合得非常精准。Hypermesh最强的是网格处理和关键字编辑但它本身不擅长求解非线性碰撞问题Ls-Dyna强在求解但它的原生前处理界面确实比较朴素复杂的整车模型在Ls-Dyna自带的前处理里操作效率很低。一个管造一个管算职责不重叠配合反而最顺畅。对比一下其他组合就明白了。ANSA加Ls-Dyna在德国车企里也很流行ANSA的网格和连接管理能力确实强但国内工程师群体里Hypermesh的普及率更高资料多、上手资源丰富。Abaqus/Explicit也能做碰撞仿真但它在整车级别的接触稳定性和大规模并行效率上跟Ls-Dyna比还是差了口气。所以很多公司索性就用Hypermesh做前处理Ls-Dyna做求解器后处理再配HyperView或者免费的Ls-PrePost这条链路在国内几乎成了事实标准。还有个常被忽略的点Hypermesh的Ls-Dyna模板更新跟得足够快新版本Ls-Dyna里出现的新关键字卡片Hypermesh往往很快就能原生支持。做碰撞仿真的都清楚模型里经常要试新材料、新连接方式如果前处理工具不支持某张卡片就得去k文件里手动改不仅麻烦而且容易出错。这套组合能让你尽量少碰那种情况。2. 前处理的头号工程从CAD到一套能直接算的网格2.1 几何清理丢掉那些对碰撞无关紧要的小特征拿到一套CAD数模直接开网格十有八九是要翻车的。白车身、开闭件、动力总成、底盘件每一家供应商给的几何干净程度都不一样有的带圆角带倒角有的上面密密麻麻全是安装孔。碰撞仿真用的网格通常6到8毫米那些直径两三毫米的小孔、半径一两毫米的小圆角对碰撞响应的影响微乎其微但如果不清理它们会在网格阶段逼出一堆极小单元直接拖垮求解时间步。所以第一步永远是几何清理。在Hypermesh里导入几何后先用Geom Cleanup面板跑一遍把重复面、冗余边清理掉再手动处理关键部位。小孔用Fill Holes填掉小圆角用Defeature去除相邻面的边如果不连续就Toggle掉压成共享边。这个过程很像装修前砸墙拆旧——看着粗糙但决定后面所有工作的底子。有人觉得做几何清理浪费时间直接自动网格化算了。但我的经验是几何清理花掉的三个小时会在后续网格质量调整、焊点创建、接触设置里十倍地省回来。尤其是白车身上那些封闭空腔结构如果几何面之间有缝隙没缝合后面做中面抽取、壳单元偏置方向的时候问题会成片地冒出来。2.2 网格尺寸与单元类型如何搭配碰撞模型的网格不是一个尺寸走到底而是根据部件的功能定位来分配。吸能区必须密传力路径必须规整非关键区域可以适当放粗。我一般按照这样的思路分配前纵梁、保险杠横梁、吸能盒等主要压溃吸能区域网格尺寸做到5毫米局部圆角过渡处可以细化到3到4毫米地板、侧围、A柱/B柱、门槛梁这些对乘员舱生存空间起关键作用的结构6到8毫米顶盖、翼子板、后备箱底板等非主要承载区域8到10毫米发动机、变速箱这类简化刚体模型网格可以放到15到20毫米只要外形包络和质心位置对就行。单元类型方面整车碰撞模型里壳单元占绝大多数发动机悬置支架、转向节这类厚壁铸件用六面体实体单元焊点用ACM简化单元或者梁单元模拟铰链、弹簧这些运动副用相应的连接单元。尽量别用四面体实体单元做碰撞除非实在没办法因为四面体在高压缩变形下非常容易负体积这个后面排错部分会专门说。网格尺寸的策略背后是一个计算成本的平衡问题。网格越细接触搜索越精确应力应变结果越细腻但单元数量和接触对数量会急剧膨胀。一套完整的乘用车整车碰撞模型如果全部细化到5毫米单元数量会轻松越过1500万单就一个工况就要算上十几个小时开发节奏完全跟不上。所以划分网格时必须分主次把最好的网格质量留给最关心的结构。2.3 网格质量指标别等求解器告诉你哪里不行网格画完之后必须做质量检查。Hypermesh里的Quality Index面板快捷键CtrlF11可以批量检查任何一张网格的质量指标不达标的会用颜色标出来。整车碰撞模型里我比较看重这几个指标阈值也基本上是行业通用值指标阈值为什么看重它Jacobian雅可比大于0.6低于0.6的单元在变形时极易畸变Warpage翘曲角小于15度影响壳单元接触力和弯曲精度Aspect Ratio长宽比小于5过长单元会导致时间步偏小Skew偏斜角小于60度影响单元刚度矩阵的精度Min/Max Angle45度/135度角度过小的单元容易诱发沙漏Tria比例小于5%三角形单元刚度偏硬不宜多用建议在Hypermesh里把这些阈值设置成模板每次画完网格直接CtrlF11批量检查然后把不合格的单元一个个在面板里修掉。修网格的方法很多Smooth、Place Node、Split配合用原则上优先保证高应力区的网格质量局部个别角度超限但不在关键位置的单元可以适当放宽。还有一个经常被忽略的点单元法向一致性。碰撞模型里大量接触算法依赖外表面法向来判断接触方向如果相邻壳单元的法向不一致接触计算就会出问题。检查法向的方法很简单Tool—Normals看到法线方向参差不齐就用Element Normal调整统一。这个操作不花几分钟但能省掉后面排查接触穿透的大量时间。2.4 焊点、铆钉和螺栓在Hypermesh里怎么建白车身模型的连接建模是整个前处理里最繁琐但也最关键的环节。两三千个焊点弄错一个可能导致整车变形模式都和试验对不上。焊点我首推ACMArea Contact Model方式建模一个六面体单元模拟焊核两端用RBE3单元连接到周围壳单元的节点上。这种连接的优点是刚度过渡平滑应力集中小而且在Ls-Dyna里可以通过*MAT_SPOTWELD_DAMAGE_FAILURE这类材料卡片给焊点定义失效模拟碰撞过程中焊点拉脱的真实情况。在Hypermesh里创建焊点用Connector模块配合Spotweld功能最方便。拿到焊点坐标表格后通过坐标批量生成连接器然后选择要连接的两层钣金面系统会自动生成ACM单元。这里要注意一个细节创建ACM焊点时RBE3的节点选择范围要控制好太大把周围一圈元素都拉进去局部刚度会偏硬太小连接强度不够载荷传递失真。螺栓连接简单一些通常用刚性单元RBE2或是一根刚性梁模拟。需要注意的是螺栓在某些工况下本身也可能失效如果关心螺栓断裂问题就需要用带失效的梁单元或接触对来建模不能直接上刚性连接。胶粘连接则用TIEBREAK_SURFACE_TO_SURFACE接触或者实体胶层单元具体用哪种取决于胶层的破坏模式分析需求。3. 材料、属性和连接别把Ls-Dyna的卡片当填空题3.1 单位制统一是第一条命Ls-Dyna最大的特点之一就是没有内嵌单位制。你给它的所有数值密度、弹性模量、速度、时间它都当成纯数字处理。单位制必须在建模阶段自己统一一旦搞错轻则结果量级离谱重则计算直接崩溃。碰撞仿真最常用的单位制是毫米–吨–秒–牛–兆帕物理量单位长度mm质量t时间s力N应力MPa这套单位制下钢材密度是7.85e-9 t/mm³弹性模量是2.1e5 MPa重力加速度是9810 mm/s²。我刚入行时犯过一个特别低级的错误把一个铸铝件的密度按7.8e-6填进去足足大了三个数量级那版模型算出来的加速度波形离谱到领导直接问我是不是载荷边界加错了。从那以后每张材料卡我都养成了检查单位和量级的强迫症。单位制里有几个容易踩的坑速度的单位是mm/s所以50km/h要除以3.6得到13.889m/s再乘1000得到13889mm/s质量增加率百分比在glstat文件里默认是相对于初始质量的百分比注意不要把这个数和单位制的问题混淆。3.2 钢材件为什么首选MAT24在碰撞仿真里绝大多数车身钣金件用的都是*MAT_PIECEWISE_LINEAR_PLASTICITY也就是我们常说的MAT24。理由很简单它支持多应变率下的应力-应变曲线输入能真实反映钢材在高应变率下屈服强度提升的动态行为同时计算开销不大数值稳定性好。MAT24的核心输入包括密度、弹性模量、泊松比、屈服应力以及关键的多条塑性应力-应变曲线。每条曲线对应一个固定的应变率求解器在计算时会根据单元当前应变率在曲线之间插值。碰撞工况下钣金的应变率分布范围很宽从静载到几百每秒都有所以至少要输入四条曲线0.001/s准静态、1/s、50/s、500/s。真应力-真应变曲线的来源通常是材料单向拉伸试验数据。需要注意的是从试验机拉出来的原始工程应力-工程应变曲线在塑性阶段会明显偏低必须先换算成真应力-真应变再输入MAT24否则塑性阶段的应力水平会被严重低估。换算公式很简单真应力等于工程应力乘以1加工程应变真应变的自然对数为1加工程应变。还有一点MAT24里的FAIL参数是失效应变设得太小会导致单元过早删除结构提前断裂设得太大或者不设结构可能怎么都不肯断变形模式又对不上试验。一般来说普通低碳钢钣件的失效应变给0.2到0.4之间算是一个比较稳妥的起点具体取值还是要结合材料试样标定结果来定。3.3 刚性材料、泡沫和橡胶的建模重点碰撞模型里并不是所有件都要参与变形。发动机、变速箱、电池包这类刚度远大于车身钣金的部件通常直接用*MAT_RIGID也就是MAT20简化。用刚性材料时密度和质心位置必须设置准确因为整车质量和转动惯量直接影响碰撞过程中的加速度响应。有人图省事把密度瞎填结果整车动能曲线怎么都对不上查了很久才发现是刚体质量有问题。有两点要特别注意。第一MAT20里如果设置了约束自由度比如把发动机约束成只能平移不能转动那一定要确认这个约束和实际悬置结构一致。第二刚体部件需要用*PART关联*SECTION_SOLID并给它分配一个惯性张量不能直接用六面体网格而无视材料转动惯量否则LS-DYNA默认按离散单元质量算惯性和实际情况偏离较大。泡沫材料用的比较多的是*MAT_CRUSHABLE_FOAM和*MAT_LOW_DENSITY_FOAM。碰撞座椅头枕、门内饰板泡沫层、保险杠吸能泡沫三者的本构行为差异很大。CRUSHABLE_FOAM适合描述可压溃吸能泡沫输入时需要完整的卸载曲线LOW_DENSITY_FOAM适合低密度弹性泡沫更关注回弹特性而不是永久压溃。橡胶和密封条这类超弹性材料可以用*MAT_MOONEY-RIVLIN或者*MAT_OGDEN。不过我实话实说碰撞仿真里除非特别关注密封条对关门力、侧碰对门框密封性的影响否则大多数模型里橡胶件都简化成弹性材料或者弹簧单元了毕竟超弹性本构在显式计算里的时间步长限制很吃亏。3.4 壳单元属性与积分点设置壳单元属性在*SECTION_SHELL里设置这里有好几个参数直接影响计算精度和稳定性。ELFORM是最核心的参数。默认推荐用ELFORM2也就是Belytschko-Tsay单元这是Ls-Dyna里最常用的单点积分壳单元计算速度快大多数碰撞工况下精度足够。如果某个区域的翘曲变形特别严重或者你发现该区域沙漏能偏高可以换成ELFORM16全积分壳单元计算量大一些但更稳定适合用在需要精确提取应力应变的重点区域。厚度方向积分点数NIP我通常设5个。积分点数越多厚度方向的应力分布分辨率越高但计算耗时也线性增加。如果只关心薄膜力或者不能精确捕捉弯曲应力细节3个点也能凑合但5个点是我的底线后处理提取厚度峰值应力时如果积分点不够结果可能明显偏低。壳单元还有一个容易被忽略的设定是厚度偏置BETA。Hypermesh里创建壳单元时可以通过Element Offset控制厚度方向偏置这个偏置方向直接影响接触穿透的检测。比如地板这种两侧都有接触件的结构如果偏置方向搞反了接触面位置和真实表面差了整整一个厚度初始穿透或者接触力异常几乎跑不掉。4. 接触与边界条件碰撞模型最容易翻车的地方4.1 接触类型怎么选碰撞仿真里接触设置错了轻则局部穿透重则整车能量发散。Ls-Dyna里的接触算法默认是罚函数法就是用一个虚拟弹簧抵抗穿透弹簧刚度越大穿透越小但过大会限制时间步长导致计算缓慢甚至振荡。接触类型的选择上我的习惯是这样的整车级的大规模接触用*CONTACT_AUTOMATIC_SINGLE_SURFACE这是最省心也最不容易漏设的一类接触它让模型所有的外表面都可能互相接触不需要指定主从关系适合处理碰撞中大量部件互相挤压的情况。而关键部件之间的接触比如前纵梁和保险杠横梁之间的接触、轮胎和地面的接触我会单独补一个*CONTACT_AUTOMATIC_SURFACE_TO_SURFACE。这种面对面接触可以分别定义主面和从属面接触力的传递更准确对局部大变形区域的捕捉更细腻。焊接和胶接位置如果允许分离失效的用*CONTACT_TIEBREAK_SURFACE_TO_SURFACE。它能设置拉伸和剪切方向的失效应力当连接处的应力超过阈值时接触自动从绑定转成普通滑动接触。SOFT参数值得单独说说。SOFT0时接触刚度完全基于主从面的材料刚度和单元尺寸计算适合常规的刚-柔接触SOFT1时使用基于软约束的接触刚度更适合壳单元接触SOFT2是前两种的混合也是我日常用得最多的选择它在处理壳单元、实体单元混合接触时表现最稳。4.2 初始穿透最常见也是最好查的一个翻车现场很多碰撞模型不是算到一半崩的而是从第一步开始就带着病跑的。这个病就是初始穿透——模型的某两个面在初始状态就已经互相穿插。初始穿透没法在建模阶段完全避免。壳单元有厚度偏置焊点ACM单元有实体尺寸RBE3连接节点范围稍大就可能压到相邻面上。一旦接触检测相遇初始穿透区域会被罚函数施加一个巨大的排斥力表现就是接触能曲线初始段异常飙升、局部应力突变、单元快速畸变。检查初始穿透的方法在Ls-PrePost里加载k文件工具菜单里有一个Penetration Check功能可以设定穿透容差扫描全模型把穿透的节点和单元高亮出来。Hypermesh里同样有一个Tool—Penetration面板可以做类似的检查。找到穿透之后策略是逐个修正而不是一刀切。网格间隙小量穿透的可以手工微调节点穿透量大而且区域集中的多半是焊点或者连接单元建模过厚需要调整单元尺寸或位置。接触卡里IGNORE参数可以设置忽略一定范围内的初始穿透但我不建议一上来就无脑IGNORE因为你根本不知道这个穿透会对局部的应力有多大的污染。4.3 刚性墙、初速度和约束碰撞工况中正面撞击刚性墙是最经典的一个。*RIGIDWALL_PLANAR用来模拟那堵不会变形的墙需要定义墙的法向和几何位置。C-NCAP正面100%重叠刚性墙碰撞工况墙的法向是车的纵向位置放在车头最前端前方摩擦系数通常取0.3到0.5之间。初速度用*INITIAL_VELOCITY_GENERATION施加到整个车体模型上。注意单位制50km/h输入13889mm/s方向是负X假设X为车辆纵向向墙方向。如果模型里包含假人假人通常不施加初速度或者也施加相同速度取决于假人坐姿和试验设置这个要严格按试验规程来。地面约束通常用*BOUNDARY_SPC_SET固定试验车身底部的支撑点也可以直接约束某几个刚体部件的自由度来模拟夹具。关键是约束自由度不能多也不能少多约束了会人为增加结构刚度少约束了模型初始就不稳定。正面碰撞模型里我通常在试验台对应的位置约束平动自由度转动自由度根据实际情况放行。4.4 沙漏能单点积分单元的暗病沙漏模式也叫零能模式是单点积分单元特有的一种病态变形模式。单元在这个模式下的应变能接近于零但节点会发生锯齿状的剧烈变形在动画里看起来像网格在轻微抖动对结构真实响应没有任何贡献却会消耗动能并扭曲应力结果。判断沙漏是否严重一个硬指标是沙漏能占内能的比例。行业里普遍接受的阈值是5%以内。超过5%就说明有相当一部分能量被单元变形模式吃掉了结构的变形模式和应力水平可信度就要打问号。控制沙漏的手段按优先级排第一检查沙漏集中在哪些区域细化那些地方的网格网格越细沙漏越难激发第二把沙漏严重区域换成全积分单元第三调整*CONTROL_HOURGLASS卡片IHQ设成4或6并适当调整QB系数第四检查接触设置是否合理因为很多沙漏是被不合理的接触力激发的。顺带说一句沙漏能不是越小越好它对碰撞仿真的瞬态响应有一定耗散作用过强的沙漏控制会人为增加结构的刚度导致变形偏小。关键是控制在阈值之内而不是追求完全归零。5. 求解控制卡片算多久、怎么输出、用什么步长5.1 时间步长与质量增加花钱买时间要做对Ls-Dyna显式计算的稳定性条件决定了每一时间步内应力波的传播距离不能超过最小单元的边长。理论上时间步长等于最小单元尺寸除以材料波速钢材的波速大概是5000m/s左右一个5毫米的单元对应的时间步长大约是1微秒也就是0.001毫秒。一个100毫秒的碰撞工况就意味着大约10万步积分。如果严格按这个物理极限跑很多模型是跑不动的因为模型里往往有几个特别小的单元拉了全局时间步长。Ls-Dyna的解法是质量缩放通过*CONTROL_TIMESTEP里的DT2MS参数指定一个固定的时间步长求解器会自动给那些小于该时间步长要求的最小单元增加质量从而放大它的临界时间步。DT2MS这个参数正数和负数的含义完全不同。设成正值时时间步长按质量缩放前的物理值限制基本不会额外增加质量但可能因为个别小单元拖慢全局设成负值时它的绝对值就是允许的最小时间步长求解器会对达不到步长要求的单元做质量缩放。碰撞仿真工程实践中绝大多数情况下用负值。问题是质量缩放不能无限用。质量增加会改变结构惯性惯性又直接影响碰撞加速度和接触力。行业经验是总质量增加率控制在5%以内超过这个值计算结果就慢慢失真了。每次算完后去glstat文件里看percentage mass increase如果超过5%优先去清理模型里那几个异常小的单元而不是继续放宽DT2MS。5.2 终止时间、输出频率和关键节点记录*CONTROL_TERMINATION里的ENDTIME定义计算时长。正面碰撞一般是80到120毫秒侧面碰撞因为更关注乘员舱侵入和假人响应时长通常需要更长一些150毫秒甚至200毫秒也有。判断工况类型后设定合适的终止时间别设置太长白白浪费算力也别太短结果还没发展完。输出设置*DATABASE_BINARY_D3PLOT控制后处理动画文件。我一般设置每0.5毫秒输出一帧这样的时间分辨率足够看清压溃的渐进过程。输出太密会生成几十个GB的大文件后处理时打开都费劲输出太稀变形和加速度峰值可能刚好落在两帧之间抓不住关键响应。加速度传感器测点通过*DATABASE_HISTORY_NODE定义。B柱底部、门槛梁、A柱下铰链点、防火墙纵梁这几个位置是必测的输出节点编号要提前规划好。同时用*DATABASE_ASCII_option打开GLSTAT全局能量统计、MATSUM材料能量、NODOUT节点输出、SPCFORC约束反力这几个文件它们是后续诊断模型是否正常的主要依据。5.3 并行计算与内存配置整车碰撞模型规模大并行计算是必然的。Ls-Dyna支持OMP多线程和MPI多机并行单台工作站用OMP就足够了跨节点大规模并行才需要MPI配合高速互联网络。OMP并行线程数一般设12到32具体看物理核心数设多了线程切换开销反而拖慢计算。内存设置上Ls-Dyna在求解时通过memory参数指定内存大小单位是词word32位和64位版本每个词占的字节不同。模型单元和接触越多内存需求越大通常在求解命令里给一个比较大的预留值。还有一点碰撞模型计算时建议开启*CONTROL_CPU_TIME之类的时间控制输出方便估算单个工况的墙钟时间做多工况优化时心里就有底。6. 算崩了怎么办负体积、穿透和能量异常排查6.1 负体积先从单元报错ID找到现场负体积大概是碰撞仿真里最常见的刑事案了。lsdyna跑到一半突然报negative volume in solid element #xxxxx计算终止。本质上是实体单元被压到体积归零甚至反号了节点翻转导致单元退化。排查链路很重要。第一步不是去改参数而是找到那个单元的准确位置。Ls-Dyna的d3dump文件记录了最后一步的完整状态用Ls-PrePost打开会看到报错时间点附近模型的实际变形找到报错单元编号对应的网格位置才能知道那里发生了什么。常见的负体积场景集中在几个地方泡沫材料压溃到极限但网格没有删除单元被过度压缩壳单元自身接触厚度设置过大两层钣金之间被撑出巨大压强实体单元质量差初始Jacobian就偏低一变形就翻车。处理办法要分情况。如果是泡沫压溃导致的先检查泡沫材料卡是不是少输了一段锁死应力或者密度是否给错然后考虑是否需要对网格做重划分或者用带自删除的本构。如果是接触设置导致的把接触厚度调小或者把接触罚刚度降低。如果纯粹是网格质量差那就回去修网格别在上面硬扛。6.2 初始穿透与接触能异常的处理顺序接触能异常不像负体积那样直接崩掉但它会悄悄污染整个模型的能量平衡。GLSTAT里的contact energy如果初始段出现一个陡峭的尖峰或者变成了显著的负值十有八九是初始穿透在捣鬼。我处理接触能异常的顺序是第一步查看GLSTAT各能量分量确认异常发生在哪个时间段第二步把异常时间段对应的模型变形和穿透情况可视化锁定穿透集中的区域第三步回到k文件里检查这些区域的接触定义看是不是重复定义、主从面设置不当、接触厚度明显偏大第四步在Hypermesh里修正网格或者接触定义重新穿透检查后再跑。这里特别提醒一下IGNORE1可以强行忽略穿透但副作用是丢失该处的接触力可能让结构在该点的载荷传递完全失真。只有在穿透量非常小、且该区域不是主要传力路径时我才会考虑用这个参数。6.3 质量增加过大的根源往往在小尺寸单元模型跑完了一看glstat里质量增加10%甚至更高这版结果基本不敢用了。质量增加太大的根源几乎都是模型里有少数几个异常小尺寸的单元。找到它们的方法在Hypermesh里用Tool—Mass Increase Check或者直接按单元尺寸排序把最小的一批单元显示出来。这些单元往往出现在一些细小的翻边、过渡圆角、刀具路径残留的几何特征上。解决办法是清理几何、重画局部网格把这些单元放大到周围网格的平均水平。这里有个经验不要为了解决质量增加去全局放大DT2MS那样会让本来就偏大的时间步长进一步掩盖局部精度问题最终得到一条漂亮的加速度曲线但仔细一查全程都在注水。正确的思路是清扫小单元让时间步长由关键区域的合理网格尺寸来决定。6.4 能量曲线异常时的诊断优先级碰撞仿真能量平衡检验是判断结果可信度的基础。总能量守恒要求全程总能量保持恒定即初始动能、外力功、内能、动能、沙漏能、滑移界面能之和应当与初始总能量相等且不漂移。诊断顺序我一般是这样的先看总能量是否漂移漂移说明数值误差大需要检查接触或材料参数再看沙漏能占比超过5%就按前面说的方法处理最后看滑移接触能太大了说明接触对之间摩擦耗散异常检查摩擦系数设定。有一个我在项目里踩过的坑有一次某车型侧面碰撞模型总能量在20毫秒时突然掉了一截怎么都查不到原因。后来发现是一个部件在碰撞中飞了出去变成自由飞行体完全脱离接触能量就白白消失了。根本原因是该部件的连接设置不到位该焊的没焊上。能量曲线有时候真的能当侦探工具用。6.5 一个实际排查案例重复定义的接触面之前有个模型正面碰撞算到40毫秒左右报了一堆负体积集中在发动机舱右侧。初步看网格还行材料参数也正常。把报负体积的区域放大发现那附近是一排焊点ACM单元而厂家给的模型里这一片同时被两个接触卡片覆盖了一张是全局的AUTOMATIC_SINGLE_SURFACE另一张是后来单独补的SURFACE_TO_SURFACE而且主从面里都包含这一片焊点区域。重复定义的后果是这块区域被两套接触算法同时控制罚刚度叠加接触力偏大把一个小的局部穿透快速放大最终焊点单元周围的壳单元被反向挤压出负体积。处理方法是把那个局部SURFACE_TO_SURFACE的接触面范围缩小剔除掉焊点区域保留全局单面接触覆盖模型立刻就能跑通了。这个案例让我养成了一个习惯每次拿到外部模型第一件事就是检查所有接触卡片的面集确认有没有同一个面被多张接触卡引用。这个检查十分钟就能做完但能省下后面几天排查的功夫。7. 结果读对了吗碰撞响应分析的关键输出7.1 变形模式先看结构怎么死的结果分析第一步永远是看变形模式动画而不是直接冲去抓加速度曲线。碰撞仿真和试验对标首要对齐的就是变形模式前纵梁是不是从前到后渐进压溃B柱有没有明显弯折防火墙侵入量在不在合理范围内。变形模式错了后面的数据指标再好也是自欺欺人。在Ls-PrePost或者HyperView里打开d3plot逐帧播放动画重点关注几个时间点5毫秒时前保险杠刚接触20毫秒时吸能盒压溃50毫秒时前纵梁后端开始参与变形80毫秒后乘员舱开始承受载荷。每个时间点的变形状态都和试验高速摄像的画面做对比差异大的区域优先排查。还有一个值得看的是侵入量。在HyperView里可以用Measure工具测量防火墙、A柱、门槛等位置的相对位移。侵入量和侵入速度决定了乘员生存空间是碰撞安全开发的核心指标。如果仿真侵入量比试验大10%以上结构刚度可能偏低或者连接过早失效如果显著偏小可能是因为壳单元偏厚或者材料失效没定义。7.2 能量与加速度曲线怎么和试验对标加速度是碰撞仿真对标试验时最常用也最敏感的宏观量。通常取B柱底部这个不太容易发生局部变形的刚性位置布置加速度传感器试验和仿真用同一个测点。对标的逻辑是先比能量后比加速度。总能量曲线的衰减规律如果和试验差太多说明模型整体吸能特性和实车不一致这种情况直接比加速度没有意义。能量对上了再看加速度曲线的峰值、到达峰值的时间和整体波形形态。碰撞加速度峰值往往出现在初始碰撞时刻和发动机接触时两个波峰都要能对上才算对标成功。这里有个建议曲线对比的时候仿真加速度曲线建议做一下滤波处理。显式分析结果里包含大量高频数值噪声直接和试验的滤波数据对比会显得毛刺很多。通常用SAE 60Hz或CFC 60滤波具体滤波等级按照评价规范来。7.3 假人伤害指标与法规评价如果模型里带了假人模型比如Hybrid III 50百分位男性假人那就要涉及法规伤害指标评价。正面碰撞规程里重点关注几个参数HIC头部伤害指标要小于规限值、头部合成加速度峰值、胸部压缩量和3ms合成加速度、大腿轴向力。假人模型通过*INCLUDE导入位置姿态和约束带状态都要严格按试验规范摆放因为假人的初始姿态对伤害指标结果影响极其敏感。C-NCAP的正面100%重叠刚性墙碰撞工况试验车速50km/h假人通常放置在主副驾位置。仿真评价时要严格按照规程提取相应时间窗口内的伤害参数并与法规限值和目标值做对比。假人伤害指标结果超标的优化工作往往是安全气囊、安全带、转向管柱压溃力、踏板侵入量等多因素耦合的问题已经超出单纯结构仿真的范畴了。7.4 从仿真结果到下一次迭代的闭环碰撞仿真的价值不仅在评价更在于指导设计迭代。每一轮仿真结果出来后习惯上要把问题点都列成清单哪些地方压溃异常、哪些焊点过早失效、哪个位置的侵入量超标。然后和结构设计团队一起讨论改进方案可能是改变板厚、更换材料牌号、增加加强件也可能是优化焊点布置和连接工艺。改完模型重新算又是一个完整的前处理—求解—分析循环。这里的效率关键是把前处理的模板和设置固化下来Hypermesh里面有HM模板和宏命令可以把材料库、连接类型、接触卡片、输出请求做成标准化配置新项目直接套用不用每次从头写卡片。最后说一个我个人的体会做碰撞仿真稳定地把一套模型跑通只是入门真正值钱的能力是快速定位问题、给出可信的结论。Hypermesh和Ls-Dyna这套组合之所以能成为行业标配恰恰因为它既给了你足够的自由度去精细控制模型又能高效地暴露问题、验证想法。多用、多记录、多复盘比追任何新版本新功能都管用。
返回列表