首页新闻·活动论坛CAE咨询服务CAE培训联盟CAE软件库技术中心人才·工作奖品
 
产品频道>CAE>MSC ADAMS
总体介绍  产品图片  功能模块  应用案例  手册下载 网摘  用户点评  资料 帖子  索要资料  索要报价  申请试用  申请培训  纠错
 发布文章,奖励点数
 模块功能列表
adams仿真语言
adams/vibration
MSC.ADAMS v2005新增功能介绍
MSC.ADAMS--功能化虚拟样机软件
完成现实和精确建模的预/处理
MD Adams 应用
MD Adams/Car产品优势
 adams仿真语言
发布者: 出处: 日期:2014/4/4 阅读:2276 推荐:0 点评:0
   

 

第六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 Languageadm文件,以“ .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”为文件后缀。

下图为各种文件之间的关系

 

 

 

 
 
 

 

 

 

 

 

 

 

 

6.1--1ADAMS各文件间的关系

6.2ADAMS/Solver模型语言(ADAMS DATA Languageadm

6.2.1 ADAMS/Solver模型语言分类及其语法介绍

ADAMS/Solver模型语言可以定义系统的拓扑结构,确定系统的输出,定义仿真分析参数等。

以下列表6.2-1是按功能分类的ADAMS/Solver模型语言分类。

6-1 ADAMS/Solver模型语言

模型语言类型

模型语言关键字

Dataset Delimiter

TITLEEND

Inertia and material data

PARTFLEX_BODYPOINT_MASS

Geometry

GRAPHICSMARKER

Constraints

COUPLERCVCVGEARJOINTJPRIMMOTIONPTCV

UCON

Forces

ACCGRAVBEAMBUSHINGCONTACTFIELDFRICTION

GFORCEMFORCENFORCE SFORCESPRINGDAMPER

VFORCE VTORQUE

Generic systems modeling

DIFFGSE LSE TFSISOVARIABLE

Aggregate element

TIRE

Reference data

ARRAY CURVEMATRIXPINPUTPOUTPUTSPLINESTRING

Analysis parameters

DEBUGEQUILIBRIUMICINTEGRATOR

KINEMATICS SENSOR UINT

Output

FEMDATA LIST/NOLISTMREQUESTOUTPUTREQUEST

RESULTS

6.2-1 ADAMS/Solver模型语言  

 

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=4FLOATING

  

2)变量表达式

其中变量表达式分为以下几类:可以根据类别不同选择不同的变量名、变量可以由一系列数值赋值、变量由一系列字符串赋值、变量由表达式赋值。

 

1根据类别不同选择不同的变量名关键词

如上面MARKER第三种定义,其中FLOATING变量名关键词,不需赋值。又如

SFORCE/10, I=8, J=9,TRANSLATION,FUNCTION=100 * DM(8, 9) * * (-1.3) - 200

其中TRANSLATION是可以在TRANSLATIONRORTATION两个关键词选择一个,不需赋值。

 

2变量可以由一系列数值赋值

如上面MARKERQP=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)模型语言中的特殊约定

1关于角度:模型语言中角度缺省单位为弧度,如需度则需在数字后加D

如:RELUER90D0D90D,在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

 

66、分隔符:同一语句中变量间的分隔符使用“/,“=”,“,”,“\,“;”,其中“;”表示可以在一行写两个语句。

 

77id号:用于同一系统存在多个相同拓扑结构类型定义,如:

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

其中201202id号,以区分同一语句MARKER

 

8语句:一个语句必须在前5例开始,否则ADAMS/Solver认为该行为注释行;语句必须在180例之间,可以续行

6.2.2模型文件的开头与结尾

1)1TITLE

位于adm模型文件的第一行,为一串字符,如:

This  is  The  Truck  Simulation  Model   2003/10

 

2END

位于adm模型文件的最后一行。

  

TITLE END之间的语句构成ADAMS/Slover的主题语句顺序可以变化。

6.2.3惯性单元

惯性单元包含三种惯性单元PARTFLEX_BODYPOINT_MASS这里仅对PART简要介绍,FLEX_BODYPOINT_MASS可以有关ADAMS参考手册。

PARTPART语句确定刚体的质量、惯量信息、质心位置、初始位置、方位、初始速度。

PART语句有两种:

 

PART/id,GROUND

 表明该PART被定义为地面。

,

Øl    MASSPART的质量;

ØlCM为质心坐标系id号;

ØlIM为惯量坐标系id号;

ØlIPPART的相对于IM惯量坐标系的惯量,没有IM时为相对于CM质心坐标系的惯量;

ØlMATERIALPART的材料特性;

ØlQGPART局部坐标系圆点;REULERPART局部坐标系相对于地面坐标系的三个欧拉角;

ØlQGPART局部坐标系圆点;ZGPART局部坐标系的Z轴方向上一点,XGPART局部坐标系的XOZ平面上任一点;

ØlVXVYVZ、为PART质心处初始速度在VM坐标系的三个投影分量;

ØlWXWYWZPART初始角速度在WM坐标系的三个投影分量;

ØlVM为定义初始速度的坐标系,缺省为地面坐标系;

ØlWM为定义初角始速度的坐标系,缺省为CM坐标系;

ØlEXACTPART的质心坐标系相对于局部坐标系的六个坐标中的精确输入值,在初始装配中保持不变,关键字为XYZPSITHETAPHI,其顺序可以任意。

举例如下:

PART/2, QG = 0, 0, 10, REULER90D30D45D

, MASS = 1.40, CM = 3, IP = 145.2, 13716.1, 13802.2, VX = 10

, VY = 10, VZ = 0, WX = 0D, WY = 0D, WZ = 10D, EXACT = X:Y:PSI

上面语句表明,PART id号为2,该PART局部坐标系圆点在地面坐标系中的位置为0010PART局部坐标系相对于地面坐标的欧拉角为90D30D45D;质量为1.40;质心坐标系标号为3;相对于质心坐标系的惯量为145.2, 13716.1, 13802.2000;质心处初始速度(在地面坐标系分解)为10100;初始角速度为在质心坐标系分解为0D/sec, 0D/sec, 10D/sec,其中质心坐标xyPART局部坐标系中的第一个欧拉角在初始装配中保持不变(或优先保持不变)。

