adams函数使用方法介绍
- 格式:pptx
- 大小:1.39 MB
- 文档页数:46
ADAMS/View中系统提供的数学函数大致分类介绍如下。
(1)基本数学函数ABS(x)数字表达式x的绝对值DIM(x1,x2)x1>x2时x1与x2之间的差值,x1<x2时返回0EXP(x)数字表达式x的指数值LOG(x)数字表达式x的自然对数值LOG10(x)数字表达式x的以10为底的对数值MAG(x,y,z)向量[x,y,z]求模MOD(x1,x2)数字表达式x1对另一个数字表达式x2取余数RAND(x)返回0到1之间的随机数SIGN(x1,x2)符号函数,当x2>0时返回ABS(x),当x2<0时返回-ABS(x) SQRT(x)数字表达式x的平方根值(2)三角函数SIN(x)数字表达式x的正弦值SINH(x)数字表达式x的双曲正弦值COS(x)数字表达式x的余弦值COSH(x)数字表达式x的双曲余弦值TAN(x)数字表达式x的正切值TANH(x)数字表达式x的双曲正切值ASIN(x)数字表达式x的反正弦值ACOS(x)数字表达式x的反余弦值ATAN(x)数字表达式x的反正切值ATAN2(x1,x2)两个数字表达式x1,x2的四象限反正切值(3)取整函数INT(x)数字表达式x取整AINT(x)数字表达式x向绝对值小的方向取整ANINT(x)数字表达式x向绝对值大的方向取整CEIL(x)数字表达式x向正无穷的方向取整FLOOR(x)数字表达式x向负无穷的方向取整NINT(x)最接近数字表达式x的整数值RTOI(x)返回数字表达式x的整数部分位置/方向函数位置/方向函数用于根据不同输入变量计算有关位置或方向的参数。
ADAMS/View中系统提供的位置/方向函数分类介绍如下。
(1)位置函数LOC_ALONG_LINE返回两点连线上与第一点距离为指定值的点LOC_CYLINDRICAL将圆柱坐标系下坐标值转化为笛卡儿坐标系下坐标值LOC_FRAME_MIRROR返回指定点关于指定坐标系下平面的对称点LOC_GLOBAL返回参考坐标系下的点在全局坐标系下的坐标值LOC_INLINE将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值并归一化LOC_LOC将一个参考坐标系下的坐标值转化为另一参考坐标系下的坐标值LOC_LOCAL返回全局坐标系下的点在参考坐标系下的坐标值LOC_MIRROR返回指定点关于指定坐标系下平面的对称点LOC_ON_AXIS沿轴线方向平移LOC_ON_LINE返回两点连线上与第一点距离为指定值的点LOC_PERPENDICULAR返回平面法线上距离指定点单位长度的点LOC_PLANE_MIRROR返回特定点关于指定平面的对称点LOC_RELATIVE_TO返回特定点在指定坐标系下的坐标值LOC_SPHERICAL将球面坐标转化为笛卡儿坐标LOC_X_AXIS坐标系x轴在全局坐标中的单位矢量LOC_Y_AXIS坐标系y轴在全局坐标中的单位矢量LOC_Z_AXIS坐标系z轴在全局坐标中的单位矢量(2)方向函数ORI_ALIGN_AXIS将坐标系按指定方式旋转至与指定方向对齐所需旋转的角度ORI_ALONG_AXIS_EUL将坐标系按指定方式旋转至与全局坐标系一个轴方向对齐所需旋转的角度ORI_ALL_AXES将坐标系旋转至由平面上的点定义的特定方向(第一轴与指定平面上两点连线平行,第二轴与指定平面平行)时所需旋转的角度ORI_ALONG_AXIS将坐标系旋转至其一轴线沿指定轴线方向时所需旋转的角度ORI_FRAME_MIRROR返回坐标系旋转镜像到指定坐标系下所需旋转的角度ORI_GLOBAL返回参考坐标系在全局坐标系下的角度值ORI_IN_PLANE将坐标系旋转至特定方向(与指定两点连线平行、与指定平面平行时所需旋转的角度ORI_LOCAL返回全局坐标系在参考坐标系下的角度值ORI_MIRROR返回坐标系旋转镜像到指定坐标系下所需旋转的角度ORI_ONE_AXIS将坐标系旋转至其一轴线沿两点连线方向时所需旋转的角度ORI_ORI将一个参考坐标系转化为另一参考坐标系所需旋转的角度ORI_PLANE_MIRROR返回坐标系旋转生成关于某平面的镜像所需旋转的角度ORI_RELATIVE_TO返回全局坐标系下角度值相对指定坐标系的旋转角度建模函数运动学建模函数返回marker点或构件之间位移的度量。
ADAMS/View函数及ADAMS/Solver函数的类型及建立ADAMS/View函数包括设计函数Design-Time Functions与运行函数Run-Time Functions两种类型,函数的建立对应有表达式模式和运行模式两种。
表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。
ADAMS/Solver函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver 解算时对这些函数进行计算更新。
建立表达式模式下的函数在进行建立表达式、产生和修改需要计算的测量及建立设计函数等操作时,会采用表达式模式。
在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expression Euilder”,进入建立设计函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改需要计算的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Computed”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改需要计算的测量对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在建立设计函数时,首先在“Build”菜单中选择“Function”,然后选择“New”或“Modified”确定是新建还是修改,进入产生和修改设计函数对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
建立运行模式下的函数在进行建立运行函数、产生和修改函数型的测量等操作时,会采用运行模式。
在建立运行函数时,首先在接受表达式的文本框处右击,然后选择“Function Euilder”,进入建立运行函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改函数型的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Function”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改函数型的度量对话框。
在ADAMS中使用控制器来实现控制有六种方法。
其中有三种方法在ADAMS内部就能够实现,不需要其它外部程序代码;另外三种方法需要使用ADAMS外部程序代码才能实现。
下面简单的介绍一下这六种方法。
2.1方法一:使用控制定律定义力或扭矩函数使用控制定律来定义力或扭矩的函数表达式是ADAMS中最直接的一种使用控制器的方法,为了便于说明这种方法,下面用一个简单的例子来说明。
在某模型中扭矩的表达式为:F(time)=-20.0*WY(MAR_1),这个表达式的意思是扭矩是基于Y 方向的角速度其增益为20的阻尼扭矩。
如果这个函数是连续的,那么系统就具有很高的非线性,我们可使用STEP函数来控制相关的控制力或控制扭矩的开或关。
2.2方法二:使用ADAMS/View内部的控制工具箱利用ADAMS/View的控制工具箱,可以直接在ADAMS/View样机模型中添加控制模块,完成机电一体化系统的仿真分析。
该控制工具箱提供了简单的线性控制模块和滤波模块,可以方便的实现前置滤波、PID控制及其它连续时间单元的模拟仿真。
2.3方法三:用FORTRAN或C来写子程序来实现用FORTRAN或C写的用户子程序可以通过编译后连接到ADAMS可执行程序中去。
在应用程序中,用户自定义子程序能够很好的执行控制规律而且能很好的连接到ADAMS模型中适当的物体上。
该方法属于ADAMS二次开发的内容。
2.4方法四:使用ADAMS/Linear模块导出状态矩阵的方法用户可以指定输入(比如控制力矩)、输出(比如角速度和偏差),从而输出状态矩阵,这些状态矩阵能被MATLAB或Matrix-X识别,但是要注意的是模型中的平衡配置要是线性化的。
这种方法最大的优点是在外部代码中所有控制规律的设计是为该模型所用的。
2.5方法五:使用ADAMS/Controls进行协同仿真使用ADAMS/Controls模块,可以将机械系统仿真分析工具同控制设计仿真软件有机地连接起来,实现将复杂的控制添加到机械系统样机模型中,对机电一体化的系统进行联合仿真分析。
STEP函数adams,做一个驱动,先在1秒内加速至30d/s,再匀速保持2秒,最后在3秒内减速制0d/s,用step写格式:STEP (x, x0, h0, x1, h1)参数说明:x―自变量,可以是时间或时间的任一函数x0―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;x1―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量h0―STEP函数的初始值,可以是常数、设计变量或其它函数表达式h1―STEP函数的最终值,可以是常数、设计变量或其它函数表达式每一个叠加“+”是在前一个表达式的基础上叠加而不是一味的增加比如第二部是保持匀速所以在第一步加好的基础上增量应该是零正确的表达式:step(time,0,0,1,30)+step(time,1,0,3,0)+step(time,3,0,6,-30)adams帮助文档中解释如下:DefinitionReturns an array of y values, on a step curve, correspondingto the x values.FormatSTEP (A, xo, ho,x1,h1)ArgumentsAAn array of x values.xoValue of x at which the step starts ramping from ho to h 1.hoValue of h when x is less than or equal to xo.x1Value of x at which the step function reaches h1.h1Value of h when x is greater than or equal to h1.ExampleThe following example steps smoothly from0.0 to1.0 over theinterval(2.0,8.0). It has tails from 0 to 2 and from 8 to10.STEP(SERIES(0,0.1, 100),2.0,0.0,8.0,1.0)。
本章主要内容:为Plant Export建立模型的步骤ADAMS变量的类型建立输入状态变量建立输出状态变量建立被控对象的输入与输出在被控对象的输入或输出中状态变量的顺序为Plant Export指定被控对象的输入输出练习二:建立状态变量为了输出被控对象的模型,必须定义被控对象的输入输出。
按照下面的步骤去做:1.建立状态变量,而这些状态变量就是被控对象的输入输出。
2.建立Plant Inputs和Plant Outputs,它们中都包含了第一步建立的状态变量。
3.在ADAMS/Controls下的Plant Export对话框中输入专门的Plant Inputs和Plant Outputs,就可以输出被控对象文件。
都包含一系列的状态变量输入变量建立状态变量以控制输入。
·设置 function=0(通常)·如果要进行初始静态仿真,则要设置初始值使用VARVAL函数将定义被控对象输入的状态变量赋值给模型中的激励者(例如:力)。
建立正确的运行时间表达式,向CSS提供一个输出。
例如:方位角,仰角在ADAMS模型中创建Plant Inputs 和Plant Outputs,为ADAMS被控对象提供输入和输出。
为ADAMS被控对象指定一个Plant Inputs 和一个Plant Outputs,他们可以包含多个变量。
都包含一系列的状态变量在Plant Input/Output基本要素中状态变量的顺序非常重要,因为它决定了在CSS中必须定义的变量顺序。
只要创建了Plant Inputs和Plant Outputs,就把它们引入Plant Export对话框中。
使用plant inputs 和outputs代替状态变量,允许用户更直接的编辑被控对象的输入及输出(例如:对于数量众多的状态变量,使用Plant Input/Output就能编辑,而用不着在Plant Export对话框中一个一个的输入)。
ADAMS/View函数及ADAMS/Solver函数的类型及建立ADAMS/View函数包括设计函数Design-Time Functions与运行函数Run-Time Functions两种类型,函数的建立对应有表达式模式和运行模式两种。
表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。
ADAMS/Solver函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver解算时对这些函数进行计算更新。
建立表达式模式下的函数在进行建立表达式、产生和修改需要计算的测量及建立设计函数等操作时,会采用表达式模式。
在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expression Euilder”,进入建立设计函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改需要计算的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Computed”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改需要计算的测量对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在建立设计函数时,首先在“Build”菜单中选择“Function”,然后选择“New”或“Modified”确定是新建还是修改,进入产生和修改设计函数对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
建立运行模式下的函数在进行建立运行函数、产生和修改函数型的测量等操作时,会采用运行模式。
在建立运行函数时,首先在接受表达式的文本框处右击,然后选择“Function Euilder”,进入建立运行函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改函数型的测量时,首先在“Build”菜单中选择“Measure”,然后指向“Function”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改函数型的度量对话框。
1 ADAMS/View 函数及ADAMS/Solver 函数的类型及建立ADAMS/View 函数包括设计函数与运行函数两种类型,函数的建立对应有表达式模式和运行模式两种。
表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。
ADAMS/Solver 函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver 解算时对这些函数进行计算更新。
1.1 建立表达式模式下的函数在进行建立表达式、产生和修改需要计算的度量及建立设计函数等操作时,会采用表达式模式。
在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expression Euilder”,进入建立设计函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改需要计算的度量时,首先在“Build”菜单中选择“Measure”,然后指向“Computed”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改需要计算的度量对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在建立设计函数时,首先在“Build”菜单中选择“Function”,然后选择“New”或“Modified”确定是新建还是修改,进入产生和修改设计函数对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
1.2 建立运行模式下的函数在进行建立运行函数、产生和修改函数型的度量等操作时,会采用运行模式。
在建立运行函数时,首先在接受表达式的文本框处右击,然后选择“Function Euilder”,进入建立运行函数表达式对话框。
在该对话框中输入表达式,然后单击“OK”完成操作。
在产生和修改函数型的度量时,首先在“Build”菜单中选择“Measure”,然后指向“Function”,再选择“New”或“Modified”确定是新建还是修改,进入产生和修改函数型的度量对话框。
adams中力与时间函数在物理学中,Adams方法是一种用于数值求解常微分方程的方法,它是一种多步法,可以通过已知的函数值来逼近未知函数值。
Adams方法的核心思想是利用已知的函数值来逼近未知函数值,通过一定的数学推导和近似计算得到下一个时间点上的函数值。
Adams 方法包括Adams-Bashforth方法和Adams-Moulton方法两种形式。
Adams-Bashforth方法是一种显式的多步法,它利用已知的函数值来计算下一个时间点上的函数值,其基本形式可以表示为:\[y_{n+1} = y_n + \frac{h}{24}(55f_n 59f_{n-1} +37f_{n-2} 9f_{n-3})\]其中,\(y_n\)表示当前时间点上的函数值,\(f_n\)表示当前时间点上的导数值,\(h\)表示时间步长。
Adams-Bashforth方法的优点是计算简单,但由于是显式方法,对步长的选取比较敏感,可能会出现稳定性问题。
Adams-Moulton方法是一种隐式的多步法,它也利用已知的函数值来计算下一个时间点上的函数值,其基本形式可以表示为:\[y_{n+1} = y_n + \frac{h}{24}(9f_{n+1} + 19f_n 5f_{n-1} + f_{n-2})\]与Adams-Bashforth方法不同的是,Adams-Moulton方法中包含了\(f_{n+1}\),需要通过迭代的方式求解。
Adams-Moulton方法的优点是相对于Adams-Bashforth方法更加稳定,但计算量较大。
总的来说,Adams方法是一种有效的数值求解常微分方程的方法,它通过利用已知的函数值来逼近未知函数值,能够在一定程度上提高计算的效率和精度。
但在实际应用中,需要根据具体的问题和计算要求选择合适的方法和参数,以获得满意的数值解。
Adams常用函数step可能是最常用的:step(time,0,0,1,50)+step(time,4,0,6,-100)+step(tme,9,0,10,50)函数原形STEP(A,x1,h1,x2,h2)解释:由数组A的x值,生成区间(x1,h1)至(x2,h2)之间的阶梯曲线,返回y值的数据。
举个常用的例子。
比如STEP(time,1,0,2,100)time在adams中是个递增的变量,相当于一个数组。
那么step的返回值就是随着time变化的值。
这个例子将表示在time从(1,2)的过程中,返回值将从0,100。
看看例子,两个小球,一个使用step 函数设置了位移,另外一个是参考。
当然,这个变化过程,adams使用了缓和的图形,从其位移图中可以看出来。
step既然是个返回值,就可以使用加减法了。
如上例,如果设置下面的小球的位移如下:STEP(time,1,0,2,100)+step(time,2,0,3,400)+step(time,3,0,4,-200)1.以前用过碰撞函数,有单向和双向函数的区分,其中系统的球面等碰撞为其特例!IMPACT (Displacement Variable, Veloci t y Variable, Trigger forDisplacement Variable, Stiffness Coefficient, Stiffness Force Exponent,Damping Coefficient, Damping Ramp-up Distance)BISTOP (Displacement Variable, Velocity Variable, Low Trigger forDisplacement Variable, High Trigger for Displacement Variable, StiffnessCoefficient, Stiffness Force Exponent, Damping Coefficient, DampingRamp-up Distance)2.if函数这个函数最好不要使用,他的使用会带来突变,会使运算的时候不收敛。