引用

Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(五)
五、常用函数介绍篇

(一)、adams函数总体介绍
1、ADAMS/View? 是MDI公司出品的动力学仿真模块,提供了强大的建模与仿真环境。用户可以应用该模块对任何一个机械系统进行建模与仿真。除此之外,还可以通过函数编辑器编写表达式、函数和子程序,以实现对力、测量和运动的定义。在仿真过程中,系统状态实时发生变化,用户能够通过编写运行过程函数实现对系统变量的实时控制。

2、ADAMS/View函数包括设计函数与运行函数两种类型,函数的建立对应有表达式模式和运行模式两种。表达式模式下在设计过程中对设计函数求值,而运行模式下会在仿真过程中对运行函数进行计算更新。ADAMS/Solver函数支持ADAMS/View运行模式下的函数,在仿真过程中采用ADAMS/Solver解算时对这些函数进行计算更新。

3、运行时函数
(1) 运行时函数在仿真运行过程中被触发载入运行的,设计时函数在程序刚开始启动的时候就被载入,并注册。运行时函数可用C或者Fortran代码编写,而设计时函数只能用C编写。
(2) ADAMS/View libraries增加已编译过的设计时函数,定义或者修改模型和后处理方式。ADAMS/Solver libraries为运动和力增加运动时函数,直接定义模型的行为,控制仿真执行的方式。这样可以使你利用已有的软件定义一些复杂的模型间关系,比如液压力、轮胎力等。很多模块,ADAMS/View, ADAMS/Car, ADAMS/Engine,和ADAMS/Rail,可以运行这两种库,因为它们有内部的ADAMS/Solver。
(3) 尽管有一点理解上的困难,但子程序比函数表达式提供了更多的一般性和灵活性。编写一些函数来适应自己的特定需要,链入子程序到ADAMS/Solver,可提高运行效率和仿真速度。子程序和函数表达式的用途是一样的:给ADAMS/Solver定义非标准的输入。函数表达式的使用比较容易,但不能描述复杂的问题,尤其是在包含大量的逻辑判断时;而子程序需要编程、编译和链接,比较复杂,但它的功能更强大,用途更广,包括定义模型元素和指定输出。

4、在进行建立表达式、产生和修改需要计算的度量及建立设计函数等操作时,会采用表达式模式。在建立表达式时,首先在接受表达式的文本框处右击,然后选择“Parameterize”再选择“Expr ession Euilder”,进入建立设计函数表达式对话框。在该对话框中输入表达式,然后单击“OK”完成操作。

(二)、样条函数的应用
1、样条拟合是在给定曲线或曲面上的已知点间求取中间点的一种插值方法。仿真过程中通过样条拟合函数可以形成一条逼近数据点的光滑曲线。样条函数在下述情况较为通用:
1.1. 采用试验测试数据驱动模型;
1.2. 采用试验测试数据定义驱动力;
1.3. 通过数据点绘制光滑曲线。
ADAMS/View 允许采用三种插值方法,即:三次样条曲线拟合、B样条曲线拟合、Akima拟合法,它们对应的函数分别为CUBSPL、CURVE、AKISPL,其拟合特征及优、缺点如下表所示:

下载 (24.58 KB)

2006-12-24 23:45

2、AKISPL函数
格式:AKISPL (First Independent Variable, Second Independent Variable,Spline Name, Derivative Order)
参数说明:
First Independent Variable      —— spline中的第一个自变量
Second Independent Variable (可选) —— spline中的第二自变量
Spline Name                —— 数据单元spline的名称
Derivative Order (可选) —— 插值点的微分阶数,一般用0就可以
function = AKISPL(DX(marker_1, marker_2, marker_2), 0, spline_1)
spline_1用下表中的离散数据定义
自变量x   函数值y
-4.0 -3.6
-3.0 -2.5
-2.0 -1.2
-1.0 -0.4
0.0 0.0
1 0.4
2 1.2
3 2.5
4 3.6