6.2.4几何单元

几何单元包含GRAPHICSMARKER两种几何单元,这里分别对GRAPHICSMARKER语句进行介绍。

GRAPHICSGRAPHICS语句用于确定接触碰撞或表达图形,可以分两类分别定义接触的、定义几何图形的。这里介绍用于定义接触的GRAPHICS语句。

用于接触的GRAPHICS语句如下:

 

Øl    ARC:创建一个圆弧,由三个参数表达圆弧:

      1CM为圆弧的圆心坐标系的id号;

      2RADIUS为圆弧的半径值;

      3RANGLE为圆弧的角度,要注意,CM坐标系的x轴为圆弧的始点

举例如下:

MARKER/2, PART = 3, QP = -450, -50, 0, REULER = 1.565051177D, 0D, 0D

GRAPHICS/2, ARC, CM = 2, RANGLE = 170D, RADIUS = 158.0

表明在MARKERid2)处作一个半径为158.0的圆弧,范围为170D

Øl    BOX:创建一个矩形体,由4个参数表达长方体:

    1CORNER为该长方体一个角处的坐标系的id号;

    2XYZ是长方体沿着上面坐标系xyz轴三个方向的长度

 

Øl    CIRCLE:创建一个圆,由2个参数表达圆:

    1CM为圆心处坐标系的id号;

2RADIUS为圆的半径。

Øl    CURVE:创建基于数据单元CURVE语句的曲线图形。

1CID为所需创建CURVEid号;

2CRM为定义曲线的参考坐标系的id号。CONTACTCVCV语句需要的曲线为平面曲线,且该平面必须为包含RM标记点的x,y轴的平面。       

Øl    CYLINDER:创建一个顶面和底面都垂直于中心轴线的圆柱体,由4个参数表达

1CM为圆柱底面处圆心坐标系的id号,CM坐标系的z轴方向为圆柱体的中心线;

2RADIUS为圆柱体半径;

3RANGLE为圆柱体圆弧的角度,且总是以CM坐标系的x轴为起始点;

4LENGTH为圆柱体的高度。

举例如下:

GRAPHICS/6, CYLINDER, CM = 5, RANGLE = 160D, LENGTH = -200, RADIUS = 500

Øl    ELLIPSOID:创建一个椭圆,由4个参数表达

1CM为椭圆的圆心坐标系的id

2XSCALEYSCALEZSCALE 为沿着CM坐标系的xyz轴的直径,如果三个值都相等,那就会创建一个球。

Øl    FRUSTRUM:创建一个顶面和底面都垂直于中心轴线的锥体,由4个参数表达

1CM为锥体底面的圆心坐标系id号,CM坐标系的z轴为锥体的中心轴线

2TOPBOTTOM分别为锥体的上、下圆平面半径

3RANGLE为锥体的旋转角度,且总是以CM坐标系x轴为起始点

4LENGTH为锥体的高度。

举例如下:

GRAPHICS/10, FRUSTUM, CM = 5, RANGLE = 260D, LENGTH = 400

, SIDES = 20, TOP = 500, BOTTOM = 1000

Øl    PLANE:创建一个有限平面,由5个参数表达

1RM为该平面的参考坐标系id号,该平面位于RM坐标系的x-y平面内(也就是说RM坐标系的z轴垂直于该平面)。

2XMINXMAXYMINYMAX为该平面在RM坐标系的x-y平面内的范围。平面为二维的,可以定义与其他单元(点,圆弧,圆和曲线以及球)接触碰撞。

Øl    EXTERNAL:创建ADAMS/Solver可以识别的Parasolid图形,用于接触碰撞。

例如:

GRAPHICS/19, EXTERNAL, RM=100, FILE = test.xmt_txt,ELEMENT = part1

GRAPHICS语句创建一个三维实体。该实体的数据包含在Parasolid的文件testl.Xmt_txt中。该文件中包含了几个几何实体,其中一个名为Part1。该实体以坐标系100为参考坐标系。

MARKER该语句在空间定义了一个几何点和以该点引伸出的三个相互垂直的坐标轴。它的描叙形式如下所示:

    

MARKER 必须从属于PARTPOINT_MASSFLEX_BODY三种惯性单元之一。特性上存与惯性单元固定或浮动。MARKER作为坐标系需要一个点定义其圆点,关于其方向有三种定义方法。

举例说明:

MARKER/6, PART=4QP=0,1,0, REULER=90D,45D,100D

MARKER/7, PART=4QP=0,1,0, ZP0,1,10,XP0,10,10

MARKER/8, PART=4QP=0,1,0, ZP0,1,10,XP0,10,10,USEXP

MARKER/9, PART=4FLOTING

以上4个坐标系中678为与PART 4固定的坐标系,9为属于PART 4但为浮动坐标系,浮动坐标系在ADAMS/Solver中的VTORQUE,VFORCE, GFORCE, CVCV, and PTCV中需要。

坐标系6利用欧拉角定义该坐标系相对于PART 4的物体局部坐标系;

坐标系7利用ZP表达坐标系的z轴(QP指向ZP),XP为坐标系XOZ平面上一点,但不能与QPZP共线;ADAMS/Solver自动确定其x轴。

坐标系8利用XP表达坐标系的x轴(QP指向XP),ZP为坐标系XOZ平面上一点,但不能与QPXP共线,ADAMS/Solver自动确定z轴,这种用法必须使用USEXP关键字。

又如柔体上坐标系:

MARKER/12, FLEX_BODY=5,NODE_ID=40,REULER=90D,30D,45D

MARKER/13, FLEX_BODY=5,QP=100,100,0,REULER=90D,30D,45D

坐标系12位于FLEX_BODY 5上节点40处,利用欧拉角定义该坐标系相对于FLEX_BODY 5的物体局部坐标系;

坐标系13位于FLEX_BODY 5上,相对于FLEX_BODY 5的物体局部坐标系的位置为100,100,0,利用欧拉角定义该坐标系相对于FLEX_BODY 5的物体局部坐标系;ADAMS/Solver自动确定并调整其到相近节点处。

 

6.2.5约束单元

    约束单元包括COUPLERCVCVGEARJOINTJPRIMMOTIONPTCV

