第6章 ADAMS模型语言及仿真控制语言
本章对ADAMS的模型语言及仿真控制语言进行了简介。通过本章的学习可以掌握ADAMS/Solver模型语言adm文件、ADAMS/Solver仿真控制语言acf文件的语法、结构,对一些关键语句进行深入的说明,通过学习可以深刻理解ADAMS中几何、约束、力元等的实质,可以脱离ADAMS/View环境直接利用ADAMS/Solver进行一些高级应用,并为进一步的ADAMS二次开发打下基础。
6.1ADAMS的主要文件介绍
ADAMS中关于模型及分析主要有以下几种类型文件:ADAMS/View二进制数据库bin文件、ADAMS/View命令cmd文件、ADAMS/Solver模型语言adm文件、ADAMS/Solver仿真控制语言acf文件,以及ADAMS/Solver仿真分析结果文件:req文件、res文件、gra文件 、out文件、msg文件。
ADAMS/View二进制数据库bin文件以“ .bin”为文件名后缀,文件中记录了从ADAMS启动后到存储为bin文件时的全部信息-包含模型的完整拓扑结构信息、模型仿真信息以及后处理信息。
可以包含多个模型、多个分析工况和结果。可以保存ADAMS/View的各种设置信息。文件为二进制不能阅读、编辑,只能通过ADAMS/View调阅,由于信息全面一般文件都比较大。
ADAMS/View命令cmd文件以“ .cmd”为文件名后缀,是由ADAMS/View命令编写的模型文件,可以包含模型的完整拓扑结构信息(包括所有几何信息)、模型仿真信息,为文本文件,可读性强,可以进行编程,是ADAMS的二次开发语言,不包含ADAMS/View的环境设置信息,不包含仿真结果信息,只能包含单个模型。
ADAMS/Solver模型语言(ADAMS Data Language)adm文件,以“ .adm”为文件名后缀,文件中包含模型中拓扑结构信息,但有些几何形体如 link等不能保留。ADAMS/View的环境设置不能保留。ADAMS/Solver可以读取adm文件,与ADAMS/Solver仿真控制语言acf文件配合可以直接利用ADAMS/Solver进行求解。
ADAMS/Solver仿真控制语言acf文件,以“ .acf”为文件名后缀,文件中可以包含ADAMS/Solver命令对模型进行修改和控制的命令,从而控制仿真的进行。
ADAMS/Solver将仿真分析结果中用户定义的输出变量输出到req文件,以“ .req”为文件名后缀;ADAMS/Solver将仿真分析结果中将模型的缺省输出变量输出到res文件,以“ .res”为文件名后缀;ADAMS/Solver将仿真分析结果中图形部分结果输出到gra文件,以“ .gra”为文件名后缀。ADAMS/Solver将仿真分析结果中用户定义的输出变量以列表的形式输出到out文件,以“ .out”为文件名后缀。ADAMS/Solver将仿真过程中的警告信息、错误信息输出到msg文件,以“.msg”为文件后缀。
下图为各种文件之间的关系
ADAMS/Solver
adm
acf
req
res
gra
out
msg
图6-1ADAMS各文件间的关系
6.2ADAMS/Solver模型语言(ADAMS DATA Language)adm
6.2.1 ADAMS/Solver模型语言分类及其语法介绍
ADAMS/Solver模型语言可以定义系统的拓扑结构,确定系统的输出,定义仿真分析参数等。
以下列表6-1是按功能分类的ADAMS/Solver模型语言分类。
表6-1 ADAMS/Solver模型语言
模型语言类型 | 模型语言关键字 |
俄语字母表Datat Delimiter | TITLE,END |
Inertia and material data | PART,FLEX_BODY,POINT_MASS |
Geometry | GRAPHICS,MARKER |
Constraints | COUPLER,CVCV,GEAR,JOINT,JPRIM,MOTION,PTCV, UCON |
Forces | ACCGRAV,BEAM,BUSHING,CONTACT,FIELD,FRICTION, GFORCE,MFORCE,NFORCE ,SFORCE,SPRINGDAMPER, VFORCE ,VTORQUE |
Generic systems modeling | DIFF,GSE ,speculationLSE ,TFSISO,VARIABLE |
Aggregate element | TIRE |
Reference data | ARRAY ,CURVE硕士研究生报名,MATRIX,PINPUT,POUTPUT,SPLINE,STRING |
Analysis parameters | DEBUG,EQUILIBRIUM,IC,INTEGRATOR KINEMATICS, SENSOR ,UINT |
Output | FEMDATA ,LIST/NOLIST,MREQUEST,OUTPUT,REQUEST, RESULTS |
newly | |
(1)模型语言格式
ADAMS/Solver模型语言的格式如上,一般必包括“/”、id号以及一个或多个变量表达式。现以MARKER语句说明。
其中{}表示三项中必须选择一种参数,[ ]表示可以任选两种中一种参数,[[ ]]表示一种参数组合。因此在ADAMS/Solver模型语言定义中可以定义如下:
MARKER/201,PART=4,QP=100,100,100,REULER=90D,0D,0D
MARKER/202,PART=4,QP=100,100,100,ZP=100,100,105,XP=100,105,100
MARKER/203,PART=4,FLOATING
broaden
(2)变量表达式
其中变量表达式分为以下几类:可以根据类别不同选择不同的变量名、变量可以由一系列数值赋值、变量由一系列字符串赋值、变量由表达式赋值。
1.根据类别不同选择不同的关键词
如上面MARKER第三种定义,其中FLOATING为关键词,不需赋值。又如
SFORCE/10, I=8, J=9,TRANSLATION,FUNCTION=100 * DM(8, 9) * * (-1.3) - 200
其中TRANSLATION是可以在TRANSLATION和RORTATION两个关键词选择一个,不需赋值。
2.变量可以由一系列数值赋值
如上面MARKER中QP=100,100,100
3.变量由一系列字符串赋值
如积分算法说明定义:熟能生巧英语
INTEGRATOR/GSTIFF, PATTERN = T:F:F:F:T:F:F:F:T:T, HMIN = 1.0E-005, KMAX = 3
, INTERPOLATE = ON, CORRECTOR = MODIFIED
其中PATTERN = T:F:F:F:T:F:F:F:T:T 由一系列字符串赋值
4.变量由表达式赋值
如MOTION/1, JOINT=1, FUNCTION=POLY(TIME,0,0,360D)
MOTION/2, JOINT=2, FUNCTION=USER(0, 0, 6.28)
其中FUNCTION=POLY(TIME,0,0,360D) 为函数表达式,FUNCTION=USER(0, 0, 6.28)为用户子程序表达式。
(3)模型语言中的特殊约定j star
1.关于角度:模型语言中角度缺省单位为弧度,如需度则需在数字后加D。puerto rico
如:RELUER=90D,0D,90D,在out文件中角度缺省单位为弧度,可以通过OUTPUT语句中设置DSCALE变为度。
2.关于变量:可以任意颠倒变量的先后次序;变量名可以利用缩写;变量可以大写,也可以小写;如果没有提供变量并赋值,ADAMS/Solver认为变量被赋缺省值。不要将实型赋给整型变量。
3.空格与制表符:一个变量中连续出现5个空格或更多的空格,ADAMS/Solver认为空格后无效,但TITLE和函数表达式除外。
4.说明语句:感叹号后为说明,说明语句可以在任何位置。
5.续行:第一例为“,”表示该行为续行,或行尾为“&”表示下行为续行。如下所示:
PART/2, MASS = 2.3
,CM = 5, IP = 183.005,&
17310.260, 17418.946
6.隔符:同一语句中变量间的分隔符使用“/”,“=”,“,”,“\”,“;”,其中“;”表示可以在一行写两个语句。
7.id号:用于同一系统存在多个相同拓扑结构类型定义,如:
MARKER/201,PART=4,QP=100,100,100,REULER=90D,0D,0D
MARKER/202,PART=4,QP=100,100,100,ZP=100,100,105,XP=100,105,100
其中201、202为id号,以区分同一语句MARKER。
8.语句:一个语句必须在前5例开始,否则ADAMS/Solver认为该行为注释行;语句必须在1-80例之间,可以续行。
6.2.2模型文件的开头与结尾
(1)TITLE
位于adm模型文件的第一行,为一串字符,如:
This is The Truck Simulation Model 2003/10
(2)END
位于adm模型文件的最后一行。
TITLE 与END之间的语句构成ADAMS/Slover的主题,语句顺序可以变化。
6.2.3惯性单元
惯性单元包含三种惯性单元PART,FLEX_BODY,POINT_MASS,这里仅对PART简要介绍,FLEX_BODY,POINT_MASS可以有关ADAMS参考手册。
PART英孚教育费用:PART语句确定刚体的质量、惯量信息、质心位置、初始位置、方位、初始速度。
PART语句有两种:
PART/id,GROUND。
表明该PART被定义为地面。
,
●MASS为PART的质量;
●CM为质心坐标系id号;
●IM为惯量坐标系id号;
●IP为PART的相对于IM惯量坐标系的惯量,没有IM时为相对于CM质心坐标系的惯量;
●MATERIAL为PART的材料特性;
●QG为PART局部坐标系圆点;REULER为PART局部坐标系相对于地面坐标系的三个欧拉角;
●QG为PART局部坐标系圆点;ZG为PART局部坐标系的Z轴方向上一点,XG为PART局部坐标系的XOZ平面上任一点;
●VX、VY、VZ、为PART质心处初始速度在VM坐标系的三个投影分量;
●WX、WY、WZ为PART初始角速度在WM坐标系的三个投影分量;
●VM为定义初始速度的坐标系,缺省为地面坐标系;
夏洛克第三季第三集●WM为定义初角始速度的坐标系,缺省为CM坐标系;
●EXACT为PART的质心坐标系相对于局部坐标系的六个坐标中的精确输入值,在初始装配中保持不变,关键字为X,Y,Z,PSI,THETA,PHI,其顺序可以任意。
举例如下:
PART/2, QG = 0, 0, 10, REULER=90D,30D,45D
, MASS = 1.40, CM = 3, IP = 145.2, 13716.1, 13802.2, VX = 10