跨软件联合仿真的核心是明确 “接口规则”,从三个维度可划分为不同模式,直接影响仿真效率与结果精度。
联合仿真中,参与软件存在 “主(Master)”“辅(Slave)” 之分,地位不对等。
主程序:主导仿真流程,通过接口文件调用辅程序的模型(或模型 + 求解器),用户直接与主程序交互(如提交运算、设置参数);
辅程序:被动响应主程序调用,主要负责生成接口文件,后台运行,不直接参与人机交互。
选择原则:无严格规定,通常以 “更熟悉的软件” 或 “模型更复杂的一方” 为主程序。例如,若核心是液压控制系统(Amesim 建模),机械部分仅辅助分析(Adams 建模),则优先选 Amesim 为主程序。
根据求解器是否共享,联合仿真分为两类,核心差异在于 “谁来求解模型”:
Amesim 中的接口对应:创建接口时,“Simulink”“Adams” 对应模型交换,“SimuCosim”“AdamsCosim” 对应协同仿真(如图 )。实际应用中,多数场景推荐协同仿真 —— 平衡效率与可行性。

实现软件联合的接口途径分为两类,决定了跨软件兼容性:
专用接口(Dedicated Interface): 专用于特定软件组合(如 Amesim- simcenter3D 专用接口),类似 “私家车”,仅支持固定搭配;

优势对比:FMI 设置更简单,且避免专用接口的版本限制(如高版本 Adams 已不支持 Amesim 专用接口,需用 2008 及更早版本)。推荐优先使用 FMI,其接口模块称为 FMU(Functional Mock-up Union),是高版本软件联合的主流选择,也许未来方向,特别是FMU3.0出来后。
上述三个维度可组合出 8 种联合方式(如 “FMI 接口 + Amesim 为主程序 + 协同仿真”),但并非均可行。实际选择需结合软件兼容性(参考帮助文档)及需求(如大型系统优先协同仿真,高精度需求可尝试模型交换)。
明确接口模式后,实操中需关注细节,避免因 “隐性问题” 导致仿真失败或结果失真。
Amesim 与 Adams 联合时,变量传递需符合 “动力 - 运动” 匹配关系:
Amesim→Adams:通常传递力、力矩等 “驱动力”(液压 / 控制系统输出);
Adams→Amesim:通常传递(角)位移、(角)速度等 “运动状态”(机械系统反馈)。
若传递方向颠倒(如 Amesim 传运动、Adams 传驱动力),大概率建模逻辑错误,需重新梳理系统因果关系。
避免直接跨软件联合,建议分步验证:
在 Amesim 中搭建完整控制系统,用机械库元件简化 Adams 部分,测试液压 / 控制逻辑;
在 Adams 中搭建完整机械系统,用信号源替代 Amesim 的驱动力,验证机械运动合理性。
单独仿真无问题后再联合,可快速定位跨软件接口外的模型错误,提升效率。
单位一致性
矢量符号匹配

例如:Adams 传递的正向位移变量需乘以 “-0.001”,才能正确输入 Amesim 的液压缸端口,否则结果会完全偏离实际。
联合仿真仅支持常微分方程(ODE)求解,不支持微分代数方程(DAE),因此:
隐性变量必须为 0:Amesim 编译后,窗口显示的 “隐性变量数” 需为 0(如图 4),否则需简化模型;
消除代数环:代数环是 “变量相互依赖” 的矛盾(如 “鸡生蛋、蛋生鸡”),会伴随隐性变量出现。解决方法:在环中加入延时模块(延时常数越小,对系统影响越小)。存在代数环也是不影响计算的,但最好加上延迟来消除。

优先选择无 “硬不连续” 的元件,避免求解器陷入数值困境:
例如带限位的质量块(MECMAS21 子模型),“ideal” 限位会导致速度突变(硬不连续),Adams 求解器难以处理,建议选 “elastic” 限位;
类似地,含刚性碰撞、突变阈值的元件需谨慎使用,优先用柔性过渡元件替代。
注意:连接油缸接口,实际不需要用质量块,直接用油缸连接,或者HCD库元件连接。

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