UCON单元,这里分别对COUPLERJOINT语句进行介绍,其它单元参考手册。

COUPLER语句:COUPLER语句将两个或者三个移动副或者转动副关联。其描叙如下:

其中存在关系式:

r1*q1+r2*q2+r3*q3=0

q2/q3=r2/r3

举例说明如下:

JOINT/1, CYLINDRICAL, I = 3, J = 4

JOINT/2, REVOLUTE, I = 7, J = 8

JOINT/3, TRANSLATIONAL, I = 10, J = 11

COUPLER/1, JOINTS = 3, 2, 1, TYPE = T:R:T, SCALES = 90D, 2, -90D

COUPLER语句将Joint 3的平动连接到Joint 2的转动上、Joint 1的平动上。铰链间位移关系为:(90D/180*3.14)*q1 +2*q2+(-90D/180*3.14)*q3 = 0

同时满足q2/q3=2/(-90D/180*3.14)

关系式中角度变量需换算为弧度。

 

JOINT语句:JOINT语句确定物体(刚体和柔性体)间的运动学约束。JOINT的类型有:等速铰(constant-velocity), 圆柱铰(cylindrical),固定铰(fixed),虎克铰 (Hooke), 平面铰(planar),齿轮齿条铰 (rack-and-pinion),转动铰 (revolute), 螺纹铰(screw), 球铰 (spherical),移动铰(translational), 和广义万向节铰(universal joints).

   其格式如下:

JOINT 利用I J  MARKER来定义运动学铰链约束。下面对各种运动学约束的要求作介绍。

 

Øl    CONVEL

该铰链定义两个 PART 具有相同转动速度, IJ MARKER的坐标必须相同且IJ MARKERZ轴是两个 PART的转动轴,I MARKER Z轴方向背离J MARKERJ MARKER Z轴方向背离I  MARKER,同时,I MARKER X轴方向需与J MARKER X轴方向平行。产生4个约束方程。

 

Øl    CYLINDRICAL

该铰链定义两个 PART 可以沿着IJ MARKERZ平动和转动。定义要求IJ  MARKER的坐标必须相同,其Z轴需同向并重合。产生4个约束方程。

 

Øl    FIXED

该铰链定义两个 PART固接,要求I J MARKER坐标圆点重合。产生个6约束方程。

 

Øl    HOOKE

该铰链定义两个PART可以分别沿自己的I MARKERx轴、JMARKERy轴转动。定义要求I MARKERX轴垂直于J MARKERY轴,从而形成十字叉,I MARKERZ 轴、J MARKERZ分别为其转轴方向,I J MARKER的原点重合,在十字的中心。HOOKEUNIVERSAL的功能相同,但两者之间MARKER的定义方式不同。产生4个约束方程。

 

Øl    PLANAR

该铰链定义一个PART的一个平面可以相对于第二个PART的一个平面相对滑动。定义要求I MARKER J MARKERZ轴平行,XOY平面重合。产生3个约束方程。

 

Øl    RACKPIN

该铰链定义一个PART的的一个转动自由度与另一个PART的移动自由度相关。定义要求I MARKERZ轴为其转动轴向,J MARKERZ轴为其移动轴向,PD应为I MARKERZ轴到J MARKERZ轴距离的两倍,产生一个约束方程,完全可以由COUPLER代替。

 

Øl    REVOLUTE

该铰链定义一个PART可以相对于第二个PART以一确定轴线转动。定义要求I MARKER J MARKER的坐标圆点以及Z轴重合,Z轴为其相对转动轴。产生5个约束方程。

Øl    SCREW

该铰链定义一个PART可以相对于第二个PART以一确定轴线转动并同时沿着该轴线移动,只不过转动与移动存在一定的关系,即每转一圈产生一个螺距(PITCH)的移动。定义要求I MARKER J MARKERZ轴共线。产生一个约束方程。

 

Øl    SPHERICAL

该铰链定义一个PART可以相对于第二个PART自由转动。定义要求I MARKER J MARKER的坐标圆点重合,产生3个约束方程。

 

Øl    TRANSLATIONAL

该铰链定义一个PART可以相对于第二个PART沿着一轴线移动,不能转动。定义要求I MARKER J MARKERZ轴共线。产生5个约束方程。

 

Øl    UNIVERSAL

该铰链定义两个PART可以分别沿自己的I MARKERZ轴、JMARKERZ轴转动。定义要求I MARKERZ轴垂直于J MARKERZ轴,从而形成十字叉, I J MARKER的原点重合,在十字的中心。UNIVERSALHOOKE的功能相同,但两者之间MARKER的定义方式不同。产生4个约束方程。

 

6.2.6力元

力元包括ACCGRAVBEAMBUSHINGCONTACTFIELDFRICTIONGFORCEMFORCENFORCE SFORCESPRINGDAMPERVFORCE VTORQUE单元,这里分别对BEAMFIELD语句进行介绍,其它单元参考手册。

BEAMADAMS中可以使用无质量的等截面梁来定义两个PART之间的作用力。ADAMS/Solver根据输入梁的物理特性,按照铁木辛柯梁理论求解梁中的各种力。

其语句格式如下:

利用I MARKERJ MARKER定义一个无质量梁,其中 J MARKER X轴为梁的轴向。I MARKER在梁无变形时应在J MARKER X轴上I MARKERJ MARKER的坐标系平行。其它参数如下:

Øl    LENGTH为梁沿着J MARKER X轴的非变形长度。

Øl    IXX为沿J MARKER X轴极惯性矩。

Øl    IYYIZZ分别为沿着梁的横截面的中心轴(y-yz-z)的惯性矩。

Øl    AREA为梁的横截面积。梁的中性轴一定垂直通过该横截面。

Øl    ASY为铁木辛柯梁的y方向的剪切修正因子。

Øl    ASZ为铁木辛柯梁的z方向的剪切修正因子。

Øl    EMODULUS为铁木辛柯梁的弹性杨氏模量。

Øl    GMODULUS为铁木辛柯梁的弹性剪切模量。

Øl    CMATRIX=r1,...,r21,为梁的结构阻尼矩阵元素,矩阵是对称的,只需要指明一半的数据。输入矩阵的值如下式:

         

                                        

