01
前言
Adams-Marc联合仿真接口(ACSI)实现Adams和非线性有限元软件Marc之间的信息沟通,将多体动力学和非线性有限元工具有机结合,有效解决了工程计算中系统动力学仿真中的非线性结构耦合问题,比如橡胶垫隔振、机构热耦合、自接触、材料非线性、几何非线性和接触非线性等。
非线性有限元问题一般需要耗费更多的计算时间,系统动力学仿真中又经常需要同时考虑多个非线性结构问题,ACSI支持Adams与多个Marc任务进程联合仿真,让多个Marc求解器并发,可以有效提升ACSI联合仿真的计算效率。本文介绍这种情形下的联合仿真处理方法,以便使用者掌握这一实用技能。
02 方法 Adams-Marc联合仿真运行机理 Adams-Marc联合仿真的基本运行机理如下图1所示,ACSI提供了Adams与Marc信息通讯的接口,Adams运动部件的初始位移通过ACSI给Marc模型作为强制位移边界输入,触发Marc任务进程,得到初始结构反力返回到Adams动力学方程中,然后Adams动力学方程计算得到的运动部件下一时刻的位移,再给Marc…如此反复,二者通过ACSI不断通信,从而实现联合求解。
图1 Adams-Marc联合仿真运行机理示意图
图2 ACSI联合仿真交互点示意图
Adams与多个Marc任务进程联合仿真的处理方法
本文以下图3所示的汽车前悬架摆臂与副车架之间的4组衬套为例,介绍包含多个Marc任务进程的联合仿真处理流程及方法(参考附件模型均已处理完毕)。
图3 方法用例
(1)修改Adams模型
按照前述的联合仿真原理,将前悬架模板中的摆臂(lower_control_arm)与副车架(subframe)之间的衬套改成GFORCE,每一个衬套分别用两个GFORCE替代,分别作用在摆臂和副车架上,GFORCE用子程序ACSI_Adams::描述,如下图4所示:
图4 Adams模型修改
模板修改完成后,生成新的子系统,更新整车装配模型,定义整车动力学仿真工况,比如双移线(Double_Lane_Change),以“files_only”这种“Analysis Mode”运行,输出Adams模型的计算文件,诸如acf、adm及仿真事件xml等,并在模型求解数据文件adm中添加联合仿真接口配置文件和Adams进程号,如下图5所示:
图5 输出的Adams计算文件及adm文件的添加信息
(2)定义Marc模型
在Marc Mentat划分网格,定义材料、接触体及接触关系,还有通过“联合仿真界面”定义位移约束边界条件。
图6 Marc模型定义
图7 位移约束定义方法
分析任务中对“分析选项”选择“联合仿真”,定义联合仿真参数,包括ACSI方法及配置文件,如下图8所示。
图8 用联合仿真定义分析任务
图9 四组衬套Marc模型
配置文件的核心工作是定义Adams与Marc模型之间的交互点。一个Adams进程,如下图10,定义ID号99,将Adams模型中GFORCE的ID号输入到交互点Gforce ID栏。四个Marc进程,如下图11,分别定义ID号1、2、3和4,将对应Marc模型的位移约束节点号输入到Node ID栏。
图10 Adams任务进程定义
图11 Marc任务进程定义
(4)定义仿真启动批处理文件
图12 任务进程启动批处理文件
图13 Adams进程启动批处理文件示例
图14 Marc进程启动批处理文件示例
点击ACSI接口GUI菜单Run,点击“Run”,信息窗口提示手动启动Adams进程;
图16 启动第一个Marc任务进程
第一个Marc任务进程启动后,ACSI接口GUI信息窗口会提示启动第二个任务进程。再次开启一个Windows命令窗口,设置联合仿真路径,然后直接运行run_marc_2.bat,依次类推,直到运行run_marc_4.bat启动第四个Marc任务进程为止,联合仿真才真正启动运行;
图17 启动第四个Marc任务进程
多Marc任务进程联合仿真应用展望
03 参考附件
本文描述了Adams与多Marc任务进程联合仿真的处理方法,为方便大家学习方法及流程,提供如下参考模型:模型文件
Adams车辆模型文件:
Machpherson_four_bush.cdb.7z
联合仿真任务参考文件:
cosim_m.7z