3、函数CUBSPL( 1st_Indep_Var , 2nd_Indep_Var , Spline_Name , Deriv_Order)
其中1st_Indep_Var定为时间变量time,2nd_Indep_Var 设为0,Spline_Name 为所保存的力与时间的曲线图名称,Deriv_Order设为0。力与时间的曲线图可以在菜单build—>da ta elements—>spline建立。

(三)、step函数的应用
1、Step函数格式为:step(x,x0,h0,x1,h1) 其中各参数意义如下:
x ―自变量,可以是时间或时间的任一函数
x0 ―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;
x1 ―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量
h0 ― STEP函数的初始值,可以是常数、设计变量或其它函数表达式
h1 ― STEP函数的最终值,可以是常数、设计变量或其它函数表达式

2、[链接汇总]step函数应用大集合!
http://www.simwe.com/forum/viewt ... hlight=%BA%AF%CA%FD

(四)、if函数的应用
1、格式:IF(表达式1: 表达式2, 表达式3, 表达式4)
参数说明:
表达式1-ADAMS的评估表达式;
表达式2-如果的Expr ession1值小于0,IF函数返回的Expr ession2值;
表达式3-如果表达式1的值等于0,IF函数返回表达式3的值;
表达式4-如果表达式1的值大于0,IF函数返回表达式4的值;
例如:函数 IF(time-2.5:0,0.5,1)
结果: 0.0 if time < 2.5
        0.5 if time = 2.5
    1.0 if time > 2.5

2、IF((time/2.4-aint(time/2.4))*2.4-1.2: 2,0,-2)
这个意思是:
time/2.4-aint(time/2.4))*2.4-1.2<0: 函数值为:2,
time/2.4-aint(time/2.4))*2.4-1.2=0; 函数值为:0,
time/2.4-aint(time/2.4))*2.4-1.2>0; 函数值为:-2

3、【原创】来一个分段函数,大家来写写:
http://www.simwe.com/forum/viewt ... 6%B6%CE%BA%AF%CA%FD

(五)、sensor,acf的应用
1、acf应用实例:我的仿真过程是16秒,我想在0-4秒和8-12秒内约束1激活、约束2失效,在4-8秒和12-16秒内约束2激活、约束1失效,应该怎么写呢?
——应该是:deactivate/joint,id=2
simulate/dynamic,end=4,steps=100
activate/joint,id=2
deactivate/joint,id=1
simulate/dynamic,end=8,steps=100
activate/joint,id=1
deactivate/joint,id=2
simulate/dynamic,end=12,steps=100
activate/joint,id=2
deactivate/joint,id=1
simulate/dynamic,end=16,steps=100

2、怎样删除sensor?
下拉菜单edit里有delete项,在模型中任何对象不被选中的情况下单击delete,然后在数据库中选中要删除的sensor即可。同样的方法可以失效deactive一个sensor。

(六)、函数的典型应用
1、[转帖]ADAMS函数使用精华:
http://www.simwe.com/forum/viewt ... hlight=%BA%AF%CA%FD

2、【讨论】关于分段函数的添加:
http://www.simwe.com/forum/viewt ... hlight=%BA%AF%CA%FD

3、关于orient函数:
http://www.simwe.com/forum/viewt ... hlight=%BA%AF%CA%FD
4、【讨论】子函数参数含义:
http://www.simwe.com/forum/viewt ... hlight=%BA%AF%CA%FD

5、如何确定一个从动运动的motion函数:
http://www.simwe.com/forum/viewt ... hlight=%BA%AF%CA%FD

6、【原创】如何把MEA(或spline)加入到motion中!!
http://www.simwe.com/forum/viewt ... ht=spline%2Bandyxin

7、[链接汇总]spline运用:
http://www.simwe.com/forum/viewt ... mp;highlight=spline