Øl    CRATIO为铁木辛柯梁结构阻尼矩阵与刚度矩阵的比率,缺省为零。

在梁的两个端点之间,作用有线性的拉伸、弯曲和扭转力矩,梁中各种力的计算公式如下式:

                                                                

式中,分别为力和力矩;

分别表示MARKER之间的相对位移、转角、速度、角速度;

分别表示刚度系数和阻尼系数;

为梁MARKER之间的距离(梁的长度);

举例如下:

BEAM/2, I=10, J=20, LENGTH=100

, IXX=1000, IYY=500, IZZ=500, AREA=25.0

, ASY=1.11, ASZ=1.11, EMOD=28E6, GMOD=10.6E6,

, CRATIO=0.0001

 

FIELD 该语句定义MARKER之间的平动和转动的作用力和反作用力。语句格式如下:

  

Øl    CRATIOCMATRIX相对于KMATRIX的比率。如果输入CRATIOADAMS/Solver通过CRATIOKMATRIX获得CMATRIX。缺省值为零。

Øl    CMATRIX为一个6*6的阻尼系数。其格式如下式:

  

Øl    KMATRIX为一个6*6的刚度系数矩阵。其格式如下:

Øl    FORCE为对应于MARKER 之间3个移动和3个转动的预载荷。

Øl    LENGTHMARKER 之间6个自由状态下的初始位移。

Øl    FUNCTION为利用用户子程序FIESUB来定义一个非线性力场。

Øl    FIELD的力与力矩关系如下式:

 

FIELD的计算公式同BUSHING的计算公式相似,不同之处是FIELD计算公式中刚度和阻尼系数()不为零。同时,考虑初始位移和转角FIELD提供了定义最一般的力的方法,因此也可以利用FIELD来定义一般情况下的梁,例如可以定义变截面的梁或者是使用非线性材料的梁。

举例如下:

FIELD/1, I=100, J=57, KMATRIX=0.198E+04

, 0, 0.126E-01, 0, -0.147E+04, 0,

, 0, 0, 0, 0, 0, 0,

, 0.126E-01, 0, 0.208E+03, 0, -0.933E-02, 0,

, 0, 0, 0, 0, 0, 0,

,-0.147E+04, 0, -0.933E-02, 0, 0.763E+07, 0,

, 0, 0, 0, 0, 0, 0

, LENGTH=0, 150, 0, 0, 0, 0

6.2.7系统模型单元

系统单元包括DIFFGSE LSE TFSISOVARIABLE,这里分别对DIFFVARIABLE语句进行介绍。

DIFF DIFF语句用于创建一个用户自定义的状态变量,利用一阶微分方程来表达该变量。其格式如下:

Øl    IC当输入表达式为变量的显式时,为定义变量的初始值;如果输入表达式是一个隐函数表达式,为定义变量的初始值及导数的近似值。如果提供的是一个显函数,就不用提供变量的导数的初值,因为ADAMS/Solver可以从方程中直接计算出变量的导数。

Øl    STATIC_HOLD指在静态分析和准静态分析中变量的值不允许改变。

Øl    IMPLICIT指函数表达式或者DIFSUB子程序定义为隐式微分方程。如果没有指明为IMPLICIT的情况下,ADAMS/Solver就会假定表达式或者DIFSUB为显式方程。

Øl    为微分方程表达式,用户可以自定义表达式来定义微分方程。其格式中,USER为字符串,r1[…,r30]为数值表,传递系统变量到用户定义子程序DIFSUB中。在函数表达式中,DIFi)为DIFF/i语句中定义的变量值。DIF1i)为DIFF/i语句定义的变量的导数。

举例如下:

DIFF/1, IC=2

,FUNCTION = -5.0*DIF(1) + 8.0 + COS(TIME)

DIFF/1定义了变量的显式形式为:

y(0) = 2

DIFF/2, IC=2, IMPLICIT

, FUNCTION = DIF1(2) + 5.0*DIF(2) - 8.0 - COS(TIME)

DIFF/2定义公式的隐式形式为:

 y(0) = 2

 

VARIABLEVARIABLE语句以代数表达式的形式定义变量。其格式如下:

