1. 总体设计思路:地铁车辆动力学模型的刚柔耦合改造
1.1 为什么要做柔性轮对和轴箱
在地铁车辆动力学仿真里,轮对和轴箱长期以来都是按刚性体处理的。对高速动车组、机车、地铁车辆做稳定性分析和曲线通过能力研究时,多刚体模型确实能解决不少问题,但现在的地铁线路条件越来越复杂,轮轨磨耗、噪声、振动问题越来越突出,单纯把轮对当作刚体,很多现象根本解释不了。
轮对是典型的细长旋转轴类构件。车轮和钢轨接触时,轮轨法向力和切向力都会在轮对内部产生弯曲变形,尤其是过曲线、通过道岔、车轮踏面出现局部缺陷时,轮对挠曲变形直接影响轮轨接触几何和蠕滑力分布。轴箱是连接轮对和一系悬挂的过渡部件,它本身刚度很大,但它的安装位置、与轮对轴承的配合关系,决定了整个一系力传递路径的准确性。如果轴箱也做成柔性体,轮对变形传递到轴箱、再到一系弹簧的路径更真实,后续做车体振动、线路不平顺响应分析时会精确一个档次。
用一句话概括:刚柔耦合就是把车辆系统中受力复杂、变形明显的零部件从“铁疙瘩”变成有弹性、能振动的结构体,而轮对和轴箱正是优先考虑柔性化的第一梯队零部件。
1.2 全柔性化还是局部柔性化
不少初学者上来就想把整个转向架,包括构架、轮对、轴箱、摇枕全做成柔性体,这个想法出发点是好的,但实际跑起来会非常痛苦。整车模态数量爆炸式增长,每一个柔性体都携带几十阶模态,多体系统方程的自由度可能冲到几十万,求解动辄几个小时起步,而且模型一旦发散,排查范围也很广。
我的建议是分阶段做:第一步把轮对和轴箱做成柔性体,构架和车体先保持刚性;跑顺以后再看结果差异,决定是否加入柔性构架。做轮对和轴箱的柔性化不是因为它们变形量最大,而是因为它们的变形会通过轮轨接触直接影响车辆运行安全性指标——轮重减载率、脱轨系数、轮轨横向力的波动。轮对弯曲变形、轴箱扭转位移,这些在刚性模型里是完全被忽略的,而在实测数据里恰恰是高频振动的重要来源。
这套方法从逻辑上是递进的:先解决最直接影响轮轨关系的结构柔性,验证结果合理之后,再考虑把柔性范围往外扩展,千万不要一上来就贪大求全。
1.3 软件分工与总体流程
做刚柔耦合仿真,Ansys 和 SIMPACK 的分工很明确:Ansys 负责有限元建模、计算模态、输出柔性体中性文件;SIMPACK 负责导入柔性体、建立多体系统拓扑、设置轮轨接触和激励、求解后处理。两者之间通过标准接口文件传递信息。
具体流程是:三维几何建模、有限元网格划分、材料参数设置、建立连接节点和刚性区域、自由模态求解、导出柔性体文件、SIMPACK 导入、定义连接复核、建立轮轨接触和悬挂边界、仿真求解、结果后处理。每一步之间有强烈的先后依赖关系,尤其是接口节点位置和坐标系定义,如果在 Ansys 阶段定错了,到 SIMPACK 里装不上,回头改代价非常大。
2. 前期准备与模型简化
2.1 软件版本与功能模块
Ansys 这边的柔性体输出一般用 Mechanical APDL 界面来做,比 Workbench 更方便控制节点、刚性区域和输出选项。当然 Workbench 也能做,但要把分析类型切到 Modal,然后通过 FE Modeler 或直接导出 CDB 文件,流程上绕一些。SIMPACK 那边必须有 Multibody Dynamics 的完整许可,并且需要能读取对应格式柔性体文件的模块。
有一点容易踩坑:不同软件版本之间的柔性体文件格式兼容性。老版本 SIMPACK 读取新版本 Ansys 导出的 CDB 文件时,某些单元类型可能不认识,导致导入失败。我用的组合是 Ansys 19.0 左右配合 SIMPACK 2020x 左右,整体兼容性较好。如果你用的是更老或更新的组合,建议先做一个小模型验证导入链路是否通畅,不要等到整车模型搭了一半才发现导入不了。
2.2 三维几何模型获取与处理
地铁轮对几何模型可以直接从三维软件导入,常见的格式是 STEP 或 IGES。拿到原始模型之后别急着画网格,先做几何清理。轮对上有踏面、轮缘、辐板孔、轮毂、轴颈、轴身等结构,很多细节如倒角、退刀槽、小圆角,对动力学振动模态影响极小,却会拖垮网格质量和计算时间。我当时做地铁轮对时,把直径小于 3mm 的圆角、倒角全部忽略,把辐板孔保留因为辐板孔对轮对模态有一定影响,但把孔边的小倒角删掉。
轴箱模型相对简单,外形像一个套筒加耳座,但要特别注意轴承安装孔和弹簧座的配合面。轴箱上用于连接一系弹簧的弹簧座面、用于安装转臂或定位节点的位置,后续要定义载荷传递节点,这些面不能简化过头,要保证在网格划分时有足够的节点可供选择。
2.3 网格划分原则和材料参数
轮对网格推荐用六面体单元为主,因为六面体在轴类结构上有更高的计算精度和更少的单元数量。踏面接触区域、轮缘根部、辐板过渡位置适当加密,单元尺寸大概控制在 5~10mm,其他区域可以放到 15~20mm。轴箱相对小,整体尺寸 5mm 左右比较稳妥。需要特别注意的是,网格密度和模态结果紧密相关,网格太粗会让模态频率偏高,这个特性在轴类零件上尤其明显。
材料参数方面,地铁轮对基本用的是高强度碳素钢或合金钢,弹性模量取 210GPa 左右,密度 7.85e3 kg/m³,泊松比 0.3。轴箱材质通常是铸钢或锻钢,参数类似。阻尼比在模态分析中通常设定为 0.01~0.02,虽然模态频率不受阻尼影响,但 SIMPACK 动力学求解中模态阻尼会影响振动衰减速度,建议按照实际材料特性给 0.01 左右。
我整理了一个常用的参数表,方便照着设置:
| 参数项 | 轮对值 | 轴箱值 | 备注 |
|---|---|---|---|
| 弹性模量 | 2.1e11 Pa | 2.1e11 Pa | 标准钢材 |
| 泊松比 | 0.3 | 0.3 | 各向同性 |
| 密度 | 7.85e3 kg/m³ | 7.85e3 kg/m³ | 铸钢可能略低 |
| 模态阻尼比 | 0.01 | 0.01 | 后续可调整 |
2.4 Ansys 中接口节点与刚性区域设置
这一节是整个流程中最容易出错的地方,我单独拿出来讲。
Ansys 导出到 SIMPACK 的柔性体,必须有“外部节点”,也就是接口节点,用于 SIMPACK 中施加约束、弹簧和力。接口节点选择的原则是:在轴箱与一系弹簧连接处、轮对轴承安装位置、轴箱与构架定位节点处各建一个节点。这些节点不一定是网格节点,可以是空间中的独立点,通过刚性区域(如 CERIG)连接到周围实体网格节点上。
在 Ansys 里用 CERIG 命令建立刚性区域时,要选一个主节点,这个主节点就是外部接口节点,再把周围一圈实体节点耦合到主节点上。这个主节点在后续导出 CDB 文件时会成为 SIMPACK 中的 Marker 点,用来施加力和运动约束。刚性区域覆盖的范围不宜过大,过大把柔性体局部做得过刚,变形被锁死,模态振型失真;过小则载荷传递不充分。
以轴箱为例,在一系弹簧座位置建立一个外部节点,用刚性区域连接弹簧座安装面上的所有节点。这样做的物理含义是:弹簧座面本身刚度远大于弹簧,视为刚性块是合理的。
3. 用 Ansys 生成可用的柔性体文件
3.1 模态分析类型设置
柔性体文件本质上是模态数据文件,SIMPACK 利用模态叠加法来模拟弹性变形。所以在 Ansys 里做的分析类型是模态分析,而且默认是自由模态,也就是不加任何约束,结构处于自由-自由状态。这一点很多人会搞错,尤其是习惯了做“固定约束模态分析”的,很容易在轮对轴箱上施加约束。一旦加了固定约束,模态频率和振型都不对,导入 SIMPACK 后整个系统的模态叠加结果完全乱套。
自由模态分析的前 6 阶是刚体模态,频率接近 0,对应三个平动和三个转动,这 6 阶必须保留,因为 SIMPACK 里柔性体的刚体运动由多体系统的约束方程决定,柔性体文件里的刚体模态恰好提供了这种数学基础。有效弹性模态从第 7 阶开始。
模态提取方法用默认的 Block Lanczos 就行,设置起始频率 0Hz,提取前 20~30 阶模态足够覆盖地铁车辆关心的频段。地铁轮对的实际踏面激励频率,在 80km/h 速度下主要分布在 0~300Hz,轮对一阶弯曲模态通常在 60~100Hz,取 30 阶可以覆盖到 2000Hz 以上,足够满足动力学舒适性和安全性分析需求。
3.2 导出文件格式与单位统一
Ansys 中可以通过 CDWRITE 命令直接写出 CDB 文件,也可以在模态分析后通过专用工具导出。SIMPACK 兼容的格式有多个版本,常用的有两种:FBI 格式和 CDB 格式。CDB 文件体积大,但包含单元信息完整,适合调试阶段使用;FBI 文件是经过压缩的二进制格式,适合正式仿真。
单位统一是跨软件协作最容易翻车的点。Ansys 建模时如果用的是国际单位制,导出文件后 SIMPACK 也设置为国际单位制,这是最稳妥的做法。我见过有人在 Ansys 里用毫米建模,导出后忘记调整单位,SIMPACK 里导入后轮对尺寸全部放大,轮轨接触几何完全错乱,弹出的结果根本没法看。补充一句:Ansys 的模态分析不强制要求单位制,但导出文件和 SIMPACK 模型之间的单位必须一致,建议全程统一为 kg-m-s。
3.3 导出前的检查和调试
导出文件之前,有几步检查建议养成习惯:
第一,模型总重量。在 Ansys 里查看轮对和轴箱总体质量,和实际地铁轮对 1.2~1.5 吨左右的量级对比,如果差得太多,说明几何或材料密度有问题。
第二,模态频率合理性。自由模态第 7 阶开始的弹性模态,千万不能出现负频率,负频率直接说明求解器异常。一阶弹性模态应该在几十赫兹范围,如果出现上千赫兹,说明网格刚度过大或接口区域设置过刚。
第三,刚体模态检查。前 6 阶频率应该在 0Hz 附近,数值上可以出现小数点后几位的小数偏差,但不能超过 1e-5 量级,如果有明显偏差,说明结构内部有预紧或约束残留。
做过这几项检查后导出的 CDB 文件,导入 SIMPACK 时基本不会出现大问题。我踩过一次很深的坑:模型里有几个孤立点,没参与任何单元,导出后导入 SIMPACK 提示节点数据错误,排查了一下午才发现是建模时遗留的几何点。建议导出前用 SELECT 命令把所有独立节点选出来检查一遍,避免这种低级错误。
4. SIMPACK 刚柔耦合模型搭建与求解
4.1 柔性体导入与坐标对齐
SIMPACK 中新建一个模型,选择对应车辆模板,或者从空白模型开始搭建。导入柔性体的步骤是:在 Models 下选择 Flexible Body,导入刚才的 CDB 文件,SIMPACK 会自动读取模态信息。
导入之后第一件事是确认坐标对齐。Ansys 里的笛卡尔坐标系和 SIMPACK 的全局坐标系可能存在旋转或平移差异。比如轮对的旋转轴在 Ansys 中是 X 轴,而 SIMPACK 中默认 Z 轴或 Y 轴,需要设置旋转矩阵对齐。坐标不对齐的情况下,轮对会出现明显的装错位——最典型的表现是轮对在轨道上歪斜,仿真一开始就剧烈振动甚至直接飞出去。
正确做法是:导入柔性体后,在柔性体属性里查看“参考坐标系”,手动输入旋转角度对齐到 SIMPACK 全局坐标。如果轮对是绕 X 轴旋转的圆柱体,就调整 RY 或 RZ 旋转角,让轴线与 SIMPACK 中轮对运动轴方向一致。每一步调整后,最好在图形界面里目测一下轮对和钢轨的位置关系,确认无误后再继续。
4.2 Marker 点定义与连接关系
SIMPACK 中的力和约束都通过 Marker 施加,柔性体导入后,Ansys 中定义的外部节点会自动生成对应的 Marker。这些 Marker 带有柔性体节点的位移信息,SIMPACK 会把载荷和约束精确映射到对应的模态坐标上。
轮对和轴箱之间通过轴承连接,由于轮对是柔性体,轴箱是柔性体,二者之间的连接不能再简单用铰接,而应该用弹性力或者 bushing 单元来模拟轴承刚度。地铁轮对轴承径向刚度通常在 1e8~1e9 N/m 量级,仿真中可以按实测或供应商数据输入。如果这里直接给刚体铰接,柔性轮对的变形就无法传递到轴箱,刚柔耦合的意义就失去了一半。
一系悬挂连接同样在 Marker 上施加弹簧阻尼力。轴箱上的弹簧座 Marker 和构架上的对应 Marker 之间加一系弹簧,刚度按地铁车辆一系悬挂垂向约 1e6 N/m 量级设置。注意弹簧力的施加点一定选在 Ansys 里定义的接口节点上,如果选在普通网格节点上,SIMPACK 的柔性体计算会无法正确插值,导致力在某一个节点上集中,产生局部的虚假变形。
4.3 轮轨接触模型参数设置
SIMPACK 的核心优势是轮轨接触建模。导入柔性轮对后,轮轨接触算法不变,但柔性体的表面会参与接触计算。这里有一个重要细节:柔性体的接触点标记要设置在轮对踏面表面的外部节点上,SIMPACK 通过插值计算接触点位置,再利用模态坐标计算接触区域的局部变形。
轮轨法向力用 Hertz 接触理论计算,切向力用 Kalker 简化理论或 FASTSIM 算法。地铁车辆仿真里,我一般用 FASTSIM 作为默认算法,计算效率高且精度足够。轨道不平顺谱按线路等级选取,如果做直线运行分析,可以用美国谱或我国地铁谱中对应等级。
踏面轮廓建议用 LMA 或 LM 磨耗型踏面,配 60kg/m 钢轨廓形,轨距按 1435mm 标准,轨底坡 1:40。这些参数直接影响轮轨接触几何计算结果,务必从真实运营线路资料获取。
4.4 求解器与仿真工况配置
SIMPACK 求解刚柔耦合模型,积分器要选择适合刚性问题的一种。SIMPACK 内置多种积分器,较常用的有 SODASRT 和 DASSL。柔性体模型中,高频模态会让方程变得更刚性,建议优先选用 DASSL 或者 SORASRT 这类隐式积分器,时间步长控制在 1e-4~1e-5 秒量级,仿真长度根据工况需求设置,比如跑 10 秒线路取 2~5 秒稳定段做分析。
初始化阶段要先做静平衡计算。柔性体引入了大量弹性自由度,静平衡迭代容易出现不收敛的情况。遇到不收敛,第一步检查约束是否正确约束了刚体模态,第二步检查弹簧刚度初始力是否过大,第三步调低收敛容差,把容差从默认 1e-6 放到 1e-5 再试。
地铁车辆典型仿真工况包括:直线运行不同速度(60km/h、80km/h、100km/h)、曲线通过(曲率半径 300m,超高 120mm)、道岔通过以及线路不平顺激励下的随机响应。每个工况设置好速度和路径后,开始求解观察轮轨力、脱轨系数、轮重减载率等关键指标。
我用过一个比较实用的方法:先跑一版刚体模型做对比基准,再跑刚柔耦合模型,两者之差直接反映柔性变形的影响量。
5. 结果分析、验证与常见问题处理
5.1 模态与频响的合理性验证
仿真结束后的第一步,不是看轮轨力,而是检查柔性体的变形量级是否符合物理常识。在 SIMPACK 后处理中调出轮对轴箱的弹性位移云图,观察最大变形位置。地铁轮对在正常行驶工况下,弹性变形量级应该是在 0.1~1mm 范围。如果出现几毫米甚至几十毫米的变形,说明模态参数设置或者载荷施加有问题,仿真结果不可信。
再看频域特征:把轮对中间位置的垂向加速度做频谱分析,柔性模型的频谱中应该能看到轮对一阶弯曲模态对应的峰值。如果峰值频率和 Ansys 模态分析得到的频率一致,说明刚柔耦合链路打通了。我实测的一次结果里,轮对一阶弯曲模态约 78Hz,在 SIMPACK 仿真频谱中 78Hz 附近有明显峰值,和理论值误差在 2% 以内,这就是验证成功的标志。
还有一个值得对比的指标是高频轮轨力。刚体模型轮轨力在接触几何不变时基本稳定,柔性模型由于轮对变形影响,轮轨力会出现明显的高频波动。这种波动不是数值噪声,而是物理上轮对变形、回弹导致的轮轨力重新分配。观察这些高频成分的幅值,如果远小于主频力幅值的5%,则保持现状即可;如果占比很大,要考虑是否触发了轮轨分离。
5.2 常见错误与排查手段
刚柔耦合仿真最常见的报错和异常,我整理成了一张速查表:
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
| 导入 CDB 文件报错 | 单元类型不兼容或格式版本问题 | 换低版本格式或用 FBI 文件导入 |
| 仿真开始瞬间发散 | 柔性体坐标未对齐或单位错误 | 重新检查旋转矩阵和单位制 |
| 轮轨力出现高频振荡 | 接触节点没有正确附着到柔性体 | 检查接触 Marker 是否取自接口节点 |
| 静平衡迭代不收敛 | 约束不足或弹簧刚度组合异常 | 检查刚体模态约束,放宽容差 |
| 变形量异常偏大 | 接口节点刚性区域遗漏 | 回 Ansys 检查 CERIG 设置 |
| 结果文件巨大 | 柔性体模态阶数过多 | 减少模态阶数到需要的频段几倍 |
SIMPACK 报错日志里经常出现的内容包括“no valid mode shape data”、“marker belongs to rigid body”等,这些错误基本都指向柔性体文件未正确读取或 Marker 定义错误。排查时先看柔性体数据,再看 Marker 属性,最后检查力元连接顺序。
这里有个容易被忽略的小细节:SIMPACK 中力元连接 Marker 时要区分“作用在柔性体上的 Marker”和“连接到地面的 Marker”。柔性体上的 Marker 有模态坐标依赖,顺序弄反了会导致力被当作阻尼或质量矩阵的一部分,产生不合理的能量耗散。
5.3 仿真效率优化与个人经验
刚柔耦合模型的求解时间比刚性模型长了一个数量级是正常的。我的经验是,一个包含 10 秒线路仿真的模型,刚性模型可能只要几分钟,柔性轮对轴箱模型就要半小时到一小时左右。如果只关心稳态曲线通过,可以缩短仿真时长,只跑曲线中段的 6~8 秒,省去直线加速进入的过渡段。
想进一步提速,可以考虑把模态分析中不需要的高阶模态截断。地铁车辆运行速度 120km/h 以内,轮轨激励主频集中在 500Hz 以下,保留到 800~1000Hz 已经足够,对应的模态阶数可能需要 30~50 阶。模态截断后求解速度能提升 30% 以上,而且结果几乎不受影响。
一个比较激进但有效的做法是,只让一根轮对是柔性的,另一根保持刚性,用来对比分析柔性效应对左右轮对的差异。这样做可以控制计算规模,同时能观察柔性轮对的扭转、弯曲变形对两侧轮轨力的不对称影响。当然这是研究性做法,如果做工程评估,建议四根轮对全部柔性化,避免人为引入不对称。
5.4 一个需要注意的工程细节
刚柔耦合仿真结果和实测对标时,不要忽略轮对不平衡力和初始几何偏差。实际地铁轮对不可避免存在踏面磨损、轮径差、动平衡偏差,这些因素在仿真模型中如果不设置,刚柔耦合带来的高频力反而会和实测数据对不上。
我的习惯是:在做刚柔耦合仿真前,先加入轮轨不平顺激励,再做稳态仿真对比,确认仿真结果对激励的响应是合理的,然后再加入铰接部位的间隙和非线性特性。顺序错了会导致大量变量同时耦合,出问题很难定位。
另外,柔性体的阻尼设置会影响轮轨力高频成分的衰减速度。如果仿真结果显示系统阻尼过大,轮轨力高频振荡衰减过快,和实测能量分布不匹配,可以把模态阻尼调到 0.005 再试。这些细节参数没有绝对标准,需要结合实测数据进行标定。
最后分享一个个人心得:刚柔耦合仿真并不是“越柔越好”,柔性体引入的本质是为了更精准地还原结构变形对系统动力学的影响,而不是为了炫技。搭建模型时,建议每加一个柔性体就问自己一句:它在这个工况下的变形,真的会改变轮轨力或者车辆稳定性的结论吗?如果答案不确定,就先保持刚性,跑通流程再回来尝试柔性化。这种克制能让建模过程更高效,排查问题也更清晰。