首页/文章/ 详情

技术技巧 | Adams与多个Marc任务进程联合仿真的处理方法

2年前浏览3984

 

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联合仿真运行机理示意图

Adams模型与Marc模型之间的相互作用点被称为交互点,每一个交互点在Adams模型中必须是一个GFORCE,同时在Marc模型中必须是一个RIGID SURFACE。通过Adams与Marc之间的交互点,Adams将位移传递给Marc并作用到RIGID SURFACE上,同时Marc用GFORCE将力/力矩值传递给Adams。
下图2中,点P1和P2算例(a)的交互点,点P3、P4和P5是算例(b)的交互点,两个算例反映的是一个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 用联合仿真定义分析任务

然后导出Marc模型,总共四组衬套模型,如下图9所示:

 

 

图片

图9 四组衬套Marc模型

(3)通过ACSI接口GUI定义配置文件

 

 

配置文件的核心工作是定义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任务进程定义

完成接口配置后,保存为configuration.cosim文件存于联合仿真路径下,前述Adams计算文件(adm文件)及Marc计算文件即调用该文件获取接口 交互信息。

 

 

(4)定义仿真启动批处理文件

对每一个Adams和Marc任务进程分别定义仿真启动的批处理文件,如下图12所示,其中Adams和Marc启动批处理文件示例分别如下图13和图14所示,注意确保进程ID号填写正确。

 

 

图片

图12 任务进程启动批处理文件

图片

 

 

图13 Adams进程启动批处理文件示例

图片

 

 

图14 Marc进程启动批处理文件示例

(5)运行联合仿真
一切准备就绪后,即可启动联合仿真:

 

 

  • 点击ACSI接口GUI菜单Run,点击“Run”,信息窗口提示手动启动Adams进程;

图片
图15 启动联合仿真

 

 

  • 通过Adams命令窗口(Command Prompt)启动Adams任务进程,先设置联合仿真路径,然后直接运行run_adams.bat即可;
  • 当Adams任务进程运行命令窗口出现“Handshaking signal received from Glue code”提示时,ACSI接口GUI信息窗口会提示Adams进程已启动,请手动启动Marc任务进程,因为是多Marc任务进程,此时启动的是第一个Marc进程。启动Windows命令窗口,设置联合仿真路径,然后直接运行run_marc_1.bat即可;

图片

图16 启动第一个Marc任务进程

  • 第一个Marc任务进程启动后,ACSI接口GUI信息窗口会提示启动第二个任务进程。再次开启一个Windows命令窗口,设置联合仿真路径,然后直接运行run_marc_2.bat,依次类推,直到运行run_marc_4.bat启动第四个Marc任务进程为止,联合仿真才真正启动运行;

图片

图17 启动第四个Marc任务进程

  • 联合仿真结束后,分别通过res文件和t16文件查看Adams和Marc计算结果。


多Marc任务进程联合仿真应用展望

Adams与多个Marc进程联合仿真,对于系统动力学仿真中需要耦合多个非线性现象问题,通过多个Marc任务进程同时求解,相比一个Marc任务进程求解会显著提高计算速度,因此具有很强的工程实用价值。

 

 


03

参考附件


 

 

本文描述了Adams与多Marc任务进程联合仿真的处理方法,为方便大家学习方法及流程,提供如下参考模型:模型文件

  1. Adams车辆模型文件:

    Machpherson_four_bush.cdb.7z

  2. 联合仿真任务参考文件:

    cosim_m.7z

 

附件

免费参考模型.zip
理论科普汽车AdamsMarc
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-01-06
最近编辑:2年前
MSC软件
模拟现实 交付确信
获赞 114粉丝 371文章 145课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