ICVARIABLE的初始值。

   VARIABLE的表达式子程序中定义的变量。如果显通过表达式来定义变量,FUNCTION后面需要有等号和表达式。如果用用户子程序来定义变量,FUNCTION后面需要有等号,字符串USER,以及ADAMS/Solver将要传递给用户子程序VARSUB的值(r1[,…r30]

举例如下:

VARIABLE/4, FUNCTION = IMPACT(DZ(10,90)

, VZ(10,90), 1, 3E5, 1.2, 1,.05)

VARIABLE语句利用碰撞函数定义了一个变量。

6.2.8轮胎单元

TIRETIRE语句定义轮胎单元。该语句可以模拟车辆与地面之间的相互作用力以及轮胎的旋转作用,须提供轮胎的属性文件(.tpf)和路面数据文件(.rdf)。轮胎属性文件包含一些参数,如ADAMS/Solver用来计算轮胎力的cornering stiffness(侧偏刚度)。而且轮胎模型类型不同,轮胎属性文件中的须提供的参数也不相同。路面数据文件(.rdf)定义了轮胎碾过的路面数据。

TIRE其格式如下:

轮胎是一个综合单元,它代表了由一些更基本的ADAMS/Solver语句组成的复杂实体,这些语句包括PART,MARKER,GRAPHICS,GFORCE。当每次创建一个TIRE时,ADAMS/Solver会自动地创建这些语句。这些组成部分的作用如下:

Øl   PART:用来表达轮胎的惯性力。

Øl    GFORCE:以一组三维力和力矩来表达车辆与路面的相互作用。

Øl    MARKERS:指定连接点处的坐标。

Øl    JOINT:将轮胎连接到车辆上。

Øl    GRAPHICS:显示轮胎和路面状况。

语句中的各部分参数意义如下:

Øl    ALPHA0=r :指明αold 的初始值,用来计算轮胎侧偏角的一阶滞后影响。

Øl    CMOFFSET=x,y,z:定义从I MARKER点到轮胎质心处的位移。xyzI MARKER的坐标值。轮胎质心MARKERI MARKER的坐标方向相同。

Øl    IMARKID=id:为TIRE创建的I MARKERid号。I MARKER为轮胎连接到车辆上的位置和方向。如果没有指明I MERKID时,ADAMS/Solver会在内部创建I MARKER。当使用了JOINTNONE选项时,必需要指明I MARKER

Øl    IP=xx,yy,zz[,xy,xz,yz]:指明轮胎的6个惯性矩(积)。惯性矩(积)相对于轮胎的质心坐标CM

Øl    J=id:为轮胎被连接到车辆上的MARKERid号。J MARKERz 轴必须平行于轮胎的旋转轴(使用右手法则)。如果车辆的四个轮子都向前旋转,则四个轮胎的J MARKERz 轴都要指向左边。

Øl    JOINT=id:指明TIRE语句中创建的连接点转动铰链的id号。JOINT缺省时为ADAMS/Tire自动创建的id值。

Øl    JOINT=NONE:允许创建轮胎,但不直接连到车辆上。需要使用JOINT或者BUSHING进一步语句才能将轮胎安装到车辆上。

Øl    MASS=r:指明轮胎部分的质量。该值包括轮胎,轮和所有刚性连接的旋转子部件(如刹车片等等)。

Øl    RDF=c:指明路面数据文件(RDF)的路径和文件名。该路面数据文件包含了一个三维路谱和路面的摩擦属性的信息。

Øl    RGRA:定义一个flag值(01),1使ADAMS/Solver自动生成路面图形。该图形是由TIRE命令中指明的路面数据文件中的数据生成的。

Øl    RLENGTH为考虑轮胎侧偏角一阶滞后影响的松弛长度(relaxation length)。

Øl    SEGS为圆柱和锥体的两个平行的圆之间的绘制的直线段的数量,近似的代表圆的圆周。

Øl    TPF=c:为轮胎属性文件的路径和文件名。轮胎属性文件包含了DAMS/Solver用来计算在给定的系统条件下的轮胎力和力矩的所有的输入数据。

Øl    UPARAMETERS=r1[,...,r30]:定义了至多三十个实数用来传递给TIRSUB函数。

Øl    USTRINGS=id1[,...,id30]:定义了至多三十个字符串标志符,它们的相应的字符串被传递给TIRSUB

Øl    VX=r VY=r VZ=r:指明了轮胎质心处沿着全局坐标系的x yz轴的初始速度。

Øl    WIDTH=r:为轮胎的宽度。

Øl    WZ=r:轮胎相对于I MARKERz 轴的初始的旋转速度。

举例如下:

TIRE/1, J=303

, MASS=10,

, IP=25.0E4,25.0E4,33.0E4

, TPF=TIRE.TPF

该例子中,缺省文件为Fiala模型。缺省的路面为平直路面。另外,所有需要的单元被自动创建。下面的一个例子涉及到了一些初始转速和路面图形:

TIRE/2, J=305

, MASS=10,

, IP=25.09E4,25.09E4,33.56E4

, TPF=TIRE.TPF

, WZ=22.5

, SEGS=5

, RGRA

6.2.9数据单元

数据单元包括ARRAY CURVEMATRIXPINPUTPOUTPUTSPLINESTRING,这里分别对ARRAYCURVE语句进行介绍。

ARRAYARRAY语句定义一组数组,其中可包括输入变量(U),状态变量(X),和输出变量(Y),或者与系统单元GSELSETFSISO相关的的初始条件。

其语句形式如下:

Øl    IC创建一维数组,可以在用户自定义子程序中引用。也可以为LSE或者GSE来分配初始状态数组。

Øl    NUMBERS=r1[,...,r1200]:当使用IC数组时,允许输入一维的实数组。

Øl    SIZE=I:定义数组的大小。范围为11200

Øl    VARIABLES=id1[,...,id1200]:将全部VARIABLE id集合。

Øl    X:对于系统单元LSEGSE或者TFSISO,将 ARRAY命令指定为状态变量数组。

Øl    U:将集合了VARIABLES创建为数组。

Øl      Y:对于系统单元LSEGSE或者TFSISO,将 ARRAY命令指定为输出数组。

举例如下:

ARRAY/1, X

ARRAY/2, U, VARIABLES=2

ARRAY/3, IC, NUMBERS= 0.0, 0.0

 

CURVE:该语句定义三维参数曲线,其表达式如下所示:

Øl    CLOSED :曲线是闭环曲线。

Øl    OPEN:曲线为开环曲线。

Øl    FUNCTION=USER (r1[,...,r30])\:定义并传递参数给用户子程序CURSUB以计算曲线坐标和偏导。

Øl    MAXPAR=r:用户子程序定义曲线参数的最大值。缺省值为1.0

Øl    MINPAR=r:为用户子程序定义曲线参数的最小值。缺省值为-1.0

Øl    MATRIX=id:为包含曲线数据的MATRIXid号。

Øl    CONTROL_POINTS 基于控制点的三次多项式的B样条曲线。

Øl    CURVE_POINTS:曲线通过数据点。

Øl    TENSION=r:为B样条曲线运算使用中的收敛因子。缺省值为0.05。其范围为0到无穷大。

举例如下:

CURVE/5, OPEN, CURVE_POINTS, MATRIX=2

该语句以MARTRIX/2中的曲线点坐标创建了一条开环曲线。ADAMS/SolverB样条曲线来对该点进行插值。

6.2.10分析参数单元

分析参数单元包括DEBUGEQUILIBRIUMICINTEGRATORKINEMATICS SENSOR UINT。这里分别对DEBUG, EQUILIBRIUM语句进行介绍。

DEBUG 该语句用于输出数据的定义以方便系统调试。其语句形式如下:

Øl    DOF:将自由度信息以表格文件的形式打印出。缺省为Off

Øl    DUMP:将系统的方程按ADAMS/Solver内部表示法文件的形式打印出。缺省为Off

Øl    EPRINT:打印出每一步长下的信息,可以根据输出的信息确定误差的来源。缺省为Off

Øl    JMDUMP:在每次迭代时雅可比矩阵运算信息。缺省为Off

Øl    REQDUMP:在每次迭代时,对REQUESTMREQUEST进行输出。缺省为Off

Øl    RHSDUMP:在每次迭代时,对YY数组(状态向量),RHS数组(误差信息),和DELTA数组(状态向量的增量)进行输出。缺省为Off

Øl    TOPOLOGYmsg文件中打印出系统拓扑结构数据。缺省为Off

Øl    VERBOSE:将附加的信息打印到屏幕,如子程序名等。缺省为Off

举例如下:

DEBUG/EPRINT

DEBUG语句将打印出每一步长下的信息。

EQUILIBRIUMEQUILIBRIUM语句指明了在静平衡分析和准静态分析中的误差和其它参数。其语句形式如下:

 

Øl    ACCELERATION_ERROR=r:利用动力学仿真进行静力学仿真时允许的最大加速度误差。缺省值为1.0E-02,取值范围大于零。

Øl    ALIMIT=r:在进行静态仿真时允许的最大角度增加量。缺省值为0.1745310D),取值范围大于零。

