聊一聊联合仿真接口与注意事项

2025-08-20
联合仿真:两个或者多个软件联合一起仿真,一般采用不同专业软件,发挥各自优势。典型应用:机电液联合仿真、流固热联合仿真等。
一、联合仿真的接口模式与类型

跨软件联合仿真的核心是明确 “接口规则”,从三个维度可划分为不同模式,直接影响仿真效率与结果精度。

1. 主程序与辅程序:明确 “调用关系”

联合仿真中,参与软件存在 “主(Master)”“辅(Slave)” 之分,地位不对等。

  • 主程序:主导仿真流程,通过接口文件调用辅程序的模型(或模型 + 求解器),用户直接与主程序交互(如提交运算、设置参数);

  • 辅程序:被动响应主程序调用,主要负责生成接口文件,后台运行,不直接参与人机交互。


选择原则:无严格规定,通常以 “更熟悉的软件” 或 “模型更复杂的一方” 为主程序。例如,若核心是液压控制系统(Amesim 建模),机械部分仅辅助分析(Adams 建模),则优先选 Amesim 为主程序。

2. 协同仿真(Co-simulation)与模型交换(Model Exchange):区分 “求解方式”

根据求解器是否共享,联合仿真分为两类,核心差异在于 “谁来求解模型”:


类型
核心逻辑
优势
劣势
协同仿真
主程序调用辅程序的 “模型 + 求解器”,双方用各自求解器计算,按固定间隔交换数据(又称 “离散耦合”)。
速度快、成功率高,适合大型复杂系统。
因数据交换间隔存在离散延时,精度略低。
模型交换
主程序仅调用辅程序的 “模型”,辅程序不参与求解(模型全量导出给主程序),由主程序求解器统一计算(又称 “连续输出”)。
结果精度更高,无数据交换延时。
计算难度大、速度慢,复杂模型易卡死。

Amesim 中的接口对应:创建接口时,“Simulink”“Adams” 对应模型交换,“SimuCosim”“AdamsCosim” 对应协同仿真(如图 )。实际应用中,多数场景推荐协同仿真 —— 平衡效率与可行性。

图片
3. 专用接口与 FMI:选择 “连接方式”

实现软件联合的接口途径分为两类,决定了跨软件兼容性:

  • 专用接口(Dedicated Interface): 专用于特定软件组合(如 Amesim- simcenter3D 专用接口),类似 “私家车”,仅支持固定搭配;

  • FMI(Functional Mock-up Interface用接口标准): 支持所有兼容 FMI 的软件(如 Amesim、Adams、Simulink 等),类似 “公共交通”,不依赖具体工具。
    图片

优势对比:FMI 设置更简单,且避免专用接口的版本限制(如高版本 Adams 已不支持 Amesim 专用接口,需用 2008 及更早版本)。推荐优先使用 FMI,其接口模块称为 FMU(Functional Mock-up Union),是高版本软件联合的主流选择,也许未来方向,特别是FMU3.0出来后

4. 组合方式与小结

上述三个维度可组合出 8 种联合方式(如 “FMI 接口 + Amesim 为主程序 + 协同仿真”),但并非均可行。实际选择需结合软件兼容性(参考帮助文档)及需求(如大型系统优先协同仿真,高精度需求可尝试模型交换)。

二、Amesim-Adams 联合仿真实操注意事项


明确接口模式后,实操中需关注细节,避免因 “隐性问题” 导致仿真失败或结果失真。

1. 变量传递:遵循 “物理逻辑”

Amesim 与 Adams 联合时,变量传递需符合 “动力 - 运动” 匹配关系:

  • Amesim→Adams:通常传递力、力矩等 “驱动力”(液压 / 控制系统输出);

  • Adams→Amesim:通常传递(角)位移、(角)速度等 “运动状态”(机械系统反馈)。


若传递方向颠倒(如 Amesim 传运动、Adams 传驱动力),大概率建模逻辑错误,需重新梳理系统因果关系。

2. 先 “单独测试”,再 “联合仿真”

避免直接跨软件联合,建议分步验证:

  • 在 Amesim 中搭建完整控制系统,用机械库元件简化 Adams 部分,测试液压 / 控制逻辑;

  • 在 Adams 中搭建完整机械系统,用信号源替代 Amesim 的驱动力,验证机械运动合理性。

  • 单独仿真无问题后再联合,可快速定位跨软件接口外的模型错误,提升效率。


3. 单位与符号:警惕 “隐性换算”

  • 单位一致性

    Adams 默认位移单位为 mm,Amesim 常用 m,需手动换算(1mm=0.001m);


  • 矢量符号匹配

    部分元件存在 “正方向相反”(如液压缸运动方向与输入变量正方向相反),需在传递时加负号修正。



图片

例如:Adams 传递的正向位移变量需乘以 “-0.001”,才能正确输入 Amesim 的液压缸端口,否则结果会完全偏离实际。

4. 避免隐性变量与代数环

联合仿真仅支持常微分方程(ODE)求解,不支持微分代数方程(DAE),因此:

  • 隐性变量必须为 0:Amesim 编译后,窗口显示的 “隐性变量数” 需为 0(如图 4),否则需简化模型;

  • 消除代数环:代数环是 “变量相互依赖” 的矛盾(如 “鸡生蛋、蛋生鸡”),会伴随隐性变量出现。解决方法:在环中加入延时模块(延时常数越小,对系统影响越小)。存在代数环也是不影响计算的,但最好加上延迟来消除。

    图片



5. 元件选用:规避 “数值问题”

优先选择无 “硬不连续” 的元件,避免求解器陷入数值困境:

  • 例如带限位的质量块(MECMAS21 子模型),“ideal” 限位会导致速度突变(硬不连续),Adams 求解器难以处理,建议选 “elastic” 限位;

  • 类似地,含刚性碰撞、突变阈值的元件需谨慎使用,优先用柔性过渡元件替代。

    注意:连接油缸接口,实际不需要用质量块,直接用油缸连接,或者HCD库元件连接。

    图片


三、实用建议


  • 若非必要,优先在单一软件内完成建模(Amesim 机械库可覆盖多数机械运动场景),减少联合仿真的接口复杂度;
  • 必须联合时,优先用 FMI 接口(兼容性强、设置简单),尤其高版本 Amesim 与 Adams 联合,FMU 是最优选择;
  • 如需深入学习,可参考专项课程(如 Amesim-Matlab/Adams 联合仿真专题),系统掌握接口设置与故障排查。

联合仿真的核心是 “明确规则、细节把控”—— 无论是主辅程序划分、接口类型选择,还是变量传递、单位换算,均需围绕 “物理逻辑” 与 “软件特性” 展开,才能实现高效、准确的跨领域建模。



如需进群讨论,请在公众号后台回复:加群


分享
写评论...