新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(五)相关推荐

  1. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛] 经过不知道多少个日夜,终于出来一个雏形了,内容主要是版内的帖子总结,这个为1.0版本,由于时间的问题,内容还不全, ...

  2. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(四)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](四) 14.如何在ADAMS下由数据生成样条曲线? 在tools->command navigator... ...

  3. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(三)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](三) 四.常见问题篇 1.ADAMS中的单位的问题 开始的时候需要为模型设置单位.在所有的预置单位系统中,时间单位 ...

  4. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(六)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](六) 六.adams与CAD数据转换篇 (一).proe与adams的联合仿真 1.ADAMS与Pro/E的接口组 ...

  5. 新手上路:ADAMS 基础知识讲解(图文并茂)【转载仿真论坛】(二)

    引用 Baker 的 新手上路:ADAMS 基础知识讲解(图文并茂)[转载仿真论坛](二) 二.书籍篇 宗旨:勤看书勤做实例 对新手来说,书无非是第一手好资料了,目前关于adams的中文书有如下: 1 ...

  6. ADAMS 基础知识讲解

    转载自blog.sina.com.cn/s/blog_6a4918850100nywk.html 二.书籍篇 宗旨:勤看书勤做实例 对新手来说,书无非是第一手好资料了,目前关于adams的中文书有如下 ...

  7. k线图基础知识讲解对于新手很重要

    k线图是金融市场分析的基础工具.对刚刚进入投资市场的人而言,他们应该对这些走势图的情况以及k线图的基础知识有所了解,这可能直接影响他们对于市场的认识和判断.关于k线图基础知识讲解有很多,也有很多的优势 ...

  8. 炒股入门初学者基础知识讲解,如何掌握新手炒股入门基础知识

    对一些刚入股市的新手来讲,要学习的股票术语和一些图标实在是太多了,很多的新手在炒股的时候不知道炒股的技巧是什么,毕竟万事开头难,所以大家要多了解一些基础的知识.下面为大家介绍下QR技术分析社区中关于炒 ...

  9. python实现录音并去燥_Python实现电脑录音(含音频基础知识讲解)

    Python实现电脑录音(含音频基础知识讲解) 前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些 ...

最新文章

  1. 小型职工工作量c语言,计算机c语言职工工作量统计系统(20页)-原创力文档
  2. Django book 中文
  3. 【机器视觉】 dev_close_tool算子
  4. 设计模式在Netty中的应用-观察者模式源码举例
  5. php yii框架源码,yii 源码解读
  6. python怎么执行程序_小鹅通视频怎么下载?用python实现小鹅通视频下载(二)
  7. .iml文件_jetbrains误删maven 项目.iml文件后的处理方法
  8. selenium之批量执行测试用例
  9. bash中的grep函数_如何在Bash中编写函数
  10. union c语言大小,Union declaration(联合体声明)
  11. lesson3 Qt Signal and slots (QSlider and QProgressBar)
  12. Python爬虫,批量下载小说网站上的小说!
  13. 【转】python技术博客
  14. VS2015 解决 “有太多的错误导致IntelliSense引擎无法正常工作,其中有些错误无法在编辑其中查看”问题
  15. 【ROM制作工具】小白如何进行ROM解包,精简,修改,授权,打包详细图文教程...
  16. 南京审计大学计算机考研专业课答案
  17. Datadog——Monitor as a service(笔记)
  18. 【FPGA】EDA技术综合设计 交通灯设计
  19. 【原创】pythonnbsp;requestsamp;nbs…
  20. matlab 点顺时针排序,按顺时针顺序对点排序?

热门文章

  1. 【FFmpeg】ffmpeg使用drawtext过滤器在视频上叠加文字
  2. floorplan阶段用到的物理单元
  3. 如何搭建网站?第一步:建站准备
  4. 【解决方案】智慧城管非现场执法系统
  5. 安徽省省教育厅计算机水平考试,安徽省计算机水平考试历年笔试真题
  6. matlab 从结构体struct提取某一字段filed
  7. File类中isFile与exists的区别
  8. 51单片机项目设计:基于超声波的 车库停车系统、车位检测系统设计(8个超声波测距模块)keil+protues仿真
  9. iOS开发 数据存储之WCDB的使用
  10. 少侠留步! 你可能一直都误解了map,filter和reduce.