Øl    DYNAMIC ADAMS/Solver利用动力学进行静力学仿真。

Øl    ERROR=r:在静力学仿真时允许的最大相对位移误差。缺省值为1.0E-04,取值范围大于零。

Øl    GLOBAL_DAMPING=r:指明动力学仿真时施加在所有物体上的阻尼系数。缺省值为0,取值范围大于等于零。

Øl    IMBALANCE=r:在静态仿真时允许的最大不平衡力。缺省值为1.0E-04,取值范围大于零。

Øl    KINETIC_ENERGY_ERROR=r:指明在静态仿真时最大动能误差。缺省值为1.0E-02,取值范围大于零。

Øl    MAXIT=I:在静态仿真时最大迭代数。缺省值为25,取值范围大于零。

Øl    PATTERN=c1[:...:c10]:在静力学仿真中Newton-Raphson迭代的雅可比矩阵是否进行更新运算。

Øl    SETTLING_TIME=r:在利用动力学分析进行静力学仿真时允许的最长时间。缺省值为100,取值范围大于零。

Øl    STABILITY=r:将质量阵和阻尼阵按此比例增加到刚度阵,将增加收敛速度而不影响精度。

Øl    STATIC=rADAMS/Solver使用静态分析进行静力学仿真。缺省为STATIC

Øl    TLIMIT=r:指明在静态仿真时最大平移增量。缺省值为20,取值范围大于零。

举例如下:

EQUILIBRIUM/ STABILITY=0.01, TLIMIT=10

, IMBALANCE=1.0E-05

6.2.11输出单元

输出单元包括FEMDATA LIST/NOLISTMREQUESTOUTPUTREQUESTRESULTS。这里分别对FEMDATA, MREQUEST语句进行介绍。

FEMDATA该语句输出构件载荷,变形,应力和应变的数据文件,以作为有限元分析金或疲劳寿命分析的输入。如果使用OUTPUT命令就必需要指明FEMDATA产生文件的类型。只有在OUTPUT命令中指明了格式FEMDATA才会输出文件。其语句格式如下:

 

Øl    LOADS:输出所有施加在指定物体上的外部力以及惯性力,以时间为函数的。

Øl    RM = id:输出载荷的参考坐标系。

Øl    FLEX_BODY = id 指明FENDATA输出数据的柔性体的ID值。

Øl    PEAK_SLICE = FX:FY:FZ:FMAG:GMAG:在载荷的峰值处输出FEM载荷数据。

Øl    MODAL_DEFORMATION:输出指定柔性体上模态变形,以时间为函数的。

Øl    NODAL_DEFORMATION:输出指定柔性体上节点变形,以时间为函数的。

Øl    DATUM = node_id:指明节点的IDADAMS/Solver根据节点的ID来计算节点的位移。

Øl    NODE = id1 [,,idn]:指明将要输出数据的节点集合。

Øl    STRAIN:输出在指定物体上的应变信息。

Øl    STRESS:输出在指定物体上的应力信息。

Øl    FILE = name:对FEM数据指明输出文件名。

Øl    START = t1:指明输出数据的开始时间。缺省情况下为仿真开始时间。

Øl    END = t2:指明时间t2,在该时间点终止数据输出。

Øl    SKIP = n:当输出数据时,指明要跳过的输出步数。缺省情况下n0(就是每一步都要输出)

举例如下:

FEMDATA/1, LOADS, RM=201

, PEAK_SLICE = GMAG

, FILE = peak201.nas

OUTPUT/LOADS = NASTRAN

 

MREQUEST MREQUEST语句定义多个输出数据,该数据可以被ADAMS/Solver写进表格输出文件和请求文件中。其格式如下所示:

 

 

Øl    DISPLACEMENT:输出质心处,铰链点或者施加力处MARKER的位移。

Øl    VELOCITY:输出质心处,铰链点或者施加力处MARKER的速度。

Øl    ACCELERATION:输出质心处,铰链点或者施加力处MARKER的加速度。

Øl    FORCE:输出质心处,铰链点或者施加力处MARKER的力。

Øl    J=id:要测量的质心处位移,速度,或加速度的MARKERid 号。

Øl    RM=id:要测量的质心处位移、速度、加速度或力的参考坐标系MARKERid 号。

Øl    COMMENT=c:在MREQUEST命令输出的每条信息顶部添加标题。

 

举例如下:

MREQUEST/01, DISPLACEMENT, PARTS=1,2,3

MREQUEST输出Part 123处的位移。

MREQUEST/04, FORCE, JOINTS=ALL

MREQUEST输出所有铰链的力的数据。

6.3ADAMS/Solver命令及仿真控制文件acf

6.3.1 ADAMS/Solver命令结构及分类

ADAMS/Solver中可用命令来控制仿真,命令可以修改语句中的定义,调用和控制仿真、显示仿真输出和状态信息。

以下列表是按功能分类的ADAMS/Solver命令,同时列出部分命令的使用说明。

6-2 ADAMS/Solver命令

命令类型

命令名称

Inertia and material data

PART

Geometry

MARKER FLEX_BODY

Constraints

JOINT  MOTION UCON

Forces

ACCGRAV BEAMBUSHINGFIELDFRICTION

GFORCESFORCESPRINGDAMPERVFORCE

VTORQUE

Reference data

ARRAY SPLINESTRINGVARIABLE

