AMESim 与 ADAMS 联合仿真操作说明
1.引言
AMESim(Advanced Modeling Environment for Simulation of
engineering systems)软件是由法国 IMAGINE 公司于 1995 年推出的多学科复杂
领域系统工程高级建模和仿真平台,该软件不要求用户具备完备的仿真专业知
识,采用面向系统原理图建模的方法,便于工程技术人员掌握和使用。机构动力
学分析软件 ADAMS (automatic dynamic of mechanical system)集建模、求解
和可视化技术于一体,能有效分析和比较多种参数方案。运用 AMESim 与 ADAMS
的联合仿真,可以有效的对设备的动态过程进行分析,根据交互分析产生的结果
来评价设备的性能,为了更加真实的符合实际情况,理论分析用来完成检验产生
的数值结果。这种虚拟产品开发方法与得出的结论将对设计人员提供一定帮助。
通过 AMESim/ADAMS 之间的接口,有两种方式实现联合仿真:
(1)将模型从一个平台中输入到另一个平台中,采用单一的积分器进行计算。
(2)各个平台分别利用自己的积分器计算自己的模型,通过预先统一的通讯间
隔进行信息交换。
2.软件环境要求
首先 AMESim 软件需要 4.2 级以上版本; ADAMS 需要 2003 级以上版
本(含 A/Control 模块)。其次必须要有 Microsoft Visual C++ 编译器。 如
果需要从 ADAMS 环境中使用接口,那么还强烈推荐 Fortran 编译器, 这样可以
将 AMESim 的模型编译成为 ADAMS 的子函数(Subroutine)。该接口支持的操作
系统包括 Windows、Sun、SGI 和 IBM。
3.AMESim 与 ADAMS 接口操作
要成功使用接口, 必须在 Windows 中设置环境变
量%AME_ADAMS_HOME%, 该环境变量的值为 ADAMS 的安装路径(例如
C :\ADAMS2003。注意在 ADAMS 的安装路径中不能出现空格)。 如果需要从 ADAMS
环境中使用接口,那么还需要将 dfvars.bat 文件拷贝至 AMESim 的安装路径下。
3.1.在 ADAMS 中设置用于输入到 AMESim 的模型
在这种情况下,AMESim 是主控软件,用户需要在 AMESim 中运行并控
制 ADAMS 的仿真进程。从 ADAMS 输出到 AMESim 有两种方式:
1.共同仿真模式,AMESim 通知 ADAMS 在给定的时间间隔提供它的输出。由 ADAMS
自己来求解它的模型。
2.连续模式,AMESim 从 ADAMS 输入完整的系统模型并将所有的方程集成起来在
AMESim 中求解,此时 ADAMS 只起到函数评估器的作用。
不管上述哪种模式,在 ADAMS 中的设置过程是一样的。 用户只需要
在 AMESim 中选择是共同仿真方式或是连续模式输出方式。
3.1.1:创建/检查需要交换的变量。
在这个步骤中,用户需要检查一些状态变量的定义,使用这些状态变
量作为两个软件间的交换变量。例如, 如果用在 AMESim 建立的液压作动器模型
来驱动 ADAMS 中建立的机构模型, 那么这些变量就应该是力、位移以及速度等。
事实上, AMESim 需要根据位移和速度计算得到力。
ADAMS 中的输出变量, 通常是速度和位移, 主要是使用 ADAMS 内部
函数来定义;如 AZ()用于角度测量,WZ()用于转速,DM()用于位移。
图 1
ADAMS 中创建输出
注意变量的单位。 也就是说需要注意 ADAMS 中变量的单位和 AMESim
中的单位之间是否一致, 如果不一致而用户又不希望分别在 AMESim 和 ADAMS
中修改单位,那么可以在 AMESim 的模型中加入信号控制库中的增益模块来实现
单位的协调。
ADAMS 的输入变量,通常是力或者扭矩, 以标准的单元使用, 比如
单个单元力/扭矩或者通用力(6 个元件)。在创建时, 这些变量设置为 0,因
为它们的值是由其它软件(AMESim)计算得到。
在本例中, 唯一的输入变量是扭矩, 采用函数 VARVAL 来定义。
在 ADAMS/View 中,点击菜单 Tools/Database Navigator…来定义
azimuth_zctuator 单元。点击菜单 Build/System Elements/State
Variables/Modify…来定义状态变量 control_torque。
当用户完成创建输入、输出变量后,下一步需要在 ADAMS 中定义接口
图 2
ADAMS 中创建输入
了。
3.1.2:定义接口
利用上一步创建的变量,使用现存的 Plant Input 和 Plant Output
建立接口模型。
Plant Input:{control_torque}, 其中扭矩以单一单元扭矩使用, 即
VARVAL(control_touque)。
Plant Output : {rotor_velocity, azimuth_position}, 这些变量由 ADAMS 的
函数计算得到。
如下图所示, 用户可以通过 Tools 菜单中的 Database Navigator
来设置。
图 3
在 ADAMS 中建立接口模型
至此,ADAMS 的模型就全部设
置好了。
3.1.3:输出系统模型
用户将通过“Controls”菜单输出系统模型, 如下图所示。
在上面的对话框中,用户需要填入以下内容:
图 4 从 ADAMS 中输出系统模型
ADAMS 中用于存储结果的文件名(File prefix);
在第二步中创建的“plant input”和“plant output”;
在控制包(Control package)中选择“EASY5_和_MATRIXx”;
输出类型,选择线性还是非线性;
如果用户希望让 ADAMS 在运行系统前计算初始稳态分析的话,则需
要选择“yes”反之选“no”;
如果需要的话,填入用户定义的库名字。
经过上述的步骤后, ADAMS 将在用户的当前的工作路径中创
建了 3 个文件:
adams2amesim.inf…adm 和…cmd。用户只需要注意 adams2amesim.inf 即
可。在此简单介绍一下这三个文件:
inf 文件包括接口软件的基本信息:ADAMS 的路径,ADAMS 写
入的文件名,求解器需要的信息,交换变量的定义,状态变量的数量。
adm 文件包括 ADAMS 求解器进行仿真运算时需要读取的 ADAMS
系统的信息。
cmd 文件包括所有 AMDAMS/View 需要的相关系统的信息。
到此为止, 在 ADAMS 软件中的操作部分就完成了。
3.2 在 AMESim 中输入模型
用户已经在 ADAMS 中定义并生成了接口使用所需要的文
件:.inf, .adm 以及.cmd 文件。然后将在 AMESim 中建立的相关部分的
模型保存到上述三个文件所在的目录中。 本例中, AMESim 的模型如下
图所示:
图 5
在 AMESim 中建立的模型
3.2.1:打开 AMESim 中的 Interface 菜单,选择 Import Adams
model,如下图所示。
图 6
在 AMESim 中导入模型
在随后打开的对话框中选择在 ADAMS 中生成的.inf 文件, 然后可
以出现下列窗口:
图 7
AMESim 中的对话框
在左边的窗口中,AMESim 将会自动将在 ADAMS 中定义的输入
输出变量填入到相关的空格中。用户可以检查变量的名字并为该接口命
名。在右边的窗口中各项的含义如下:
Output prefix name : 是 ADAMS 输出文件的名字;
User executable : 必要时可以在此加入 ADAMS 模型中需要的用户自定义
应用库的路径, 它通常包括一些子函数。
Simulation mode:Continuous 代表将 ADAMS 的模型全部输入到 AMESim
中进行仿真, Discrete 代表共仿真。
Animation mode : Interactive 代表在仿真的同时,运行 A/View 进行动
画处理。Batch 代表在仿真的时候不运行 A/View, 而是仿真结束后根据
需要,用户自己运行 A/View 进行动画处理。
Output step size : 给出 ADAMS 写入结果文件时的时间间隔。
最后三项可以选择缺省设置。
3.2.2:从 AMESim 的 Sketch 模式进入 AMESim 的 Parameter 模式后,点击接口方
块,进入 Co-simulation 接口方块参数设置。根据用户选择的接口方式不一样,
需要设置的参数稍微有所区别。 如果用户选择的是共仿真方式,那么需要设置
的参数如下图所示:
图 8
AMESim 共仿真模式参数设置
其中值得注意的是 communication interval, 该参数的含义是共仿
真时 AMESim 和 ADAMS 的通讯步长。
如果用户选择的是连续输出方式,那么需要设置的参数如下图所示:
图 9
AMESim 连续模式参数设置图
3.2.3:进入 AMESim 的 Run 模式,运行 AMESim 的仿真。如果用户选择的
是共仿真方式, 那么此时 AMESim 会启动 A/Solver, 两个软件同时计算。
3.3.在两个软件中分析仿真结果
仿真的结果可以在 AMESim 与 ADAMS 中均可以访问。在 AMESim 中,点
击接口模块, 用户可以获得下列仿真结果:
图 10
AMESim 中的仿真结果
在 ADAMS 中,用户可以将仿真结果加载到模型中。打开 ADAMS 的 File
菜单, 选择 Import 后选择 ADAMS/Solver Analysis(req, gra, res),选择
在联合仿真时创建的三个文件中的一个并将输入相关联的模型名字, 然后用户
可以在 ADAMS 中进行动画演示以及通过 A/Postprocessor 来绘制相关变量的曲
线,如下图所示: