- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章ADAMS用户子程序详解
第9章ADAMS用户子程序
本章对ADAMS用户子程序做了简要介绍,着重介绍了CONSUB、GFOSUB和REQSUB的使用方法,以及在用户子程序中两个最常用的功能子程序SYSARY和SYSFNC的使用情况。通过本章的学习,读者将具备基本的开发用户子程序的能力。
9.1 ADAMS用户子程序简介
一般情况下,ADAMS的大部分功能可以通过函数表达式完成,函数表达式很容易操作,因为不必编译或连接程序,而且ADAMS/Solver还会实时地提供函数表达式。但函数表达式提供的只是有限的编程结构,因此有些复杂的情况,特别是涉及到一些逻辑表达,用函数表达式则很难表达出来。因此在需要采用一些ADAMS没有提供的特殊函数时,可以采用用户子程序。
用户子程序更具有通用性,可以利用编程语言来定义模型元素或者特定的输出。用户可以将函数表达式写成子程序的形式并将其与ADAMS/View连接,它具有函数表达式所没有的通用性和灵活性。子程序利用通用程序设计语言(FORTRAN或C)的功能来定义ADAMS/View不能提供的函数,并使之按照需要而量身设计。通过连接用户子程序,不会失去ADAMS/View的任何功效,也不会降低仿真速度。
当出现下列情况时,通常会使用到用户子程序:
(1)数学函数很难表达。
(2)需要定义多用户使用的函数。
(3)GSE和UCON声明时,需要用户子程序。
(4)需要控制复杂仿真运行时,以及需要作决策逻辑时。
使用用户子程序时要小心,因为不正确的用户子程序会很难调试。
9.1.1用户子程序的种类
根据用户子程序的功能,可以将它们分为三类:
(1)Driver Subroutine——驱动子程序
(2)Evaluation Subroutines——计算子程序
(3)Restart subroutines——重启子程序
1.驱动子程序(Driver Subroutine)
驱动子程序(Driver Subroutine)--CONSUB--用来驱动ADAMS/Solver。这样ADAMS/Solver在仿真时可更进一步地完成对模型的分析和修改的自动化工作。
CONSUB发出request(请求),regulate(调整),和vary simulations(改变仿真)的命令,并通过作出的交互式命令来修改数据,或者进行不同的分析。大多数运行ADAMS/Solver的情况都是交互式,或者是以批处理的形式,一次只涉及到单个的分析。使用CONSUB,可以完成对数据的动态分析,改变前提条件,并重复动态分析。
2.???算子程序(Evaluation Subroutines)
计算子程序(Evaluation Subroutines)为用户自定义。ADAMS/Solver可写子程序来对某些非标准的或复杂的计算式计算其数值。计算子程序(Evaluation Subroutine)的程序名和功能如表9-1所示。
表9-1 计算子程序(Evaluation Subroutine)的程序名和功能
子 程 序功 能COUSUB,CONXX,COUXX2定义用户自定义的COUPLERCURSUB计算曲线坐标以及CURVE的导数DIFSUB计算DIFF的微分方程值DMPSUB计算FLEX_BODY的模型的阻尼比FIESUB对FIELD计算力和力矩以及它们的导数GFOSUB对GFORCE计算数值GSE_DERIV
GSE_UPDATE
GSE_OUTPUT
GSE_SAMP用GSE来计算当前状态和输出的偏导数值MFOSUB对MFORCE计算模型值MOTSUB对MOTION计算绞点位移,速度和加速度REQSUB对REQUEST计算输出值SENSUB对SENSOR计算感应值SFOSUB对SFORCE计算力的大小TIRSUB对于轮胎接触,定义三个力和三个力矩UCOSUB对UCON计算约束值和其导数VARSUB对VARIABLE计算其代数值VFOSUB对VFOSUB计算力的分量VTOSUB对VTORUE计算力矩的分量
3.重启子程序(Restart Subroutines)
重启子程序(Restart subroutines)由一对子程序组成,SAVESUB和RELSUB。它们可以保存和重新加载子程序运行过程中的某些状态变量,这些状态变量是那些相关的用户子程序在重新启动或进行某些变量初始化时所必须的数据。如果在用户子程序之间相互调用时,需要使用它们在子程序内部保存数据。如果没有使用RELSUB和SAVSUB,在保存仿真文件时,内部数据就会丢失。
虽然SAVE命令可将模型和仿真数据保存到文件中去,而且可以通过使用RELOAD命令重新调入保存文件,并可以从该保存
您可能关注的文档
- Ⅱ5-1无法接通车辆离合器操纵装置课件.doc
- 《1+35=?》少先队队课课件.doc
- 《08小桥流水人家》PPT课件课件.ppt
- 《10、别饿坏了那匹马》课件.ppt
- 第8章-2-兽药残留分析详解.ppt
- “高端坡地项目”营销推广方案课件.ppt
- 《02小苗与大树的对话》PPT2013课件.ppt
- 第7课人类的老师详解.ppt
- 第8章-第5节椭圆详解.ppt
- 第8章_设备管理详解.ppt
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)