Analysis parameters

DEBUGEQUILIBRIUMICINTEGRATOR

KINEMATICSLSOLVERSENSOR

Output

OUTPUTREQUEST

Simulation

ACTIVATECONTROLDEACTIVATEEXECUTION

FILELINEARPREFERENCESRELOADSAVE

SIMULATESTOP

Information

HELPHOTLINEINFOMENUSHOWTIME

Display

ACENTERAINITAUTOSCALEBACKUP/ZOOM

CENTERCLEARDISPLAYDRAWDTERASE/RESTORE

PLOTRETURNSET

6.2-2 ADAMS/Solver命令

部分命令的定义信息如下:

PARTPART命令列出创建部件对象的有关信息,在PART命令中可以重新定义质心标记点、惯量标记点、部件的方位和初始位置,也能定义部件的质量以及绕局部坐标系xyz方向的惯性张量值。

格式:

PART/id [,MASS=r] [,IP=xx,yy,zz] [,LIST]

其中,IP=xx,yy,zz为指定的相对于局部坐标系XYZ方向的惯性张量

MASS=r为部件的质量。

举例:

         PART/2, MASS=10        定义部件2的质量为10单位。

PART/5, IP=0,3,6, LIST    定义部件5的参考系XYZ方向的转动惯量。

MARKERMARKER  命令可用来移动和重新定义已存在的标记点,也可以列出标记点位置的有关信息。

格式:

 

参数定义:

QP=x,y,z定义该标记点相对于其依附的部件的位置坐标,该坐标为局部坐标。

REULER=a,b,c定义该标记点相对于局部坐标系的body313欧拉方向角,即局部坐标系先绕其Z轴旋转a度,再绕X轴旋转b度,最后绕Z轴旋转c度后得到的方向。

举例:

              MARKER/10,REULER=15D,0,0

MARKER命令改变了标记点10的方位角。

MARKER/10,QP=2,15,0

MARKER命令改变了标记点10的位置坐标。

MARKER/10,QP=2,15,0,ZP=3,15,0

MARKER命令既改变标记点10的位置坐标,又改变其方向角。

JOINTJOINT命令创建约束副。

格式:

        JOINT/id [,LIST]

举例:

 

JOINT/10, LIST

创建约束副10并列出其所有数据。

GFORCEGFORCE定义作用力并列出相关的数据,它由三个正交的平动力分量和三个正交的力矩分量组成。

格式:

参数定义:

FUNCTION=USER(r1[,...,r30])为用户指定30个参数来计算用户自定义子程序GFOSUB

 FXeFY=eFZ=eGFORCE平动力的三个正交分量,它们相对于参考坐标而言。

I=id 为固定在受力物体上的标记点。

JFLOAT=id为一浮动标记点,它与I标记点分属不同的部件并与I标记点叠加,随部件移动。利用J浮动标记点可以计算反力及反力矩。

TXeTY=eTZ=eGFORCE转动力矩的三个正交分量,它们相对于参考坐标而言,力矩的正方向为绕坐标轴的逆时针方向。

举例:

GFORCE/1, I=8, JFLOAT=6, RM=7, LIST, &

FY = 0\ &

FZ = 0\ &

TY = 0\ &

TZ = 0

GFORCE命令重新定义并列举标记点I 和标记点J 之间广义力的六个分量,其中,FY, FZ, TY, TZ设置为0,标记点I 和标记点J 叠加,反力/力矩FXTX的值可通过J标记点得到。

VARIABLEVARIABLE命令通过一系列参数的标量代数运算来定义变量,这些变量能在PINPUTPOUPUTARRAY等命令中被使用。

格式:

参数定义:

通过一个表达式的运算指明变量的值,或通过一系列参数输入到变量子程序VARSUB中以求解变量的值。

    IC=r 为变量指定一个初始值,ADAMS/View在计算中会对其进行调整。

SENSORSENSOR命令列出有关SENSOR声明的数据,并可通过表达式或子程序来重新定义SENSOR声明。

格式:

   

用来指定或定义并传递一系列参数给用户子程序,或者用计算表达式的值来定义SENSOR

举例:

SENSOR/231, FUNCTION=DX(0202,0307)

SENSOR命令将定义到SENSOR/231的函数表达式改为DX(0202,0307)

 

REQUESTREQUEST用来定义或修改需求的表达式命令。

格式:

        

F1=e.F8=e分别定义REQUEST的第一个到第八个分量,如果被使用,则要么该分量为最后一个参数,要么后面紧跟符号(\)ADAMS/Solver将这些表达式的值写进相应的输出表列,而不是写入REQUEST文件。

举例:

REQUEST/21, F4=DX(2110, 409)\F8=DX(2115, 409)

REQUEST命令修改了REQUEST/21的第4个和第8个表达式,其它的表达式不变。

SIMULATESIMULATE命令指明需要ADAMS/Solver进行仿真的类型,同时指明运行时间以及输出步长。

格式:

    或者为

    或者为

参数定义:

ACCELERATION 指明机构需要执行的位移、速度和加速度分析,而这些分析最初没有被执行。

Øl    DTOUT指明分析步长,以模型仿真时间为单位。

Øl    DURATION 指明模型仿真分析的时间。

Øl    END指明动力学、运动学和准静态平衡分析的结束时间。

Øl    DYNAMICS 指定ADAMS/Solver去积分动力学方程。如果一个具有0自由度的系统需要进行动力学分析,则ADAMS/Solver提供一个警告信息并把方程积分而不会使用运动学分析。运动学分析比动力学分析快。

Øl    KINEMATICS 指明ADAMS/Solver运行运动学仿真分析,如果一个具有一个或多个自由度的系统需要进行运动学分析,则ADAMS/Solver提交错误信息而不去执行整个命令。

Øl    STATICS指明ADAMS/Solver执行一个静态平衡分析或一个准静态平衡分析。

Øl    TRANSIENT 指明ADAMS/Solver当系统具有0自由度的时候运行运动学分析,当系统具有一个或多个自由度的时候进行动力学分析。

举例:

SIMULATE / KINEMATICS, END=5, STEPS=200

该仿真命令指定ADAMS/Solver从开始起的5秒内,以200步输出步长来执行运动学仿真。如果在数据库中该进程是第一次仿真分析,则时间从0开始,而且仅在系统具有0自由度时,ADAMS/Solver才执行该命令。

SIMULATE / KINEMATICS, DURATION=2, DTOUT=.025

该仿真命令指定ADAMS/Solver实现运动学仿真,时间为2秒,每一步长为0.25秒。

SHOWSHOW命令列出如下数据:CPU时间、图形选项、状态和当前时间。

格式:

参数定义:

Øl    CPUTIME 列出当前执行过程中占用的CPU时间。

Øl    GROPTIONS 列出控制图形显示的选项。

Øl    列出每个GRAPHICS声明的数据,每个REQUEST声明的数据,每次仿真的数据或者所有的数据。缺省为SIMULATION

Øl    TIME 列出当前的时间和日期。

PLOTPLOT命令将当前仿真数据集中的REQUESTMEQUEST的声明以图表的形式输出。

格式:

参数定义:

Øl    DEGREES 图表中使用旋转度数值。

Øl    POINTS=I 指明图表数据中的增量值。比如:POINTS=2以每两个点画出图线。

Øl    RADIANS图表中使用弧度值,弧度为缺省参数值。

Øl    TMIN=rTMAX=r 指明ADAMS/SolverREQUEST中获取分析数据时最小和最大的时间值,最小时间值必须大于等于初始输出时间,最大时间值必须小于等于当前仿真时间。

Øl    XMIN=rXMAX=r 指明ADAMS/SolverREQUEST中获取分析数据时的最小和最大的x轴值,如果两个参数都被运用,则XMIN必须小于XMAX,如果只有一个参数被使用,则另一个应取图表中表示的x轴的极大值或极小值。

Øl    YMIN=rYMAX=r 指明ADAMS/SolverREQUEST中获取分析数据时的最小和最大的y轴值,如果两个参数都被运用,则YMIN必须小于YMAX,如果只有一个参数被使用,则另一个应取图表中表示的y轴的极大值或极小值。

Øl    指明REQUESTMREQUEST声明中需要用图表列出的信息。X轴和y轴各能输出三种图表信息,这些参数可以是:

TIME         Output time steps

X            X component

Y            Y component

Z            Z component

MAGNITUDE      Magnitude of polar vector

ANG1         First angular component

ANG2         Second angular component

ANG3         Third angular component

AMAGNITUDE     Magnitude of angular components

ADAMS/Solver将以图表方式列出y轴和x轴数据信息一一对应的仿真曲线。

举例:

PLOT XAXIS=TIME:X 10, YAXIS=MAG 1:AMAG 2, POINTS=3 D

该命令图表列出对应于输出时间步长的Request 1的大小信息,以及对应于Request 10x分量的Request 2 的角度信息。该命令以每三个输出点列表并以度数输出角度值。

 

6.3.2创建ADAMS/Solver仿真控制文件

 

6.3.2.11 创建命令文件

 

利用文本编辑器,键入需要使用的命令来控制仿真。第一行必须包含数据集文件的名字,第二行是ADAMS/Solver创建的指定给输出文件的前缀名。其后各行包含ADAMS/Solver需要在仿真中执行的所有命令,最后一行是STOP命令。文件必须以.acf扩展名的形式保存。下面是ADAMS/Solver命令文件的例子:

! This is my simulation script.

compressor.adm

run1

output/noseparator

simulate/transient, &

end=2, dtout=0.1

deactivate/motion, id=201

simulate/transient, end=5, dtout=0.01

stop

上例中,数据集文件名为compressor.adm而由ADAMS/Solver创建的指定给所有输出文件的基名为run1 (run1.msg, run1.out等等) 。下四行命令打开仿真中的各种输出文件,执行TRANSIENT仿真,驱动运动定义为失效,然后执行另一个TRANSIENT仿真分析。最后以STOP命令中止仿真。

 

26.3.2.2 命令文件语法特例

 

ADAMS/Solver命令的语法规则特例是:

AnglesADAMS/Solver通常假设其命令文件中所有的角度数据均以弧度表示,因此,如果想用度作为输入数据的单位,必须在每个数值之前加上D

Arguments如果ADAMS/Solver发现命令参数中有下列语法错误,则代码发布错误信息并取消执行整段命令:

1参数的无效数值;

2参数缩写混淆不清;

3无效的参数类型值(如参数需要的是数值值,而输入的是字符值;或参数需要整型值,而输入的是带小数的实数值);

4忽略了参数或代入参数的值;

如果输入了一个不符合参数值类型的值给该参数,则ADAMS/Solver发布错误信息忽略该参数,但仍然执行余下的命令。

ContinuationsADAMS/Solver允许命令行最多有8个字符长。要输入超过一行长度的命令,必须在该行的末尾字符之后加上连字符&。如果以交互方式输入命令, ADAMS/Solver 会要求你输入到下一行,而行数不受限制。

 

6.3.23.3 复杂ADAMS/Solver仿真控制文件举例

 

下为一个较为复杂的ADAMS/Solver仿真控制文件test.acf

test.adm

testdemo1

INTEGRATOR/I3_GSTIFF,  & ERR=0.01,HINIT=0.001,HMAX=0.001,HMIN=1.0E-08,KMAX=2

sim/dyn,end=1,steps=256

show cputime,time

save/system,file=test.sav

sim/dyn,end=2,steps=100

show cputime,time

rel/system,file=test.sav,out=testdemo2

INTEGRATOR/SI2_GSTIFF,  & ERR=0.01,HINIT=0.001,HMAX=0.001,HMIN=1.0E-08,KMAX=2

sim/dyn,end=3.5,steps=250

save/system,file=test1_5.sav

show cputime,time

rel/system,file=test.sav,out=testdemo3

sim/dyn,end=4.5,steps=200

save/system,file=test3_0.sav

show cputime,time

rel/system,file=test1_5.sav,out=testdemo4

sim/dyn,end=5,steps=150

stop

 

运行时执行如下命令:

mdi ru-s test.acf

上一篇  下一篇  1  2  3  4  5  共7篇
关于CAENET | 广告服务 | 网站地图 | 联系方式
版权所有:中国CAE联盟 Copyright 2005-2012 All Rights Reserved
沪ICP备06014470号