Professional Documents
Culture Documents
91949
91949
焦晓娟 张溹 渭 彭斌彬 编著
湧厰妉寈剜犪禠
即 伈
内 容 简 介
枎仈屣韄趖杫湧厰妉寈剜犪禠隔侌桩篠﹦時桩篠聧乯忹镢喐ザ
犪枥抢杫﹦倗枥性竘ザ倗枥亠指疗谿ⅹ010-62782989 13701121933
坠仈垊犪罸睐﹢CIP﹣旒提
RecurDyn 奶侯絗缻佴卲佛睻拜枋/熂暯婻,彼溹溉,忉旨忈署蒳.…即伈:湡厪妃寂剖犤禚,2010.12
ISBN 978-7-302-24157-7
超佝罸迳ⅹ谔宴枟 缆旣逸
屣韄谠调ⅹ剴 跡
犪影谠调ⅹ個啎茈 柄 浧
超佝梃屛ⅹ娸 忂 彼必剀
超佝叒劘ⅹ
剜犪吳袮ⅹ湡厪妃寂剖犤禚 垒 垢ⅹ即伈湡厪妃寂寂硰妃吂 A 弃
http://www.tup.com.cn 鄐 罸ⅹ100084
禠 悝 果ⅹ010-62770175 鄐 趏ⅹ010-62786544
拷窡买豝聧杯匃ⅹ010-62776969,c-service@tup.tsinghua.edu.cn
越鈱启駪ⅹ010-62772015,zhiliang@tup.tsinghua.edu.cn
叒 劙 聧ⅹ
褧 谄 聧ⅹ
缱 镢ⅹ凄坙昌厪仂廳
形 枎ⅹ185×260 叒 徂ⅹ29.5 容 旒ⅹ682 原害
犪 殃ⅹ2010 廐 12 杤箈 1 犤 叒 殃ⅹ2010 廐 12 杤箈 1 歽双劓
叒 旒ⅹ1~4000
导 余ⅹ60.00 冟
伃唝署呓:039209-01
ኔ
机械产品在国内外市场中竞争力的强弱,在很大程度上取决于产品的质量。产品的设
计可赋予产品“先天性优劣”的本质特性,它对产品的质量有着显著的直接影响。力学的
发展与应用,已解决了产品设计中的诸多重大实际问题,对推动科学和工程技术的进步正
在发挥着重要的作用;计算技术和力学理论的融合,为计算力学服务于产品的设计开辟了
一条新的十分有效的途径。
本书介绍了基于递归算法的 RecurDyn 多体系统仿真软件,它是以多体动力学为基础,
以提高机械产品技术性能为目标,为产品设计所涉及的机构和结构、液压系统和控制系统
的优化,以及机器零部件疲劳失效分析及寿命预估等问题提供一个数字化仿真的平台,可
以克服目前产品设计中存在着的抽象的和孤立的对产品设计优劣进行评价的弊端,能够更
加方便地对机械产品设计各个阶段进行自我评判与改进。特别是 RecurDyn 所提供的专业化
的工具包,可更加方便地在相关行业中进行具体应用。RecurDyn 软件由 A. A. Shabana 博
士的弟子所开创,本书作者是想通过对 RecurDyn 软件的介绍,使他们所传承的多体动力学
理论与技术得以发扬广大,这自然是一项具有重要意义的工作,它一定会让更多的人从使
用中获益。
焦晓娟同志主持编写本书,是基于一种新的、独特的理念和坚定的信念,通过她的勤
奋学习和不懈努力的工作,创作出了这一具有创造性的和实际意义的产品,它一定能够让
更多的人学会运用这一先进的仿真技术,进而服务于我国的经济发展,我期待本书为我国
新时期产品设计的自主创新带来重大的实际应用价值。
最后,我祝愿工程力学今后的发展更加朝气蓬勃,愿力学在工程中的应用更加丰富
多彩。
闻邦椿
2010 年 11 月 5 日
༄ ዔ
适值中国正处于工业化和信息化“两化”融合的时代,需要大批的具备数字化分析能
力的技术人才融入产品的研发进程。作为驱动工业化研发能力发展的 CAE 仿真工具,为产
品性能的综合分析、设计优化方案的选择、创新设计的有效评估等更高层次的产品设计行
为提供了方便。作为集成的多学科优化仿真工具,RecurDyn 在国内外产业界的应用业已获
得了长足的进步。这款享有国际声誉、备受用户信赖的软件,凝聚着全球 7 所大学和 10 个
实验室的共同努力,基于最新多体技术的发展,为机-电-液-控耦合领域多体系统的统一建
模及分析优化搭建了行之有效的数字化仿真平台。
非常感谢越来越多的中国技术人员和高校学生关注 RecurDyn 的发展。基于越来越多使
用者对指导教材的呼吁声,我们怀着极其喜悦的心情,迎来了第一本关于 RecurDyn 的简体
中文教程在中国大陆的面世。感谢曾经为 RecurDyn 广泛应用而努力过的所有 FunctionBay
China 技术人员及参与者,感谢 Michael Jang、Inho Song 等 FunctionBay 公司的大力协助,
感谢清华大学出版社第六事业部为第一本 RecurDyn 中文简体书的出版而提供的帮助,感谢
南京理工大学机械工程学院所做的部分翻译工作,尤其要感谢默默支持该书编写工作的家
人及亲友们。
特别要感谢的是东北大学的两院院士闻老师和他的助理任朝晖老师,闻老师并没有看
到该书的内容,也不了解该书的作者。闻老师为该书题序是出于对作者的鼓励,对勤奋学
习和努力工作的倡导,我们期待闻老师的严谨态度和做人原则指引更多的人努力往前走。
RecurDyn简体中文书的出版,承载着FunctionBay China的希望。我们期待,RecurDyn
以强大的仿真性能和卓越的分析效率更加广泛地服务于工业界和学术界,在中国“两化”
融合时代的应用更加深入,在仿真驱动设计中所起到的作用更加积极。渴望探索RecurDyn
功能的读者可登录RecurDyn官方网站www.recurdyn.cn申请试用,欢迎广大读者和使用者提
出宝贵意见及建议。时间仓促,错误难免,如果读者需要最新信息,请将您的联系方式发
至xiaojuan.jiao@pro-lambda.com信箱,我们会将更新信息及时通知您。
编 者
2010-11-5
Preface
It is always very delightful and joyful experience to meet a new product or goods. Whenever
I encounter a new product, some unknown expectation make my heart beat, like which function
do they have? what can I do with this one? etc. I don’t know what other people do when they
meet a new product, but in my case, my first thing to do is reading a manual or related documents.
I don’t want to ruin my feeling of some expectation and excitement by abusing the product due to
my lack of knowledge. So, I try to fully understand the product before operating through the
documents. However, some product doesn’t provide the manual or related documents which are
written in my mother language. Then, I have to spend much longer time on reading and
understanding the content. Sometimes, it makes me tired and finally my exciting feeling for that
product has been disappeared even before I started to use it. As a manufacturer, FunctionBay
always have some uncomfortable feeling due to a similar reason when we have started to enter
the Chinese market. Language is very difficult problem to me even though I am very proud of
our product. I really wanted to provide good materials to our Chinese users with Chinese
language, but it was not easy work. But timely and finally, I heard that the book is published
which is written in Chinese language. As a CEO of headquarter, I was very happy because we
can explain the various and nice function of RecurDyn with more efficient and fast method to
Chinese users through this book. And also, I can get some relief feeling that this book will
decrease my burden about the feeling of sorry toward Chinese users.
So, I really appreciate xiaojuan Jiao and FunctionBay China’s valuable work, publishing
this book instead of headquarter. I hope that this book can give more deep understanding about
RecurDyn and help Chinese users to handle RecurDyn more easily.
Please contact us when you have any request or feedback. FunctionBay headquarter and
FunctionBay China will do our best to improve it and provide better materials to Chinese users
continuously.
Michael Jang.
CEO of FunctionBay, Inc.
ഺ
2.6 大变形问题的相对节点法........39
第1章 多体仿真的沿革趋势与 2.6.1 相对变形运动 ......................... 40
RecurDyn................................. 1 2.6.2 平衡方程................................. 42
1.1 多体动力学仿真时期.................. 1 2.6.3 数值算法................................. 45
1.2 多体系统的仿真时期.................. 2 2.6.4 数值算例................................. 45
1.3 多体产品仿真时期...................... 3 2.7 一种有效的接触搜索算法........47
1.4 小结.............................................. 3 2.7.1 接触对的运动学表示 ............. 47
2.7.2 接触区域划分 ......................... 48
第 2 章 RecurDyn 基本算法.................. 4 2.7.3 预搜索..................................... 48
2.1 计算多体动力学基本概念.......... 4 2.7.4 后搜索和柔性接触力 ............. 49
2.2 广义递归算法.............................. 4 2.7.5 递归算法的运动学和
2.2.1 相对运动学坐标....................... 5 运动方程................................. 50
2.2.2 速度递归算法........................... 7 2.7.6 数值积分策略 ......................... 52
2.2.3 力递归算法............................... 8 2.8 闭环多体系统的线性运动
2.2.4 机械系统的图形表示法 ........... 9 方程............................................52
2.2.5 运动方程和 DAE 的解法......... 9 2.8.1 相对坐标运动学 ..................... 53
2.2.6 广义的递归算法..................... 11 2.8.2 运动方程................................. 55
2.2.7 广义递归算法的应用 ............. 15 2.8.3 拉格朗日乘子的消元和运动
2.3 隐式数值积分的解耦算法........ 16 方程的线性化 ......................... 55
2.3.1 代数微分方程的隐式 2.9 小结............................................56
数值积分................................. 16
2.3.2 隐式数值积分的解耦算法 ..... 17 第3章 RecurDyn 软件简介 ............... 57
2.3.3 数值算法................................. 19 3.1 RecurDyn 概述 ..........................57
2.4 采用虚拟构件和铰的柔性 3.2 RecurDyn 产品线 ......................58
多体动力学................................ 20 3.3 RecurDyn 组成模块 ..................59
2.4.1 相邻柔性体的运动学 ............. 21 3.4 RecurDyn 产品应用领域 ..........60
2.4.2 运动方程................................. 25 3.5 安装 RecurDyn 软件 .................60
2.4.3 计算过程与讨论..................... 27 3.5.1 Windows 系统安装
2.5 柔性多体动力学的广义 RecurDyn ................................ 61
递归算法.................................... 29 3.5.2 Linux 系统安装 RecurDyn
2.5.1 两相邻柔性体的相对 软件......................................... 64
坐标运动................................. 30 3.6 RecurDyn 的文件结构 ..............65
2.5.2 正向递归算法......................... 34 3.7 RecurDyn 建模环境介绍 ..........67
2.5.3 反向递归算法......................... 36 3.7.1 启动 RecurDyn/Modeler ......... 67
2.5.4 求解控制方程......................... 37 3.7.2 RecurDyn/Modeler 建模
VI RecurDyn 多体系统优化仿真技术
多体仿真技术的发展进程可以分为 3 个阶段:前期是以现代计算力学为基础的“多体
动力学仿真”阶段,近期扩展到与结构、控制和优化结合的“多体系统仿真”阶段,目前
正走向结合机-电-控与多物理场的“多体产品仿真”阶段。RecurDyn 诞生于第一阶段的后
期,随着第二阶段的发展而快速成长,目前正跟随市场的脚步和技术的导向步入了方兴未
艾的第三阶段。
1.1 多体动力学仿真时期
这一时期是多体仿真的萌芽期,从事多体仿真的多是机构动力学学者。20 世纪 70 年代,
随着电脑应用的逐渐普及,以美国为主的许多大学的应用力学学者开始以牛顿的运动定律对
机械构造组成(如图 1-1 所示,包括构件和连接)建立可数字化的数学模型(Mathematical
Models),这就是今天多体仿真的前身。70 年代中期至 90 年代中期是多体动力学的蓬勃
发展期,许多重要的数学模型和算法、有效的数值解法,甚至几何模型与数学模型关系的
建立都是发生在此期间,其中影响较大的包括密西根大学的以 Euler Angles 为旋转自由度
的三维数模,爱荷华大学的 Euler Parameters 旋转自由度、相对自由度和递归算法(Recursive
Formulation),伊利诺大学 Dr. Shabana 的模态柔性体算法等。到了 90 年代中期这些技术
都已成熟,RecurDyn 的研发团队因此集成了以上的学术成果,并且引入同时期发展成熟的
有限元算法作为可承受大变形和接触的柔性体数模,于 90 年代末,在微软的视窗操作系统
上发布了第一版的 RecurDyn,这也算是“多体动力学仿真”纪元的一个总成。
图 1-1 多体系统
2 RecurDyn 多体系统优化仿真技术
1.2 多体系统的仿真时期
自的产品特性和设计需求,开发出专用的参数化系统和设计优化的开发平台。此时仿真本
身已不再是目的,设计的优化才是多体系统仿真的真正目的。
如图 1-2 所示,目前已发行的 RecurDyn 版本正是因应这一时期的市场需求和技术挑战
而开发的。有关利用 RecurDyn 进行多体系统仿真所需要的理论基础和应用教程将在后文中
详细介绍。
图 1-2 多学科集成的多体分析系统
1.3 多体产品仿真时期
这一时期将是多体仿真的成熟期,多体仿真将成为“数字化产品开发”的核心技术。
多体产品仿真是指在“多体系统仿真”技术的基础上,加上“多物理场仿真”、“芯片-
轫体仿真”、“软-硬件联合仿真”等功能,以进一步达成数字化产品开发的目的。当前正
处于这一新时期的开端,RecurDyn 的研发部门正集中全球的开发资源,计划将 RecurDyn
开发成一个“多学科集成的优化平台”和一个“机-电-控集成的产品开发平台”,让我们
拭目以待它的精彩表现吧!
1.4 小 结
本章概括了多体动力学的发展历程、多体系统的仿真时期以及多体产品的仿真时期,
并指明 RecurDyn 未来的发展方向。
2 ᐺ RecurDyn۾Ⴏज
2.1 计算多体动力学基本概念
计算多体动力学分析涵盖建模和求解两个阶段,其中建模包括从几何模型形成物理模
型的物理建模、由物理模型形成数学模型的数学建模两个过程,求解阶段需要根据求解类
型(运动学/动力学、静平衡、特征值分析等)选择相应的求解器进行数值运算和求解。
几何模型是指构成多体系统的几何体构件,可在多体分析软件中建立,亦可从外部导
入 CAD 模型。
物理模型即力学模型,是指在赋予物理属性(质量、惯量、质心位置等)的几何模型
基础上,通过施加运动学约束、驱动约束、力载荷、初始条件计算等装配形成的表达多体
系统力学关系的模型。赋予物理属性的构件统称为 Body,亦可称为部件,是机构零件的模
型化。部件可分为刚体和柔性体,刚体上质点间距离保持不变,柔性体则需要考虑质点间
距离的变化。物理模型是由部件、铰接约束、力、接触关系等要素组成的具有一定构型的
系统。约束是指对多体系统中部件之间相对运动所进行的限制,包括运动学约束和驱动约
束;铰接即运动副 Joint,是指部件之间的运动学约束;多体系统中的力包括部件间的相互
作用内力和多体系统外的物体施加在系统部件上的外力载荷。
数学模型是指物理模型通过数学建模,组装运动方程组中的系数矩阵而形成的用于数
值求解的分析模型。包括静力学模型、运动学/动力学模型等,是相应条件下多体系统力学
模型的数学描述。静平衡是在与时间无关的力作用下系统的平衡,静平衡分析用于确定系
统的静平衡位置;运动学/动力学分析用于确定多体系统中部件的响应,包括位置、速度、
加速度及运动过程的约束反力、接触碰撞力。
连体坐标系是指固定在刚体上并随其运动的坐标系,用于确定刚体的运动,刚体上任
一质点的位置都可以通过连体坐标系的不变矢量来确定。
广义坐标是指唯一确定多体系统中所有部件位置和方位的一组变量,对于运动系统而
言,广义坐标是时变量。
系统自由度是指确定系统的位置所需要的最小的广义坐标数。
2.2 广义递归算法
J. Wittenburg 将约束机械系统在笛卡儿坐标系下的运动方程通过速度变换法转化到相
第2章 RecurDyn 基本算法 5
对坐标系,从而得到更紧凑的方程。但这些方程不能显式地表达相对运动的递归特性,仍
然不具备高效的运算效率。Hooker 在进行树形拓扑结构的卫星动力学分析时提出了递归计
算方法,其计算成本随构件的数量而线性增加。Featherstone 应用螺旋理论提出了机器人手
臂加速度的递归算法。这些方法被 D. S. Bae 和 Edward J. Haug 广泛应用于约束机械系统的
变量微积分运算。
约束机械系统可表示为代数微分方程(DAE)。求解 DAE 方程有多种向后差分法(BDF)
可供选择,尤其是参数化方法可将 DAE 方程表示为关于系统多个运动约束的常微分方程
(ODE),该方法的稳定性、收敛性等数值稳健性已得到证实。Lin, T. C.和 Yae, K. H.在运
动方程线性时通过递归方法获得雅克比矩阵,应用状态矢量,直接得到运动方程各项的递
归算法。Ming-Gong Lee 和 Edward J. Haug 采用类似的方法进行相对坐标的隐式 BDF 积分,
由于逐项推导递归算法,结果方程和运算将变得异常复杂。为了避免这种情况的发生,可
采用速度变换法将运动方程转变为紧凑矩阵,仔细分析约束铰空间运动方程的算法结构,
将所有能够在同一递归方式下进行的计算操作分类,而后逐类开发广义递归算法并应用于
各种计算中。在运动方程中可观测到逐项推导中不易观察到的公共因素,而且矩阵形式的
方程更易于调试及理解,其计算过程更有效率。RecurDyn 程序通过开发广义递归算法库,
采用 BDF 方法和相对坐标进行动力学分析。
2.2.1 相对运动学坐标
1.坐标系统
刚体在空间中的一般运动,是以刚体中某一点 O 为原点建立刚体的连体坐标系,刚体
中的任意点 P 相对于 O 点进行数学描述。如图 2-1 所示,刚体的姿态可表示为:
a11a12 a13
A= a21a22 a23 = f g h (2-1)
a31a32 a33
其中 f、g 和 h 分别是沿 x' 、y' 、z' 轴的单位矢量。该 x' - y' - z' 是刚体连体坐标系,X - Y - Z
是惯性参考坐标系。
P
Z s' y'
rp x'
r z'
O
Y
X
图 2-1 坐标系和刚体
定义 X - Y - Z 坐标系下 O 点的速度和虚位移分别为:
6 RecurDyn 多体系统优化仿真技术
.
r (2-2(a))
w
δr
δπ (2-2(b))
在 x' - y' - z' 坐标系中其对应量被定义为
r' AT r
Y ' T (2-3(a))
w A w
δr ' AT δr
δZ ' T (2-3(b))
δπ A
2.相邻构件的相对运动
如图 2-2 所示,有一对相邻构件,设构件(i-1)是连接构件(i)的前一个构件,且点
Oi 的位置表示为:
ri = r(i -1) + s(i -1)i + d (i -1)i si(i -1)
(2-4)
T
定义 A(i -1)i = A(i -1) Ai ,通过式(2-3(a))可得构件 i 在其自身参考坐标系中的角速度:
w'i = A(Ti -1)i w'(i -1) + A(Ti -1)i H (i -1)i q(i -1)i
(2-5)
其中 H ' 由旋转轴来确定。
图 2-2 两个相邻构件的运动学关系
对式(2-4)求导,通过式(2-3(a))可得:
Ai ri = A(i -1) r(i -1) A(i -1) s(i -1)i(i -1)
A(i -1) d(i -1)i(i -1) + Ai si(i -1)i (2-6)
+ A(i -1)(d(i -1)i)q (i -1)i q(i -1)i
其中带波浪符号的变量表示由矢量叉积中矢量元素组成的斜对称矩阵,q(i -1)i 表示相对
坐标矢量。将式(2-5)中 i 代入,并在式(2-6)两边同乘上 AiT ,
第2章 RecurDyn 基本算法 7
2.2.2 速度递归算法
图 2-3 串联机构
m
Ym = B(- k + m )(- k + m -1)1Y0
k =1
m -1 m - j
B(- k + m )(- k + m -1)1 B( j -1) j 2 q( j -1) j (2-12)
k =1
j -1
B( m -1) m 2 q( m -1) m
因此,可以得到所有构件在笛卡儿坐标系下的速度 Y 为
Y = Bq (2-13)
其中,B 是 q(i 1)i 的系数集合矩阵,且
T
Y Y0T,Y1T,Y2T,...,YnT (2-14)
nc1
T
q Y0T,q01
T T
,q12,...,q(Tn -1) n (2-15)
nr1
其中 nc 和 nr 分别表示笛卡儿坐标和相对坐标的数量。
给定 q R nr ,用递归数值替代 Yi,可以通过式(2-13)或在式(2-8)中来估算笛卡儿
速度 Y R nc 。由于二者获得的结论一致,且研究表明递归数值替代法的效率更高,因此对
给定的 q 可以采用式(2-8)的相乘矩阵 Bq 进行计算。
由于式(2-13)中的 q 是 R nr 里的一个任意矢量,因此对于在计算上等效的式(2-8)
和式(2-13)而言,给定任意 x R nr 都有:
X = Bx (2-16)
且
X i = B(i -1)i1 X (i -1) + B(i -1)i 2 x(i -1)i (2-17)
其中 X R nc 是 B 和 x 相乘得到的。用式(2.17)进行迭代将 X R nr 转化为 Bx R nc ,
有更高的计算效率。
2.2.3 力递归算法
n -1
δW = δqiT(i +1) Qi*(i +1) (2-20)
i =0
n 1
δW δqiT(i +1) BiT(i +1)2 Qi +1 + Si +1 (2-21)
i 0
其中:
S0 = 0
(2-22)
Si +1 B(Ti +1)(i +2)1 Qi +2 + Si +2
令式(2-20)和式(2-21)的右侧相等,得到 Q* 的递归算法为:
Qi*(i +1) BiT(i +1)2 Qi +1 + Si +1 , i = n 1,
....,
0 (2-23)
其中 Si 1 由式(2-22)确定。
由于 Q 是 R nc 中的一个任意矢量,式(2-22)和式(2-23)对于 R nc 中的任何矢量 G
都适用。因此,为获得更高的计算效率, B T G 可通过下列各式进行计算:
gi (i +1) = BiT(i +1)2 Gi +1 + Si +1
Sn = 0 (2-24)
Si B T
i ( i +1)1 Qi +1 + Si +1 i = n 1,,
... 0
其中 g 是 B T G 的计算结果。
2.2.4 机械系统的图形表示法
通常,机械系统有不同的拓扑结构,为了处理这种问题,需要一个采用相对坐标方法
的通用性自动前处理,该前处理需要识别出约束机械系统的拓扑结构并具有较高的效率。
J. Wittenburg、D. S. Bae 和 Edward J. Haug 提出了用图形来描述机械系统构件和铰的理论,
用节点和连线表示构件和铰接。基于图论的前处理产生自动决定执行顺序的通路矩阵和距
离矩阵。如图 2-4 和图 2-5 所示分别为调速机构及其图形表示。
2.2.5 运动方程和DAE的解法
约束机构的牛顿—欧拉运动方程的变分形式为:
Z T MY + ΦZT λ Q = 0 (2-25)
10 RecurDyn 多体系统优化仿真技术
其中 Z 必须适用于切断铰以外的所有铰。在方程式中, 和 λ 分别表示切断铰约束及
相应的拉格朗日乘子。质量矩阵 M 和力矢量 Q 定义为:
M diag M1,M 2,...,M nbd (2-26)
mi I 0
Mi (2-27)
0 J i
Q Q1T,Q2T,Q3T,...,Qnbd
T
(2-28)
f mω r
Qi = (2-29)
n ω J ω
其中 nbd 表示机构的编号,I 表示单位矩阵, J 表示转动惯量, f 表示外力,而 n 表
示外力矩。将虚位移的关系代入到式(2-25),得:
q T B T MY + Φ T λ Q Z 0 (2-30)
由于 q 是任意的,因此得到以下方程:
F = B T MY + ΦZT λ Q 0 (2-31)
由运动方程,约束方程、 q = v 和 v = a 组成以下代数微分方程:
F q,v,a,λ,t
Φ q,t
Φ q,v,t
0 (2-32)
Φ q,v,a,t
q v
v a
采用 Jeng Yen、Edward J. Haug 和 Florian A. Potra 的文献 Numerical Method for
Constrained Equations of Motion in Mechanical Systems Dynamics 中的切空间法得到如下非
线性系统,该非线性系统必须在每个时间步长上求解。
F qn,vn,an,λn,tn
Φ qn,tn
Φ qn,vn,tn
H pn 0 (2-33)
Φ qn,vn,an,tn
U T q v β
0 n 0 n 1
U 0 v n 0 a n β2
T
T
其中 pn qnT,vnT,anT,nT,
, 0 、 1 和 2 由 BDF 的系数决定,而 U 0 是一个
U T
nr nr ncut 阶矩阵,则其增广矩阵 0 是非奇异矩阵。
Φq
在式(2-33)中应用牛顿法解非线性系统得:
第2章 RecurDyn 基本算法 11
H p Δp = - H (2-34)
i +1 i
p n p p,
n i 1,
2,3,
... (2-35)
其中
Fq Fv Fa Fλ
Φq 0 0 0
Φq Φv 0 0
(2-36)
Hp =
Φ Φ
Φ 0
q v a
U T β U T 0 0
0 0 0
0 U 0T β0U 0T 0
由于 F 和 是关于 q、v、a 和 的高度非线性的函数,因此在推导 H p 中的非零表达
式时必须非常小心。
2.2.6 广义的递归算法
、
对残留项 H 和雅克比矩阵 H p 进行分析,不难发现递归算法可以分为 Bx 、B T G 、Bx
Bx q 、 B TG q 、 Bx
、 Bx
q
,其中 x R nr 到 G R nc 是任意常矢量,而 q 是相对坐标。
v
Bx 和 B T G 的公式在前面已推导过,后面推导其他类型的公式。由于采用局部参考坐标系
下的相对运动学来替代全局坐标系,所以这些递归算法都很简单。
为了系统地推导公式,将用图形描述的构件拆分为 4 个不相交的部分(与广义笛卡儿
坐标 qk 有关)。
I qk ={广义坐标为 qk 的节点外构件}
II qk ={ I qk 的所有外侧的构件}
III qk ={ 基体构件和 I qk 的内构件之间的所有构件,包括基体构件和 I qk 的内
构件}
IV qk ={ I qk II qk III qk 的补集}
例如,图 2-5 中的机构关于 q24 (构件 2 和 4 之间的相对坐标)的划分情况如下。
I q24 ={构件 4}
II q24 ={构件 6 和 7}
III q24 ={构件 1 和 2}
IV q24 ={构件 3,5 和 8}
1.递归算法 X = Bx
对式(2-17)求导,很容易得到 Bx R nc 的递归算法:
X i = B(i -1)i1 X i -1 + B(i -1)i1 X i -1 + B(i -1)i 2 X(i -1)i
(2-37)
在已知相对速度和加速度的情况下,这种递归算法可以用来计算笛卡儿加速度 Y 。
12 RecurDyn 多体系统优化仿真技术
2.递归算法 X q = Bx q
由于矩阵 B(i -1)i1 和 B(i -1)i 2 仅取决于铰(i-1)i 的相对坐标,除关于 q(i -1)i1 的偏导数之外,其
他项对广义坐标的偏导数均为零。换言之,如果 qk 不属于 I qk ,则其偏微分为零。因此,
如果构件 i 是包含在 II qk 中,则式(2-38)可改写为
X i q = B(i -1)i1 X i -1 q
k
(2-39)
k
(Y1)q24
=0
(B121)q24=0
(B122)q24=0
(Y2)q24
=0
(B241)q24, (B231)q24=0
(B242)q24 (B232)q24=0
(B281)q24=0 (Y3)q24
(Y4)q24
(B282)q24=0 =0
=(B241)q24Y2
+(B242)q24 q24 (B351)q24=0
(Y8)q24 (B352)q24=0
(B461)q24=0 =0
(Y5)q24
(B462)q24=0
=0
(Y6)q24
=B461(Y4)q24
(B671)q24=0
(B672)q24=0
(Y7)q24
=B671(Y6)q24
T
3.递归算法 gq = B G q
B G
T
q
的递归算法是通过式(2-24)的递归算法获得的。通过将 i 替换为(i-1),式
(2-24)可以写成
g(i -1)i = B(Ti -1)i 2 Gi + Si
(2-42)
Si -1 = B(Ti -1)i1 Gi + Si
对式(2-42)求关于 qk 的偏导数得
g ( i -1) i q
k
= B(Ti -1)i 2 qk
Gi + Si + B(Ti -1)i 2 Gi + Si q k
(2-43)
Si -1 q k
= B T
( i -1) i1 q
k
Gi + Si + B T
( i -1) i1 G + S
i i qk
由于用图形树描述的末端构件 Si q 0 ,当 i II qk IV qk 时,由式(2-44)的
k
g ( i -1) i q
k
=0 (2-45)
如果 i I qk ,则构件(i+1)属于 II qk ,且 Si q 0 。因此,式(2-43)可写成:
k
g ( i -1) i q
k
= B T
( i -1) i 2 q
k
Si
(2-46)
Si -1 q k
= B(Ti -1)i1 qk
Si
在图 2-5 中,如果 qk q24 ,则 B G 的计算流程如图 2-7 所示。 T
q24
4.递归算法 X q = Bx
和X
q
= Bx
v
v
为获得 Bx
和 Bx
的递归算法,将式(2-37)对 q 和 v 求偏导数,其中 k=1,…,
k k
q v
nr。
X
i q = B (i -1)i1 Xi -1 + B(i -1)i1 X i -1
k qk qk
(2-47)
+ B (i -1)i1 X i -1 q + B(i -1)i1 X i -1 + B (i -1)i 2 X (i -1)i
k qk qk
X i = B (i -1)i1 X i -1 + B (i -1)i1 X i -1 v
vk vk k
(2-48)
+ B(i -1)i 2 X i -1 + B (i -1)i 2 X (i -1)i
vk vk
14 RecurDyn 多体系统优化仿真技术
(g12)q24=(B122)(S2)q24
(S12)q24=(B121)(S2)q24
(g24)q24=(B242)q24S4 (g23)q24=0
(S2)q24=(B241)q24S4 (S2)q24=0
4
(g28)q24=0 3
(g46)q24=0 (S2)q24=0
(g35)q24=0
(S4)q24=0
(S3)q24=0
8
6
5
(g67)q24=0
(S6)q24=0
5.递归算法表
表 2-1 递归算法表
递 归 公 式 i I qk i II qk
X i q = B(i -1)i1 Xi -1
k qk
g = B(i -1)i 2 Si g
T
( i -1) i q qk ( i -1) i q =0
k
X q = Bx q
k
S = B(i -1)i1 S i Si -1 q
T
( i -1) q
=0
qk k
gq = ( B T G ) q k
X = B (i -1)i1 Xi -1 X = B (i -1)i1 X i -1 q
X q = B x
i q
i q k k
qk
+ B(i -1)i1 X i -1
k
q
X v = Bx
+ B(i -1)i1 X i -1 qk
qk
v
+ B (i -1)i 2 X ( i -1) i X i vk
= B ( i -1)i1 X i -1 v
k
qk
+ B(i -1) i 2 X i -1
X
i v = B ( i -1)i1 Xi -1 vk
k vk
+ B (i -1) i 2 X (i -1) i
vk
第2章 RecurDyn 基本算法 15
续表
递 归 公 式 i III qk i IV qk
X i qk =0 X i q k
=0
X q = Bx q
T
g ( i -1) i q
k
= B(Ti -1) i 2 ( Si )qk g ( i -1) i q
k
=0
gq = ( B G )q
Si -1 q = B(Ti -1)i1 ( Si )qk Si -1 q =0
X q = Bx
k k
q
X =0 X =0
X v = Bx
i q i q
k k
v
X i v k
=0 X i v
k
=0
递 归 公 式 i I qk 或 i II qk 或 i III qk 或 i IV qk
X i = B( i -1) i1 X i -1 + B( i -1) i 2 X ( i -1) i
2.2.7 广义递归算法的应用
下面介绍如何利用广义递归算法库来计算式(2-33)和式(2-36)中的 H 和 H p 项。
通过分析 H 和 H p ,可知需要对残余项 F 及 Fq 、 Fv 、 Fa 、 Φq 、 Φ q 、 Φ
的偏导数重新进
q
行计算。为简化起见,在此仅讨论 F 和 Fq ,其余各项可采用相同方法进行。
1.残余项F的计算
2.雅克比矩阵 Fq 的计算
Fqk = BqTk MY + ΦZT λ Q + B T MY + ΦZT λ Q qk
, k = 1, ... nr
2,, (2-49)
由于 ΦZT λ Q 很容易在笛卡儿坐标系下表达,因此通过链式法即可得到 ΦZT λ Q qk
的以下形式
Φ
T
Z λQ qk
= ΦZT λ Q Z
Bk (2-50)
16 RecurDyn 多体系统优化仿真技术
Z
上式推导中用到了 B ,其中 Bk 表示矩阵 Β 的第 k 列。则 Fqk 变成
q
Fqk = BqTk MY + ΦZT λ Q + B T MYqk + ΦZT λ Q z
Bk , k = 1, ... nr (2-51)
2,,
已知 G = MY + ΦZT λ Q ,通过递归方程 BqTk G 可以得到式(2-51)中的第一项。将所
有 k 值对应的 ΦZT λ Q Bk 合并构成 ΦZT λ Q
z
z
B ,该合并项与 B T ((ΦZT λ QZ )T )T 等价。
矩阵 (ΦZT λ Q )TZ 由 nc 个 R nc 中的列矢量组成。因此,通过 BqTk G 可以得到 B T (ΦZT λ Q )TZ 的
数值解,其中 G 是矩阵 (ΦZT λ Q )TZ 的各列矢量。最终,式(2-51)中的第二项也可以通过 B T G
得到,其中 G = MY + ΦZT λ Q Bk 。 z
2.3 隐式数值积分的解耦算法
2.3.1 代数微分方程的隐式数值积分
约束机械系统的运动方程可隐式地描述为:
第2章 RecurDyn 基本算法 17
v q = 0 (2-52(a))
F ( q, v , a , λ ) = 0 (2-52(b))
Φ(q ) = 0 (2-52(c))
其中 q 为欧氏空间 Rn 的广义坐标矢量,λ 为 Rn 中的拉格朗日乘子约束矢量,Φ 为 Rn
中的位置约束矢量,其对应的雅克比矩阵表示为 Φq( Φq R mn ),矩阵 Φq 假定为行满秩
矩阵。对式(2-52(c))进行连续求导,得到速度和加速度约束方程为:
Φ (q, v ) = Φq v υ = 0 (2-53(a))
Φ (q, v , a ) = Φq a γ = 0 (2-53(b))
式(2-52)和式(2-53)组成超定代数微分方程组(ODAE)。J. Yen 的文献《Constrained
Equations of Motion in Multibody Dynamics as ODE's on Manifolds》给出了基于 BDF 求解
ODAE 的具体算法,具体表达式如下:
F ( x ) F (q, v , a , λ)
Φ Φq a γ
Φ Φq v υ
Φ Φ(q )
H ( x) 0 (2-54)
T h T h
U1 R1 U1 a v ξ1
b0 b0
T h T h
U1 R1 U1 b v q ξ 2
b0 0
k k
1 1
上式中 1
b0
bi vn 1 , 2 bi qn 1 ,k 为积分的阶次,bi 为 BDF 公式的相应系数。
b i
1
i 0 1
x λ q ,ui R
T
a T
v T T n ( n m )
(i=1,2)的各列矢量为位置和速度约束参数空间的基。
Φ
引入 ui 的主要目的是使矩阵 Tq 存在逆矩阵,因此,由 ui 的列所形成的参数空间与 ΦqT 的
ui
列所形成的子空间组成了完整的 n 维空间。
式(2-54)中方程的个数与未知数的个数相等,可以利用牛顿法对 x 进行求解。
H xi Δx i = H i (2-55(a))
x i +1 = x i + Δx i (2-55(b))
i
当 h 趋近于零时,对 H x 的 LU 分解不仅会增加计算时间,同时会分解出病态矩阵。为
了消除这些问题,在后面的内容中,式(2-55(a))将被分为若干分块矩阵,对 Δq 、Δv 、
Δa 、 Δλ 分别进行求解。
2.3.2 隐式数值积分的解耦算法
方程(2-55(a))可改写为:
18 RecurDyn 多体系统优化仿真技术
Fq Δq + Fv Δv + Fa Δa + Fλ Δλ + F ( x ) = 0 (2-56(a))
Δv + Φ
Φq Δa + Φ Δq + Φ
( x ) = 0 (2-56(b))
v q
Φq Δq + Φ( x ) = 0 (2-56(c))
Φq Δv Φ q Δq Φ ( x ) 0 (2-56(d))
U1T h' Δa Δv h' R1 ( x ) 0 (2-56(e))
U 2T h Δv Δq h R ( x ) 0
' '
2 (2-56(f))
h
其中 h' ,通过选择矩阵 u1 ,使其满足 U1T Fa-1ΦqT 0 ,式(2-56(e))可等
b0
效为:
h' Δa Δv h' R i ( x ) h' U1T Fa-1ΦqT τ1 0 (2-57)
上式中, Fa 为质量矩阵,该矩阵一般为非奇异矩阵。如果 Fa 中元素用参数方程描述,
Fa 方程为奇异矩阵。如果 Fa 为奇异矩阵,通过方程组(2.56)可同时求得 Δq 、 Δv 、 Δa 、
Δλ 的值。矢量 τ1 R m 是新未知变量,由式(2.57)知 Δa 可以用 Δv 表示为:
1
Δa ' Δv R1 ( x ) Fa-1ΦqT τ1 (2-58)
h
将式(2-58)代入式(2-56(a))得
F
Fq Δq Fv a' Δv Φq Δλ τ1 F ( x ) Fa R1 x
T
(2-59)
h
1
T Fa
通过选择 U 2 ,使 U 2 Fv ' Φq 0 ,式(2.56(f))可等效为:
T
h
-1
F
h' Δv Δq h' R 2 ( x ) h' Fv 'a ΦqT τ 2 0 (2-60)
h
Fa F
其中矩阵 Fv
'
假定为非奇异矩阵, τ 2 R m 为新的未知变量。 Fv a' 为奇异矩阵
h h
的情况将在后面进行说明。通过式(2-60), Δv 可通过 Δq 表示为:
1
1 F
Δv '
Δq R 2 ( x ) Fv a' ΦqT τ 2 (2-61)
h h
将式(2-61)代入式(2-59),并且在式(2-59)两边同时乘上 h'2 ,可得:
k * Δq + h' 2ΦqT β = R 3 (2-62)
其中:
k * h' 2 Fq + h' Fv + Fa (2-63(a))
β Δλ τ 1 τ 2 (2-63(b))
'2 '
R 3 h F ( x ) + h Fa R1 ( x ) + h h Fv + Fa R 2 ( x )
' '
(2-63(c))
第2章 RecurDyn 基本算法 19
将式(2-62)与式(2-56(c))联立可得
k* ΦqT Δq R 3
= (2-64)
Φq 0 h' 2 β Φ( x )
通过式(2-64)可求得 Δq 和 β 。注意到式(2-64)中 β 前面有一个乘子 h'2 ,该乘子
可以避免式(2-64)中出现病态条件系数矩阵,甚至当 h 趋于零时,式(2-64)中也不会
出现病态条件系数矩阵。
Fa
式(2-60)两边同时乘以 Fv ,可得
h'
Fa 1 Fa
Δq R 2 ( x )
T
Fv + ' Δv + Φq τ 2 = ' Fv + ' (2-65)
h h h
将式(2-65)和式(2-56(d))联立可得
Fa 1 F
Fv + h ' ΦqT Δv ' Fv + a' Δq R 2 ( x )
h
τ 2
h (2-66)
Φq 0 Φ ( x ) Φq Δq
阵出现病态情况,通过式(2-56)必定可以同时求得 Δq 、 Δv 、 Δa 、 Δλ 。然而,由于矩
阵 Fa 和 Fa h' Fv 很少为奇异矩阵,因此 Δq 、 Δv 、 Δa 、 Δλ 的求解常常通过式(2-64)、
式(2-66)、式(2-68)和式(2-69)获得。
2.3.3 数值算法
读入初始条件
由方程(2-52(b))和(2-53(b))计算初始加速度和拉格朗日乘子
t=t+h
预测 q、v、a、
N Y
Fa
Fv + 或 Fa 奇异?
h'
计算方程(2-64)中的 Δq 和 β 计算方程(2-56)中的
Δq、Δv、Δa 和 Δ
计算方程(2-66)中的 Δv 和 τ2
计算方程(2-68)中的 Δa 和 τ1
计算方程(2-69)中的 Δ
修正 q、v、a、
N
收敛?
Y
N
t>tout?
Y
结束
2.4 采用虚拟构件和铰的柔性多体动力学
空间刚体的位形可用惯性参考坐标系中的广义位置和姿态坐标来表示。相对于刚体动
力学分析软件,柔性体动力学算法程序更为复杂,这是因为柔性体动力学算法要处理附加
的广义坐标。柔性体动力学的建模过程中最繁琐的便是一系列的铰和力建模,当刚体动力
学中开发新的力或铰模块时,柔性体动力学中必须重新处理相应的模块。为了避免这种重
复,引入了虚拟构件和铰。
第2章 RecurDyn 基本算法 21
Shabana 提出了多体系统坐标缩减的方法,柔性体的局部变形用节点坐标表示,进而
跨至一组模态振型表示。Yoo 和 Haug 通过在节点(动态分析的大载荷位置)上施加单位载
荷或单位位移而获得的一组静态修正模态来考虑这个变形。Mani 通过柔性体上空间分布的
惯量和铰约束力产生的里茨矢量考虑局部变形。Gartia 和 Jalon 等提出多刚体动力学的完全
笛卡儿坐标算法,Vukasovic 等把该算法扩展至柔性体动力学,通过将运动方程和约束方程
中所有必要矢量定义为广义坐标,减小姿态转换矩阵相关的非线性。
近年来,相继出现了一些关于大变形柔性体系统的动力学算法。Simo 基于惯性参考系,
提出了柔性梁的运动方程算法。由于梁上一点的位移可以直接由惯性坐标系测量,所以这
些惯性项是线性非耦合的,而与惯性项相关的应变能却是非线性的。Yoo 和 Ryan 针对转动
梁提出了惯性和浮动参考系的混合算法,轴向形变由转动梁的变形状态测量,而其他形变
由非变形状态测量。Shabana 提出了非增量绝对坐标算法,将全局位置坐标和斜率定义为广
义坐标,由于有限转动坐标不被作为广义坐标,从而解决了与有限转动相关的困难。
下面介绍一种在笛卡儿直角坐标系下的刚柔多体动力学的求解方法。通过引进虚拟构
件和虚拟铰概念,使柔性构件不受除虚拟柔性体铰之外的所有运动条件限制,减少了附加
的柔性体编程工作。采用稀疏求解算法,计算量适中,但大大提高了计算的便利性。
2.4.1 相邻柔性体的运动学
1.坐标系和虚拟构件
2.两个刚体间的铰约束
通过在两相邻刚体的矢量上施加平行或正交强制条件表示铰。刚体铰接库已经很完善,
多铰系统的建立非常容易。定义两个铰参考系中或铰参考系间的几何矢量来表示这些强制
条件。通常铰参考坐标系与刚体坐标系不一致,虚拟构件的构件参考体坐标系可作为铰参
考坐标系,因而简化了连接虚拟构件的铰运动容许条件,减少了整个雅可比矩阵的非零数。
22 RecurDyn 多体系统优化仿真技术
图 2-9 两个相邻柔性体
3.柔性构件和虚拟构件间的柔性体铰约束
图 2-11 中的虚拟构件坐标系的原点位置可表示为:
r i+1 = R i + Ai ui = R i + Ai u0i + uif (2-70)
i i
其中,u0 和 u f 分别是刚体上一点相对刚体参考坐标系的未变形矢量和变形矢量;Ai 是
刚体参考坐标系的姿态矩阵;节点位置的变形矢量 uif 可表示为一组振型的线性组合:
uif = ΦRi pif (2-71)
i
其中 ΦR 是模态矩阵,该矩阵的列由平动模态振型组成; pif 是一个模态坐标矢量。
第2章 RecurDyn 基本算法 23
图 2-11 柔性体和虚拟构件间的柔性铰约束
虚拟构件 i 1 的姿态可由以下方法得到:
Ai 1 Ai Aif Ai ,i 1 (2-72)
i i ,i 1
其中, A 是由转动变形而引起的相对姿态矩阵; A
f 是未变形状态柔性体 i 的参考坐
标系和虚拟构件 i 1 间的姿态矩阵。如果采用布里恩角(1-2-3),那么 Aif 可表示为:
cos iy cos zi cos iy sin zi sin iy
i
Aif cos xi sin zi sin xi sin yi cos zi cos xi cos zi sin xi sin yi sin zi sin x cos y (2-73)
i
cos xi cos yi
sin x sin z cos x sin y cos z sin xi sin zi cos xi sin yi sin zi
i i i i i
T
如果 ε i xi
yi zi 无穷小,那么 Aif 可以近似表示为:
1 zi iy
Aif zi 1 xi (2-74)
yi xi 1
旋转的变形矢量 ε i 可以用构件 i 的转动振型的线性组合表示:
ε i Φi pif (2-75)
i
其中, Φ 是模态矩阵,该矩阵的列由转动模态振型组成; pif 是模态坐标矢量。
最后,联立方程(2-70)、方程(2-72),可得到柔性体坐标系和虚拟构件坐标系间
的运动约束如下:
C Ri r i 1 Ri Ai u0i u if 0 (2-76)
f T Ai Ai 1 g f T Ai Ai ,i 1 g
T
f
C g A A h g A f Ai ,i 1h 0
T
i T i i 1 T i
(2-77)
f T Ai Ai1h f T Aif Ai ,i 1h
T
其中,
24 RecurDyn 多体系统优化仿真技术
1 0 0
f g h 0 1 0 (2-78)
0 0 1
在推导姿态约束中用到了正交条件。然而,在此为简化采用了方程(2-77)中的 Ci 。
方程(2-76)和(2-77)可用于描述柔性体 i 和虚拟构件 i 1 间的柔性铰。对方程(2-76)
和(2-77)进行变形得到:
(C Ri )q
Cq i
flex
i
δq i q 0
C q
(2-79)
其中
T T
q i δR i r i 1 πi 1
T T T T
δπ i pif (2-80)
雅可比约束矩阵 C qi flex
可由以下方法得到:
C
i
R q I Bi Ai ΦRi I 0
, k g, h (2-82)
Bkf skew A k i ,i 1
Bki 1 Ai Ai 1skew k
T
矢量 skew u i , skew Ai 1k , skew Ai ,i 1k 分别是矢量 u i , Ai 1k 和 k 的斜对称矢量矩
阵,方程(2-76)和(2-77)对时间求两次导数,可得到加速度约束方程。
C
i
q flex q q Q
qi Cqi
flex
i
q
i i
c flex
A skew u ω ω 2 A skew Φ p ω
i i i i i
R f
(2-83)
f T H 1g 2 f T H g2 f T H g3 f T H g4
g T H h1 2 g T H h2 g T H h3 g T H h4
f T H h1 2 f T H h2 f T H h3 f T H n4
其中, ω 是相对基准参考坐标系的角速度,广义速度矢量 q 为
T
q i R
iT ωi 1
T T T
ωi p if T ri 1 (2-84)
以及
第2章 RecurDyn 基本算法 25
T
H k1 skew ωi skew ωi Ai Ai+1k
skew ω A A skew k skew ω
iT
H k2 i i+1 i+1
, k g, h (2-85)
H k3 A A skew ω skew ω k
iT i+1 i+1
i+1
H k4 skew Φ p A A k Φ p
i i i i,i+1 i i
θ f f
θ f
2.4.2 运动方程
如图 2-12(a)所示是一个含柔性构件的曲柄滑块机构,如图 2-12(b)所示为虚拟构
件的等效机构。应用 A. A. Shabana 的 Dynamics of Multibody Systems 中运动方程的一般形
式,可得到该机构的增广运动方程:
M CqT q Qe Qv Qs
(2-86)
Cq 0 λ Qc
其中, M 是系统的质量矩阵,矢量 q 包括了刚体和柔性体的平移加速度、角加速度和
柔性体的模态加速度。
(a)两个刚体和一个柔性体
(b)两个刚体、一个柔性体和两个虚拟构件
图 2-12 含柔性体的曲柄滑块机构
矢量 λ 是拉格朗日乘子, Qs 、 Qv 、 Qc 分别是应变能、力引起的速度、外力,矢量 Qc
包括了速度的平方项。
1.常规增广算法的系数矩阵
如图 2-12(a)所示系统的质量矩阵为:
26 RecurDyn 多体系统优化仿真技术
0 M 1f
M M 2
r (2-87)
M r3 0
其中 M f 和 M r 分别为柔性构件和刚性构件的质量矩阵,表示为:
mrr symmetric
M m r
1
f m
m fr m f m ff
6 nf 6 nf (2-88)
m k 0
M rk rr k
, k 2,3
0 m 66
其中, nf 为模态坐标的个数,柔性曲柄的曲柄滑块机构的雅可比约束矩阵 C q 为:
c
C 01
q flex, c
C 12
q
flex,c
C (2-89)
C
q c 23
q joint
C 30
q
joint
其中, C q 是柔性铰的雅可比约束矩阵。
flex,c
2.虚拟构件增广算法的系数矩阵
如图 2-12(b)所示系统的质量矩阵为
M v1
2
Mf 0
M M v3 (2-90)
4
0 Mr
5
Mr
其中,虚拟构件的质量矩阵 M v 、柔性构件的质量矩阵 M f 、刚性构件的质量矩阵 M r 分
别为:
M v 066 , k 1,3
mrr symmetric
M m r
2
f m (2-91)
m fr m f m ff
6 nf 6 nf
m k 0
M rk rr k
, k 4,5
0 m 66
带有柔性曲柄的曲柄滑块机构的雅可比约束矩阵 C q 为
p
第2章 RecurDyn 基本算法 27
C 01
q joint
C12
q flex, p
C23
q flex, p
C (2-92)
C
q p
34
q
joint
C 45
q
joint
C 50
q
joint
其中, C q 是柔性铰的雅可比约束矩阵。如方程(2-92)所示,通过引进虚拟构
flex, p
件,雅可比约束矩阵可明确地分为柔性铰和刚性铰模块。
3.非奇异增广质量矩阵
如果雅可比约束 Cq 是行满秩矩阵,那么方程(2-86)的系数矩阵就是非奇异的。基于
同样的假设,下列方程只有平凡解,可证明方程(2-86)矩阵是非奇异的。
y 0 M N y1 CqT
N 3 (2-93)
C y 0 T
q V 3 (2-94)
C y C y 0 q N 1 q V 2 (2-95)
其中, M N 是非虚拟构件的质量矩阵, C 和 C q N q V 分别是非虚拟构件和虚拟构件的
雅可比约束矩阵。方程(2-93)左乘 y1T 和方程(2-94)左乘 y2T 后,再联立方程(2-95)对
其求和得到方程(2-96)。
y1T M N y1 y3T C q y1 Cq y2 y1T M N y1 0
N V
(2-96)
从方程(2-96)中得到 y1 0 。再从方程(2-93)和方程(2-94)中推导出:
CqT y3 0 (2-97)
既然矩阵 Cq 是行满秩的, y3 必定为零。把 y1 0 代入方程(2-95)得到:
C q V y2 0 (2-98)
因为矩阵 C q 的秩与 y2 相同,那么 y2 必定为零。既然 y1 0 , y2 0 , y3 0 是方程
V
(2-93)、(2-24)、(2-95)的唯一解,因而系数矩阵是非奇异的。
2.4.3 计算过程与讨论
1.数值算法
在图 2-13 描述了柔性多体动力学的程序结构。原有铰模块和力模块仅适用于刚体,通
过在铰库中增加一个柔性铰,可以处理由刚体和柔性体组成的系统。
28 RecurDyn 多体系统优化仿真技术
Start
位置分析 生成铰方程
速度分析
铰模块
T=T+STEPSIZE 力分析
刚体铰模块
加速度分析
柔性体铰
N
T=T_end ?
Y 刚体力模块
End
图 2-13 柔性多体动力学的程序结构
2.方法比较
一旦需要特殊类型的铰或力,就必须扩展铰和力模块。由于程序重用了刚体铰和力模
块,在刚体动力学代码中增加的必要模块仅仅是柔性体铰和柔性体运动方程,所以该方法
不仅易于实现而且便于维护,当需要扩展铰和力库时,避免了柔性体模块的额外耗费;但
该方法由于引入额外构件和铰会导致相应的计算量增加。
笛卡儿坐标算法数值试验研究表明,超过总计算时间 70%的消耗用在各种方程矩阵的高
斯消元上。方程(2-86)直接高斯消元大约需要正比于矩阵规模 3 次方的计算量。若采用非
零项结构,那么像 Harwell Library 这样的稀疏算法算术运算量仅随非零项的线性增加。稀疏
求解器使得注入元数量最小化,仅仅对非零项和注入元进行高斯消元,从而减少运算量。所
以,重要的是增加新的非零项而不扰乱结果矩阵总体非零结构,并且适合于极小化注入元数
量。方程(2-90)和(2-91)分别显示了非零结构。由于虚拟构件的质量和惯量矩为零,质
量矩阵中不增加非零项。方程(2-86)中的非零项总数如表 2-2 所示。注意到消除了过约束,
利用虚拟构件和铰参考系重合而减少了非零项数目。由于方程(2-86)中新增加的非零项
分散在原有的非零项周围,不干扰非零项的总体结构,因此可以采用与原始线性稀疏求解
器类似的稀疏高斯消元重排序列。曲柄滑块机构使用该稀疏解法的计算时间将缩减 50%。
表 2-2 曲柄滑块机构中的非零项
实 验 方 法 非零项的数目
常规的方法 122 10 n mod e
虚拟构件法 188 12 n mod e
*n mod e:模态的数目。
第2章 RecurDyn 基本算法 29
表 2-3 列出了常用铰(转动副、球铰和平动副)的非零项数量,从中可清楚地看出,
系统中的柔性体数量越少,计算时间就越短。然而,有很多铰和力单元的柔性体系统,由
于庞大的虚拟构件数,其计算时间将显著增加。
表 2-3 常用铰的非零项
铰 增加的非零项
转动副 33 n mod e n virtua lr
球铰 33 3 n mod e n virtua ls
平动副 33 n mod e n virtua lt
n virtua lr:由转动副连接的虚拟构件数量。
n virtua ls:由球铰连接的虚拟构件数量。
n virtua lt:由平动副连接的虚拟构件数量。
另一种考虑虚拟构件理念的方法是混合使用上述增广方法与传统计算方法。传统常规
方法用于常用铰和力单元(如旋转副、平动副及某点的作用力),虚拟构件法用于非常规
铰和力单元(如万向节、平面副)。该混合法顾及了计算成本和编程便利,如果已经开发
了一组基本铰和力模块,需要添加更多的柔性体模块时,这种混合法将非常有效。
2.5 柔性多体动力学的广义递归算法
在 Shabana 的柔性多体系统坐标缩减法中,柔性体的局部变形采用节点坐标和模态振
型表示。Vukasovic 和 Celigueta 将 Jalon 的多刚体动力学完全笛卡儿坐标算法扩展至柔性体
动力学领域,通过将运动方程和约束方程的必要矢量定义为广义坐标,减少姿态变换矩阵
相关的非线性。S. S. Kim 和 E. J. Haug 推导了柔性多体系统的变分方程,该变分技术从多
刚体系统拓展至柔性多体系统。Lai 和 Haug 采用扩展的运动图论开发出适用于柔性多体系
统动力分析的递归算法。Cardona 和 Geradin 研究了柔性体系统动力分析的子结构方法。
Nikravesh 在柔性系统动力学分析中采用了铰坐标和有限元法。Pereira 提出了获得空间柔
性多体系统最少数量运动方程的系统方法。
使用 BDF 法和相对广义坐标可将广义递归算法从多体动力学推广到柔性多体动力学
领域。当相对坐标表示的通用程序中增加新的力或者铰模块时,柔性体时分析不可重复使
用刚体计算模块。为减少庞大的负担,可在每个铰和力参考坐标系中引入虚拟刚性构件。
在虚拟构件和原构件参考坐标系间引入了一个柔性铰,用非常实用而结构紧凑的速度变化
法来推导铰空间的运动方程。将运动方程中变换矩阵的相关项分门别类,每类开发出相应
的递归算法。由于相对坐标表示的方程求解时间与相对坐标的数量近似成正比关系,故由
虚拟构件的虚拟铰引发的计算增加量很小,同时显著提高了程序的计算方便性。
30 RecurDyn 多体系统优化仿真技术
2.5.1 两相邻柔性体的相对坐标运动
1.坐标系和虚拟构件
图 2-14 两个相邻的柔性体
为了减小程序量,在此引入虚拟构件。在每个铰和力参考系,引入质量和转动惯量为
零的虚拟构件,通过虚拟铰将虚拟构件和柔性体连接起来。如图 2-15 所示,在两相邻柔性
体间引入 3 个虚拟构件,除表示柔性体参考系和虚拟构件参考系间的运动学容许条件的虚
拟铰外柔性体上没有其他铰和作用力,因而仅仅需要开发刚体的铰和力模块,在铰模块中
再增加一个柔性体铰。
2.柔性体铰的相对运动
图 2-16 柔性体和虚拟构件之间的柔性铰链
32 RecurDyn 多体系统优化仿真技术
局部坐标系的角速度为:
ωi =A(Ti-1)i ωi- 1 +A(Ti-1)i Φi-θ1q(fi-1)i (2-105)
T T T
在此根据 A ( i-1) i =A
( i-1) i Ai ,对方程(2-103)求导并乘以 A 得: i
3.刚性铰的相对运动
两刚体间的刚性铰速度递归关系可通过方程(2-103)~(2-107)类似推导步骤得出:
Yi =B(ri-1)i1Yi-1 +B(ri-1)i 2 q(ri-1)i (2-111)
其中,上标 r 是刚性铰的广义坐标。方程中
T
A -A(Ti-1)i ( s (i-1)i d (i-1)i -A(i-1)i s (i-1)i A(Ti-1) i )
B(ri-1)i1 = (i-1)i
0 A(Ti -1)i
(2-112)
T
A ((d ) +A s (i-1)i A(Ti-1)i H (i-1)i
B(ri-1)i 2 = (i-1)i (i-1)i q (i-1)i (i-1)i
AT H
(i-1) i ( i-1) i
其中, H (i -1)i 由转动轴确定。矩阵 B 仅仅是 q(ri-1)i 的函数。
第2章 RecurDyn 基本算法 33
4.机械系统的图形描述
通过节点和连线表示构件和铰,基于图形理论的前处理过程可获得确定计算顺序的通
路矩阵和距离矩阵。一般计算程序中需要两种顺序:一种是从起始端构件向终端构件的正
向顺序,另一种是从终端构件向起始端构件的反向顺序。
为系统地推导递归算法,将图中构件分成 4 个不相交部分(与广义坐标 qk 相关):
I(qk ) ={广义坐标为 qk 的铰外侧相邻构件}
II(qk )= { I(qk ) 的所有外侧构件,但不包括 I(qk ) 中所有构件}
III(qk )= {起始端构件和 I(qk ) 内侧构件间的所有构件,包括起始构件和内侧构件,但
不包括 I(qk ) 中所有构件}
IV(qk )= { I(qk ) II(qk ) III(qk ) 之外的所有构件}
图 2-17 所示系统的图形描述和计算顺序如图 2-18 所示。如果 qk 属于构件 3、4 之间的
铰链点,则图 2-18 所示系统的 4 个不相交部分为:
图 2-17 柔性曲柄滑块机构
Ground
:正向顺序 R1
:反向顺序 1
:柔性体 F1
Crank
:虚刚体 F5 2 F2
:刚体 R4 8 3 R2
F :柔性体铰
F6 9 4 F3
R :刚体铰
Coupler
F7 10 5
Coupler F4
R5 11
6
R3
12
7
CUT
CUT
Ground
Ground
图 2-18 图形表示和计算顺序
34 RecurDyn 多体系统优化仿真技术
I( q34 )={构件 4}
II( q34 )={构件 5、6、7}
III( q34 )={构件 1、2、3}
IV( q34 )={构件 8、9、10、11、12}
2.5.2 正向递归算法
1.速度递归算法
系统中所有构件的速度 Y 通过方程(2-107)、(2-109)和(2-113)重复递归替换获
得。依据铰的类型,沿图形中正向顺序,通过附加 q r =q f 进而得到:
Y Βzr Βzf q r
Y= f = =Bq (2-113)
q 0 Ι q f
其中, q r 和 q f 分别是系统的相对坐标矢量和模态坐标矢量。令 Y 、 q r 和 q f 的维数分
别为 nc 、 nr 和 nf ,在给定的 q R nr+nf 下,可由式(2-113)通过符号替换或(2-107)、
(2-109)和(2-111)的 Yi,s 数值递归替换来计算速度 Y R nc+nf 。两种方法虽然结果相同,
但数值递归替换法更加有效,可由式(2-107)、(2-109)和(2-111)计算给定 q 的矩阵
乘法 Bq 。因为式(2-113)中的 q 是一个 R nr+nf 任意矢量,所以式(2-107)、(2-109)、
(2-111)和(2-113)实际上适用于任何矢量 x R nr+nf :
X
X =Bx (2-114)
x
和
X = Bx + Bx (2-115)
其中,矢量 X R 是 B 和 x 的积,矩阵 B 取决于铰类型。Y R
nc+nf nc+nf
到 Bx R nc + nf
的变换实际上是应用式(2-115)进行递归计算,提高了效率。
2. ( X )q = ( Bx )q 的递归算法
对于 k =1...
, ,(nr + nf ),方程(2-115)求关于 qk 的偏微分,得到 (Bx ) q 的递归算法:
(X i ) qk =(B(i -1)i1 )qk X i -1 +B(i -1)i1 (X i -1 )qk +(B(i -1)i 2 )qk X (i -1) i (2-116)
因为矩阵 B 仅取决于铰 (i -1)i 的广义坐标,故对除 q(i -1)i 外的广义坐标偏导数都为零,
即如果 qk 不属于构件 I(qk ) ,偏导数为零。如果构件 i 是 II(qk ) 的一个元素,则式(2-116)
变为:
(X i )qk =B(i -1)i1 (X i -1 )qk (2-117)
如果构件 i 属于 III(qk ) IV(qk ) , X i 不受 qk 的影响。式(2-116)简化为:
(X i ) qk =0 (2-118)
当构件 i I(qk ) 时有两种递归算法:若构件 i 属于 I(qk ) ,则构件 i-1 自然是其内侧构件,
第2章 RecurDyn 基本算法 35
属于 III(qk ) ,则式(2-116)将简化为:
(X i )qk =(B(i -1)i1 )qk X i -1 +(B(i -1)i 2 )qk X (i -1)i (2-119)
如果构件 i 和 i-1 属于 I(qk ) ,式(2-116)的递归算法将简化为:
(X i )qk =(B(i -1)i1 )qk X i -1 +B(i -1)(
i1 X ( i -1))qk
+(B(i -1)i 2 ) X (i -1)i (2-120)
qk
(B011 )q34 =0
(B012 )q34 =0
(Y1 )q34
=0
(B121 )q34 =0
(B122 )q34 =0
(B891 )q34 =0 (Y8 )q34 (B281 )q34 =0 (Y2 )q34 (B231 )q34 =0 (Y3 )q34 (B341 )q34
(B892 )q34 =0 =0 (B282 )q34 =0 =0 (B232 )q34 =0 =0 (B342 )q34
(Y9 )q34
(Y3 )q34
=0
=(B341 ) q34 Y3
(B9102 )q34 =0
(B451 )q34 =0
(Y10 )q34
(B452 )q34 =0
=0
(Y5 )q34
(B10111 )q34 =0
=B451 (Y4 )q34
(B10112 )q34 =0
(Y7 )q34
=B671 (Y6 )q34
2.5.3 反向递归算法
1.力递归算法
多数情况下,需要将 R nc+nf 中的矢量 G 变换到 R nr+nf 中的新矢量 g =B T G 。这样的变换
可用于笛卡儿空间的已知力求解铰空间的广义力。 Q R nc+nf 的虚功为:
T Q c
W = Z Q Z T q fT f (2-121)
Q
其中,Z 是系统所有铰的运动容许;Q c 和 Q f 是分别为笛卡儿力和模态力。用虚位移
关系代入式(2-121)可得:
* *
W =q rT BzrT Q c +q fT (BzrT Q c +Q f )=q rT Q r +q fT Q f (2-122)
* *
其中, Q r =BzrT Q c , Q f =BzfT Q c +Q f 。式(2-122)可写成如下两项之和:
rT r* fT f*
W = Σ qi (i+1)Qi (i +1) +i (i +1)Σfjtsqi (i +1)Qi (i +1)
i ( i +1)rjts
(2-123)
如果 i+1 为终端构件,则
Si +1
lI(q
Σ
B(Ti +1)( i +2)1 Qic+2 +Si +2 (2-129)
( i +1)( i +2) )
g (i -1)i q
k
= G(i -1)i +
qk Σ
lI(q (i -1)i )
B G +S
T
(i -1)i 2 qk
c
i i
(2-130)
+ Σ
lI(q
B(Ti -1)i 2 Gic +Si qk
(i -1)i )
S
(i -1) q
k
= Σ
lI(q(i -1)i )
B G +S + Σ
T
(i -1)i1 qk
c
i i
lI(q(i -1)i )
B(Ti -1)i1 Gic +Si qk
(2-131)
Si -1 q k
= B(Ti -1)i Si q
k
(2-133)
lI(q (i -1)i )
对 于 终 端 构 件 , Si q =0 。 因 此 对 于 i II(qk) IV(qk ) , Si q =0 。 所 以 , 对 于
k k
g (i -1)i q
k
=
lI(q
B G +S
(i -1)i )
T
(i -1)i 2 qk
c
i i (2-135)
Si-1 qk B G +S
T c
(i -1)i1 i i (2-136)
lI(q(i -1)i ) qk
易计算。
2.5.4 求解控制方程
1.运动方程的隐式积分
通过速度变换法获得铰空间的约束机械系统动力学运动方程:
38 RecurDyn 多体系统优化仿真技术
F =B T (MY +Φ TZ λ Q ) (2-137)
Ground
(g89 )q34 =0
(g3 )q34 =(B342 )q34 (G 4c + S4 )
(S9 )q34 =0
(S 4 ) q34 =0
(g910 )q 34 =0
(g45 ) q34 =0
(S10 )q34 =0
(S5 )q34 =0
(g1011 )q34 =0
(g 56 )q34 =0
(S11 ) q34 =0
(S 6 ) q34 =0
( g1112 ) q34 =0
(g 67 )q34 =0
(S1 2 )q34 =0
( S7 )q34 =0
T
其中, pnT = qnT ,vnT ,anT ,λnT , β0 , β1 和 β2 由 BDF 法的系数决定。选择 U0 以保证增广
U T
矩阵 0 是非奇异阵。用牛顿法求解方程(2-138)所示非线性系统:
q
H (pn )Δp =-H (2-139)
(i +1) (i )
pn =p +Δp,i =1,,,
n 2 3 ... (2-140)
U β0U T
0 0 0
T
0
T
0 U 0 β0U 0T 0
F F Fa Fλ
H (pn )=
q v
其中, (2-141)
q 0 0 0
q v 0 0
q v a 0
因为 F q 和 q 是 q、v、a、 的高度非线性函数,所以在推导矩阵 H p 的非零表达式
时应谨慎,以便能有效计算。
2.广义递归算法的应用
2.6 大变形问题的相对节点法
很多几何非线性分析的平衡方程基于总体拉格朗日算法或修正拉格朗日算法。由于在
40 RecurDyn 多体系统优化仿真技术
总体拉格朗日算法中所有的位移量都与初始构形有关,平衡方程的结果相对较为简单。然
而当结构经历大位移时,将面临转动相关的非线性所带来的麻烦。而在修正拉格朗日算法
中,所有的位移量都与前一次计算出的构形有关,若载荷增量较小,转动相关的非线性程
度相对较低。但若载荷增量较大,也会碰到与总体拉格朗日算法同样的问题。
Avello 根据相对于初始构形的运动变量,在动坐标系中表示应变,所以有限刚体变形
的应变是不变量。Shabana 提出柔性多体动力学的绝对节点坐标算法,重新表示所有有限单
元。Shimiz 考虑了转动惯量的影响,该方法也是基于绝对节点坐标。此外,许多学者提出
了动参考系法,动参考系用于描述一个有限刚体的运动,柔性体点的变形叠加于刚体运动
之上。
2.6.1 相对变形运动
1.结构的图论表示
在建立平衡方程时采用相对节点位移法。通过沿通路所有节点的相对变形量叠加获得
节点的绝对变形量,故在建立总体系统平衡方程之前,必须先确定单元间的连接信息。因
此,对于有限元离散化系统结构必须进行拓扑分析。
离散系统可用图形表示,每一节点和单元分别用相应的点和线表示,如图 2-21(b)所
示为图 2-21(a)所示系统的图形表示。若一个结构的图形表示中有一个回路,则称为闭环
系统。否则,称为开环系统。
一个展开树可以描述一个不含闭环的结构,没有子节点的节点称为终节点,没有父节
点的节点称为基节点。如图 2-21(b)中的节点 4 和节点 0 分别是终节点和基节点。在相对
位移算法中必须定义两个计算顺序,一个是从基节点至终节点的正向顺序,另一个是从终
节点至基节点的反向顺序。图 2-21(b)表示了图 2-21(a)的两个顺序。
2.运动学定义
(a)两个有限梁单元 (b)梁单元的图形表示
图 2-22 由两个梁单元组成的系统
Ai Ai 1 D(i 1)i ('i 1) i C(i 1)i (2-145)
其中:
T
('i 1)i ('i 1)i1 ('i 1) i 2 ('i 1) i 3 (2-146)
在式(2-144)和(2-145)中, A( k k i 1,i) 表示节点参考系 k 的转换矩阵, C(i 1)i 表
示由 xi - yi - zi 转换到 x(i 1)i - y(i 1)i - z(i 1)i 的常转换矩阵, s(' i 1)i 0 表示未变形状态下节点 i 在
x(i 1) - y(i 1) - z(i 1) 下的位置矢量,u(' i 1)i 表示节点 i 相对于节点坐标系 i 1 的变形矢量。D(i 1)i
表示因 x(i 1)i - y(i 1)i - z(i 1)i 相对于节点坐标系 i 1 的转动位移的转换矩阵,用欧拉角 1-2-3 表
示为:
D(i 1)i D1 ( ('i 1)i1 ) D2 ( ('i 1)i 2 ) D3 ( ('i 1)i 3 ) (2-147)
将式(2-144)变形后得到
ri' A(Ti 1) r('i 1) - A(Ti 1)i s(' i 1)i 0 u (' i 1)i '(i 1) A(Ti 1)i u(' i 1) (2-148)
其中,带波浪符号的变量表示由矢量元素组成的斜对称阵,且 A(i 1)i 定义为
A(i 1)i A(Ti 1) Ai (2-149)
节点 i 与 i 1 之间的虚转动关系为:
δπi' A(Ti 1)i (' i 1) A(Ti 1)i H (i 1)i ('i 1)i (2-150)
其中:
1 0 sin( ('i 1)i 2 )
H (i 1)i 0 cos( (i 1)i1 ) sin( (i 1)i1 ) cos( (i 1)i 2 )
' ' '
(2-151)
0 sin( ('i 1)i1 ) cos( ('i 1)i1 ) cos( ('i 1)i 2 )
联立式(2-148)和(2-150)得到一对相邻单元间的递归虚位移方程:
42 RecurDyn 多体系统优化仿真技术
2.6.2 平衡方程
1.应变能
多节点有限单元的应变能只受相对于单元内节点坐标系的相对位移的影响,与刚体运
动无关。所以,系统的应变能变化可表示为:
n
W q(Tk 1) k K ( k 1) k q( k 1) k q T Kq (2-161)
k 1
q 须容许所有运动学约束。由于刚度矩阵在节点坐标系产生,故在式(2-161)中没
有出现因刚体运动而导致的节点应变能。单元的刚度矩阵 K ( k 1) k 由线性部分和非线性部分
组成:
K ( k 1) k K (Lk 1) k K (nkL1) k (2-162)
第2章 RecurDyn 基本算法 43
其中:
l( k 1) k
K (Lk 1) k *( Tk 1) k (Lk 1) k *( k 1) k dx (2-163)
0
li ( i 1)
K (nLk 1) k *( Tk 1) k (nLk 1) k *( k 1) k dx (2-164)
0
2.外力
由绝对坐标系的节点力 Q 和相对节点坐标系的节点力 R 所做的虚功为:
W Z T Q q T R (2-165)
Z 须容许 Z 和 q 间的运动关系。将 Z Bq 代入式(2-165),得到:
W q T ( B T Q R) q T Q* (2-166)
其中:
Q* B T Q R (2-167)
3.约束
上述方法中节点位移是相对内节点参考系测量的,相对节点位移仅仅能在树形拓扑结
构中定义。因此,闭环系统必须展开成树状拓扑结构。通常可用剪断铰方法处理闭环系统。
移除闭环系统的一个节点,引入相应的剪开约束方程以补偿移除节点。图 2-23 所示闭环系
统的图形表示如图 2-24 所示。
5
A5 A0 D( k 1) k C( k 1) k A5* (2-169)
k 1
4.平衡方程
对于闭环系统,相对变形 q 是非独立的, q 须满足式(2-170),从式(2-170)可得:
q q = 0 (2-173)
对约束系统,可应用拉格朗日乘子定理获得以下平衡方程:
q T Kq Q* qT 0 (2-174)
其中 q 是任意的,正由于 q 是任意的,其系数必须为零,因此得到
F q, Kq qT Q* 0 (2-175)
式(2-175)的方程数少于未知量数,无法确定出未知量。因此,补充约束方程(2-170)
以求解 q 和 。同时求解式(2-170)和(2-175)可获得变形 q 。由于方程中的 、q 和 Q*
均为 q 的非线性函数, q 可以通过牛顿-拉夫逊方法求解:
Fq qT q F
(2-176)
q 0
式中:
Fq K (qT Q* )q (2-177)
求解式(2-176),可获得下一步迭代的修正解:
q = q + q (2-178)
利用式(2-176)和(2-178),持续迭代直至将误差控制在给定的容许范围。在求解
式(2-176)之前,须先计算 Fq ,但 Fq 的数值计算非常困难、繁琐。为节省式(2-176)的
计算时间,可采用多种近似数值方法。例如,当有限单元长度很小时,q 的变化也很小,
第2章 RecurDyn 基本算法 45
式(2-176)的系数矩阵可近似视为常数。在这种情况下,在牛顿-拉夫逊迭代过程中,式
(2-176)的系数矩阵保持不变,这大大减少了计算时间。然而,对于 q 变化很大的系统,
近似方法可能导致不收敛。为解决这些数值问题,可联合使用增量和迭代法。
2.6.3 数值算法
为求解结构的相对和绝对节点位移,闭环系统的数值算法如下。
(1)图论前处理,确定出计算顺序。
(2)形成刚度矩阵 K。
(3)为反向次序中的 q k 计算 、 q 和 Q* 。
(4)求解 q 和 。
(5)若 F 和 q 在给定的误差容许范围内,则继续进行步骤(6);否则,用式(2-178)
修正解,进行步骤(3)。
(6)用式(2-144)和(2-145)计算正向顺序的笛卡儿变形。
2.6.4 数值算例
图 2-28 不同单元数量下末端节点轴变形量的收敛情况比较
2.7 一种有效的接触搜索算法
下面介绍一种采用相对坐标系的多体动力学接触分析算法,即位形空间法与边界盒法
的混合接触检测算法。一个接触对的两个体从逻辑上分为定义接触参考系的防御体和相对
防御体运动的撞击体。防御体外形近似为许多三角形碎片,投射至接触参考系轴,包含基
面的边界盒内部划分成在接触参考系轴上索引的若干块。接触对的接触搜索过程分为广义
和狭义阶段,撞击体与防御体的相对位置矢量投影于接触参考系轴上,在广义阶段选择即
将进入接触的候选特征,这将大大减少搜索工作。搜索过程包括预搜索和后搜索。在预搜
索阶段,采用边界盒技术寻找近似的接触状态。一旦在预搜索阶段检测到接触,将在后搜
索阶段进一步检测详细的接触情况。采用相对坐标算法生成运动方程,采用局部参数法解
决微分代数方程。当接触即将发生时,积分步长会自动减小。
2.7.1 接触对的运动学表示
如图 2-33 所示的接触对,撞击体和防御体的外形分别称为撞击边界和目标边界。
X-Y-Z 坐标系是惯性参考系,而 X '- Y '- Z ' 基本坐标系是构件参考系。构件参考系的方
向和位置分别表示为 A 和 r。
两个基本坐标系分别是撞击体的节点参考系和防御体的面和接触参考系。防御体的所
有几何变量基于面参考系测量。接触对的接触参考系定义在防御体边界盒的左角,撞击体
相对防御体的相对位置和方向定义为广义坐标 d ch " 和 Ach ,如图 2-34 所示。因此,广义坐
标系可直接用于检测接触对的接触。
2.7.2 接触区域划分
面-面接触问题可用多个球-面接触替代。下面重点讨论球-面接触问题。
在许多 CAD 软件中,光滑形状物体的轮廓采用 3D NURBS(非均匀有理 B 样条)表
示。寻找两个面的交线或交点的计算量非常大,一般将防御体表面近似为三角形碎片,撞
击体的边界用一组球表示,如图 2-35 所示。碎片和球的数量由计算精度决定。
如图 2-36 所示是将空间防御面的边界盒划分成许多处于块内或块上的碎片,以有效地
进行接触检测。由于块的位置依据防御体上的接触参考系而列表,故是常量,因而不需要
在每个时间步长上计算位置,大大减少了接触搜索的计算时间。
2.7.3 预搜索
必须检查接触对中撞击体的边界节点和防御体的碎片以检测彼此间的接触,计算量非
常大。为降低计算量,可对撞击体的每个节点进行搜索以寻找预搜索阶段的接触域块,如
图 2-37 所示。
图 2-37 在预搜索阶段的节点和块
撞击体相对接触参考系的节点位置可由下式得到
d cn " d ch " Ach sn ' (2-179)
其中,sn ' 是撞击体相对接触参考系的节点位置。接触状态通过 d ch " 和防御体块位置的
直接比较得出。
如果一个节点与一个块处于接触状态,则将进行后搜索。后搜索仅仅针对在预搜索中
发现的块中的碎片进行。
2.7.4 后搜索和柔性接触力
在预搜索阶段筛选了用于后搜索的候选防御体碎片,对于候选的碎片,需要计算穿深
量,进而计算接触力,如图 2-38 所示。
图 2-38 后搜索阶段的节点和碎片
碎片参考系中节点相对位置 d pn " 为:
d pn " d cn " s p1 '' (2-180)
将矢量 d pn ''' 投影至碎片参考系:
d pn "' C Tp d pn '' (2-181)
其中, C p 是碎片参考系相对于接触参考系的方向矩阵。
后搜索的第一步是通过检测 d pn ''' 来检查节点与碎片是否接触。若不接触,跳过后续步
骤。若接触,计算节点与碎片的穿深量:
r n p '''T d pn ''' (2-182)
其中, 始终为正; n p ''' 是碎片的法向矢量,是关于碎片参考系的常矢量。
法向接触力为:
δ m 2 m 3
f n k m1 c δ (2-183)
δ
其中,k 和 c 分别是由试验决定的刚度系数和阻尼系数; δ 是 的时间导数; m1 和 m2
是非线性接触力指数;指数 m3 产生凹痕阻尼效应,当穿深非常小时,由于负的阻尼力可能
导致接触力为负,这不符合实际,通过 m3 大于 1 克服这种不合理现象。
摩擦力为:
50 RecurDyn 多体系统优化仿真技术
f f fn (2-184)
其中, 是摩擦系数,其符号和数值由接触位置接触对的相对速度决定。
2.7.5 递归算法的运动学和运动方程
前面介绍的接触搜索算法利用了接触对的相对位置和方向矩阵。下面介绍接触对及连
接铰的相对坐标运动学。
x - y - z 坐标系中 x '- y '- z ' 坐标系的平动速度和角速度为:
r
w (2-185)
x '- y '- z ' 参考系的相应量为:
r ' A r
T
Y T (2-186)
w ' A w
其中,Y 是平移速度和旋转速度的组合。临近构件对间的虚速度递归关系为:
Yi B(i 1)i1Y(i 1) B(i 1)i 2 q(i 1) i (2-187)
其中, q(i 1)i 表示相对坐标矢量。值得注意的是,矩阵 B(i 1)i1 和 B(i 1)i 2 仅仅是 q(i 1)i 的函
数。虚位移递归关系为:
Zi B(i 1)i1Z (i 1) B(i 1)i 2 q(i 1)i (2-188)
将式(2-187)分别应用于各个铰,可得到笛卡儿坐标和相对坐标的广义速度关系:
Y Bq (2-189)
其中,B 是 q(i 1)i 的系数集,且
T
Y Y0T , Y1T , Y2T ,, YnT (2-190)
nc1
T
q Y0T , q01
T T
, q12 , , q(Tn 1) n (2-191)
nr 1
其中,nc 和 nr 分别表示笛卡儿坐标数和相对坐标数。由于方程(2-189)中的 q 是 R nr
的任意矢量,因此方程(2-187)和(2-189)适用于任何矢量 x R nr 。
X Bx (2-192)
且
X i B(i 1)i1 X (i 1) B(i 1)i 2 x(i 1)i (2-193)
其中,结果矢量 X R nr 是 B 和 x 的乘积。因此,通过递归地应用式(2-193)进行 x R nr
到 Bx R nc 的转换计算可提高计算效率。
相反,通常需要将 R nc 的矢量 G 转换到 R nc 的矢量 g B T G ,在笛卡儿空间已知力的
铰空间计算广义力的过程中可找到这样的转换。笛卡儿力 Q R nc 的虚功为:
W Z T Q (2-194)
Z 须对系统所有铰运动容许。将 Z Bq 代入方程(2-194)得
W q T B T Q q T Q* (2-195)
第2章 RecurDyn 基本算法 51
其中, Q* B T Q 。
约束系统的运动方程为:
别是质量矩阵和包含接触力的笛卡儿空间力矢量。
通过引入 q v ,运动方程和位移方程隐式表示为:
F (q , v , a , ) 0 (2-197)
(q ) 0 (2-198)
位移约束连续微分得到:
(q, v ) q v v 0 (2-199)
(q, v ,v ) q v 0 (2-200)
方程(2-197)和所有约束组成了朝定微分代数系统(ODAS)。一种解决 ODAS 的后
差法(BDF)为:
F (q, v , v, )
Φ (q)
Φ (q, v )
H ( x) 0 (2-201)
Φ (q, v , v )
T
U 0 (q 0 v +1 )
T
U 0 (v 0 v + 2 )
T
其中,x q T ,v T , v T , T ; 0 ,1 和 2 取决于隐式积分系数;U 0 是一个 nr (nr-m)
U T
矩阵,所以增广矩阵 0 是非奇异的。
q
式(2-201)中方程数和未知数相同,所以可以解出 xn 。可用牛顿法求解 xn 。
H x x H (2-202)
i 1
x x x ,
i
i =1,2,3, (2-203)
Fq Fq Fq Fq
q 0 0 0
v 0 0
Hx q 0 (2-204)
q
v a 0
UT 0U 0T 0 0
0
0 U 0T 0U 0T 0
推导式(2-202)中 H x 和 H 的递归算法以有效地进行计算。
52 RecurDyn 多体系统优化仿真技术
2.7.6 数值积分策略
成功数值积分步的充分条件是满足无接触系统状态变量的精度和稳定性。假设子弹与
目标相撞,如果目标很薄,子弹无声息就穿过目标;如果目标很厚,中等大小的步长满足
精度和稳定性,子弹在接触的第一步穿透太深,由较大穿深引起的大的骤加接触力往往引
起状态变量的大数值误差,从而导致积分步的失败。因此,在决定积分步时必须考虑接触
条件。为了使系统从非接触状态尽可能光滑地过渡到接触状态,必须精确地预测接触时间。
接触对双方距离很远,必须通过大量的搜索计算准确预测接触时间。解决该问题简单而实
用的方法是回溯法。
图 2-39 节点的缓冲半径
2.8 闭环多体系统的线性运动方程
线性化是了解非线性系统在某一状态下系统特性的重要工具。
多体系统的运动方程是关于相对位置、相对速度和相对加速度的高度非线性化方程。
摄动运动方程以获得线性化。鉴于运动方程的高度非线性,对于一个由多个构件和铰组成
的多体系统,摄动涉及到大量的算术运算。对于无约束开环系统,运动方程为常微分方程,
其关于相对坐标、相对速度和相对加速度的偏导数可通过多种方法求得。而对于有约束的
闭环系统,由于约束和相应的拉格朗日乘子,不再能直接使用与无约束开环系统相同的方
法。一种直观处理约束的方法是仅仅用独立的相对坐标、相对速度和相对加速度表示运动
方程。为了达到这个目标,相对坐标必须分成独立的和非独立的坐标,且非独立坐标、速
度和加速度直接以独立的变量表示。然而,由于位置、速度和加速度约束,且运动方程是
坐标、速度和加速度的隐式函数,独立和非独立坐标、速度和加速度紧密相关且非线性耦
合。因此,非独立的坐标、速度和加速度以独立变量直接表示,进而仅用独立坐标、速度
和加速度表示运动方程是非常困难的。
第2章 RecurDyn 基本算法 53
运动方程左乘约束雅克比矩阵零空间,消去拉格朗日乘子,将运动方程变成了常微分
方程的最小形式,所求得的微分方程仍然是关于所有相对坐标、相对速度和相对加速度的
函数。由于位置、速度和加速度约束,坐标、速度和加速度高度耦合,所以直接代入变量
间的关系,将产生非常复杂的方程。缩减的运动方程关于所有被约束耦合的坐标、速度和
加速度摄动。同时摄动位置、速度、加速度约束以获得所有坐标、速度、加速度变分间的
关系及独立量的变分,同时求解摄动方程,获得仅仅关于独立坐标、速度、加速度变分的
所有坐标、速度、加速度变分。最后将所有坐标、速度、加速度变分的关系以及独立变量
代入运动变分方程以获得仅仅关于独立坐标、速度、加速度变分的线性化运动方程。
2.8.1 相对坐标运动学
图 2-40 坐标系和刚体
图 2-41 两个相邻刚体的运动学关系
通过式(2-209),构件 i 在局部坐标系下的角度虚位移是
δπi = A(Ti- 1)i δπ(i- 1) + A(Ti- 1)i H(i- 1)i δq(i- 1) (2-211)
式中, H(i- 1)i 是由转动轴决定的, A(i- 1)i 定义如下:
A(i- 1)i = A(Ti- 1)i Ai (2-212)
由式(2-210)可得
δri=A(Ti- 1)i δr(i- 1)
A(Ti- 1)i s(i- 1)i + d(i- 1)i - A(i- 1)i s(i- 1)i A(Ti- 1)i δπ(i- 1) (2-213)
+ A(Ti- 1)i d
( i- 1)i q
( i- 1)i
+ A(i- 1)i si(i- 1)A(Ti- 1)i H(i- 1)i δq(i- 1)i
带波浪号的符号是由矢量乘积操作的矢量元素组成的斜对称矩阵,q(i 1)i 是相对坐标矢
量。联合式(2-211)和(2-213)得到相邻构件对的递归虚位移方程:
δZi = B(i -1)i δZ (i -1) + B(i -1)i 2 δq(i -1)i (2-214)
式中:
A(Ti -1)i 0 I s(i -1)i + d(i -1) - A(i -1)i s(i -1)i A(Ti -1)i
B(i -1)i1 = (2-215)
0 A(Ti -1)i 0 I
A(Ti -1)i 0 d (i -1)i + A(i -1)i s i (i -1) A(Ti -1)i H (i -1) i
B(i -1)i 2 = q( i -1)i (2-216)
0 A(Ti -1)i H
( i -1) i
值得注意的是,矩阵 B(i -1)i1 和 B(i -1)i 2 仅是构件 (i - 1) 和 i 间铰的相对坐标的函数。因此,
式(2-215)和(2-216)中矩阵 B(i -1)i1 和 B(i -1)i 2 进一步关于其他项的微分为 0。整个系统绝
对坐标和相对坐标间的虚位移关系通过重复应用式(2-214)得到
δZ = Bδq (2-217)
其中,矩阵 B 是笛卡儿坐标和相对坐标间的速度转换矩阵。采用同样的方法,可推导
出笛卡儿坐标速度 Y 和相对速度 q 间的关系:
第2章 RecurDyn 基本算法 55
Y = Bq (2-218)
2.8.2 运动方程
约束多体系统的牛顿-欧拉运动方程的变分形式为:
δZ T MY +ΦZT λ - Q = 0 (2-219)
式中, M 和 Q 分别为质量矩阵和笛卡儿坐标的力矢量。除剪断铰外, δZ 必须对所有
铰运动容许。 Φ 和 λ 分别表示约束方程和相应的 R m 拉格朗日乘子,其中 m 是约束方程数。
将虚位移和加速度关系 Y = Bq + Bq
代入式(2-219)中得到:
F = M *q + ΦqT λ - Q* = 0 F Rn (2-220)
其中, n 是广义坐标的数量,质量矩阵 M * 和力矢量 Q* 定义为:
M * = B T MB (2-221)
Q =B Q - MBq
* T (2-222)
式(2-221)和(2-222)可通过 Bae DS、Han JM、Yoo HH 的 A Generalized Recursive
Formulation for Constrained Mechanical System Dynamics 中的递归算法计算。
2.8.3 拉格朗日乘子的消元和运动方程的线性化
可得,
δF * = Fq*δq + Fq*δq + Fq*δq = 0 (2-229)
式(2-229)可以表述成矩阵的形式:
δq
F F F δq = 0
* * *
(2-230)
q
q q
δq
位置、速度和加速度约束的变分为:
Φq δq = 0
Φ q δq + Φq δq = 0 (2-231)
δq + Φ δq + Φ δq = 0
Φ q q q
在式(2-223)中附加独立坐标、速度和加速度的变分关系,得
Φq 0 0 0 0 0
δq δqI
Φq Φq 0 0 0 0
δq = 0 0 0 δq I (2-232)
Φq Φq Φq δq
δqI
Ι Ι
求解方程(2-232)可解出 δq δq δq ,代入线性运动方程(2-230),得到仅仅关
T
于独立坐标、速度和加速度变分的线性运动方程:
-1
Φq 0 0 0 0 0
δqI
* q
Φ Φq 0 0 0 0
Fq Fq Fq
* * δq I = 0 (2-233)
Φq Φq Φq 0 0 0
δq
I I I
直接比较式(2-233)和下面的线性运动方程,可得出 M̂ 、 Ĉ 和 K̂ 矩阵。
ˆ δq + Cˆ δq + Kˆ δq = 0
δF * |q* = M (2-234)
I I I
2.9 小 结
3.1 RecurDyn概述
表、报告和动画方式再现仿真结果。多窗口显示及照相机聚焦显示功能,为计算结果的动
画、曲线、动态应力应变云图的显示提供了方便;具有丰富的数据后处理功能,提供各种
数学计算工具及多种信号处理技术,如 FFT 变换、滤波等;用户可以自定义界面;通过
RecurDyn,可输入多种格式的文件,如 AVI 动画文件、多种格式的图像文件、HTML 格式
文件以及表格文件等。
3.2 RecurDyn产品线
3.3 RecurDyn组成模块
3.4 RecurDyn产品应用领域
3.5 安装RecurDyn软件
要正确地安装并运行 RecurDyn,必须满足其硬件需求和操作系统版本要求,并准备好
RecurDyn 的安装介质和许可授权 License
(可通过 FunctionBay China 获取中国用户的授权)。
硬件需求的最低配置如表 3-1 所示。
表 3-1 硬件最低配置
最 低 配 置 推荐配置的最低性能
CPU 奔腾 II,300MHz 奔腾 4,1.7GHz
内存(RAM) 256MB 512MB
第3章 RecurDyn 软件简介 61
续表
最 低 配 置 推荐配置的最低性能
硬盘空间 700MB 1.5GB
分辨率 1024×768 像素 1152×864 像素
3.5.1 Windows系统安装RecurDyn
安装时需要以管理员的身份登录。具体步骤如下:
(1)插入 RecurDyn 安装光盘后将自动启动,选择 Setup RecurDyn,进入安装界面,
选择安装时所采用的语言(仅仅是安装过程的语言,下面的介绍基于中文(简体)安装),
然后单击“下一步”按钮,安装向导会自动安装所需文件。
(2)当安装向导自动完成后,单击“下一步”按钮。
(3)进入提醒阅读相关许可证协议的界面,阅读之后,选择“我接受许可证协议中的
条款”。这时“下一步”按钮将变为可用状态,单击该按钮继续安装。
(4)在弹出的安装 RecurDyn 系统需求界面中,单击“下一步”按钮。
(5)打开用户名和公司名称设置界面,在相应文本框中输入用户名和公司名称,然后
单击“下一步”按钮。
(6)打开安装目录设置界面,选择 RecurDyn 的安装目录,可保持默认设置 C:\Program
Files\FunctionBay, Inc\RecurDyn VxRy(VxRy 为版本号,例如 V7R3 等)不变,也可通过
单击“浏览”按钮选择安装目录。
(7)单击“下一步”按钮,在弹出的界面中选择所需安装的类型,然后单击“下一步”
按钮。
(8)在打开的选择程序文件夹界面中,单击“下一步”按钮。
(9)开始安装 RecurDyn。如果计算机中之前没有安装 Microsoft Visual Studio Version
6.0,安装程序将会提醒用户。这个警告可以忽略,单击 OK 按钮继续安装,此时界面中将
显示安装的进度。
(10)安装完成后,在弹出的报告安装完成的界面中,单击“完成”退出。
1.节点锁定型许可证
2.RecurDyn许可证服务器
3.网络浮动型RecurDyn许可证
3.5.2 Linux系统安装RecurDyn软件
1.安装软件过程
建立一个临时文件夹放置安装文件(.rpm),安装之后,将文件放在/opt/functionbay。
(1)建立临时文件夹
以管理员身份登录,在 Linux console 中输入如下命令。
cd /tmp/
mkdir rdsolver
(2)安装 RecurDyn 求解器
将 RecurDyn 安装文件复制到临时文件夹:
cp rdsolver-7r4.0.0-2.x86_64.rpm /tmp/rdsolver/
改变至临时文件夹,开始安装。
cd /tmp/rdsolver/
rpm -ivh rdsolver-7r4.0.0-2.x86_64.rpm
2.安装许可证License
3.设置路径
在 Licensing Utility(FLEXnet)调用文件(*.flexlmrc)中设置环境变量,该文件放置
在 Home 文件夹中。
使用编辑器建立*.flexlmrc 文件。在 Linux console 中输入:
vi /home/userName/.flexlmrc
其中 userName 为用户名。
对于节点锁定型许可证,需要定义环境变量如下。
FBLMD_LICENSE_FILE = /opt/functionbay/License.dat
第3章 RecurDyn 软件简介 65
运行 License:./home./userName/.flexlmrc。
3.6 RecurDyn的文件结构
1.模型数据文件
2.仿真控制文件
3.仿真结果文件
3.7 RecurDyn建模环境介绍
3.7.1 启动RecurDyn/Modeler
1.创建新的模型
模型名
单位制
重力场
用户材料库
表 3-2 单位制
名 称 长 度 单 位 质 量 单 位 力 单 位 时 间 单 位
MKS 米/m 千克/kg 牛顿/N 秒/s
MMKS 毫米/mm 千克/kg 牛顿/N 秒/s
CGS 厘米/cm 克/g 达因/dyne 秒/s
IPS 英寸/inch 磅/Pound_Mass 磅/Pound_force 秒/s
FPS 英尺/foot 磅/Pound_Mass 磅/Pound_force 秒/s
当然,用户也可以从长度、质量、力、时间等量中选择适合的量纲进行组合。对于每
一个量,RecurDyn 都支持多种单位类型,如表 3-3 所示。
表 3-3 单位类型
长 度 单 位 质 量 单 位 力 单 位 时 间 单 位
毫米 克 达因 小时
厘米 千克 千克力 毫秒
米 斯勒格 千牛 分钟
英寸 盎司 千磅 秒
英尺 磅 牛顿
微米 千磅 盎司
吨 磅
Gravity:设置系统重力,用户可以在此处选择重力的方向和大小,也可以在
RecurDyn 主界面中设置。
User Material Library:用户材料库,导入事先已有的*.bin 文件以创建用户自定义
的材料参数。
OK 和 Cancel:OK 按钮用于执行创建新模型命令,Cancel 按钮用于退出创建新模
型模式。
第3章 RecurDyn 软件简介 69
2.打开已有模型
图 3-10 打开模型
3.7.2 RecurDyn/Modeler建模环境
1.操作界面介绍
(1)File
“文件”菜单,主要执行文件方面的操作,主要功能如下。
New (Ctrl+N):新建一个模型和工作窗口,允许多个工作窗口同时并存。
Open (Ctrl+O):在当前工作窗口下,打开一个已有模型文件(*.rdyn)或者图
70 RecurDyn 多体系统优化仿真技术
形文件(*.plot)。
标题栏
菜单栏
工具栏
工具包
数据库窗口
图形工作
窗口
输出区
选项区 输入区
状态栏
Toolbars:通过其子菜单中的相应命令,可设置工具栏或其他区域的状态。例如,
通过 Reset Toolkit Bar 可恢复至默认状态;通过 Customize 可以由用户自定义视图
模式,自定义的内容包括总体外观、文件路径、文件夹路径、视图操作、菜单、
快捷键、工具栏显示等。
Status Bar:状态栏是否显示。
View Control:各种视图控制。
:平移(T)。
:旋转(R)。
:缩放(Z)。
:自动调整到最适合(F)。
:移动视角中心(C)。
:放大选定区域(S)。
:由点、矢量及比例系数定义视图。
:前视图。
:后视图。
:左视图。
:右视图。
:顶视图。
:俯视图。
:正等侧视图。
Rendering Mode:设定显示模式。
:线框显示。
:轮廓线显示。
:去除隐藏线。
:隐藏线灰显。
:着色。
:逐个指定渲染模式,在该模式下实现隐藏(Hide)功能。
Working Plane:设定工作平面。工作平面设定好之后可对其进行更改。
设置工作平面(Shift+W)。
:将工作平面设为模型前面。
:将工作平面设为模型后面。
:将工作平面设为模型左面。
:将工作平面设为模型右面。
:将工作平面设为模型顶面。
:将工作平面设为模型底面。
:改变工作平面为 XY 平面(Shift+X)。
:改变工作平面为 YX 平面。
:改变工作平面为 YZ 平面(Shift+Y)。
第3章 RecurDyn 软件简介 73
:改变工作平面为 ZY 平面。
:改变工作平面为 ZX 平面(Shift+Z)。
:改变工作平面为 XZ 平面。
Grid:图形工作窗口的网格控制。
:设置是否显示网格。
:设置在建模时是否采用网格捕捉。
Light:模型灯光设置,包括环境光、太阳光及反射光等。
Icon On/Off :控制力、约束副、接触、传感器、参数化点、初始速度、Marker
点、惯量坐标系、灯光图标的显示与否。
Icon Size :设置图标的显示大小尺寸,可根据模型几何尺寸的大小来调整。
Windows:工作窗口设置,可新建窗口,可层叠式、分割多窗口。
(4)Subentity
此菜单主要用于参数化点、参数化值、设计变量、参数化值联接、参数化点联接、变
量方程、微分方程、表达式、样条曲线、请求、用户子程序、性能指标、用户材料属性的
创建。
(5)Analysis
“分析”菜单,用于选择分析类型并提交分析任务,可在仿真分析中中断或终止。
Analysis :运行分析。
Pause Analysis :暂停分析。在该状态下可查看结果,避免对仿真结果的盲目期待。
Resume Analysis :在中断状态下启动分析。
Stop Analysis :彻底终止分析。
(6)Tools
“工具”菜单,提供针对模型进行操作的工具。
Auto Operations (A):连续执行当前操作。
Select (E):终止当前操作。
Exit :退出当前编辑状态。
Trace Curve:可根据仿真过程中某个 Marker 点的轨迹绘制曲线,还可以将轨迹曲
线输出到一个文件。
Merge Body:将多个几何实体合并成一个几何体,合并后的质量将根据新几何体
的体积计算。
Delete Unused markers:删除无用的 Marker 点。
Measure:测量工具,可测量的项目包括质量属性、距离、半径和角度。
Close All Dialogs:关闭所有对话框。
Reload Files:如果用文档编辑器直接修改了样条曲线的数据文件,可以用此命令
将修改好的数据重新加载到模型中去。
Settings:总体设置。其中包括:
重力设置(大小、方向)。
74 RecurDyn 多体系统优化仿真技术
求解器优先级设置,分为高、正常、低 3 个等级。
模型设置,包括图形质量、背景色、力和力矩显示、模型名等字体、时间 Offset
和 If 误差、FFLEX 选项等设置。
程序设置,包括求解器类型、SMP 设置、保存设置、生成的文件设置、提示
信息设置等。
工具包设置,设置在 RecurDyn 界面中显示的具体工具包。
(7)Post
“后处理”菜单,提供在RecurDyn/Modeler界面中对结果进行后处理的功能,包括仿
真结果动画控制、数据测量、力的显示、Maker轨迹线、状态矩阵等。同时提供Plot 及Plot
(Auto Import) 作为进入RecurDyn/Plot后处理环境的入口。
①Animation Control(动画控制)
在运行仿真动画时,用于控制动画的播放形式。
提示:工具栏中有相应的快捷按钮。
:跳到第一帧。
:播放/暂停。
:前进一帧。
:反向播放/暂停。
:后退一帧。
:快放/暂停。
:至最后一帧。
:快速反放/暂停。
:停止。
:动画控制配置。
:摄像机设置。
:录制动画。
:动画比例缩放。
起始和结束帧数
播放帧数间隔,即每隔几帧显示一次
重播次数
Merker 点显示控制
动画显示速度控制
图 3-12 仿真动画控制
图 3-13 仿真动画缩放
图 3-14 观察视角控制
76 RecurDyn 多体系统优化仿真技术
Standard Camera:标准照相机,按照当前工作平面显示动画。
Following Camera:跟踪随动照相机以参考 Marker 点作为观察视角显示动画,参考
Marker 点固定在画面中心。
Riding Camera:骑马照相机,以选定的 Marker 点的某个轴向作为观察视角。
Reference Marker:摄像视角的参考 Marker 点。
Axis:轴向(只适用于 Riding Camera)。
Zoom Effect:缩放效果。
Multi Camera List:允许指定多个摄像视角,在播放一个动画时,将轮流从多个观
察视角来显示动画。其步骤为:选中 Multi Camera List 单选按钮,单击 Multi Camera
Create 按钮,打开如图 3-15 所示的 Multi Camera 对话框;根据需要单击 Add 按钮
添加多个 Camera,设定起、止帧数,设置摄像 Marker 点及目标位置(注意,后一
个 Camera 的起始帧数要高于前一个 Camera 的结束帧数),然后单击 Close 按钮
关闭该对话框;返回 Camera 对话框后,单击 OK 按钮确认。
图 3-15 多相机控制
②Scope(测量仪)
如图 3-16 所示,Scope 用于以单独的窗口来显示数据曲线,该窗口可与动画共存于工
作窗口中。Scope 包含角度(Angle)、表达式(Expression)、点-点(Point-to-Point)及
对象(Entity)等测量方式。当播放动画时,曲线显示窗口中会出现一条移动的竖线,与动
画保持时间一致。当保存 AVI 文件时,波形显示窗口并不包括在内。经过 Scope 建立的曲
线测量,在数据库窗口中将显示曲线列表,右击某一曲线名称,可设置其属性并控制是否
显示曲线。
图 3-16 测量仪显示
测量仪曲线显示窗口中的功能分别介绍如下。
第3章 RecurDyn 软件简介 77
:导入/导出。
:复制到剪贴板,支持 BMP 格式、图元文件、文本格式(只对数据有效)。
:显示风格,包括线、曲线、星号等。
:缩放功能。
:自动调整至充满画面。
:3D/2D 画面视角转换。
:旋转视角。
:沿 Y 轴旋转。
:沿 X 轴旋转。
:群集(Z 轴),在 Z 方向将曲线分散开显示。
:删除所选中的曲线。
:坐标轴设置,双击某个坐标轴可以看到详细的设置(以对话框形式显示)
:图例设置,包括标题、风格等。
:图表参数。
:保留之前绘图结果。
在 Scope 下拉菜单中,各命令功能介绍如下。
Angle(角度):3 点定义的 2 个向量之间即时的角度,默认单位是度(°)。如
图 3-17 所示,单击 M 按钮,可从图形工作窗口中选取所要显示角度对应的 3 个点。
图 3-17 测量角度
图 3-18 测量表达式和测量对象
Entity(对象):显示包括约束副、力、Body 等对象的位移、速度和加速度分析结
果,包括在各个方向上的分量。通过指定 Reference Frame 参考坐标系确定各个方
向,默认为质心 Marker 标架。当选择显示幅值时,参考坐标系处于非激活状态。
利用该功能可以在任意坐标系下测量一般力或接触力。通过 Et 按钮,可选择具体
对象。
③Force Display(力的显示)
该命令用于控制力的显示方式。选择 Post>>Force Display 命令,打开 Force Display 对
话框,通过 Et 按钮选择对象,从 Type 下拉列表中选择类型后,单击 OK 按钮,显示效果
如图 3-19 所示。
④Marker Trace(Marker 点轨迹)
在播放动画的过程中,显示轨迹线。选择 Post>>Marker Trace 命令,打开 Marker Trace
对话框,选择拟显示轨迹的 Marker 点,指定线宽和颜色,然后单击 OK 按钮,效果如图 3-20
所示。
⑤State Matrix(状态矩阵)
只有在预分析、静态分析或动力学分析设置中选择了 Include State Matrix(包含状态矩
阵)选项后,才会有状态矩阵产生。状态矩阵支持 M 文件,可以将矩阵导入 MATLAB 中。
(8)ProcessNet
“二次开发”菜单,用于进入二次开发环境和调用二次开发的功能。
(9)Help
“帮助”菜单,提供帮助文档。
第3章 RecurDyn 软件简介 79
3.7.3 单摆动力学分析实例
图 3-21 单摆模型
分析步骤如下:
(1)启动 RecurDyn,在弹出的如图 3-22 所示 New Model 对话框中设置模型名为“单
摆模型”,选择 MMKS 单位制,单击 OK 按钮,进入 RecurDyn 工作界面。
图 3-22 建立单摆模型
图 3-23 重力场设置
80 RecurDyn 多体系统优化仿真技术
图 3-24 选择 Button+Text 命令
设置网格尺寸
图 3-25 设置工作平面
(5)选择 Professional>>Body>>Cylinder,在选项区设置为(Point,Point,Radius),在
图形工作窗口中用鼠标捕捉并单击(0,0,0)和(400,0,0),在输入区输入 10,单击 Execute
按钮(或按 Enter 键确认),完成创建第一个圆柱几何体。具体操作如图 3-26 所示,结果
如图 3-27 所示。
图 3-26 创建圆柱体
图 3-27 圆柱体
(6)在工具包区选择 Body>>Cylinder,在选项区设置为(Point,Point,Radius),在图
第3章 RecurDyn 软件简介 81
图 3-28 建立转动副
(8)在工具包区选择 Joint>>Revolute,在选项区设置为(Body,Body,Point),在图形
工作窗口中用鼠标先后捕捉并单击前面创建的第一个圆柱和第二个圆柱,在图形工作窗口
中选择(400,0,0)并单击,完成第二个转动副的创建。
(9)此时在数据库窗口的模型树中将显示已经创建的两个圆柱和两个转动副。右击数
据库窗口中的 Bodies>>Body1,在弹出的快捷菜单中选择 Rename 命令,更改名称为“单摆
1”;以同样方法,将 Body2 更改为“单摆 2”,如图 3-29 所示。
图 3-29 更改部件名称
图 3-30 选择材料
图 3-31 改变显示模式
图 3-32 设置显示轨迹线
图 3-33 设置背景色
第3章 RecurDyn 软件简介 83
图 3-34 提交计算
图 3-35 完成仿真
图 3-38 设置测量连接反力
图 3-39 轨迹线
图 3-40 所示。
图 3-40 显示测量结果
3.7.4 RecurDyn后处理功能介绍
1.后处理界面
数据库窗口
图形工具栏
图形窗口
I/O 窗口
图 3-41 后处理界面
(1)标准工具栏
:保存。
:导入最后一次的*.rplt 文件。
:复制曲线。
:将动画加载至所选窗口。
:增加页面。
:移除页面。
:改变所选页面的名称。
:将窗口分为多窗口。
:进入帮助页面。
(2)绘图控制工具栏
:在数据库窗口中选择的数据项,通过单击该按钮在图形窗口绘图。
:当导入多个相同格式的.rplt 文件后,单击该按钮可将各个.rplt 文件中的曲线
画出。
:更新曲线。
:曲线追踪,可显示曲线上任一点的最大值(Max)、最小值(Min)、平均
值(Average)以及均方根值(RMS)。
第3章 RecurDyn 软件简介 87
:删除所选曲线。
:清除所有曲线。
:局部放大。
:自动调整至充满曲线所在的窗口。
(3)图表工具栏
:复制到剪贴板。
:图表样式,包括直线、曲线、散点图、直方图等。
:反锯齿显示。
:曲线的色系调色板设置。
:3D 和 2D 图切换。
:旋转视角。
:绕 Y 轴旋转视角。
:绕 X 轴旋转视角。
:在 Z 方向将曲线分散开显示。
:曲线轴设置。鼠标双击打开设置对话框,包括网格、背景色、标签等。
:曲线中显示每个点的数值,可设置字体、颜色、位置和角度。
:数据编辑。单击该按钮,在曲线的下方显示数据表,可修改数据。
:图例显示控制。
:属性设置。
2.导入(Import)
3.导出(Export)
可将后处理数据库中的数据和画出的曲线数据导出。
(1)导出数据
选择 File>>Export>>Export Data 命令,在数据库窗口中选择需要的数据项,拖拽到
Export Data 对话框的 Export List 列表框中(若要去除某个数据,选择其名称,然后单击
Remove 按钮即可),单击 Export 按钮导出文件,如图 3-42 所示。
(2)导出曲线数据
选择 File>>Export>>Export Curve Data 命令,打开如图 3-43 所示 Export Curve Data 对
话框,激活窗口中所有曲线都已自动添加到 Source List 中(如果没有,应确定激活窗口中
是否存在曲线),从 Source List 中选择数据,单击 Add 按钮添加到 Export List 中,可设置
Export Options 中的内容,单击 Export 按钮,导出数据文件。
(3)导出图像文件
选择 File>>Export>>Export Image File 命令,可将激活窗口导出为.bmp 文件。
88 RecurDyn 多体系统优化仿真技术
图 3-42 导出数据
图 3-43 导出曲线
图 3-44 导出图像文件
4.后处理数据库
(1)Body
其中包括位移、速度及加速度等,如图 3-45 所示。
(2)Force
其中包含除了轮胎力之外的所有力数据。
FM_ForceType:作用在 Action Marker 点上的平移力幅值。
FX_ForceType、FY_ForceType、FZ_ForceType:对于平动力、旋转力和螺旋力,
表示作用在 Action Marker 点上的平移力在 RM 参考坐标系中 x、y、z 方向上的分
量;对于其他力,表示作用在 Action Marker 上的平移力相对于 Base Marker 的 x、
y、z 方向上的分量。
TM_ForceType:作用在 Action Marker 点上的扭矩幅值。
TX_ForceType、TY_ForceType、TZ_ForceType:对于平动力、旋转力和螺旋力,
表示作用在 Action Marker 点上的扭矩在 RM 参考坐标系中 x、y、z 方向上的分量,
对于其他力,表示作用在 Action Marker 上的扭矩相对于 Base Marker 的 x、y、z
方向上的分量。
DEFL_TSDA:Force 的两个 Marker 点之间的距离与原始长度之间的差值。
DEFRZ_RSDA:Force 的两个 Marker 点之间相对角度与原始角度之间的差值。
(3)Contact
其中各项含义分别介绍如下。
FM_ContactType:接触力作用在 Action Body 质心 Marker 点上的平移力幅值。
FX_ContactType,FY_ContactType,FZ_ContactType:接触力作用在 Action Body
质心 Marker 的平移力在质心坐标系的 x、y、z 方向上的分量。
90 RecurDyn 多体系统优化仿真技术
表 3-4 相对位置选项
Joint 类型 选 项 含 义
Revolute Pos1 旋转副的旋转角
Translational Pos1 平动副的相对位移
第3章 RecurDyn 软件简介 91
续表
Joint 类型 选 项 含 义
Spherical Pos1、Pos2、Pos3 欧拉角的 Psi 角、Theta 角及 Phi 角
Pos1 沿着圆柱副轴向的相对运动
Cylindrical
Pos2 旋转角
Pos1 Action Marker 点的 x 轴相对 Base Marker 点的 z 轴的旋转角
Universal
Pos2 Base Marker 点的 x 轴相对 Action Marker 点的 z 轴的旋转角
Pos1 在 Base Marker 点的 x 轴方向上的相对位移
Planar Pos2 在 Base Marker 点的 y 轴方向上的相对位移
Pos3 Action Marker 点的 z 轴相对于 Base Marker 点 z 轴的旋转角
Screw Pos1 相对位移
Atpoint Pos1、Pos2、Pos3 欧拉角的 Psi 角、Theta 角及 Phi 角
表 3-5 相对速度和相对加速度选项
Joint 类型 选 项 含 义
Revolute Vel1、Acc1 旋转速度和旋转加速度
Translational Vel1、Acc1 平移速度和平移加速度
Vel1、Acc1 旋转速度和加速度的 x 分量(相对于 Base Marker 点)
Spherical Vel2、Acc2 旋转速度和加速度的 y 分量(相对于 Base Marker 点)
Vel3、Acc3 旋转速度和加速度的 z 分量(相对于 Base Marker 点)
Vel1、Acc1 圆柱副的平移速度和加速度
Cylindrical
Vel2、Acc3 圆柱副的旋转速度和加速度
Vel1、Acc1 Action Marker 点相对 Base Marker 点的旋转速度和加速度
Universal
Vel2、Acc2 Base Marker 点相对 Action Marker 点的旋转速度和加速度
Vel1、Acc1 Base Marker 点 x 轴方向上的平动速度和加速度
Vel2、Acc2 Base Marker 点 y 轴方向上的平动速度和加速度
Planar
Action Marker 点 z 轴相对于 Base Marker 点 z 轴的旋转速度和
Vel3、Acc3
加速度
Screw Vel1、Acc1 沿着 Base Marker 点 z 轴平移的相对速度和相对加速度
Vel1、Acc1 相对旋转速度和加速度的 x 分量(相对于 Base Marker 点)
Atpoint Vel2、Acc2 相对旋转速度和加速度的 y 分量(相对于 Base Marker 点)
Vel3、Acc3 相对旋转速度和加速度的 z 分量(相对于 Base Marker 点)
反力(Reaction_Force)
其中各项含义如表 3-6 所示。
表 3-6 反力选项
反 力 含 义
FM_Reaction_Force 作用在 Action Marker 点上的平移力的幅值
92 RecurDyn 多体系统优化仿真技术
续表
反 力 含 义
FX_Reaction_Force PTCV、CVCV 平移力关于惯性坐标系的 x、y、z 分量
FY_Reaction_Force
其他类型 平移力在 Base Marker 坐标系 x、y、z 分量
FZ_Reaction_Force
TM_ Reaction_Force 作用在 Action Marker 点的扭矩的幅值
TX_ Reaction_Force PTCV、CVCV 扭矩值为 0
TY_ Reaction_Force
其他类型 扭矩在 Base Marker 坐标系的 x、y、z 分量
TZ_ Reaction_Force
由转动副、平动副、圆柱副、球铰和万向节等约束的指定运
Driving_Force/Torque
动产生的驱动力或力矩
Friction_Force/Torque 由旋转副和平移副生成的摩擦力或力矩
Joint1_Driving_Force/Torque 转动副或平动副的驱动力/力矩(Gear)
Joint2_Driving_Force/Torque 转动副或平动副的从动力/力矩(Gear)
Driver_Driving_Force/Torque 转动副、平动副或圆柱副的驱动力/力矩(Coupler)
Coupled_Driving_Force/Torque 转动副、平动副或圆柱副的从动力/力矩(Coupler)
DM_FloatBase、DX_FloatBase、DY_FloatBase、DZ_FloatBase:分别表示 PTCV 和
CVCV 的 Base 接触点相对于 Base Body 坐标系的平移幅值,以及 x、y、z 方向的
分量。
DM_FloatAction、DX_FloatAction、DY_FloatAction、DZ_FloatAction:表示 CVCV
的 Action 接触点相对于 Action marker 坐标系的平移幅值,以及 x、y、z 方向的
分量。
(5)FFlex Contact
RecurDyn/FFlex 中输出的柔性接触力是在指定的 Marker 点生成的接触力。默认的
Marker 点为惯性 Marker 点。如果 Action Body 和 Base Body 都是刚体,则输出的参考 Marker
点自动定义为实体的质心 Marker 点。柔性接触力各项含义如表 3-7 所示。
表 3-7 柔性接触力
选 项 含 义
FM_Contact_Action
FX_Contact_Action 作用在 Action marker 接触点的力等效在参考 Marker 点上的力的幅值以及 x、y、
FY_Contact_Action z 方向的分量
FZ_Contact_Action
TM_Contact_Action
TX_Contact_Action 作用在 Action marker 接触点的力等效在参考 Marker 点的力矩的幅值以及 x、y、
TY_Contact_Action z 方向的分量
TZ_Contact_Action
FM_Contact_Base 作用在 Base Body 接触点上的接触力等效在参考 Marker 点上的力的幅值以及 x、
FX_Contact_Base y、z 方向的分量
第3章 RecurDyn 软件简介 93
续表
选 项 含 义
FY_Contact_Base 作用在 Base Body 接触点上的接触力等效在参考 Marker 点上的力的幅值以及 x、
FZ_Contact_Base y、z 方向的分量
TM_Contact_Base
TX_Contact_Base 作用在 Base Body 接触点上的接触力等效在参考 Marker 点上的力矩的幅值以及
TY_Contact_Base x、y、z 方向的分量
TZ_Contact_Base
(6)Tires
FM_Tire、FX_Tire、FY_Tire、FZ_Tire:作用在轮胎上的接触力等效在轮毂上的力
的幅值及其相对于轮胎质心坐标系的 x、y、z 方向的分量。
TM_Tire、TX_Tire、TY_Tire、TZ_Tire:作用在轮胎上的接触力等效在轮毂上的
力矩的幅值及其相对于轮胎质心坐标系的 x、y、z 方向的分量。
(7)Request(输出请求)
如果模型中定义了 Request,那么在 Plot 数据库中就可以找到相应的数据。
(8)Variable Equation(变量方程)
如果模型中定义了 Variable Equation,那么在 Plot 数据库中就可以找到相应的数据。
(9)Differential Equation(微分方程)
如果模型中定义了微分方程 Differential Equation,那么在 Plot 数据库中就可以找到相
应的状态变量及其关于时间的导数值数据。
5.I/O Window
图 3-47 非时间横轴绘制
6.绘图处理
(1)单条曲线
在 Plot 数据库窗口中选择需要的数据名称,双击即可画出。
在 I/O 窗口中层层选择需要的数据(Data1~Data5),单击 Add Curve 按钮,即可
画出曲线。
(2)多条曲线
如果运行了一个脚本文件,就可能会产生多个.rplt 文件。从每个.rplt 文件中分别画出
需要的曲线,往往费时费力。此时 Multi Draw 功能就派上了用场,可以帮助用户方便地将
多条曲线同时画出。
如果需要画出每个.rplt 文件中的 Body1-Pos_TX,在 Plot 数据库窗口中右击名称,在弹
出的快捷菜单中选择 Multi Draw 命令,或者在 I/O 窗口中选中 Multi 复选框即可。
需要注意的是,Multi Draw 的前提是各个.rplt 文件的格式相同。
7.Mode
图 3-48 光标随动
第3章 RecurDyn 软件简介 95
Delete Curve:删除曲线。
Clear All:删除所有曲线。
8.Splitting Window(分割窗口)
图 3-49 切换窗口显示模式的工具按钮和菜单命令
9.更改曲线标题
在后处理中改变曲线名称和曲线轴名称的方法为:在曲线名称或曲线轴名称附近右击,
在弹出的快捷菜单中选择 Edit Title 命令,即可更改名称。例如,将横轴的标题从 Time 改
为“时间”,如图 3-50 所示。
图 3-50 更改标题
10.动画处理
(1)加载动画
仿真计算之后,打开一个新的 Plot 文档,此文档就与仿真模型建立了关系。选择
Animation>>Load Animation 命令,即可在当前激活的绘图窗口中加载动画。若加载之前窗
口中有曲线,加载之后这些曲线会被自动删除。
96 RecurDyn 多体系统优化仿真技术
图 3-51 更改多条曲线标题
(2)播放动画
使用动画控制按钮(如图 3-52 所示)进行播放。
图 3-52 动画控制工具栏
(3)录制动画
选择 Animation>>Animation Control>>Recorde Animation 命令或直接单击 按钮,打开
如图 3-53 所示的 Craete AVI file(动画录制)对话框,单击 Start 按钮,即可开始录制动画。
在进程完成之后,单击 Save 按钮保存。
图 3-53 录制动画
11.数据分析
图 3-54 简单的数学运算
图 3-55 插值运算
98 RecurDyn 多体系统优化仿真技术
图 3-56 微积分运算
图 3-57 快速傅里叶变换
(5)Filter(曲线滤波)
曲线滤波的目的是消除时域信号的噪声,或对时域信号中的特定频域分量强调突出。
RecurDyn 后处理提供两种类型的滤波,包括 Butter Worth(滤波器)和 Translator Function
(指定传递函数),如图 3-58 所示。
图 3-58 曲线滤波
3.7.5 RecurDyn后处理实例
对加速度的积分获得新的曲线,对比 X 向相对速度曲线。
(1)单击工具栏上的 Plot Result 按钮 ,如图 3-59 所示,进入后处理界面。单击 Plot
后处理标准工具栏中的 Show all windows 按钮,如图 3-60 所示,将当前窗口平分成 4 个
窗口。
图 3-61 加载动画
(3)在右上方窗口中单击,使其处于激活状态。在后处理数据库窗口中选择 Plot>>
“单摆模型”>>Joints>>RevJoint2>>FM_Reaction_Force 并双击,绘制作用反力曲线,如
图 3-62 所示。
图 3-62 绘制作用反力
(4)在左下方窗口中单击,使其处于激活状态。从后处理数据库窗口中选择 Plot>>
“单摆模型”>>Bodies>>“单摆 1”>>Vel_TX,双击“单摆 1”质心 Marker 点 X 向速度,
选择 Bodies>>“单摆 2”>>Vel_TX,添加绘制“单摆 2”质心 Marker 点 X 向速度,结果
如图 3-63 所示。
(5)选择 Analysis>>Simple Math 命令,在弹出的 Data Analysis 对话框中选择操作类
型为 Minus:F1-F2,在源曲线 1 和 2 中分别选择“Vel_TX-单摆 1”和“Vel_TX-单摆 2”,
单击 Execute 按钮,如图 3-64 所示,实现曲线间相减功能。
第3章 RecurDyn 软件简介 101
图 3-63 绘制速度
图 3-64 曲线间相减
图 3-65 更改名称
102 RecurDyn 多体系统优化仿真技术
(7)单击右下方窗口,确保其处于当前激活状态;从数据库窗口中选择 Bodies>>“单
摆 1”>>Acc_TX 并双击,选择 Bodies>>“单摆 2”>>Acc_TX 并双击;选择 Analysis>>Simple
Math 命令,在弹出的 Data Analysis 对话框中选择操作类型为 Minus:F1-F2,在源曲线 1
和 2 中分别选择“Acc_TX-单摆 1”和“Acc_TX-单摆 2”,单击 Execute 按钮,完成减法
操作,如图 3-66 所示。
图 3-66 曲线间减法操作
图 3-67 曲线积分
图 3-68 删除曲线
图 3-69 曲线比较
图 3-70 实时观测曲线
104 RecurDyn 多体系统优化仿真技术
图 3-71 录制动画
3.7.6 RecurDyn操作技巧
1.导航按钮
2.Layer(层)
设置图层时,需要选择对象,右击,在弹出的快捷菜单中选择 Property(属性)命令,
在弹出的对话框中选择 General 选项卡,在右下角的 Layer Number 中设置图层号。可以设
置图层的对象包括 Marker、Body、Joint、Force、Contact 等。
3.重要操作技巧
(1)复制—粘贴错位控制
RecurDyn 支持对象的复制—粘贴。选择 Tools>>Settings>>Program Settings 命令,在弹
出的 Program Settings 对话框中选择 User Settings 选项卡,通过 Shift When Pasting 的选择与
否控制在粘贴时相对于被复制的对象是否有偏置错位,如果不希望粘贴错位,则取消选中
Shift When Pasting 复选框,如图 3-74 所示。
图 3-74 复制粘贴偏置错位
(2)工具包切换
在 RecurDyn 中建模时,往往需要在不同的工具包之间切换。通过单击工具包区下方的
、 、 、 标签,如图 3-75 所示,即可实现工具包
的切换。后处理和前处理之前的切换也可通过该区域切换 Plot 和*.rdyn 进行。
图 3-75 工具包切换
106 RecurDyn 多体系统优化仿真技术
(3)复杂模型的选择
对于复杂模型,尤其是局部细节具有复杂特征的模型,可以通过右击,在弹出的快捷
菜单中选择 Select List 命令,在弹出的 Select List(特征列表)对话框中选择;也可以通过
右击,在弹出的快捷菜单中选择 Select Box 命令,单击 Select Box 框中的箭头选择确定,
如图 3-76 所示。
图 3-76 复杂对象的选择
(4)自动连续操作
如果多次连续操作同样的命令,如连续建立几个转动副,可通过自动连续操作按钮
或快捷键 A 来实现自动连续操作功能。取消自动连续操作,需要单击 按钮以停止自动连
续操作状态。
(5)退出编辑状态
RecurDyn 建模过程提供 4 种编辑状态,退出编辑状态需要选择工具栏的 Exit ,或右
击,从弹出框中选择 Exit 退出当前编辑状态返回上一级。
(6)隐藏功能
只有在 Render Each Object 视图模式下,在数据库窗口中右击,在弹出的快捷菜单中
选择 Hide 命令,才能实现隐藏功能。
(7)终止操作命令
当选择某种命令后,欲终止继续操作,可通过工具栏中的 Select(E) 来实现。
(8)删除无用的 Marker 点
对于模型中无用的 Marker 点,可通过选择 Tools>>Delete Unused Markers 命令,一次
完成删除无用 Marker 点。RecurDyn 删除特征时不自动删除与该特征相关的 Marker 点,删
除无用 Marker 点功能往往在删除了某一特征后进行。
(9)透明显示及贴图
对于复杂的模型,尤其是几何重叠的模型,在需要透明显示时,需要在数据库窗口中
选择拟透明显示的 Body,右击,在弹出的快捷菜单中选择 Edit 命令,进入 Body 的编辑模
式;选择具体特征并右击,在弹出的快捷菜单中选择 Property 命令,在弹出的 Graphic
Property 对话框中通过 Transparency Intensity 滑动条实现透明显示;通过选中 Use Picture,
可选择具体图片进行贴图处理。
(10)自动缩放多条曲线视图
在后处理或 Scope 曲线显示窗口中,如果同一窗口中存在多条函数值悬殊的曲线,或
通过手动放大导致曲线在视图中不能完全显示时,可通过工具栏上的 Fit 按钮实现视图
窗口的自动调整。
第3章 RecurDyn 软件简介 107
(11)建模工具图文对照
对于初学者而言,当不清楚工具包中图标对应的含义时,可将鼠标置于工具包相应区
域,右击,在弹出的快捷菜单中选择 Button+Text 命令,即可显示图标和对应文字。
(12)进入 Body 编辑模式
进入 Body 编辑模式的方法有两种,在图形工作窗口中双击 Body,等效于在数据库区
选择相应 Body,右击,在弹出的快捷菜单中选择 Edit 命令。本书后面章节的双击均指在图
形工作窗口中双击。
3.8 小 结
4.1 基于RecurDyn仿真分析的步骤
基于 RecurDyn 进行多体系统仿真是一个逐步精细化的过程,通常一个完整的仿真分析
过程需要经历等效简化模型→细化模型→优化模型→自动化模型,如图 4-1 所示。
(1)等效简化模型
从逻辑上将一个完整系统划分为若干个具有独立能力的子系统单元;在 RecurDyn 中针
对各个子系统,创建具有几何、物理属性的组成部件,定义各部件之间的约束关系,定义
作用在部件上的所有力和驱动;运行仿真分析,对于仿真的结果,通过曲线、动画查看并
大体判断是否有误;在各个子系统模型正确的基础上,建立整个系统的仿真模型,运行分
析,查看运动情况;在后处理中导入已有测试数据,和测试数据进行比较分析。
第4章 基于 RecurDyn 的机械系统分析 109
(2)细化模型
添加摩擦、定义柔性体、施加更准确的作用力、添加控制环节。
(3)优化模型
定义设计变量、目标函数和约束条件,进行设计灵敏度分析,确定性优化或非确定性
优化。
(4)自动化过程
通过 ProcessNet 定制用户化界面、定制自动化流程,以实现重复、繁琐建模分析过程
的自动化。
以上大部分过程都需要借助 RecurDyn 操作界面或二次开发环境完成。
4.2 模型方案分析
随着机械产品轻量化、高速化、智能化的发展,一个完整的产品往往包括机械部分、
电子部分、控制部分(或液压部分)等,这些部分间相互区别并相互作用,有机地联结在
一起,为完成同一个功能目的而扮演不同的角色。它们之间并非简单的多学科组合或拼凑,
而是耦合作用、彼此依赖。机电控一体化系统多学科交叉的现实存在带来了不可避免的复
杂性,任何一个系统开发都需基于子系统或更多子系统。为了建立仿真分析模型,就需要
将复杂系统先解耦再耦合。
在产品开发的不同阶段所关注的重点不同,从概念设计的总体方案阶段到详细设计阶
段,帮助设计的 RecurDyn 仿真模型具有不同层次的组织结构。一个多体系统模型至少包含
三大要素,即组成部件、部件间关系和外力载荷。
在建立仿真模型之前,必须明确仿真目的是什么,同时必须明确模型的组成。
是否需要并可以将复杂系统划分为多个子系统?
除机械系统外还包括哪些系统?如果包括控制或液压部分,是否需要联合仿真?
机械系统包括哪些部件?是否存在部件的刚度不可忽略?如果存在,可参照后面
章节的刚柔混合系统建模。
部件之间的关系如何?是约束关系还是接触关系?
系统的驱动是什么?系统的载荷是什么?
需要获得哪些结果量?
4.2.1 刚体和柔性体的选择
在建立多体系统模型时,需要确定作为刚体的部件和作为柔性体的部件。
通常,刚体是指在运动过程中体内任意两点的距离保持不变的物体,变形很小或虽有
变形但不影响整体运动特性的物体都可简化为刚体。在多体系统建模时,往往将工作过程
中变形可以不考虑的部件视为刚体,不必过分考虑其几何形状,尤其是从 CAD 软件中导入
的复杂几何体,一些倒角、细节可忽略,但如果涉及到接触关系,则必须保留接触相关的
110 RecurDyn 多体系统优化仿真技术
几何外形。对于刚体而言,质量、转动惯量及重心代表了刚体的属性。
在工作过程中,结构的变形不能忽视的部件往往需要考虑成柔性体。对于柔性体而言,
其刚度属性、质量属性等都必须考虑。RecurDyn 有两种考虑柔性体的方法,模态柔性体
RFlex 和有限元柔性体 FFlex。除了柔性体模型外,在系统中还可以增加柔性元素,如 Bushing
力、Beam 力等。
4.2.2 子系统的选择
在大型复杂系统中,往往包含多个独立功能的子系统,每个独立功能的系统可以作为
一个子系统单独建立模型,在确保子系统模型无误的情况下,进行装配形成系统。
RecurDyn 的子系统建模方法有助于标准化、系列化产品的仿真分析。
在建立子系统模型之前,需要明确该子系统与其上一级系统的隶属关系,即落实子系
统的母体部件。
4.3 建模环境设置
4.3.1 重力场设置
图 4-2 重力场设置
第4章 基于 RecurDyn 的机械系统分析 111
4.3.2 工作平面及其他建模设置
Working
Plane change
XY
图 4-3 工作平面设置
在 Grid 栏中,选择网格类型,有笛卡儿和柱坐标两种类型可供选择;根据模型的尺寸,
设置工作平面网格的密度——通过设置网格高度(半径)和宽度(角度)的具体数值控制
网格间矩,通过 No. of Half Horizontal Segments(No. of Radial Segments)来控制网格的数量。
建模过程中,通过工具栏上的 (Working Plane Change 和 XY plane)可实现
工作平面的快速切换。对于复杂的建模,可通过 Working Plane 对话框中 Plane 后面的 PI
按钮来选择具体平面(如图 4-4 所示,Face Plane 或 Marker Plane)作为工作平面,也可通
过 Offset 数值框来指定所选平面偏置一定距离的平面为工作平面。
单击工具栏中的 Icon Size 按钮 ,在弹出的 Icon/Marker Size 对话框中可分别设置各
项图标尺寸,如图 4-5 所示。最后单击 OK 按钮,设置生效;若单击 Cancel 按钮,则保留
之前的效果。
选择 Face Plane 选择 Marker Plane
4.4 RecurDyn的编辑模式
4.5 刚体部件建模
4.5.1 几何体创建
1.基于RecurDyn创建几何体
参数,可以非常便利地建立几何体。通常的操作步骤如下:
(1)在工具包区 Body toolkit 中选择合适的实体图标(如 cylinder)。
(2)在选项区选择输入方式(如 Point,Point,Radius 表示两点坐标和半径)。
(3)在输入区依次输入具体的数值(RecurDyn 记录了输入历史,可从历史记录中选
择已有的输入),或在图形工作窗口通过鼠标选取。
(4)在输入区中单击 Execute Command 按钮 或按回车键,确认创建执行。此在图
形工作窗口中将显示所创建的几何体。
(5)在数据库窗口中的 Body 树下显示了已经创建的几何体,右击,在弹出的快捷菜
单中选择 Rename 命令,可以为其命名;如果选择 Property 命令,在弹出的属性对话框中
可设置颜色等模式。
RecurDyn 界面 Professional>>Body 中各个工具的作用分别介绍如下。
Marker :创建 Marker 点,可通过点或点及其方向创建,可指定隶属 Body。
Cylinder :创建圆柱体,可通过上下截面中心点和半径创建。
Box :创建长方体,所创建几何体沿工作平面对称。
Ellipsoid :创建球体。可通过选项区设置,创建椭球体。
Torus :创建圆环。通过选项区设置,可创建完整圆环和局部圆环。
Prism :创建棱柱。
Cone :创建圆台。
Link :创建连杆。
General :创建复杂几何体。
Ground :创建固连与大地的机架的构形。
基于 RecurDyn 可创建复杂的几何体。选择 Professional>>Body>>General ,即可进入
复杂几何体创建界面。RecurDyn 提供的复杂几何体创建功能包括:
(1)Curve and Surface 线和面
Outline :创建轮廓线(需选择多个点)。
Spline :创建样条曲线(闭合或开放曲线,通过多个点创建)。
Circle :创建封闭圆。
Arc :创建圆弧。
EdgeCurve :选取已有边生成边线,为后续的建模(如接触定义)做准备。
OutlineSurf :由轮廓线创建轮廓线面。
SplineSurf :由已有样条线创建样条曲线面。
FaceSurf :选取面生成 FaceSurf,为后续建模(如面面接触)做准备。
(2)Profile 剖面
Profile :创建剖面形状,可通过 来创建不同的剖面。
Extrude :由剖面的拉伸生成三维几何体。
Spin :由剖面沿轴线旋转形成几何体。
Sweep :由剖面扫略形成三维几何体。
ExtrudeSurf :由剖面线拉伸成复杂面。
114 RecurDyn 多体系统优化仿真技术
SpinSurf :由剖面线旋转成面。
SweepSurf :由剖面线扫掠成面。
(3)Boolean 布尔运算
Unite :布尔加操作,合并 2 个实体。
Subtract :布尔减,实体 1 切割实体 2,删除实体 2 中与实体 1 相交部分。
Intersect :求交集运算,取 2 个实体的相交部分。
提示:合并几何体的目的是为了避免重合部分的几何体质量被重复计算。如果重合几
何体没有合并,在计算质量时,两个几何体相交部分的体积所涉及的材质会被重
复计算。
(4)Local 局部操作
Chamfer :倒角。
Fillet :倒圆角。
Shell :抽壳。
下面来看一个建模实例。
建立一个连杆,其中厚度为 10mm,连杆两端圆心分别为(100,300,0)和(-200,0,0)。
从工具包区选择 Professional>>Body>>Link,在选项区选择(Point,Point,Depth),先
后在图形工作窗口中选择(100,300,0)和(-200,0,0),然后在输入区输入 10,按 Enter 键
确认,如图 4-6 所示。
图 4-6 建立连杆的步骤
2.从外部导入几何体
3.复制几何体
4.5.2 几何形状的修改
在 RecurDyn 中创建的几何体,可以对其形状进行修改。对于外部导入的几何体,也可
以通过 RecurDyn 的建模工具进行修改。
对于简单的几何体,在 RecurDyn 的主界面 Model-Editing 模式下,从数据库窗口中选
中拟修改的 Body,右击,在弹出的快捷菜单中选择 Edit 命令,进入部件编辑(Body-Editing)
模式。在 Body-Editing 模式下的数据库窗口中单击拟修改的特征,右击,在弹出的快捷菜
单中选择 Property 命令(或按 P 键),在弹出的对话框中修改相应的特征参数,然后单击
OK 按钮确认,该特征得到修改。
提示:也可以通过双击 Body,进入部件编辑模式。
图 4-7 修改连杆属性
4.5.3 部件属性的修改
仿真模型中的部件,除了几何形状外,还具有物理特性,其中包括质量、转动惯量、
惯性积、初始速度、质心位置等。在 RecurDyn 建模时,这些特性根据几何形状自动生成,
初始速度默认为 0。如果需要修改物理特性,需在图形工作窗口中选中拟修改特性的 Body
116 RecurDyn 多体系统优化仿真技术
1.质量、转动惯量
User Input(用户输入):自定义质量以及惯性矩的值。
Library(材料库):在材料库中选择需要的材料类型,用户也可将自定义的材料
属性添加到材料库中。根据所选材料的密度以及几何体的体积,获得质量和惯性
矩。RecurDyn 自带的标准材料库共有 32 种材料,如钢、铝、铜、镍、尼龙等,包
括材料的杨氏模量、密度、波松比等参数。
Density(密度):根据输入的材料密度和所创建的几何体,计算质量和惯性矩等。
Center Marker:质心 Marker,如果采用 Library 类型,则不能更改质心位置。
Inertia Marker:惯性矩中心,仅用于 Library 类型。
2.初始速度
期的动画缩放效果。
颜色
视图模式
图像效果
贴图处理
动画缩放
4.5.4 部件质心Marker的修改
4.5.5 部件几何体位置调整
对于创建的几何体,在很多时候都需要移动其方位,RecurDyn 提供了两种调整方位的
方法。
118 RecurDyn 多体系统优化仿真技术
通过参考点和方向来调整,该方法仅适用于装配体模式。
选中 Body,右击,在弹出的快捷菜单中选择 Property 命令,从弹出的 Properties of xx
(xx 代表所选的 Body 的名称)对话框中选择 Origin & Orientation 选项卡,如图 4-12 所示。
图 4-12 原点及方向
Origin:Body 的参考坐标系的原点位置。
Orientation:实体的参考坐标系的方向。
Type:方向的类型,可以选择 Angels(角度)或 Coordinate(坐标)。
Angles:角度类型,RecurDyn 提供 321 和 313 坐标系供用户选用,用户可通过欧
拉角来调整 Body 参考系方向。通过 Euler Angle 的 3 个量实现欧拉角定义。
Coordinate:坐标类型,用户可以通过主从点来定义 Body 参考系的方向。通过原
点 Origin 和主点 Master Point 坐标来定义+Z 向,通过原点 Origin 和从点 Slave Point
坐标来定义+X 向。
Master point,Slave Points:主点和从点,当两个坐标轴非正交时,以 Master point
为主,重新设定正交轴方向。
提示:Euler Angle(欧拉角)的参数值是以弧度制为单位的。如果要用度作为角度单
位,则需要在数字后面加上“D”,如 90D 代表 90 度。
第4章 基于 RecurDyn 的机械系统分析 119
欧拉角是刚体动力学习惯使用的广义坐标,采用 3 个独立变量表示刚体的转动自
由度位置。将刚体的有限转动分解为依一定顺序绕连体基的不同基矢量的 3 次有
限转动,每次转过的角度可定义为确定刚体转动前后相对位置的 3 个广义坐标。
Angle313,表示先绕 Z 轴,再绕 X 轴,再绕 Z 轴旋转。同样,Angle321 代表先
绕 Z 轴,再绕 Y 轴,再绕 X 轴旋转。
2.Object Control方法
3
3
2 1
2 1
图 4-13 调整方位的基本方法
(2)Advance(高级)调整方法
首先选中需要的对象(单个或多个),单击工具栏中的 按钮,在弹出的下拉菜单中
120 RecurDyn 多体系统优化仿真技术
图 4-14 调整方位的高级方法
图 4-15 方位转动的高级调整方法
4.6 Joint约束建模
在多体系统中,不同的部件之间往往通过约束副关系限制相互运动。在 RecurDyn 中,
约束副关系通过 Joint 来定义。
4.6.1 约束种类
1.常用铰
2.基本约束
3.高副约束
4.6.2 创建约束
各种类型的约束创建方法各不相同,但基本步骤基本相似。
(1)在 RecurDyn 主界面中的 Joint Toolkit 中选择拟创建的约束类型并用鼠标左键
单击。
(2)在选项区选择合适的输入方式。
(3)在图形工作窗口按照选项输入方式逐次选择,或在输入区输入。
(4)在数据库窗口中查看是否创建成功。
122 RecurDyn 多体系统优化仿真技术
类型
驱动
初始条件
摩擦
反力显示
测量
4.6.3 定义驱动
通过定义驱动,可以约束系统的某些自由度,使系统按照预期的方式运动。在 RecurDyn
中,可以定义铰驱动或力驱动。铰驱动是通过定义转动副、平动副、圆柱副等 Joint 中的移
动或转动,从而通过运动约束一个自由度,使得系统减少一个自由度。驱动可以是和时间
关联的位移、速度、加速度,可以通过函数表达式或者用户自定义子程序为约束预先指定
运动。运动函数只能是时间、变量或微分变量的函数。
驱动函数为 0,表示没有驱动。
转动副的驱动单位是弧度或弧度与时间的组合。
驱动可以使用 RecurDyn 提供的表达式进行定义。
用户自定义子程序用来定义复杂的驱动。
使用表达式 EL 定义驱动的步骤如图 4-17 所示。
(1)选中 Include Motion 复选框,单击 Motion 按钮。
(2)在弹出的 Motion 对话框中的 Type 下拉列表中选择 Standard Motion。
(3)从驱动类型下拉列表中选择表达式的类型。
Displacement(time):位移(时间)驱动。
Velocity(time):速度(时间)驱动。
Acceleration(time):加速度(时间)驱动。
(4)单击 EL 按钮,在弹出的表达式对话框中选择预先定义的表达式,或新建表达式。
使用子程序 UL 定义驱动的方法如图 4-18 所示。
(1)在 Motion 对话框中的 Type 下拉列表中选择 User Subroutine Motion。
第4章 基于 RecurDyn 的机械系统分析 123
1
3
4
图 4-17 定义表达式驱动
选择用户子程序类型
选择用户子程序
图 4-18 定义用户子程序驱动
4.6.4 定义摩擦
在 RecurDyn 中,对于不同的约束副,其摩擦模型不同。
1.转动副
图 4-19 转动副滑动摩擦示意图
图 4-20 摩擦系数和角速度的关系曲线
图 4-21 转动副滑动和静摩擦示意图
1 μs
μd
Δv 1.5×Δv v
μ 曲线图 Δv Δmax Δ
(a)转动速度大于门槛速度 (b)转动速度小于门槛速度
图 4-22 摩擦系数图示
摩擦力计算公式为:
Tfriction ( Rarm Faxialreation Rpin Frotationalreaction ( Rpin Rbending )Tbending (1 s )Tpreload )
2.平动副
图 4-23 平动副参数
N
a1—高 Px —x 轴的预紧力 a2—宽 Py —y 轴的预紧力 N xN — x 轴向的压力
rad —半径 N
N yN — y 轴向的压力 Prad —径向预紧力 μ—摩擦系数
图 4-24 平动副摩擦系数和速度的关系
(2)滑动和静摩擦
平动副滑动和静摩擦如图 4-25 所示,摩擦系数的取值和速度的关系与转动副的滑动和
静摩擦的情况类似。
图 4-25 平动副滑动和静摩擦
μs(Static Friction
Coefficient)—静摩擦系数 Rarm(Reaction Arm)—反作用臂
μd(Dynamic Friction Coefficient)—动摩擦系数 Fpreload(PreForce)—预载荷
XS0(Overlap Delta)—重叠量
摩擦力的表达式为:
第4章 基于 RecurDyn 的机械系统分析 127
3.圆柱副:滑动和静摩擦
图 4-26 圆柱副摩擦力图示
μs(Static Friction
Coefficient)—静摩擦系数 Rpin(Pin Radius)—轴半径
μd(Dynamic Friction Coefficient)—动摩擦系数 Fpreload(PreForce)—预载荷力
XS0(Overlap Delta)—重叠量 Tpreload(PreTorque)—预载荷矩
摩擦力、矩的表达式为:
Ffriction ( Freaction (1 X s )Tbending (1 s ) Fpreload )
Tfriction ( Rpin Freaction ( Rpin X s )Tbending ( Rpin s ) Fpreload (1 s )Tpreload )
其中:
X s X s 0 (Constant)
X s X s 0 dij (Increase)
X s X s 0 dij (Decrease)
4.球铰:滑动和静摩擦
图 4-27 球铰滑动和静摩擦
Tfriction—摩擦力矩 Freaction—反作用力
摩擦力矩计算公式为:
Tfriction ( Rball Freaction (1 s )Tpreload )
式中:μs(Static Friction Coefficient)—静摩擦系数;
Rball(Ball Radius)—球半径;
μd(Dynamic Friction Coefficient)—动摩擦系数;
XS0(Overlap Delta)—重叠量;
Tpreload(PreTorque)—预载荷矩;
摩擦系数取值和速度的关系与转动副相同。
5.万向铰
万向铰摩擦的定义方式与转动副相似。
4.6.5 约束力显示
图 4-28 约束力显示
第4章 基于 RecurDyn 的机械系统分析 129
Inactive:不显示力。
Action:在 Action Body 的 Marker 点(接触位置)显示施加在运动实体上的约束力
和扭力。
对于 PTCV 和 CVCV 约束,力的表达式为:
f
Qa a
0
对于其他约束,力的表达方式为:
fa
Qa
a
Base:在 Base Body 的 Marker 点(接触位置)显示施加在 Base Body 上的约束力
和扭力。
对于 PTCV 和 CVCV 约束,力的表达方式为:
f
Qb b
0
而对于其他约束方式,力的表达式为:
fb f a
Qb
b a dba f a
4.6.6 约束建模注意事项
如果所建立的系统自由度为零,并且速度表达式与速度或加速度相关,则基于该
模型不能进行运动学分析,只能进行动力学分析。
为了验证建立的约束是否正确,在机械系统非常复杂的情况下,可逐步进行检验,
必要时可通过临时的驱动来辅助分析约束的可行性。
两个部件之间尽量使用一个约束来完成连接,以尽量避免多个约束添加到两个部
件上可能造成的意外重复,建议去除多余约束。
创建约束时必须注意正确的方向;定义驱动时要注意部件的选择顺序。
可以定义一个不随时间变化的零值常速度铰来将 2 个部件连在一起。
4.7 外力载荷建模
4.7.1 RecurDyn载荷种类
来考虑部件之间的接触力,RecurDyn 提供丰富的接触类型和先进的接触算法,后面章节对
接触将详细介绍。下面详细介绍直接外力、特殊力和柔性连接力。
4.7.2 直接外力
直接外力亦称作用力,可通过常值、函数表达式或用户子程序来表达力或力矩,亦称
作用力。
1.直接外力的种类
RecurDyn 中的作用力包括:
(1)单分量力或力矩:
方向为 Base 的 Marker 点和 Action 的 Marker 点之间的连线方向。力或力矩幅值可以是
位移、速度、力、变量及时间的函数。
轴向力:
转动轴向力:
(2)3 分量力或力矩
定义 3 个方向的力或力矩,方向由所选参考坐标系 3 个轴向决定。
平移力:
旋转力:
(3)6 分量力
矩阵力 :同时定义 3 个方向的力和力矩,可定义预载荷。
螺旋力 :同时定义 3 个方向的力和力矩,方向由所选参考坐标系的 3 个轴
决定。
2.作用力的施加
在施加作用力时,必须注意力的大小、方向和作用位置。操作步骤如下:
(1)在 RecurDyn 主界面 Force 工具包中选择拟施加的力类型,在选项区选择输入方
式(如 Body,Body,Point,Point)。
(2)在图形工作窗口中首先分别选择施力物体和受力物体,然后再分别选择施力点和
受力点,完成力的方向和作用位置定义。
(3)通过修改力的属性,来定义力的大小。在图 4-29 所示的力属性对话框中,可用
直接输入力大小、函数(关于位移、速度、加速度、时间等)、样条曲线插值、用户子程
序等方式表达。
4.7.3 特殊力
RecurDyn 中的特殊力是指重力、轮胎力等。
重力:重力是一种场力,在分析过程中始终作用在所有 Body 的质心上,建立模型
第4章 基于 RecurDyn 的机械系统分析 131
时可根据模型方位及单位制设置重力的大小和方向。
轮胎力:RecurDyn 支持的轮胎力包括 UA、Fialia、User 等。在创建轮胎力时必须
注意以下几点:
生成轮胎力时,重力方向必须要在 Z 轴。
必须要在 XZ 平面建立轮胎模型。
轮胎力的 Z 轴是轮胎的旋转轴。
轮胎模型和轮胎力的方向必须一致。
轮胎中心点方向必须与轮胎力的运动 Marker 点方向一致。
受力物体及受力点
力的大小
施力物体及施力点
决定力方向
图 4-29 作用力属性
1.创建轮胎力
如图 4-30 所示,其步骤如下。
图 4-30 轮胎力
(5)单击两点,轮胎力的 Z 轴方向由此两点确定。
(6)打开轮胎力的属性对话框,将 Connector 选项卡中的欧拉角复制至剪贴板。
(7)打开轮胎几何模型的属性对话框。
(8)将材料输入方式由 Library 改为 User Input,单击 Apply 按钮。
(9)单击 CM 按钮,在弹出的对话框中选择 Origin & Orientation 选项卡,在欧拉角一
栏中粘贴,将轮胎几何模型的质心 Marker 点的方向修改为和轮胎力的 Action Marker 的欧
拉角方向一致。
对于 Fiala 和 UA 轮胎力,通过图 4-31 所示的属性来设置轮胎模型,从而产生相应的
轮胎力;对于 User 类型,用户需要自定义轮胎力,通过用户子程序实现。轮胎的属性分别
介绍如下。
Unloaded Tire Radius(R1):轮胎自由半径。
Carcass Radius of Toroidal Tire(R2):环形轮胎胎体半径。
Vertical Tire Stiffness:轮胎垂直刚度。
Longitudinal Tire Stiffness:轮胎纵向刚度。
Lateral Tire Stiffness by Slip Angle:轮胎侧偏刚度。
Lateral Tire Stiffness by Camber Angle:轮胎外倾刚度。
Tire Radial Damping Ratio:轮胎径向阻尼率。
Friction Coefficient at Zero Slip:无滑移摩擦系数。
Friction Coefficient for the Full Slip:全滑移摩擦系数。
图 4-31 轮胎力属性
Velocity of Hub:车轮速度。
Tire Contact Properties:轮胎接触属性。
SAE Corordinate System:SAE 坐标系。
Friction Ellipse Properties:摩擦椭圆属性。
Tire Kinematic Properties:轮胎运动属性。
Tire Force at Contact Patch in SAE C.S:SAE 坐标系触地轮胎力。
Camber Angle:外倾角。
Caster Angle:后倾角。
2.路面
Ground
图 4-32 创建路面
4.7.4 RecurDyn柔性连接力
柔性连接相对于各种理想的铰接而言,考虑了变形的因素,是非刚性的约束。RecurDyn
提供了多种柔性连接力,包括弹簧阻尼、扭转弹簧阻尼、Bushing 衬套力、Beam 梁力、Plate
力等。
134 RecurDyn 多体系统优化仿真技术
图 4-33 弹簧阻尼
n
Ta K r i Cr l T
Tb Ta
m
Fa K r l m Cr l n F
Fb Fa
其中,K(Spring Coefficient)——刚度系数;K(Spring
t Spline)——刚度曲线;C(Damping
Coefficient)——阻尼系数;Ct(Damping Spline)——阻尼曲线。
图 4-34 显示了弹簧、扭转弹簧的属性设置,其中各项含义如下。
F(Pre Load)/T(Pre Torque):预载荷。
M(Stiffness Exponent):刚度指数。
N(Damping Exponent):阻尼指数。
Free Length:自然长度。
Free Angle:自由角度。
Distance between Two Markers:当前弹簧长度。
Angle between Two Markers:当前角度。
通过样条曲线来表达弹簧,拉伸产生负力,压缩产生正力,如图 4-35 所示。
创建弹簧阻尼(TSDA)的步骤如下:
(1)在工具包中选择 Professional>>Force>>Spring 。
(2)在图形工作窗口中选择两点作为弹簧力的两个端点;修改这两点位置之后,选择
弹簧力,按 P 键进入弹簧力属性对话框;单击 Distance between Two Markers 文本框后面的
R 按钮,重新计算并确定当前弹簧长度。
可以通过弹簧力属性对话框中的 Graphic 选项卡更改弹簧力图形显示,包括弹簧直径、
第4章 基于 RecurDyn 的机械系统分析 135
图 4-34 弹簧、扭转弹簧属性
图 4-35 弹簧力样条曲线
2.Bushing衬套力
Bushing 是一种非常重要的柔性连接形式,连接两个部件,并对这两个部件施加力的作用。
通常,使用 Bushing 来取代 Joint 是一种行之有效的方法。使用 Bushing 不降低系统的自由度,
还可以处理过约束问题。Bushing 通过 3 个方向的力和 3 个方向的力矩来约束和连接部件。
Bushing 在相互作用的两个部件的作用点处进行连接。Bushing 的力学模型为:
k1 V m1
Fax K11 0 0 0 0 0 x C11 0 0 0 0 0 x F1
0 yk 2 0 C Vym 2
Fay K 22 0 0 0 0 0 0 0 0 F
2
22
F 0 0 K33 0 0 0 zk3 0 0 C33 0 0 0 Vzm3 F3
az
l1 n1
Tax 0 0 0 K 44 0 0 ab1 0 0 0 C44 0 0 ab1 T1
T 0 0 0 0 K55 0 l 2 0 0 0 0 C55 0 n 2 T2
ay ab 2 ab 2
Taz 0 0 0 0 0 K 66 l 3 0 0 0 0 0 C66 n3 T3
ab3 ab3
其中,Kii(i=1~6)为刚度系数;Cii(i=1~6)为阻尼系数;x、y、z、θab1、θab2、θab3 是 Action
Marker 相对于 Base Marker 的平动位移和旋转位移;vx、vy、vz、ωab1、ωab2、ωab3 是相对的
平动和旋转速度;F1、F2、F3、T1、T2、T3 是施加在 Action Marker 上的预载荷;ki、li、mi、
ni(i=1,2,3)为指数。
施加在 Base Action 上的平动和旋转反作用力为:
Fb Fa
Tb Ta L Fa
通过控制 Bushing 的刚度矩阵和阻尼矩阵,来控制 Bushing 的连接效果。
创建 Bushing 力的步骤如下:
(1)选择 Professional>>Force>>Bushing ,从选项区选择输入方式(如 Body,Body,
Point)。
(2)在图形工作窗口中选择拟连接的 2 个部件(Body1 和 Body2)及位置。
(3)在图 4-38 所示属性对话框中设定刚度和阻尼系数,或定义刚度和阻尼的样条曲
线函数。
提示:Bushing 力与约束副的等效介绍如下。
3.Beam力
创建 Beam 力的步骤如下:
(1)选择 Professional>>Force>>Beam 。
(2)在图形工作窗口中选择两个部件(Body1 和 Body2)及两点,两点之间的相对位
138 RecurDyn 多体系统优化仿真技术
如下:
K11 EA / L
K 22 12 EI xx /[ L3 (1 Py )]
K33 12 EI yy /[ L3 (1 Pz )]
K 44 GI xx / L
K55 (4 Pz ) EI yy /[ L(1 Pz )]
K 66 (4 Py ) EI xx /[ L(1 Py )]
K 26 6 EI xx /[ L2 (1 Py )]
K35 6 EI yy /[ L2 (1 Pz )]
其中,
Py 12 EI zz ASY (GAL2 )
Pz 12 EI yy ASZ (GAL2 )
4.Plate力
4.7.5 力的显示
图 4-44 力的显示
第4章 基于 RecurDyn 的机械系统分析 141
(1)Action
Action:显示作用在 Action 上的力或力矩。对于 Plate 力:
f a1 fa2 fa3
Qa1 Qa 2 Qa 3
a1 a 2 a 3
对于轮胎力:
fi
Qa1
i sai f i
对于其他力:
f a1
Qa1
a1
(2)Base
Base:显示作用在 Base 上的力或力矩。对于弹簧阻尼、 轴向力、 平移力、旋转力及
螺旋力:
fb f a
Qb
b a
对于 Bushing 力、Beam 力及 Matrix 力:
fb f a
Qb
b a dba f a
对于 Plate 力:
f an
fb n 1
Qb
b
( an dban f an )
n 1
对于轮胎力:Base 方式不显示。
(3)Both
Both:同时显示力与反作用力。
4.8 RecurDyn分析类型
RecurDyn 支持的仿真类型包括:
Dynamic/Kinematic:动力学/运动学分析,获得系统运动过程中的运动学和动力学量。
Static:静态分析,通过该类型的分析,获得系统的平衡状态。静态分析只能得到
位移和静态力。速度和加速度假定为 0。
Eigenvalue:特征值分析,获得系统的各阶特征值。
Pre Analysis:预分析,通过预分析找出系统中多余的约束,独立的坐标,并且计
142 RecurDyn 多体系统优化仿真技术
算出模型的自由度。
Direct Frequency Response Analysis:直接频率响应分析,适合于有柔性体的模型。
Design Study:设计研究,支持动力学/运动学分析和静态分析。
每一类型的分析,需要不同的参数设置进行控制求解。
4.8.1 动力学/运动学分析
DDASSL 有较为保守的误差控制机制,具有更多的收敛误差控制算法,可高
效地处理刚性系统动力学问题。该积分器基于 BDF ( Backward Difference
Formulae)及多步积分法。
广义 Alpha 方法具有更大的稳定区域,但精确度较低。该方法通过减小不希
望的低频耗散来获得高频耗散,可通过参数控制数值耗散。TRKGALPHA 的
积分方程与广义 Alpha 方法类同。
IMGALPHA 拥有更大的稳定区域,精度较高,可通过参数控制数值积分发散。
从某种意义上看,DDASSL 积分算法更加注重求解速度的快速,IMGALPHA
算法更在乎精度。
IMGALPHA 是专门为子系统如履带、链条、带等提供的积分算法,因此对于
RecurDyn 的子系统分析不需要选择积分器类型。
HYBRID 是一种混合积分器,专门针对与 FFLEX 共存的子系统分析。
Numerical damping:数值阻尼,取值在 0~1 之间,适用于广义 Alpha 方法,以阻
尼比的形式表示,0 表示无阻尼,1 表示最大阻尼。
Constant step size:固定时间步长,适用于 TRKGALPHA 积分器,步长固定为一个
常数值。
Initial step size:仿真的初始积分步长。加大初始积分步长可提高计算速度,但可
能损失精度。
Jocobian evaluation:雅克比计算,适用于 TRKGALPHA 积分器,控制 Jacobian 矩
阵的计算频率。例如,该值设为 100,那么每隔 100 个积分步就计算一次 Jacobian
矩阵。
Match Solving Stepsize with Report Step:求解步与报告步匹配,即两者一致。
Save:保存,把仿真结束时的所有状态保存到一个.icf 文件中。可自定义.icf 文件名。
Import:导入,在仿真过程开始时导入.icf 文件。用户可指定导入的.icf 文件名称。
Match Simulation End Time with User Input:仿真终止时间与用户输入的仿真时间
一致。
Stop Condition:通过表达式方程定义的仿真终止条件,在达到用户输入的终止时
间 End Time 之前,如果满足仿真终止条件,将自动终止仿真。
4.8.2 Static静态分析
静态分析用于静平衡位置的求解。分析之后,可以在.out 文件中看到系统的初始信息
以及平衡位置。
静态分析的参数包括:
End time:仿真时间。
Step:仿真步数,将仿真时间按照仿真步数等分,反复进行静态分析。
Error:收敛误差,用于定义收敛准则。
Maximum iteration:最大迭代次数,定义牛顿法的迭代控制。
144 RecurDyn 多体系统优化仿真技术
初始条件
平衡位置
图 4-45 初始条件和平衡位置
第4章 基于 RecurDyn 的机械系统分析 145
4.8.3 Eigenvalue特征值分析
特征值分析用于获得系统的振动频率。分析之后,可以在.out 文件中看到系统的信息。
RecurDyn 通过线性化求解系统的特征值,提供无阻尼系统和阻尼系统两种求解方法。在特
征值分析完成之后,可通过.out 文件了解系统的特征值,也可以在图 4-46 所示 RecurDyn
界面的工具栏中设定模态阶数及重复次数,通过“播放”按钮查看系统振型动画。
基于 Linear 模块的分析可将系统的非线性运动和动力学方程线性化,快速计算系统的
固有频率特征向量和状态空间矩阵,进而了解系统的固有特性。线性化有助于理解非线性
系统在确定状态下的系统行为。如果设计的机械系统涉及控制系统,可以用 Linear 预测机
械系统的响应,有利于控制系统的设计。用 Linear 得到的系统频域特性也可以和有限元分
析或者模态试验的结果进行对比。其主要功能包括:系统级特征模态的计算,回放各阶模
态的动画,可对非线性系统进行线性化分析、状态空间矩阵(ABCD 矩阵)导出(该矩阵
可与 MATLAB 接口并进行进一步分析)。
动画模态振型中每一循环的帧数
动画模态振型中的幅值因子
在时域中进行特征值分析的起、止时间
最大模态数
特征值分析之前先进行静态分析
“播放”按钮
图 4-46 特征值分析设置及动画后处理
实际机构中往往会存在过约束的问题,比如门的转动只需要一个转动副就可以了,但
是基于刚度和稳定性的考量,往往在门和门框之间通过两个合页连接。按照实际机构定义
146 RecurDyn 多体系统优化仿真技术
的仿真模型属于过约束问题模型。
预分析可以找出多余的约束,独立的坐标,并且计算出模型的自由度。在预分析中,
模型满足所有的动力学约束条件。分析之后可以在.msg 文件中看到系统信息。
选择 Analysis>>Pre 命令,在弹出的 Pre Analysis 对话中单击 Simulate 按钮,分析完成
之后如图 4-47 所示。在 Output 栏中右击,在弹出的快捷菜单中选择 Open MSG File 命令,
打开.msg 文件,从中可以查看是否模型中存在过约束,并可以了解模型求解过程中自动去
掉了何种过约束。
图 4-47 预分析结果
通过直接频率响应分析,找到预先定义位置的简谐响应。通过直接频率响应分析,可
以获得预置位置的幅值和相角的频率响应曲线。该分析适用于 FFlex 模型。
4.9 RecurDyn测量工具
4.9.1 RecurDyn/Request
选择 Subentity>>Request 命令,可以按照需要自定义输出的内容,如位移、速度、加
速度和力等。输出请求(Request)功能可将所定义的输出结果数据写到*.rplt 和*.req 文件
中,可通过 Plot(后处理)查看。
选择 Subentity>>Request 命令,弹出 Request List 对话框,其中提供了 Standard 、
Expression、User、RFLEX 选项卡。
Standard:标准输出请求,定义位移、速度、加速度和力的输出。
Expression:定义表达式输出,一次可定义 6 个表达式输出。
User:使用用户子程序定义输出。
RFLEX:将 RFlex 的位移、速度、加速度及变形作为输出。
第4章 基于 RecurDyn 的机械系统分析 147
1.Standard Request标准输出请求
建立标准输出请求的步骤为:
(1)选择 Subentity>>Request 命令,在弹出对话框中选择 Standard 选项卡,单击 Create
按钮,打开 Standard Request 对话框,如图 4-48 所示。
图 4-48 标准输出请求
2.Expression Request表达式请求
创建表达式请求的步骤为:
(1)选择 Subentity>>Request 命令,在弹出对话框中选择 Expression 选项卡,单击
Create 按钮,打开 Expression Request 对话框,如图 4-49 所示。
(2)在 Expression Request 对话框中,输入表达式输出请求的名称,单击 EL 按钮,
在弹出的 Expression List(表达式列表)对话框中选择作为输出请求的表达式,单击 OK 按
钮确认。
如果定义多个表达式输出请求,可重复步骤(2)。
(3)在 Expression Request 对话框中,单击 OK 按钮确认,完成表达式输出请求定义。
3.User Request用户子程序请求
用户子程序输出请求定义。
图 4-49 表达式请求
4.RFLEX Request模态柔体输出请求
建立 RFLEX 请求的步骤为:
(1)选择 Subentity>>Request 命令,在弹出对话框中选择 RFLEX 选项卡,单击 Create
按钮,打开 RFLEX Request 对话框,如图 4-50 所示。
图 4-50 RFLEX 请求
4.9.2 RecurDyn/Scope
利用 Scope(测量仪),可在显示器窗口绘制所测量的曲线,如图 4-51 所示。该测量曲
线可以和动画同时显示在一个工作窗口中,当播放动画时,波形显示窗口中会出现随时间移
动的标记线。显示器窗口中工具栏各项含义可参见 RecurDyn/Plot 后处理工具栏相应含义。
图 4-51 测量仪
图 4-52 测量仪显示器
150 RecurDyn 多体系统优化仿真技术
通过 Scope 测量仪,还可以自定义测量的量。
1.Angle角度
图 4-53 测量角度
角度的定义为:
d 21 T
d 23
cos 1
| d 21 || d 23 |
其中, d 21 r1 s1 r2 s2 ; d 23 r3 s3 r2 s2 。
2.Point to Point点到点
图 4-54 点间测量
创建点到点波形的步骤为:
(1)打开 Scope Point-to-Point 对话框。
( 2 )设置名称,选择测量的类型(包括: Translational Displacement 、 Translational
Velocity、Translational Acceleration、Rotational Displacement、Rotational Velocity 和 Rotational
第4章 基于 RecurDyn 的机械系统分析 151
Acceleration)。
(3)选择测量的方向或幅值(X,Y,Z,Magnitude)。
(4)依次定义两个 Marker 点,并根据需要指定参考坐标系。
(5)选中 Display 复选框之后,单击 OK 按钮确认。
3.Expression表达式
通过 Post>>Scope>>Expression 命令,可绘制自定义函数表达式的结果,而不需要进入
后处理绘图模式。其方法为:选择 Scope>>Expression 命令,在弹出的 Scope Expression 对
话框中输入名称,单击 EL 按钮,并选择已经定义好的表达式,选中 Display 复选框,单击
OK 按钮确认。
4.Entity实体单元
4.9.3 RecurDyn/Measure
选择 Tools>>Measure 命令,可以测量质量特性、距离、半径和角度等,如图 4-55 所示。
图 4-55 测量工具
1.Mass Property质量特性
图 4-56 质量特性测量
当惯性矩中心移动到部件的质心时,惯性矩计算公式为:
T
J it Ci J i ff CiT mi simf simf I simf simf
T
其中, Ci 是原惯性中心 Marker 点相对于质心 Marker 点的方向矩阵;I 是单位阵。 simf
是原惯性中心相对于质心的位置向量,以质心坐标系为参考坐标系。
如果惯性矩中心从质心移动到其他 Marker 点,那么新的惯性矩计算如下:
t T
J i ff At Ct Ai J i f AiT At Ct mi dtiff dtiff I dtiff dtiff
T T
其中, Ai ——第i个Body的质心Marker点的方向矩阵; At ——目标Body的质心Marker点的
方向矩阵; Ct ——目标Marker点的方向矩阵; dtiff ——目标Marker点到第i个Body质心的距
离向量。相对于目标Marker点坐标系,计算方法为 dtiff At Ct
T
r r A s 。
i t t t
f
2.Distance距离
通过 Tools>>Measure>>Distance 命令,可以测量点与点间的距离,也可以测量边、面、
体之间的距离。
(1)Point Type(点间的距离)
点间的距离测量如图 4-57 所示。计算两点间的距离和方向,如果不指定参考坐标系,
第4章 基于 RecurDyn 的机械系统分析 153
图 4-57 点间距离测量
相对位移计算方法为:
d 21ff Ar Cr r2 r1
T
最小距离
最小距离
图 4-58 特征间距离测量
3.Radius半径
用于测量计算弧线、圆及球面的半径。
4.Angle角度
图 4-59 角度测量
4.10 RecurDyn/Extract萃取中间状态
通过 File>>Extract 命令可以萃取任何仿真状态。该功能有助于建立经历某一过程后的
仿真模型。例如,从总共 5 秒的仿真运动中提取出 2 秒钟的状态,以该状态作为起始点,
开始新的仿真模型。
下面以 3.7.3 节的单摆动力学分析为例,萃取 0.9s 的仿真状态,并在该状态下在一二
级单摆之间增加扭簧(刚度系数 10000,阻尼系数 100),在此基础上运行 3s 的仿真,观
察二级单摆的运动轨迹,并测量扭簧力。
打开 3.7.3 节的模型,如图 4-60 所示,在工具栏中单击“播放”按钮播放动画,在动
画运行至 0.9s 时单击“暂停”按钮。
图 4-60 运行动画
图 4-61 萃取状态
图 4-62 定义扭簧
图 4-63 设置扭簧属性
完成运行 3s 的动力学仿真。
从 Database 栏中选择 Force>>RotationalSpring,右击,在弹出的快捷菜单中选择 Property
命令,在弹出的对话框中单击 Scope 按钮,在弹出的 Scope Entity 对话框中选择 TM_RSDA,
选中 Display 复选框,单击 OK 按钮,如图 4-64 所示。
图 4-64 测量扭簧设置
图 4-65 结果后处理
4.11 曲柄滑块机构分析实例
图 4-66 曲柄滑块机构
第4章 基于 RecurDyn 的机械系统分析 157
4.11.1 建立部件几何体
1.建立固定在大地上的支架
图 4-67 建立接地机架外廓
选择 Professional>>Profile>>Profile,进入剖面编辑模式。在剖面编辑模式中,选择 2D
Line,依次在输入区输入(-100,0)、(-100,-50)、(100,-50)、(100,0)、(30,0)、
(30,-20)、(60,-20)、(60,-40)、(-60,-40)、(-60,-20)、(-30,-20)、(-30,0)、
(-100,0)。在图形工作窗口中右击,在弹出的快捷菜单中选择 Finish Operation 命令,完
成剖面线的创建,如图 4-70 所示。单击工具栏中的 Exit 按钮 ,退出剖面编辑模式。
选择 Professional>>Profile>>Extrude,在图形工作窗口中选择刚刚创建的剖面线,在输
入区输入 250(或在图形工作窗口中用鼠标捕捉(0,250,0)),按 Enter 键确认,创建如
图 4-71 所示的拉伸体。
图 4-72 调整拉伸体位置
2.建立曲柄
图 4-73 建立曲柄
图 4-74 编辑曲柄外形
图 4-75 布尔加运算
图 4-76 调整位置
选择 Professional>>Boolean>>Subtract,在图形工作窗口中依次选择合并体 Unite1 和球
Ellipsoid2,进行布尔减操作,如图 4-77 所示。
选择工作平面为 XZ 平面。选择 Professional>>Solid and Marker>>Cylinder,在选项区
选择(Point,Point,Radius)模式,在输入区中依次输入(10, 0, 170)、(30, 0, 170)、20,
按 Enter 键确认,生成如图 4-78 所示的曲柄外形。
图 4-79 调整曲柄位置
3.建立连杆
选择 Professional>>Body>>Cylinder,在选项区选择(Point,Point,Radius)模式,在输入
区中依次输入(-60, 0, 30)、(290, 0, 50)、7,按 Enter 键确认,生成圆柱体。单击该圆
第4章 基于 RecurDyn 的机械系统分析 161
图 4-80 连杆
单击工具栏的连续自动操作按钮 可取消连续操作。
在图形工作窗口中右击,在弹出的快捷菜单中选择 Exit 命令,退出连杆的实体编辑模式。
4.建立滑块
设置工作平面为 YZ 平面。
选择 Professional>>Body>>Box,在选项区选择(Point,Point,Depth)模式,先后在输入
区中输入(0, -60, -20)、(0, 60, -40)、100,按 Enter 键确认,生成 Box。选择 Box,按
P 键,在弹出的属性对话框中更改 Box 的名称为 Slider。
在数据库区选择 Slider,右击,在弹出的快捷菜单中选择 Edit 命令,进入 Slider 的实
体编辑模式。
选择 Professional>>Solid and Marker>>Box,先后在输入区中输入(0, -30 ,20)、(0, 30,
-20)、100,按 Enter 键确认,生成 Box2。
选择 Professional>>Solid and Marker>>Link,在选项区选择(Point,Point,Depth)模式,
在输入区中依次输入(0,0,50)、(0,0,-10)、20,按 Enter 键确认,生成 Link1。
单击 Link1,右击,在弹出的快捷菜单中选择 Property 命令,在弹出的对话框中设置
First Radius=20,Second Radius=25,单击 OK 按钮确认。
选择 Professional>>Solid and Marker>>Ellipsoid,在输入区中依次输入(0,0,50)、15,
按 Enter 键确认,生成 Ellipsoid1。
选择 Professional>>Boolean>>Unite,在图形工作窗口中依次选择 Link1、Ellipsoid1,
合并成 Unite1。
设置 XZ 为当前工作平面。选择 Professional>>Solid and Marker>>Ellipsoid,在输入区
中依次输入(0,0,50)、15,按 Enter 键确认,生成 Ellipsoid2,并将 Ellipsoid2 沿+X 向平
移 5mm。
选择 Professional>>Boolean>>Subtract,在图形工作窗口中依次选择合并体 Unite1 和球
162 RecurDyn 多体系统优化仿真技术
图 4-81 滑块
图 4-82 滑块方位调整
图 4-83 滑块倒角
图 4-84 滑块位置调整
至此,曲柄滑块机构的部件几何体已全部创建完毕。
选择 File>>Save 命令,保存现有模型至当前工作目录中。
如图 4-85 所示,选择 File>>Export 命令,在弹出的 Export 对话框中,在 File name 框
中输入 Slider_Crank,从 Save as type 下拉列表中选择 ParaSolid Binary File(*.x_t)格式,
单击 Save 按钮,保存为 Slider_Crank.x_t 文件。
图 4-85 几何体导出
下面说明导入外部几何模型的方法。如果不想了解从外部导入几何体的操作,可忽略
下面的描述,直接转入下一节建立约束和驱动的内容。
新建一个名为 Crank_Slider_01 的模型(设置单位制为 MMKS)。选择 File>>Import
命令,在弹出的 Import 对话框中,选择文件类型为 ParaSolid File(*.x_t;*.x_b;…),选
择前面所导出的 Crank_Slider.x_b,单击 Open 按钮,导入几何模型,如图 4-86 所示。
5.合并几何体
图 4-86 几何体导入
图 4-87 合并几何体
图 4-88 命名部件
第4章 基于 RecurDyn 的机械系统分析 165
4.11.2 建立约束和驱动
其中包括:支架和曲柄之间的转动副,曲柄和连杆之间的球铰,连杆和滑块之间的球
铰,滑块和支架之间的平动副,此外还包括曲柄的驱动。如果采用外部导入几何模型的方
式,还需要定义支架 Bracket 和 Ground 之间的固定副。
1.支架和曲柄间的转动副定义
如 图 4-89 所 示 , 从 工具 包 区 选择 Professional>>Joint>>Revolute , 在选 项 区 选 择
(Body,Body,Point,Direction)模式,分别在图形工作窗口中单击 Ground 和 Crank,在屏幕
中捕捉(-70,0,170)和(-20,0,170),然后确认,建立转动副。
图 4-89 定义转动副
2.定义曲柄和连杆间的球铰
选择 Professional>>Joint>>Spherical,在选项区选择(Body,Body,Point)模式,分别在
图形工作窗口中单击 Crank 和 Connecting_Rod,在输入区输入(-60,0,30),然后确认,建
立如图 4-90 所示的球铰。
图 4-90 定义球铰
3.定义连杆和滑块间的球铰
选择 Professional>>Joint>>Spherical,分别在图形工作窗口中单击 Connecting_Rod 和
Slider,在输入区输入( 290,0,50), 然后确认,建立如 图 4-91 所示的连杆和滑块间的
166 RecurDyn 多体系统优化仿真技术
球铰。
图 4-91 定义球铰
4.建立滑块和支架间的平动副
选择 Professional>>Joint>>Translational,在选项区选择(Body,Body,Point,Direction)
模式,分别在图形工作窗口中单击 Ground 和 Slider,在屏幕中捕捉(或者在输入区输入)
(300,0,-20)和(400,0,-20),然后确认,建立如图 4-92 所示滑块与支架间的平动副。
图 4-92 建立平动副
5.定义驱动
6.确认支架固定在大地上
如果想了解机架和大地之间的固定反力,可采用这种方式。
如果采用外部导入几何模型的方式,则进行该步操作,否则略过此步,直接进行后面
的操作。
选择 Professional>>Joint>>Fixed ,在选项区选择(Body,Body,Point)模式,分别在
图形工作窗口中单击 Ground(屏幕中任意没有模型的地方单击)和 Bracket,在屏幕中捕
第4章 基于 RecurDyn 的机械系统分析 167
捉(0,0,0),确定建立支架和大地之间的固定副。
图 4-93 设置驱动
4.11.3 提交分析任务
其中包括:选择分析类型,设置分析参数。
如图 4-94 所示,选择 Analysis>>Dynamic/Kinematic,在弹出的 Dynamic/Kinematic
Analysis 对话框中,设置 End Time=1,Step=200,Plot Multiplier Step Factor=5,单击 Simulate
按钮进行仿真分析。
注意:单击 OK 按钮只是确认该对话框中的仿真设置情况,并不进行分析计算。
图 4-94 提交分析及分析成功报告
4.11.4 分析结果研究
其中包括:曲柄、连杆等的运动轨迹、曲柄转角与滑块位置间的关系曲线。
1.设置轨迹线的显示
图 4-95 显示轨迹
第4章 基于 RecurDyn 的机械系统分析 169
2.绘制曲线、显示轨迹线动画
图 4-96 划分窗口,加载动画
图 4-97 后处理视窗
图 4-98 非时间横轴设置
图 4-99 绘制曲线
170 RecurDyn 多体系统优化仿真技术
图 4-100 改变标题
图 4-101 改变标示
图 4-102 后处理结果
第4章 基于 RecurDyn 的机械系统分析 171
3.结果研究
通过运动中的轨迹线可知:
滑块的运动轨迹显示滑块是一个单自由度的运动。
曲柄的运动轨迹是一个圆,表明是一个旋转运动。
连杆的运动轨迹是一个倾斜的圆,表明连杆的运动是一个旋转运动和一个平移运
动的合成。
4.导出结果数据
图 4-103 导出结果
4.12 4 质量弹簧系统分析实例
图 4-104 4 质量系统
理论解:
1,2,3,4
2
0,(2 2) k m , 2 k m ,(2 2) k m
172 RecurDyn 多体系统优化仿真技术
4.12.1 建立质量块
图 4-105 建立质量块
图 4-106 移动复制的质量块
图 4-107 质量块位置分布
4.12.2 建立连接弹簧
选择 Professional>>Force>>Spring,在选项区选择(Body,Body,Point,Point)模式,依
次在图形工作窗口中选择 m1、m2、(-0.25,0.05,0)、(-0.15,0.05,0),建立 m1 和 m2 之
间的弹簧连接。先后选择 m2、m3、(-0.05,0.05,0)、(0.05,0.05,0)及 m2、m3、(0.15,0.05,0)、
(0.25,0.05,0),分别建立 m2 和 m3 之间以及 m3 和 m4 之间的弹簧连接力,如图 4-108 所示。
图 4-108 建立质量块间弹簧力
图 4-109 设置弹簧力属性
174 RecurDyn 多体系统优化仿真技术
4.12.3 建立质量块和大地之间的平动副
选择 Professional>>Joint>>Translational,在选项区选择(Body,Body,Piont,Direction)
模式,分别选择 m1、Ground(在图形工作窗口空白处单击)、(-0.3,0.05,0)、(-0.4,0.05,0),
建立 m1 和大地之间的平动副;同样,先后选择 m2、Ground、(-0.15,0.05,0)、(-0.4,0.05,0),
建立 m2 和大地间的平动副;选择 m3、Ground、(0.15,0.05,0)、(0.1,0.05,0),建立 m3
和大地间的平动副;选择 m4、Ground、(0.3,0.05,0)、(0.2,0.05,0),建立 m4 和大地间
的平动副。质量块和大地间的平动副如图 4-110 所示。
图 4-110 建立质量块与大地间的平动副
4.12.4 进行特征值分析
图 4-111 输出区结果显示
4.12.5 结果分析
图 4-112 特征值结果
4.13 小 结
机械系统的仿真分析是一个逐步细化的过程,在不同的设计阶段,可采用不同程度的
仿真模型,仿真模型与实际物理模型的等效是关键,需通过认真分析仿真模型的组成元素
来建立与实物模型吻合的仿真模型,根据分析的目的选择相应的求解类型。
5 ᐺ RecurDynෝଆၣ
5.1 接 触 建 模
接触问题(如摩擦和碰撞)是诸多领域的一个普遍性问题,接触分析是机械动力学的
重要环节。很多情况下,机械中各零件之间力的传递是通过两零件的接触来实现的。相互
接触的物体,除了共形面(即两相互接触面的几何形态完全相同,处处贴合)相接触(如
平面与平面相接触)的情况外,还存在着大量的异形曲面相接触的情况。异形曲面在未受
外力时的初始状态有线接触、点接触,可以是外接触,也可能是内接触。在机械系统运动
过程中,接触位置在不断地发生变化,在分析机械系统的动力学、运动学行为时,以接触
力计算为核心的接触分析是不可避免的重要一环。
在刚体机械系统中,相互接触的两个刚体不能互相入侵。也就是说,接触属于一种单
边约束。接触和碰撞往往联系在一起。对于接触、碰撞现象,目前一般采取两种方法进行
求解计算。
恢复系数方法:基于冲量定理认为接触碰撞瞬间完成,有牛顿假设计算恢复系数
和泊松假设计算恢复系数两种方法,牛顿假设利用速度计算恢复系数,而泊松假
设利用冲量计算恢复系数。恢复系数的选取是计算的关键,往往需要借助试验获
得。恢复系数法虽然计算效率高,但无法计算出发生碰撞时的接触碰撞力,速度
为不连续。
连续接触力法:基于惩罚函数,将接触和碰撞现象按连续的动力学问题处理,可
考虑摩擦、计算出碰撞力,较真实地模拟接触碰撞过程。
在刚柔混合机械系统中,需要考虑柔性体的形变,基于惩罚函数的接触计算方法是一
种广泛采用的方法。
5.1.1 RecurDyn接触类型
1.刚体接触
RecurDyn 提供丰富的接触类型供用户根据具体的问题选择最合适的接触方法,目前所
支持的刚体接触类型包括 3 大类 26 种。
第5章 RecurDyn 高级建模技术 177
(1)面面接触(Surface Contact)
面面接触是采用关键面简化复杂的实体接触,可计算外形复杂、任意的接触问题,是
最初的算法。有 Surface To Surface 和 Extended Surface To Surface 两种方式可供选择,其区
别在于作为 Action 的面的离散方式不同。相比于其他接触类型,面面接触的计算速度较慢。
(2)分析接触(Analysis Contact)
分析接触是在接触面的几何形状已知的情况下,所采用的更快的接触计算方法。通常
对于机械系统中用于接触的面的形状并非全然的随意、不可控,对于特定的几何特性,通
过分析其几何形状,减少在接触计算过程中不必要的计算量,可大幅提高接触计算的速度。
目前,RecurDyn 提供了 23 种分析接触类型(如表 5-1 所示),囊括了内接触、外接触等
各种问题。
表 5-1 接触类型
描 述 名 称 描 述 名 称
Circle To Circle 圆—圆外接触 Circle In Circle 圆—圆内接触
Sphere To Sphere 球—球外接触 Sphere In Sphere 球—球内接触
Sphere To Surface 球—面接触 Cylinder To Surface 圆柱—面接触
Curve To Curve 线—线接触 Circle To Curve 圆—线接触
Sphere To Cylinder 球—圆柱外接触 Sphere In Cylinder 球—圆柱内接触
Sphere To Box 球—块外接触 Sphere In Box 球—块内接触
Sphere To Torus 球—圆环外接触 Sphere In Torus 球—圆环内接触
Sphere To Cone 球—圆锥接触 Sphere Arc Extrude 球—圆弧拉伸体接触
Cam2D 凸轮 2D 接触 CamLine2D 凸轮线 2D 接触
Cone To Cone 圆锥—圆锥外接触 Cone In Cone 圆锥—圆锥内接触
Cylinder To Cylinder 圆柱—圆柱外接触 Cylinder In Cylinder 圆柱—圆柱内接触
Sphere Arc Revolution 球—圆弧旋转体接触
(3)实体接触(Solid Contact)
实体接触是 RecurDyn 在不影响计算速度的前提上,为了提高计算稳定性、提高计算精
度而采用的最新接触分析技术。相比较分析接触而言,实体接触的建模过程简化,计算速
度更快,但在接触参数设置方面需要更多技巧。
2.柔性体接触
RecurDyn 在柔性体接触方面也提供了多种类型,如柔性面—柔性面接触、柔性面—刚
性面接触、球—柔性面接触、柔性线—柔性线接触、柔性线—面接触等,具体内容可参见
后面的刚柔混合建模章节。
5.1.2 RecurDyn接触算法
接触计算是一个不断检测的过程,在每一个增量步,都需要先通过检查几何来判断接
178 RecurDyn 多体系统优化仿真技术
触状态是否存在,在确定接触状态的情况下,根据穿透深度及其变化来计算接触力。
1.几何表示(Geometry Representation)
在 RecurDyn 中,根据接触类型的不同,几何有不同的含义,连续几何可以为参数化的
线、参数化的面或简单几何体;离散几何可以是多段线或多片组成的面。
2.检测方法(Detecting method)
3.步进算法(Stepping Algorithm)
4.计算穿透深度(Compute penetration)
最大穿透深度的设定是判定接触生效与否的一个重要依据,当计算过程中实际的穿透
第5章 RecurDyn 高级建模技术 179
深度小于最大穿透深度时,计算接触力;一旦检测到的实际穿透深度大于设定的最大穿透
深度,则接触失效,将不再计算接触力。
图 5-5 最大穿透深度
5.计算接触力(Contact force)
图 5-6 接触力计算模型
指数(当穿入深度很小的时候,接触力会出现负值,可通过采用大于 1 的凹痕指数来避免
这种不符合实际的情况,默认为 0); δ 和 δ 分别表示穿透深度及接触点的相对速度(穿透
深度的导数)。这些参数取决于材料的类型、尺寸等。
6.计算摩擦力(Contact Friction)
RecurDyn 中的接触摩擦力由下面两个方程确定:
f f (v ) | f n |
f f sign( f f ) min(| f f | ,f max )
计算摩擦力的关键是确定摩擦系数,摩擦系数和相对速度有关。如图 5-7 所示,当相
对速度绝对值小于静态门槛速度 Vs 时,摩擦系数在-Vs~Vs 之间插值;当相对速度绝对值
介于静态门槛速度 Vs 和动态门槛速度 Vd 之间时,摩擦系数在 Vs~Vd 和-Vs~-Vd 之间插值;
当相对速度绝对值大于动态门槛速度时,采用动态摩擦系数。
如果用户定义了最大摩擦力,那么所采用的摩擦力根据输入的摩擦力和计算出的摩擦
力比较而得。
图 5-7 摩擦系数和相对速度的关系
5.1.3 RecurDyn常用接触类型
接触建模操作中,选择的顺序非常重要。通常情况下,先选择的一方作为 Base(基础
体),后选的一方作为 Action(作用体)。基础体和作用体不可为同一个物体。
1.Surface Contact
图 5-8 面面接触离散方式
图 5-9 平面容差
UV Precision:如果一个表面由折线或者样条曲线构成,那么接触面的节点数可以
用 UV Precision 控制,从而控制接触的精度。图 5-10 显示了不同 UV Precision 控
制的效果。
U=1,V=1
U=5,V=3
图 5-10 UV Precision 控制
182 RecurDyn 多体系统优化仿真技术
图 5-11 广义面面接触
图 5-12 高级检测
2.5D Contact:如果取消选中此复选框,面方程按照多项式方程计算;选中此复选
框,则意味着采用 Hermitian 厄密共轭多项式计算。
第5章 RecurDyn 高级建模技术 183
2.Solid Contact实体接触
图 5-13 实体接触封闭状态
图 5-14 总体最大穿深、局部最大穿深及边界穿深设置
三角形碎片。
Bounding Buffer Length:在检测接触碰撞之前,先在定义接触的两者界框间执行预
搜索,界限缓冲长度定义如图 5-18 所示,为相对于实际界框(Real Bounding Box)
的偏置长度。
转动副,驱动
Base 固定副
Base Base
图 5-19 Base 和 Action 的选择
提高球体表面的容
许误差系数;
降低柱体表面的容许误差系数; 降低圆柱面的容许
提高半球体面的容许误差系数。 误差系数。
图 5-20 容差系数设定
规则 3:接触失效的处理。
当从结果判断接触失效或仿真结果不够好时,建议采用下列措施。
首先检查 Action/Base 的选择是否合理;检查质量属性,如果质量很大(高于 100kg),
建议提高刚度和阻尼。如果质量很小(小于 0.01kg),建议降低刚度和阻尼;检查模型配
置,修改接触参数;修改求解参数,如最大时间步、初始时间步及容许误差等。
②特殊规则
规则 1:紧贴凹凸接触问题(如图 5-21 所示)。
非紧贴凹凸接触
紧贴凹凸接触 注意:方框部位不能倒角
图 5-21 紧贴凹凸接触
186 RecurDyn 多体系统优化仿真技术
紧贴凹凸接触:在接触区域出现凹面和图面紧紧贴合状态的接触。
Global Max Pen.(GMP)和 Local Max Pen.(LMP)项建议采用“#AUTO”(自动)
设置;在 GMP 和 LMP 自动设置的计算结果不够好的情况下,再手动修改输入值。修改
GMP 和 LMP 可以参考如下方式:
提高 GMP 或 LMP 的值为原来的 1.5 或者 2 倍。
降低 GMP 或 LMP 的值为原来的 70%或 50%。
如果手动修改 GMP 和 LMP 并未获得满意的仿真结果,建议在考虑摩擦(摩擦可提高
接触计算的稳定性)的基础上调整 GMP 和 LMP。
如果考虑摩擦未起到真正改善仿真结果的目的,可尝试修改几何模型以避免紧贴凹凸
接触构型。
规则 2:大面接触问题(Wide Surface Contact Problems)。
大面接触:接触区域的面积很大。可以从 Global Max Pen.和 Local Max Pen.及考虑摩
擦方面着手进行模型调试。
3.Analysis Contact分析接触
分析接触的类型很多,采用哪种形式的分析接触必须依赖于模型所包括的几何。分析
接触的建模过程相对较为简单,在此简单介绍几种分析接触。
(1)Sphere to Arc-Revolution Contact(球-弧线旋转体的接触)
如图 5-22 所示为球-弧线旋转体接触,其中球体为作用实体,弧线旋转体为基础实体。
其创建步骤必须遵循:先选基础体(弧线旋转体),再选择弧线圆心,然后再选择方向(弧
线旋转的轴向),最后选择作用体球。
图 5-22 球-弧线旋转体接触
第5章 RecurDyn 高级建模技术 187
图 5-23 球-弧线拉伸体接触
图 5-24 线-线接触
起始点
起始点 中间点
图 5-26 圆-线接触
(5)Cam2D Contact
Cam2D Contact 如图 5-27 所示,用于定义二维空间中圆(或球体)与曲线的光滑接触;
尤其在基础体曲线是凸凹组合曲线时,可获得非常光滑的接触力,不存在因几何的近似而
带来的误差。该类接触只支持一个穿深最大的接触点。
Interpolation Type(插值法类型)可以从三阶和五阶多项式选择。
第5章 RecurDyn 高级建模技术 189
(6)CamLine2D Contact
CamLine2D Contact 如图 5-28 所示,用于定义二维空间中直线与曲线的接触,基础体曲
线是拟和曲线,需要是闭合曲线,类似凸轮的形状。该类接触只支持一个穿深最大的接触点。
5.1.4 同时创建多个接触
在接触建模过程中,可以通过一次操作定义多个接触。在选择接触类型后,从选项区
选择适合创建多个接触的输入类型,按照顺序逐次选择,完成多个接触的同时创建。多个
接触同时创建的选择方式如下:
基础体,多个作用体。
基础体,作用体;基础体,作用体……
多个基础体,多个作用体。
多个球体。
多个圆柱体。
实体,实体(广义面-面接触)。
壳,壳(广义面-面接触)。
5.1.5 曲柄滑块机构实体接触分析实例
该例题采用前面章节的曲柄滑块模型,在滑块和机架之间建立接触代替平动副。在该
例题中主要研究滑块与机架在 Z 方向的接触力,所以在滑块和机架之间定义平面副限制 Y
方向的运动。
启动 RecurDyn,选择 File>>Open 命令,选择 4.11 节已经创建的 Slider_Crank_01.rdyn
文件;选择 File>>Save as 命令,另存为 Slider_Crank_Contact.rdyn。
1.滑块和机架间平面副
选择 Professional>>Joint>>Planer,从选项区选择(Body,Body,Pint,Direction),在图形
工作窗口先后选取与滑块接触的机架 Ground 、滑块 Slider ,在图形工作窗口中捕捉点
(300,0,-20),选取点(300,0,-20)处的 Marker 点的 Y 轴,建立平面副,如图 5-29 所示。
图 5-29 取消平动副,建立平面副
2.滑块和机架间的实体接触分析
选择 Professional>>Contact>>Solid,从选项区选择(Solid(Shell),Solid(Shell)),
先后在图形工作窗口中选取与滑块接触的机架 Ground 和滑块 Slider,定义滑块和机架之间
的接触,在数据库窗口中的 Contact 项中增加 SolidContact1,在此保持接触属性的默认设置。
选择 Analysis>>Dynamic/Kinematic Analysis 命令,单击 Simulate 按钮运行仿真。
在输出区显示分析顺利完成之后,单击工具栏中的 Plot Result 按钮 ,进入后处理。
从后处理数据库窗口中选择 Contact>>SolidContact1>>FM_SolidContact 并双击,如图 5-30
所示,从接触力曲线可知接触力在 0.4~0.5s 间振荡太大,需要继续调整模型。
图 5-30 实体接触及接触力曲线
第5章 RecurDyn 高级建模技术 191
3.更改接触属性
在后处理界面中,通过工作窗口左下角的 ,选取该窗口中的
Slider_Crank_contact.rdyn,从后处理切换至模型界面。
从数据库窗口中选择 SolidContact1 ,按 P 键,在弹出的接触属性对话框中选择
Characteristic 选项卡,选中 Local Max Pen.复选框,并将其值改为 3,然后单击 OK 按钮确
认,如图 5-31 所示。
图 5-31 设置局部最大穿深
单击工具栏中的 按钮,运行分析。仿真完成后,重新进入后处理界面,在数据库窗
口中逐级选择 Contact>>SolidContact1>>FM_SolidContact,双击 FM_SolidContact,结果如
图 5-32 所示。显然,接触力曲线较为光滑。
图 5-32 接触力曲线
5.2 RecurDyn参数化建模
参数化建模是通过仿真获得优化设计的基础。在建立仿真模型时,需要根据分析的目
192 RecurDyn 多体系统优化仿真技术
的确定出关键的需要通过仿真确定的变量,将这些量通过参数化表示,只需改变这些量而
不必更动模型中其他细节,即可快速地获得一系列设计方案的虚拟样机模型。RecurDyn 的
参数化建模是通过参数化点及参数化值来实现的,通过参数化点(Parametric Point,PP),
可以控制系统的结构布局;通过参数化值(Parametric Value,PV),可以控制模型的属性
及配置。在 RecurDyn 中,可以创建 PP 及 PV,也可以有效地利用软件所提供的以 PP 或
PV 表示的参数化量。参数化建模是优化的基础,可以人工手动调整参数化量来实现多方案
的设计筛选,亦可以通过参数化量建立优化模型的设计变量,通过性能指标的控制,通过
RecurDyn 优化模块实现自动优化的目的。RecurDyn 专用工具包中提供了诸多特殊参数化
点(SPP)和特殊参数化值(SPV),广泛应用于自动参数化建模。
1.参数化点PP
在创建参数化点(Parametric Point,PP)时,需要指定参考系,参考系一旦改变,与
此参数化点有关的点都相应地改变。
通过参数化点建立的参数化模型,只需改变参数化点的坐标即可快速地改变结构的布
局。例如,汽车的麦弗逊悬架系统包含了一个拓扑结构,不同车型之间悬架结构配置不同,
可以将悬架系统中的硬点定义为参数化点,修改参数化点就可以自动修改其布局位置。
创建参数化点的方法为:
如图 5-33 所示,选择 Subentity>>Parametric Point 命令,在弹出的 Parametric Point List
对话框中,通过单击 Add 按钮添加参数化点,包括参数化点的名称、坐标及相对参考点(默
认为惯性坐标系)。参数化点的坐标可以直接输入或在 RecurDyn 图形工作窗口通过鼠标选
取(通过 Pt 按钮实现);如果需要把参数化点输出至*.rdp 文件中,则需要在 DP 项中勾选。
当然,也可删除已经创建的参数化点或插入新的参数化点。可通过该对话框中的 Import 和
Export 按钮导入和导出参数化点;如果选中 With Relation 复选框,参数化点及其相互之间
的关系也将在导入*.rpp 文件时一并导入。
名称 坐标 参考点
图 5-33 建立参数化点
2.参数化值PV
参数化值(Parametric Value,PV)用于实现字符串与实数值的关联。例如,可通过参
数化值定义 Body 的质量 M,可以在参数化值对话框中为字符 M 赋实数值。参数化值在使
用前必须先定义。RecurDyn 中凡是界面上有 PV 按钮的参量,均可以用参数化值来表示。
通过单击 PV 按钮,即可选择已经定义的参数化值。
参数化值的定义必须与表达式关联。创建方法为:如图 5-34 所示,选择 Subentity
>>Parametric Value 命令,在弹出的 Parametric Value List 对话框中单击 Add 按钮,添加参
数化的值,包括名称及关联的表达式;通过单击 E 按钮关联参数化值表达式。如果需要把
参数化值输出至*.rdp 文件中,则需要在 DP 项中勾选。当然,也可删除已经创建的参数化
值或插入新的参数化值。可通过该对话框中的 Import 和 Export 按钮导入、导出参数化值;
如果选中 With Relation 复选框,参数化值及其相互之间的关系也将在导入*.rpv 文件时一并
导入。
名称 数值
图 5-34 建立参数化值
图 5-35 关联参数化值的例子
3.参数化点连接器PPC
名称 坐标 参考
图 5-36 参数化点连接器
4.参数化值连接器PVC
5.3 弹球接触仿真实例
该例题描述的是通过仿真进行弹球机设计开发的过程:球 1 在弹簧的作用下获得能量,
第5章 RecurDyn 高级建模技术 195
5.3.1 建立几何模型
1.建立固定于大地上的弹球轨道
图 5-37 建立轮廓线
图 5-38 建立弧线并退出大地编辑模式
2.创建球体
选择 Professional>>Body>>Ellipsoid,在选项区设置输入方式为(Point,Distance),
在屏幕中选取(10,10,0)为中心点及(10,20,0)以确定半径为 10,创建小球 1;在屏幕中
选取(40,10,0)为中心点及(40,20,0)以确定半径为 10,创建小球 2;在屏幕中选取(320,40,0)
为中心点及(320,50,0)以确定半径为 10,创建小球 3。
在数据库窗口中选取 Body1,右击,在弹出的快捷菜单中选择 Rename 命令,将名称
改为 Ball_1;同样将 Body2 更改为 Ball_2;将 Bady3 更名为 Ball_3。
建立好图 5-39 所示的球体之后,选择 File>>Save 命令保存。
图 5-39 建立球体
5.3.2 建立弹簧力
选择 Professional>>Force>>Spring,在选项区设置输入模式为(Body,Body,Point,Point),
在图形工作窗口空白处右击,在弹出的快捷菜单中选择 Ground 命令,单击 Ball_1,先后选
择(-20,10,0)及(10,10,0),建立 Ball_1 和大地间的弹簧连接。
单击工具栏中的“选择”按钮 ,选择刚刚创建的弹簧力 Spring1,按 P 键,在弹出的
如图 5-40 所示的对话框中,设置刚度系数 Spring Coefficient=20 ,阻尼系数 Damping
Coefficient=0.05,自由长度 Free Length=45,然后单击 OK 按钮确认。
图 5-40 建立弹簧力
第5章 RecurDyn 高级建模技术 197
5.3.3 建立接触
1.定义球与球间的接触,在此采用Analysis接触
2.定义弹球与轨道间的接触
图 5-41 接触法线方向及接触属性设置
选择 Professional>>Contact>>>Circle To Curve,在选项区选择输入模式为(Multicurve,
Multicircle(sphere)),依次选择依附于大地 Ground 上的所有弧线和直线后,单击工作平
面右上角的 Done1,单击 Ball_2,并单击右上角的 Done2,完成 Ball_2 与轨道的接触定义。
从数据库窗口中分别选取 CircleToCurve2~CircleToCurve8,在打开的如图 5-42 所示接
触属性对话框中选择 CircleToCurve 选项卡,依次检查并确保 Curve 的法向与 Ball_2 相向,
否则在 Normal Direction 中,通过 Up 和 Down 的选择保证方向正确。单击 Base Curve Segment
按钮,在弹出的 Base Curve Segment 对话框中,设置 Curve Segments=20,单击 OK 按钮确
198 RecurDyn 多体系统优化仿真技术
图 5-42 接触属性设置
选择 Professional>>Contact>>>Circle To Curve,在选项区中选择(Curve,Circle(Sphere))
模式,先后选择 Ball_3 下面的曲线和 Ball_3,创建 CircleToCurve9。选择 CircleToCurve9,
右 击 , 在 弹 出 的 快 捷 菜 单 中 选 择 Property 命 令 , 在 弹 出 的 接 触 属 性 对 话 框 中 选 择
CircleToCurve 选项卡,确保 Curve 方向指向 Ball_3,否则在 Normal Direction 中,通过 Up
和 Down 的选择保证方向正确。选择 Characteristic 选项卡,设置 Spring Coefficient=100,
Damping Coefficient=0.2,Firction Coeffieicient=0.1,单击 OK 按钮确认。
选择 File>>Save 命令保存。
5.3.4 初步仿真
5.3.5 参数化弹簧自由长度
图 5-43 参数化弹簧自由长度
5.3.6 参数化控制仿真分析
图 5-44 调整参数化值
200 RecurDyn 多体系统优化仿真技术
注意:保存模型 Pinball.rdyn,以方便后面优化章节使用。
5.4 RecurDyn函数表达式
函数表达式在多体系统建模仿真时具有非常重要的作用,诸如定义非常复杂的驱动、
通过表达式实现某种控制、测量需要的量、控制输入或输出、优化设计的目标函数或约束
方程等。RecurDyn 中的函数包括系统提供的函数和用户自定义的函数,在此简要介绍软件
系统所提供的函数。
RecurDyn 的有效表达式可通过基本函数组合而成,但表达式不能造成歧义,如 sin
(time)*-5.0 是无效的,正确的表达方式为 sin(time)*(-5.0)。
5.4.1 创建函数
图 5-45 建立函数表达式
第5章 RecurDyn 高级建模技术 201
名称文本框
表达式列表框
通过 ID 号来对应
可用函数区 具体变量 双击
图 5-45 建立函数表达式(续)
值得说明的是:
可以将“-”作为表达式的第一个字符。
函 数 Function(Marker1,Marker2,…) , 自 变 量 是 Marker 点 的 名 称 , 格 式 为
bodyname.markername。如果要用到子系统中的 Marker 点,Marker 的名称格式则
为 bodyname.markername@subsystemname,如 DM(Body1.Marker1,Ground.Marker1)。
变量可以是参数化点。
5.4.2 在函数表达式中引用参数化点分量
图 5-46 表达式引用参数化点
5.4.3 在函数表达式中使用变量
表达式中的变量可用变量名表示,如 Function(Body1.Maker1,Ground.Marker2);也可以
202 RecurDyn 多体系统优化仿真技术
图 5-47 表达式中的变量
5.4.4 引用函数
5.5 RecurDyn函数类型
5.5.1 数学函数
数学函数用于对标量或矩阵进行数学运算操作,当输入变量为标量时函数返回值为标
量,当输入变量为矩阵时,其返回值就为矩阵。RecurDyn 提供的数学函数包括基本函数、
三角函数以及取整函数。
1.基本函数
表 5-2 基本函数
名 称 功 能
ABS(x) 计算表达式 x 的绝对值
DIM(x,y) 当 x-y>0 时,返回 x-y;当 x-y≤0 时,返回 0
EXP(x) 计算表达式 X 的自然指数值
LOG(x) 计算表达式 X 的自然对数值
LOG10(x) 计算表达式 X 的常用对数(以 10 为底数)
第5章 RecurDyn 高级建模技术 203
续表
名 称 功 能
MAX(A1,A2,{A3}) 求 A1,A2,A3 的最大值,A1,A2,A3 必须为同一类型(整数或实数)
MIN(A1,A2,{A3}) 求 A1,A2,A3 的最小值,其中 A1,A2,A3 必须为同一类型(整数或实数)
MOD(A, P) 求 A 对 P 的余数,正负号与 A 一致
SIGN(A,B) 符号函数,当 B>0 时,返回 ABS(A),当 B<0 时,返回- ABS(A)
SQRT(x) 计算表达式 x 的平方根
2.三角函数(弧度制)
表 5-3 三角函数
函 数 功 能
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(y, x) 计算表达式 y,x 的四象限反正切值
3.取整函数
表 5-4 取整函数
函 数 功 能
AINT(x) 对数值表达式 x 向绝对值小的方向取整
ANINT(x) 对数值表达式 x 向绝对值大的方向取整
5.5.2 IF函数
IF 函数是条件判断函数,根据条件的不同,返回不同的结果。其语法为:
204 RecurDyn 多体系统优化仿真技术
图 5-48 IF 函数举例
5.5.3 插值函数
1.样条插值函数
插值函数的语法为:
AKISPL(x,z,modelname.curvename,order)
x 为 x 轴自变量。
z:z 轴的插值,但必须设为 0。
modelname.curvename:样条曲线名称。
order:可选的微分阶数,通常取 0。
例如,若描述 model1.spline1(y=2+x2)的数据点为:
0 2
0.1 2.01
0.2 2.04
0.3 2.09
0.4 2.16
0.5 2.25
0.6 2.36
0.7 2.49
0.8 2.64
那 么 , 力 的 表 达 式 AKISPL(time,0,model1.spline1,0) 表 示 力 随 时 间 的 关 系 通 过
第5章 RecurDyn 高级建模技术 205
2.创建样条曲线
图 5-50 创建样条函数
图 5-51 样条曲线
5.5.4 变量方程和微分方程
RecurDyn 提供的变量方程和微分方程为:
VARVAL(model name.variable equation name):返回状态变量的值;
DIF(model name.differential equation name):返回状态变量的值;
DIF1(model name.Differential equation name):返回状态变量的微分。
注意:VARVAL()和 DIF()函数的自变量不同。
5.5.5 时间函数Time
在 RecurDyn 中,时间函数的语法为:
TIME
返回仿真时间的值。
Time Offset:时间偏置。将所有表达式中的时间函数值进行延时,有助于从仿真过程
中萃取丢失时间原点的模型,因提取出的模型都是从 0 时刻开始的,借助 Time Offset 可以
将表达式延时至时间原点。
在批处理过程中,当关键词 TIME 出现时,Time Offset 起作用。例如:
RecurDyn.exe Sample.rdyn/rss Sample.rss/TIME 0.2
5.5.6 一般函数
表 5-5 一般函数及其一阶微分和二阶微分函数
函 数 名 含 义 一 阶 微 分 二 阶 微 分
BISTOP 双侧接触函数 DBISTOP DDBISTOP
CHEBY 计算切比雪夫多项式 DCHEBY DDCHEBY
FORCOS 计算傅里叶余弦级数 DFORCOS DDFORCOS
FORSINE 计算傅里叶正弦级数 DFORSINE DDFORSINE
HAVSIN 定义半正矢阶跃函数 DHAVSIN DDHAVSIN
IMPACT 单侧接触函数 DIMPACT DDIMPACT
POLY 计算标准多项式 DPOLY DDPOLY
SHF 计算简谐函数 DSHF DDSHF
STEP 3 次多项式逼近阶跃函数 DSTEP DDSTEP
1.3 次多项式逼近阶跃函数:STEP(x,x0,h0,x1,h1)
该表达式用于定义一个光滑的阶跃函数,其含义介绍如下。
当 x≤x0 时,STEP=h0。
当 x0≤x≤x1 时,STEP h0 ( h1 h0 ) ( x x0 ) ( x1 x0 ) 3 2 ( x x0 ) ( x1 x0 ) 。
2
当 x≥x1 时,STEP=h1。
其中,x 为自变量,可以是时间或时间的任一函数;x0 为自变量的 STEP 函数开始值,
可以是常数、函数表达式或设计变量;x1 为自变量的 STEP 函数结束值,可以是常数、函
数表达式或设计变量;h0 为 STEP 函数的初始值,可以是常数、设计变量或其他函数表达
式;h1 为 STEP 函数的最终值,可以是常数、设计变量或其他函数表达式。
例如,Step(time,0,1,1,6)的曲线如图 5-54 所示。
208 RecurDyn 多体系统优化仿真技术
图 5-54 Step 函数
SHF a sin( ( x x0 ) ) b
其中:x 为自变量;x0 为初始相位角;a 为正弦函数的幅值; 为频率; 为相位偏移;
第5章 RecurDyn 高级建模技术 209
b 为谐函数的平均位移。
例如:
SHF(time,0,1,pi(),0,2)=sin(π*time)+2
6.傅里叶正弦函数: FORSIN( x, x0 , , a0 , a1 , , a30 )
n
F ( x) a0 a j T j ( x x0 ) 0≤j≤n
j 1
其中, T j ( x x0 ) sin( j ( x x0 )) .
其 中 , x 为 自 变 量 ; c0, c1, c2 为 切 比 雪 夫 多 项 式 的 系 数 ;
T j ( x x0 ) 2 ( x x0 ) T j 1 ( x x0 ) T j 2 ( x x0 ) , T0 ( x x0 ) 1,T1 ( x x0 ) x x0 。
例如,CHEBY(time, 1, 1, 1, 1)表示:
C(x)=1*1+1*(time-1)+1*(2*(time-1)2-1)=time+2*time2-4time+2-1 =2*time2-3time+1
9.半正矢阶跃函数: HAVSIN( x, x0 , h0 , x1 , h1 )
该函数所表达的含义为:
当 x≤x0 时, HAVSIN h0 。
当 x0≤x≤x1 时, HAVSIN= h0 +h1 2 h1 -h0 2 *sin[π * ( x x0 ) ( x1 x0 ) π 2] 。
当 x≥x1 时, HAVSIN h1 。
例如,HAVSIN(time, 1, 1, 3, 2)曲线如图 5-55 所示。
HAVSIN=1 x≤x0
=1.5+0.5*sin[pi*(time-1)/2-pi/2] x0≤x≤x1
=2 x≥x1
210 RecurDyn 多体系统优化仿真技术
图 5-55 半正矢阶跃函数
5.5.7 位移函数
RecurDyn 的位移函数包含三大类:线位移函数、角位移函数和欧拉角分量。
在 RecurDyn 的位移函数中,需要通过 Marker 点(如图 5-56 所示)来指定自变量及参
考方向。通常包括 Action Marker 点、Base Marker 以及参考 Marker,其格式如下。
图 5-56 Marker 点
(m1,m2,{m3})
即
(bodyname.markername,bodyname.markername,{bodyname.markername})
其中,m1 为 Action Marker;m2 为 Base Marker;m3 为可选项,表示参考 Marker。在
位移函数表达式中,{}中的内容为可选项,如果可选项为空,则表示为惯性参考系。
1.线位移函数DM、DX、DY、DZ
表 5-6 线位移函数
函 数 含 义 功 能
DM Rm1 Rm1 Rm1 Rm 2
1/ 2
DM(m1{,m2}) 返回位移幅值
DX(m1{,m2}{,m3}) DX = Rm1 Rm2 xm3 返回 X 向位移分量
第5章 RecurDyn 高级建模技术 211
续表
函 数 含 义 功 能
DY(m1{,m2}{,m3}) DY = Rm1 Rm 2 ym3 返回 Y 向位移分量
DZ(m1{,m2}{,m3}) DZ = Rm1 Rm2 zm3 返回 Z 向位移分量
2.角位移函数AX、AY、AZ(弧度单位)
图 5-57 角位移
表 5-7 角位移函数
函 数 含 义
AX(m1{,m2}) AX =ATAN 2 ym1 zm2 , ym1 ym2
AY(m1{,m2}) AY =ATAN 2 zm1 x m2 , zm1 zm1
AZ(m1{,m2}) AZ =ATAN 2 x m1 ym2 , x m1 x m2
图 5-58 角位移举例
如果要将角度限定在-180~180 度之间,函数表达式:
MOD(AZ(m1,m2)-PI,360d)+PI (弧度)
(MOD(AZ(m1,m2)-PI,360d)+PI)*RTOD (角度)
如果想达到在转到 3 圈后自动停止计算的效果,可以先定义表达式 AZ(m1,m2)
*RTOD/360>3,然后在 Dynamic/Kinematic Analysis 对话框中的 Stop Condition 仿
真终止条件下拉列表中选择该表达式。
3.欧拉角分量函数
表 5-8 欧拉角分量函数
函 数 含 义
Psi(m1{,m2}) 3-1-3 欧拉角的第一个旋转分量 (进动角)
Theta(m1{,m2}) 3-1-3 欧拉角的第二个旋转分量 (章动角)
Phi(m1{,m2}) 3-1-3 欧拉角的第三个旋转分量 (自转角)
Yaw(m1{,m2}) 3-2-1 Yaw-Pitch-Roll 的第一旋转角
Pitch(m1{,m2}) 3-2-1 Yaw-Pitch-Roll 的第二旋转角
Roll(m1{,m2}) 3-2-1 Yaw-Pitch-Roll 的第三旋转角
5.5.8 速度函数
1.平动速度
表 5-9 平动速度函数
函 数 含 义 功 能
VM = Vm1 Vm 2 Vm1 Vm 2
1/ 2
VM(m1{,m2}) 相对速度幅值
VR =
Vm1 Vm2 Rm1 Rm2
VR(m1{,m2}) 相对速度(矢量)
DM m1, m2
VX(m1{,m2}{,m3}) VX = Vm1 Vm2 xm3 X 分量
VY(m1{,m2}{,m3}) VY = Vm1 Vm2 ym3 Y 分量
VZ(m1{,m2}{,m3}) VZ = Vm1 Vm2 zm3 Z 分量
2.角速度
表 5-10 角速度函数
函 数 含 义 功 能
WM = m1 m 2 m1 m 2
1/ 2
WM(m1{,m2}) 角速度幅值
WX(m1{,m2}{,m3}) WX = m1 m2 xm3 绕 X 轴的角速度
WY(m1{,m2}{,m3}) WY = m1 m2 ym3 绕 Y 轴的角速度
WZ(m1[,m2] [,i3]) WZ = m1 m2 zm3 绕 Z 轴的角速度
5.5.9 加速度函数
1.平动加速度
表 5-11 平动加速度函数
函 数 含 义 功 能
ACCM = am1 am 2 am1 am 2
1/ 2
ACCM(m1{,m2}) 速度幅值
ACCX(m1{,m2}{,m3}) ACCX = am1 am2 xm3 绕 X 轴的速度
ACCY(m1{,m2}{,m3}) ACCY = am1 am2 ym3 绕 Y 轴的速度
ACCZ(m1{,m2}{,m3}) ACCZ = am1 am 2 zm3 绕 Z 轴的速度
2.角加速度
表 5-12 角加速度函数
函 数 含 义 功 能
WDTM = m1 m 2 m1 m 2
1/ 2
WDTM(m1[,m2]) 角加速度幅值
WDTX(m1{,m2}{,m3}) WDTX = m1 m2 xm3 绕 X 轴的角加速度
WDTY(m1{,m2}{,m3}) WDTY = m1 m2 ym3 绕 Y 轴的角加速度
WDTZ(m1{,m2}{,m3}) WDTZ = m1 m2 zm3 绕 Z 轴的角加速度
5.5.10 力函数
1.平动力(FM、FX、FY、FZ)
表 5-13 平动力函数
函 数 含 义 函 数 含 义
FM(m1, m2) 幅值 FY(m1, m2{,m3}) Y 分量
FX(m1, m2 {,m3}) X 分量 FZ(m1, m2 {,m3}) Z 分量
2.力矩(TM、TX、TY、TZ)
表 5-14 力矩函数
函 数 含 义 函 数 含 义
TM(m1, m2) 幅值 TY(m1, m2{,m3}) Y 分量
TX(m1, m2 {,m3}) X 分量 TZ(m1, m2 {,m3}) Z 分量
3.特定力函数
特定力的使用语法为:
FUNCTION(Name,Flag,Comp, Rm)
Name:为特定力的名称。
Flag:当其值为 0 时,力施加在 Action Marker;当值为 1 时,力施加在 Base Marker。
Comp:其取值在 1~8 之间,1 为 FM,2 为 FX,3 为 FY,4 为 FZ,5 为 TM,6
为 TX,7 为 TY,8 为 TZ。
Rm:参考 Marker 的名称,力的返回值是以参考系为基准的矢量。
特定力的适用函数包括:
JOINT:Revolute Joint, Translational Joint, Spherical Joint, Cylindrical Joint, Universal
Joint, Planar Joint, Screw Joint, Fixed Joint, Atpoint Joint, Orientation Joint, Distance
Joint, Inline Joint, Inplane Joint, Parallel Joint, Perpendicular Joint, Constant Velocity
Joint。
PTCV:PTCV。
CVCV:CVCV。
AXIAL:Axial Force, Rotational Axial Force。
TFORCE:Translational Force。
RFORCE:Rotational Force。
SCREWFORCE:Screw Force。
BEAM:Beam Force。
BUSH:Bushing Force。
SPRING:Spring Force, Rotational Spring Force。
第5章 RecurDyn 高级建模技术 215
MATRIXFORCE:Matrix Force。
CONTACT:Contact Force。
MOTION:Driving Force of Motion。
JFRICTION:Friction Force of Joint。
COUPLER:Driving or Driven Force of Coupler(flag 0:Driving Joint;flag 1:1st
Driven Joint;flag 2;2nd Driven Joint)。
GEAR:Driving or Driven Force of Gear(flag 0:1st Joint;flag 1:2nd Joint)。
例如,Motion(Joint1,0,5,Body1.marker1),表示施加在转动副 Joint1 的 Action Marker 上
的扭矩 TM,其中 Joint1 为转动副。
4.Sheet3D的节点接触力函数
语法:
SHT3D_CF(name,nodeid,flag,comp, rm)
Name:MTT3D 中的纸张或 sheet shell 的名称。
Id:节点的 id 号。
Flag:当值为 0 时,返回施加在节点上的各个接触力的累加值;
Comp:其取值在 1~8 之间,1 为 FM,2 为 FX,3 为 FY,4 为 FZ,5 为 TM,6
为 TX,7 为 TY,8 为 TZ。
RM:参考 Marker。
5.5.11 应力、应变函数Stress/Strain
应力、应变函数适用于有柔性体的模型,用于后处理过程。其语法为:
STRESS(node ID, type, Rm):返回应力值。
STRAIN(node ID, type, Rm):返回应变值。
Node ID 为柔性体节点 ID。
Rm 为参考坐标系的 Marker 点。
Type 为应力、应变的类型。对于 Strain,有基本应变(6 个方向)和冯·米塞斯应
变;对于 stress,提供基本应力(6 个方向)、主应力(第 1、2、3 主应力)和冯·米
塞斯应力。
例如,FflexBody1 上节点编号为 6 的节点 X 向(相对于大地坐标系)的应力表示为
STRESS(FflexBody1.Node6,S1,Ground.InertiaMarker);也可通过变量列表和简化的表达式表
示为 STRESS(1,S1,2),其中变量 1 和变量 2 通过变量列表表示,如图 5-59 所示。
图 5-59 应力函数举例
216 RecurDyn 多体系统优化仿真技术
5.6 RecurDyn输出请求
5.6.1 RecurDyn输出请求类型
图 5-60 建立输出请求
图 5-61 输出请求类型
1.Standard Request(标准请求)
角仅适用于位移输出请求的显示。
Action、
Base 及 Reference 分别用于指定作用 Marker 点、基础 Marker 点以及参考 Marker
点。作用 Marker 点的方向按照 313 欧拉角表示,与参考点无关。如果没有选择基础 Marker
点或者参考 Marker 点,则采用默认的惯性坐标系。
2.Expression Request(表达式请求)
表达式请求输出与表达式相关,单击 EL 按钮,在弹出的表达式列表对话框中选择已
有的表达式,或根据需要定义表达式。
3.User Request(用户子程序请求)
通过用户子程序输出对话框中的 UL 按钮,可以把用户子程序与输出请求关联起来。
4.RFLEX Request(RFLEX请求)
5.6.2 输出请求举例
如图 5-62 所示,由两个构件组成的简单系统,两个构件之间通过转动副相连,构件 1
和大地之间通过转动副连接,在重力(-Y 向)的作用下,构件 2 在运动过程中不停地晃动,
通过输出请求了解在运动过程中构件 2 和构件 1 的质心相对距离变化情况。通过力的控制
实现构件 2 保持近似水平状态下,了解构件 2 和构件 1 之间的相对位置。
图 5-62 输出请求举例
图 5-63 建立输出请求
图 5-64 输出请求结果显示
图 5-65 建立轴向力
图 5-66 调整后的输出请求结果
5.6.3 特定力的输出简例
图 5-67 特定力简例
220 RecurDyn 多体系统优化仿真技术
具体操作如下:
(1)选择 Subentity>>Expression,在弹出的 Expression List 对话框中单击 Create 按钮,
在弹出的 Expression 对话框中建立函数表达式,在 Name 文本框中输入 CmotionForce,在
函数文本框中输入 Motion(Joint1,0,5,Body1.marker1)。
(2)以同样方法建立弹簧力函数:SpringForce=spring(Spring1,0,1, Ground.InertiaMarker)。
(3)选择 Subentity>>Request,在弹出的 Request List 对话框中选择 Expression 选项
卡,单击 Create 按钮,在打开的 Expression Request 对话框中分别单击 F1 和 F2 行的 EL 按
钮,选择 CmotionForce 和 SpringForce,连续单击 OK 按钮确认。
(4)运行 End Time=5s、Step=100 步的仿真分析,可以获得转动驱动力和弹簧力,如
图 5-68 所示。
图 5-68 特定力输出结果
5.7 RecurDyn子系统建模技术
若干零件(独立加工的单元体)通过运动副构成构件(相对运动的单元体),若干构
件通过连接形成机构,若干机构组合装配成为机械系统。例如,发动机系统由配气机构、
曲柄连杆机构等组成,曲柄连杆系统由活塞连杆、曲轴等组成,活塞连杆由活塞、连杆等
零件组成。对于复杂系统,往往可以解耦成若干相对简单的次级系统。在实际的新产品研
发中,利用子系统的继承性可以降低成本。同样,在建立虚拟样机的分析模型时,也可以
借用子系统的概念将一个完整的系统分成若干个子系统,每个子系统又有次级子系统,且
子系统间可互通关联又保持相对的独立性,这样可以提高模型的利用率,同时通过层次分
明的逻辑关系降低模型的出错率。
RecurDyn 的子系统(Subsystem)概念在复杂机械系统建模分析中具有不可忽视的作
用,对于复杂系统,可根据系统组成及部件之间的连接关系分割成若干独立功能的子系统,
分别建立子系统模型,调试好每个子系统之后再进行组装。
基于 RecurDyn 子系统建模,可以更加有效地分层次、分功能进行复杂系统的建模分析,
尤其对于具有继承性关系的系列化产品,可以最大程度地继承分析模型,通过更改或建立
第5章 RecurDyn 高级建模技术 221
新的子系统,以最小的工作量创建出多种模型,更加方便设计过程的创新优化。
在 RecurDyn 中创建的子系统,是通过导出和导入子系统文件来实现子系统重复利用
的。RecurDyn 的子系统是一个包括各种建模要素的独立的功能模型,可分为多个层级。当
然,也可以在一个系统模型中先后创建若干个子系统,在每个子系统编辑状态下分别调试,
然后再返回系统中组装。这样的模块化建模分析理念有助于复杂系统的分析。
5.7.1 创建子系统
子系统必须依赖于其母体而存在,其原点是母体中的点。创建子系统的步骤为:
(1)在工具包区中选择 Professional>>Subsystem ,在图形工作窗口中单击选择某点
(该点将作为子系统的原点,该点所隶属的实体是子系统的母体),进入子系统编辑模式;
在子系统窗口中创建模型并分析调试。
(2)返回上级系统的方法是右击,在弹出的快捷菜单中选择 Exit 命令,或单击工具
栏中的 Exit 按钮。
(3)在子系统的上一级系统中,单击子系统并右击,可查看子系统的属性;在弹出的
属性对话框中选择 Subsystem 选项卡,通过 Mother Body 可修改其所属的母体,如图 5-69 所示。
图 5-69 子系统的母体
5.7.2 子系统间的操作
不同的子系统进行装配时,需要在不同子系统或子系统与其上级系统之间建立约束、
施加载荷或创建接触等。这时需要在操作的同时按住 Shift 键,按住 Shift 键,子系统中所
有的 Marker 和图标都会被显示出来,很容易找到需要的元素。
注意:不同子系统在建模时需要保证统一的单位制。
5.7.3 子系统的导出、导入及编辑
创建好一个子系统之后,可以将其导出为一个子系统文件;在需要时可多次导入同一
个子系统,从而创建多个相同的副本。
1.导出子系统文件
按钮即可。
当然,非子系统建模而创建的模型也可以导出为子系统文件以供装配使用。其导出方
法为 :在模型编辑模式下选择 File>>Export 命令,在弹出的对话框中选择文件类型为
RecurDyn Subsystem File(*.rdsb),设定文件名,单击 Save 按钮即可。
2.导入子系统
3.子系统的操作
在子系统模式中剪切、复制、粘贴命令、视角控制、数据库窗口、工作平面管理、Object
Control 等操作和非子系统模式相同,子系统可当作一个单独的元素,进行复制、粘贴、平
移等操作,但不能进行镜像(Mirror)操作。
5.8 基于子系统建模技术的汽车高位自卸机构实例
本实例所涉及的机构以中国矿业大学机械原理课程的主要研究内容为参考。如图 5-71
所示,汽车高位自卸机构能完成货物平面高于车体平面一定高度的卸货功能。在汽车运输
状态下,卸货机构处于收缩状态,便于运输;在卸货状态下,结构展开,完成卸货作业。
图 5-71 汽车高位自卸机构
高位自卸机构主要由相对独立的两大系统构成,即举升机构和卸货机构,而每个机构
中又通过液压系统的液压力来支撑负载。根据系统拓扑结构关系,逐层向上完成高位自卸
第5章 RecurDyn 高级建模技术 223
机构总系统的建立。
5.8.1 建立举升机构子系统
举升机构由液压系统和运动机构组成,先建立运动机构 Extend。
选择 MMKS 单位制,建立 Extend 模型,设置 Grid=100,工作平面设置为 XY 平面。
1.建立Body
选择 Professional>>Body>>Cylinder,选择(Point,Point,Radius)输入模式,先后选择
(900,-200,0)、(-900,200,0),输入 30 作为半径,确认生成 Body1。在数据库窗口中选
择 Body1,右击,在弹出的快捷菜单中选择 Rename 命令,将 Body1 重命名为 Rod1。
选择 Tools>>Settings>>Program Settings,在弹出的如图 5-72 所示 Program Settings 对
话框中选择 User Settings 选项卡,取消选中 Shift When Pasting 复选框,确保复制、粘贴操
作时不产生偏置。
图 5-73 镜像操作
选择 Professional>>Body>>Box,在选项区选择(Point,Point,Depth)输入模式,先后选
择(-1200,300,0)、(1000,200,0),在输入区输入 1000,确认后生成 Body1;在数据库
窗口中选择 Body1, 右击, 在弹出的快捷菜单中选择 Rename 命令,将其重命名为 Upperplane;
224 RecurDyn 多体系统优化仿真技术
图 5-74 设置透明显示模式
选择 Professional>>Body>>Box,在选项区选择(Point,Point,Depth)输入模式,先后选
择(-2000,-200,0)、(1000,-300,0),在输入区输入 1000,确认后生成 Body1;在数据
库窗口中选择 Body1,右击,在弹出的快捷菜单中选择 Rename 命令,将其重命名为
Lowerplane ; 在 图 形 工 作 区 双 击 Lowerplane , 进 入 LowerPlane 的 编 辑 模 式 ; 选 择
Professional>>Curve and Surface>>Outline ,选后选择(-2000,-200,0)和(0,-200,0),
右击,在弹出的快捷菜单中选择 Finish Operation 命令,完成大地上 Outline1 的建立;选择
Outline1,单击工具栏中的 Object Control>>Basic ,在弹出的 Basic 对话框中的 Translate
选项卡中,设置 Offset Value=300,单击-Z 按钮,将 Outline1 沿-Z 轴向平移 300;在图形工
作平面右击,在弹出的快捷菜选择 Exit 命令,返回模型编辑模式。
按住 Ctrl 键, 同时选取 Upperplane 和 Lowerplane,在工具栏中单击 Object Control>>Basic
,在弹出的 Basic 对话框中的 Translate 选项卡中,设置 Offset Value=300,单击+Z 按钮,
将 Upperplane 沿+Z 轴向平移 300;同样操作,将 Rod1 沿+Z 轴平移 600。调整后如图 5-75
所示。
图 5-75 调整位置
第5章 RecurDyn 高级建模技术 225
2.建立Joint
选择 Professional>>Joint>>Revolute,在选项区设置输入模式为(Body,Body,Point);
先后选择 Upperplane、Rod1,在 Rod1 的左端附近右击,在弹出的快捷菜单中选择 Select List
命令,在弹出的如图 5-76 所示 Select List 对话框中选择 Rod1.Cylinder1.Edge1,单击 OK 按
钮,定义转动副 RevJoint1;在数据库窗口中选择 RevJoint1,右击,在弹出的快捷菜单中选
择 Rename 命令,将转动副改名为 RevJoint_Rod1_upper。
图 5-77 建立点在线上约束副
3.运行仿真测试
4.生成子系统模型
图 5-78 导出子系统
5.8.2 建立液压缸子系统
图 5-79 建立参数化点
1.建立参数化端点
2.建立参数化值
表 5-15 对应关系
图 5-80 建立参数化值
3.建立参数化内点
图 5-81 建立参数化内点
4.建立几何部件
选择 Professional>>Body>>Cylinder,从选项区设置输入方式为(Point,Point,Radius),
将鼠标置于 PP_Rod_End 附近,右击,在弹出的快捷菜单中选择 Select List 命令,在弹出的
对 话 框 中 选 中 PP_Rod_End ; 以 同 样 方 法 选 择 PP_Rod_In , 然 后 从 数 据 库 窗 口 中 将
PV_Rod_Radius 拖至输入区,确认生成 Body1;右击,在弹出的快捷菜单中选择 Rename
命令,将 Body1 重命名为 Rod。
选择 Professional>>Body>>Cylinder,从选项区设置输入方式为(Point,Point,Radius),
将鼠标置于 PP_Cyl_End 附近,右击在弹出的快捷菜单中选择 Select List 命令,在弹出的对
话 框 中 选 中 PP_Cyl_End ; 以 同 样 方 法 选 择 PP_Cyl_In , 然 后 从 数 据 库 窗 口 中 将
PV_Cyl_Radius 拖至输入区,确认生成 Body1,如图 5-82 所示;右击在弹出的快捷菜单中
选择 Rename 命令,将 Body1 重命名为 Cylinder。
图 5-82 建立参数化几何体
5.建立Rod和Cylinder间的平动副
选择 Professional>>Joint>>Translational,选项区设置为(Body,Body,Point,Direction),
先后选择 Cylinder、Rod、PP_Rod_In 及沿杆轴线方向,建立平动副。
6.生成子系统
可通过一定边界条件分析确定模型正确后,输出子系统,供后续的系统级建模使用。
第5章 RecurDyn 高级建模技术 229
本章的例子在后面需要使用,因此导出为子系统模型前需删除测试用的边界。
选择 File>>Export 命令,在弹出的对话框中,选择 RecurDyn Subsystem file(*.rdsb)
类型,在 Name 文本框中输入 Hydraulic_Cylinder,单击 Save 按钮,输出 Hydraulic_
Cylinder.rdsb 子系统。
5.8.3 建立举升机构
1.子系统装配
图 5-83 导入子系统
图 5-84 设置子系统方位
选择 Professional>>Joint>>Revoulte,选择(Body,Body,Point)输入模式,按住 Shift
键,先后选择 Rod1@extend、rod@Hydraulic_Cylinder,在输入区输入(0,0,300),建立转
动 副 RevJoint1 。 同 样 , 按 住 Shift 键 , 先 后 选 择 Lowerplane@extend 、
Cylinder@Hydraulic_Cylinder,在输入区输入(-400,-200,300),建立转动副 RevJoint2。
选择 Professional>>Joint>>Fixed,选择(Body,Body,Point)输入模式,选择大地 Ground,
230 RecurDyn 多体系统优化仿真技术
2.运行仿真测试
3.生成Lifter子系统模型
5.8.4 建立卸货机构
图 5-85 建立 Truck
表 5-16 对应关系
表 5-17 对应关系
5.8.5 总装汽车高位自卸机构
1.载入举升机构
2.载入卸货机构
3.建立子系统间约束副
选择 Professional>>Joint>>Fixed,在选项区设置输入模式为(Body,Body,Point),选择
大地 Ground,按住 Shift 键,选择 Lowerplane@extend,选择(-1700, -300, 0),建立固定副。
从数据库窗口中选择 Subsystems>>Unloader 子系统,右击,在弹出的快捷菜单中选择
Edit 命令,进入 Unloader 子系统编辑模式。从数据库窗口中同时选择 RevJoint1、RevJoint2
及 RevJoint3,右击,在弹出的快捷菜单中选择 Inactive 命令。单击工具栏 Exit 按钮退出
Unloader 子系统模式。
选择 Professional>>Joint>>Revolute,选择(Body,Body,Point)输入方式,按住 Shift
键先后选择 Upperplane@extend、Rod1@Unloder,输入(600, 400, 400),建立转动副。
以同样方法,按住 Shift 键,先后选择 Upperplane@extend、Rod2@Unloder,输入(900,
400, 900 ) , 确 认 之 后 建 立 转 动 副 。 按 住 Shift 键 , 先 后 选 择 Upperplane@extend 、
Truck@Unloder,输入(1000, 300, 400),建立转动副。
4.载入液压缸系统
单击 OK 按钮确认。
5.建立子系统间约束副及驱动
选择 Professional>>Joint>>Revolute,在选项区设置输入方式为(Body,Body,Point),
按住 Shift 键,先后选择 Upperplane@extend、Cylinder@Hydraulic_Cylinder_Upper,输入(10,
350, 300),建立转动副。
以同样方法,按住 Shift 键,先后选择 Rod3@Unloder、Rod@Hydraulic_Cylinder_Upper,
输入(-580, -5, -100),确认之后建立转动副。
提示:在此仅通过简单的表达式表示液压力的作用。液压系统机械尺寸可以通过参数
化值改变,在此不再赘述。
从数据库窗口中选择 SubSystems>>Hydraulic_Cylinder,右击,在弹出的快捷菜单中选
择 Edit 命令,进入子系统编辑模式,选择 TraJoint1,按 P 键,在弹出的平动副属性对话框
中选择 Include Motion,单击 Motion 按钮;在弹出的 Motion 对话框中选择 Displacement
(time),单击 EL 按钮;在弹出的 Expression List 对话框中单击 Create 按钮;打开 Expression
对话框,在表达式列表框中输入 IF(time-0.2:500*time,100,100)之后,连续单击 OK 按钮确
认,完成液压缸行程定义,如图 5-86 所示。
图 5-86 建立驱动
6.总装系统运行分析
图 5-87 总装系统
5.9 RecurDyn求解器类型及并行计算
图 5-88 并行运算设置
第5章 RecurDyn 高级建模技术 235
5.10 RecurDyn批处理仿真
1.批处理文件*.bat
可通过任意文本编辑器编写*.bat 文件,其格式如下。
[recurdyn.exe] [model.rdyn] /rdp [rdp file] /rf /rss [rss file] /out [outfilename] /show /iicf
[icffilename] /sicf [icffilename] /rad [on/off] /rplt [on/off]
可以应用于.bat 文件的选项介绍如下。
[recurdyn.exe]:安装路径及可执行文件 Recurdyn.exe。
[model.rdyn]:rdyn 文件名。
[rdp file]:rdp 文件名。
/rf :重新加载关系文件数据。
[rss file]:rss 文件名。
[outfilename]:output 文件名(output 文件名是指从 outfilename1.EXT 到 outfilenameN
.EXT 的输出文件)。
[/show]:在批处理仿真过程中显示 RecurDyn 窗口。
[/iicf [icffilename]]:导入的 ENDTIME CONDITION 文件的名称。
[/sicf [icffilename]]:导出的 ENDTIME CONDTION 文件的名称。
[/rad [on/off]]:是否创建 RAD 文件。
[/rplt [on/off]]:是否创建 RPLT 文件。
[/export rmd]:控制是否导出模型求解数据 RMD 文件。
/NOEXIT:运行批处理文件之后不关闭 RecurDyn;否则,RecurDyn 会自动关闭。
/PROCESSNETRUN [ProcessNetFunctionName] : 运 行 RecurDyn 的 二 次 开 发
processnet 函数。[ProcessNetFunctionName]是指 processnet 的函数名。
/ProcessnetRunDll [ProcessNet.dll]:指定 ProcessNet 动态链接库的全路径及文件名,
如"<install dir>\ProcessNetProject\ProcessNet\bin\Release\ProcessNet.dll"。
/outfolder [on/off]:控制是否创建输出文件夹。
/saveas [rdyn file]:保存为 rdyn 文件。
/time [value]:设置时间偏 置(时间偏置用于 使用关键词 TIME 的选项,如
RecurDyn.exe Sample.rdyn/rss Sample.rss/TIME 0.2)。
236 RecurDyn 多体系统优化仿真技术
2.求解控制文件*.rss
图 5-89 脚本仿真
Numerical Damping(数值阻尼)。例如,INT/TRK,HMAX=0.01,ERR=0.005,
NDA=1.0。
再次单击 Create 按钮,选择仿真类型,设置分析参数,单击 Load 按钮加载至文本编
辑器。例如,SIM/DYN,END=5,STEP=100 表示仿真 5s、100 步的动力学仿真。
根据需要,可以通过 Active 和 Deactive 控制力的有效与否。
多段求解控制可以通过多次的 Create/Load 加载至场景文件编辑器中。求解控制文件编
辑好之后,通过单击 Export 按钮输出*.rss 文件。
需要注意的是,在设置 Dynamic Analysis Simulation 分析前,必须定义一个 Integrator
命令;在设置 Static Analysis Simulation 分析前,必须定义一个 Equilibrium 命令;每个场景
文件中必须含有至少一个 Integrator 命令;后一个命令行的 End Time 必须大于前一个命令
行的 End Time。
使用批处理文件可以实现多个*.rss 文件仿真。格式如下:
[recurdyn.exe] [model.rdyn] /rss [rss1 file] /rdp [rdp file] /out [outfilename1]
[recurdyn.exe] [model.rdyn] /rss [rss2 file] /rdp [rdp file] /out [outfilename2]
[recurdyn.exe] [model.rdyn] /rss [rss3 file] /rdp [rdp file] /out [outfilename3]
例如:
"<install dir>\bin\recurdyn.exe" "model1.rdyn" /rdp model.rdp /rss model.rss /out out /show
"<install dir>\bin\recurdyn.exe" "model1.rdyn" /rdp model.rdp /rss model.rss /out out /show
"<install dir>\bin\recurdyn.exe" "model1.rdyn" /rdp model.rdp /rss
"<install dir>\bin\recurdyn.exe" "model1.rdyn"/PROCESSNETRUN ProcessNetFunction
3.Output files输出文件
运行批处理仿真之后,生成的输出文件包括 file.msg、file.rad、file.rmd、file.rdyn、file.req、
file.rdp 及 file.out 文件。
5.11 Linux求解器
5.12 小 结
RecurDyn 提供丰富的接触类型,在定义接触时需要根据相互接触的物体的特征进行合
适接触类型的选择;通过巧用表达式可实现复杂模型的控制;通过 RecurDyn 子系统层级建
模技术,实现复杂系统由简至繁的建模过程。
6 ᐺ ধྒྷᇹᄻशᑞ
6.1 RecurDyn柔性体建模
20 世纪 70 年代以来,基于多体动力学计算方法分析机构中结构件的强度大致经历了 3
个重要的阶段,如图 6-1 所示。
1970—1984
1985—1999
2000—2010
图 6-1 多体动力学的发展阶段
第一代技术中多体动力学和有限元方法作为两支彼此独立的力量,分别承担着系统级
和局部精细级别的分析任务,从多体动力学计算的结果中萃取出用于有限元分析的载荷,
进而获得结构的强度及刚度变形。该分析过程没有考虑机构运动和材料变形间存在的耦合
现实,早在 80 年代,Wehage-Shabana-Chang(U of Iowa/ U of Illinois)等学者在一系列论
文中均指出此种方法极度的不准确性。
第二代技术中采用模态缩减法,将柔性体结构的刚度通过预先有限元计算得到的模
态表示。这种方法(称为 FMBD 技术)将多体动力学和有限元相结合,有效地解决了诸
多领域的工程问题。但众所周知,模态缩减法只能处理小的振动变形,不能计算大的结
240 RecurDyn 多体系统优化仿真技术
构变形,无法处理柔性体边界条件的改变,如接触区域随时改变等,同时也无法处理柔
性体的材料非线性,此外选择一组有效模态是非常不容易的,模态截断到什么程度也是
一个关键问题。
第三代技术突破了 FMBD 技术的应用局限,将有限元和多体系统放在同一个求解器中
求解,耦合计算只需在多体系统中通过有限元的网格和材料等信息表示柔性体。这种技术
(称为 MFBD 技术)通过完全有限元柔性体和多体动力学的耦合计算,可以直接获得结构
件的动应力、动应变等信息。
目前,很多商业有限元软件也提供系统级的仿真技术,但有限元方法计算多体动力学
问题存在两大劣势——一是有限元的数据量非常大,计算步长及稳定性的限制,使得计算
速度成为一个不可忽视的问题;二是有限元方法无法考虑较长时间(秒级)的仿真。而区
别于有限元方法,拥有 MFBD 技术的多体动力学方法考虑柔性体可以较为快速地仿真较长
时间机构的物理行为。
RecurDyn 提供两种刚柔混合建模技术,即模态缩减技术的 R-Flex 方法和完全柔性体
技术的 F-Flex 方法。两者间的区别正是第二代和第三代多体动力学技术的区别。R-Flex 不
能考虑大变形及非线性,由于已预先通过有限元计算结构的模态,该方法的计算速度较快,
而且可以计算大规模的柔性体;F-Flex 可以考虑柔性体与刚形体、柔性体之间的接触,极
大地拓展了应用范围,但计算速度较 R-Flex 慢,支持的柔性体规模有所局限。所以,最为
有效的方法是合理地结合运用 R-Flex 和 F-Flex,以实现速度和精度的并举。
6.2 RecurDyn/RFlex概述
RecurDyn/RFlex 是基于模态缩减技术的刚柔混合动力学分析模块,通过模态振型叠加
法,获得结构的动态应力和应变。RFlex 基于固定界面模态缩聚方法 Craig-Bampton 缩聚,
其本质是模态综合时只考虑“位移对接”条件。固定界面子结构方法是指假定在子结构的
交界面上的节点是完全固定的。此时的模态分为约束模态(Constraint Modes)和约束正则
模态(Constraint Normal Modes)。约束模态是静力模态,没有频率,即用单位位移施加于
该自由度,得到子结构的静力变形。约束所有在交界面的自由度,然后依次逐个给各自由
度放开,并在该自由度上施加单位位移,其整体结构的静变形称为约束模态。约束所有在
交界面的自由度,然后计算所有内部自由度得到的模态,称为约束正则模态。实际变形需
用约束模态和约束正则模态叠加而成。
RFlex 建模过程如图 6-2 所示,包括两大步,首先创建表示柔性体的 RFI 文件并导入
RecurDyn,然后建立柔性体和刚体模型间的连接关系。RFI 文件需要通过有限元软件获得,
RFlex 支持的有限元程序包括 NX Nastran、MSC.Nastran、Ansys 及 Ideas 等。
第6章 刚柔混合系统仿真 241
6.3 RecurDyn/RFlex建模
在 RecurDyn 中建立柔性体之后,可以建立柔性体与其他部件之间的关系。除接触不适
用于 RFlex 柔性体之外,可采用 Joint 和 Force 连接 RFlex 柔性体和其他部件。
6.3.1 RecurDyn的RFI文件
RECURDYNRFI FLEXBODY=YES,FLEXONLY=YES,OUTGSTRN=YES,OUTGSTRS
=YES 控制生成*.rfi 文件的命令
SUBCASE = 1
METHOD = 1 定义应力、应变输出
VECTOR(SORT1,REAL)=ALL 定义输出矢量
SPCFORCES(SORT1,REAL)=ALL
SET 5 = 1 THRU 960
STRESS=5
STRAIN=5
$*
OUTPUT(POST)
SET 6 = 1 THRU 960 定义输出的单元(Volume 针对体
VOLUME 1 SET 6,DIRECT,SYSTEM CORD 0 单元,Surface 针对面单元)
$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
BEGIN BULK
$$$$$$$$$*$$$$$$$*$$$$$$$*$$$$$$$*$$$$$$$*$$$$$$$* 定义单位制
DTI UNITS 1 KG N M S
$* PARAM CARDS 定义参数
EIGRL 1-1.00000 30 0 7 0.0MAX
$* GRID CARDS 节点定义
$* ELEMENT CARDS 单元定义
RBE2 960 2252 123456 20 21 628 629 631
$* MATERIAL CARDS 材料定义
$* PROPERTY CARDS 属性定义
SPOINT,30001,THRU,30030
定义外部节点/模态
QSET1,0,30001,THRU,30030
ASET1,123456,2252,2253
ENDDATA
通过 NX Nastran 求解,在*.dat 文件所在的目录中将产生同名的.rfi 文件,如图 6-3
所示。
第6章 刚柔混合系统仿真 243
PARTIAL NONE
MINVAR= , PSETID=
MINVAR= CONSTANT , PSETID= setid
FULL ALL
NONE
FLEXBODY 选项:NO/YES。生成 RFI 文件请求。No,不生成 RFI;Yes,生成
RFI。
FLEXONLY 选项:YES/NO。确定标准的 DAMP 以及数据恢复在 RFI 文件生成后
是否运行。Yes,只生成 RFI;No,RFI 以及 DMAP 和数据都恢复。
OUTGSTRS:NO/YES。确定节点应力是否写入 RFI 文件中。
MINVAR,确定如何计算质量不变量。
PARTIAL:计算第 6、8 质量不变量。
CONSTANT:计算 1、2、3、9 质量不变量。
FULL:计算所有 9 个质量不变量。
NONE:不计算质量不变量。
RECURDYNRFI 是一个非重启动的 103 分析应用,如需要输出柔性体文件,需用
DTI,UNITS 命令指定单位制。完整的格式为:
DTI UNITS 1 MASS FORCE LENGTH TIME
例如:
DTI,UNITS,1,KG,N,M,S
244 RecurDyn 多体系统优化仿真技术
可通过定义一个部件作为超单元或部分超单元以达到建立柔性体附加点的目的,此时
A-set(外部物理节点)即为附加点;对于一个残余类型的模型,可以直接使用 ASET 模型
数据定义附加点。当使用 Spoint/Qset 组合获得模态数据时,标量点数 ns 需要满足
ns>=n+(6+p),其中 n 是在命令行 EIGR 或 EIGRL 中指定的模态数,p 是 Load cases 的数目。
对 FlexBody=yes 的状况,需要计算部件的残余矢量以更准确反应部件的振型。
模型数据中不支持 OMIT 或 OMIT1 关键字;不支持 P-单元,因其经常采用的是协调
质量方程,而在此分析中需要采用集中质量。OUTGSTRS 以及 OUTGSTRN 输入需要利
用"STRESS= / STRAIN=" 联合 "GPSTRESS= / GPSTRAIN="命令得到节点的应力、应变
信息。
NX Nastran 从 7.0 版本开始,控制 RFI 文件的命令如下。
MBDEXPORT RECURDYN FLEXBODY=YES
以下两条命令语句等效:
NX Nastran 6.0:
RECURDYNRFI FLEXBODY=YES,FLEXONLY=YES,OUTGSTRS=YES,OUTGSTRN=YES
NX Nastran 7.0:
MBDEXPORT RECURDYN FLEXBODY=YES,FLEXONLY=YES,OUTGSTRS=YES,
OUTGSTRN=YES
具体含义可参见 NX Nastran 快速用户手册。
6.3.2 RFlex建模环境
图 6-4 定义边界节点
图 6-5 定义标量点数
246 RecurDyn 多体系统优化仿真技术
图 6-6 运行宏命令
刚度矩阵
单位制
内部节点
模态数
是否需要力的单位
生成RFI文件的路径和名称
图 6-7 生成*.rfi 文件
柔性体的变形近似为模态振型和模态坐标的线性组合,如何选择一组有效的模态对于
更高的精度要求非常重要。RecurDyn 建议动态修正模态作为一种特别的修正模态。这种模
态可以通过柔性体的误差测量生成。误差测量从 RecurDyn 的 Dynamic Correction Mode 中
萃取,用于在有限元软件中生成动态修正模态。这些模态结果可从有限元软件中以 Output
或 Punch 文件的形式得到,还可以将这些模态包括进 RecurDyn/RFlex Input File 中。在该
过程中,RecurDyn/RFlex Input File 必须包括柔性体的刚度矩阵信息。
误差来源于模态缩减。柔性体的有限元模型通常包含了非常多的自由度数,故而需要巨
大的求解计算量。为了将计算量降低到可以接受的程度,需要将模型进行缩减。模态综合
法是一种常用的模型缩减方法,该方法将结构的变形用一系列模态振型的线性叠加来表示。
通过乘以模态振型矩阵,将有限元模型的平衡方程投影到模态振型空间。由于方程被
缩减到了一个较小的尺度,有些力会失去原来的幅值。如果包含主变形的模态没有被选中,
那么变形量的计算结果就会不够精确。误差可以通过检查原始的有限元模型的平衡方程来
测量。
静态修正模态是指将所有界面自由度约束为零,然后每次只释放一个自由度,让其产
生单位位移,模型因此而产生的位移作为静态修正模态。
动力学修正模态是基于误差测定量中的残余矢量。残余矢量代表的是每个节点的力的
不平衡,那么它就可以用来生成一个模态振型:
K f d R
其中: K f ——柔性体的总体刚度矩阵;
R ——节点残余矢量。
误差矢量可以写进 ANSYS 或 Nastran 的格式文件中,采用这个文件,可以得到有限
元程序的动态修正,进而加到 RecurDyn/RFlex 的输入文件中。RecurDyn 动态修正模态如
图 6-8 所示。
图 6-8 动态修正模态
248 RecurDyn 多体系统优化仿真技术
图 6-9 导入模态柔体
4.Beam Element:梁单元
在 RecurDyn 中可以直接建立梁单元。创建梁模型时,根据输入选项,可通过建立轮廓
线 Outline 或者样条线 Spline 来建立梁单元组。梁单元属性对话框如图 6-10 所示。
图 6-10 梁单元属性
第6章 刚柔混合系统仿真 249
Beam Information:定义梁的属性。
Library:选择梁的截面形状。
Update Force Property 和 Update Body Property:此设置决定了是否将网格化的梁当
作一个组 group。选中这两个复选框之后,所有与之相关联的属性都会自动更新。
如果没有选中这两个复选框,即使截面数据改变了,旧的数据或者直接输入的数
据也不会改变。
To solve a beam with large D.O.F:可处理包含很多自由度的梁模型,可以克服梁单
元的限制。RD/Solver 采用另一种方法分析梁单元,不适用于高刚度和低质量的问题。
Beam Mesh:输入参数为 Mesh Segment,即两个点间梁单元(Beam Force)的个数。
创建梁单元的步骤为:
(1)在 RFlex 工具包中单击 按钮。
(2)在 RecurDyn 界面左下角的 Modeling Option 中选择创建方法( Multi Point
( Outline 折线)或 Multi Point(Spline 样条曲线))。
(3)根据具体的结构布局,从屏幕上选取多个点,或输入多个点的坐标,右击,从弹
出的快捷菜单中选择 Finish Operation 命令,打开 BeamGroup 对话框。
(4)在 Library 下拉列表中选择梁的截面形状。
(5)设置梁单元网格 Mesh Segment,并可通过 Preview 按钮预览;单击 OK 按钮确定。
5.RFlex Contour:结果显示云图控制
图 6-11 云图显示控制
250 RecurDyn 多体系统优化仿真技术
(1)Contour Option:等高线设置
Animation State:动画状态。
Type:云图类型,可选择变形、应变和应力。
Deformation:变形量,包括 TX、TY、TZ、TSUM、RX、RY、RZ、RSUM,
其中 T*表示移动变形分量,R*表示转动变形分量,TSUM 表示移动变形幅值,
RSUM 表示转动变形幅值。
Strain:应变,包括 EX、EY、EZ、EXY、EYZ、EZX、E1、E2、E3、EINT
和 EMISES。
Stress:应力,包括 SX、SY、SZ、SXY、SYZ、SZX、S1、S2、S3、SINT
和 SMISES。
(2)Min/Max Option:最大最小设置
Type:包括两种设置方式,选择 Display 选项时显示在仿真过程中的最大值和最小
值;选择 User Defined 选项时表明用户可以自定义云图的显示范围,其中左边是不
可修改的起始值,右边是可修改的值。
Read:通过该按钮,控制读取并显示整个仿真过程的最大值/最小值。
Show Min/Max:显示仿真过程中最大值/最小值的节点位置。
(3)Band Option:云图设置
Legend Type:图例类型。
Location:图例位置。
Band Level:范围为 10~50,值越大,云图的色彩越丰富。
(4)Style Option:风格设置
Color Option:色彩设置(例如:从蓝到红)。
Colors:颜色(选择黑白或彩色)。
Style:云图风格,Wire 用线表示,Smooth 表示颜色光滑过渡的,Stepped 表示阶
段变化。
Mesh Lines:显示柔性体的网格线并修改网格线的颜色。
(5)View / Reference Node:参考节点
为柔性体选择测量的参考节点。
(6)Export:导出数据
Current Export Data Type:Node 表示选择柔性体上的节点,输出这些节点在所有时间
内的数据;Time 表示选择时间点,输出柔性体在这些时间点的所有节点的数据。输出选项
如图 6-12 所示。
第6章 刚柔混合系统仿真 251
图 6-12 输出云图结果
6.FEA Export:导出用于有限元分析的载荷
包括 RFlex 柔性体的模型仿真分析之后,可以输出与柔性体(或所选刚体)相关联的
载荷数据,包括所有施加在柔性体上的力,如惯性力、作用力/反作用力及约束反力等。导
出的载荷数据可用于多种用途,如应力分析、疲劳计算等。导出操作如图 6-13 所示。
图 6-13 导出有限元分析的载荷
图 6-14 应力振型界面
图 6-15 两种应力振型矩阵的计算方法
(1)应变振型矩阵(Strain Shape)
根据选择的模态振型可以生成应变振型,应变 的计算是通过应变振型( s )与模态
坐标(a)的乘积叠加获得:
is ai
i
第6章 刚柔混合系统仿真 253
节点的应变计算公式为:
x x (a1 1) x (ai 1)
(a 1) y (ai 1) a1
y y 1
z z (a1 1) z (ai 1)
xy xy (a1 1) xy (ai 1) ai
yz yz (a1 1)
yz (ai 1)
zx zx (a1 1) zx (ai 1)
通过这些应变分量,可以计算出主应变及应变强度( 1 2 、 2 3 、 3 1 中的绝
对值最大的值)。冯·米塞斯应变( smises )的计算公式如下:
1
1 2 2
1 2 2 3 3 1
2 2
smises
2
(2)关于应力振型矩阵 Stress Shapes
根据应变振型和弹性矩阵可以生成应力振型。应力值 是应力形状 与模态坐标(a)
乘积的叠加:
i ai
i
节点的应力计算公式为:
x x (a1 1)
x (ai 1)
(a 1) y (ai 1) a1
y y 1
z (ai 1)
z z (a1 1)
xy xy (a1 1)
xy (ai 1) ai
yz yz (a1 1)
yz (ai 1)
zx zx (a1 1)
zx (ai 1)
根据这些应力分量可以计算得到主应力( 1 , 2 , 3 )及应力强度( 1 2 、 2 3
及 3 1 中绝对值最大的值)。冯·米塞斯应力( mises )计算公式为:
1
1 2 2
mises 1 2 2 3 3 1
2 2
2
8.Durability Interface:疲劳软件接口
6.4 RecurDyn/RFlex应用实例
图 6-16 伸展机构
6.4.1 基于Ansys创建*.rfi文件
(1)启动 Ansys,选择结构分析类型
(2)选择单元类型,设置实常数
选择 Preprocessor >> Element type > >Add/Edit/Delete 命令,在弹出的 Element Types 对
话框中单击 Add 按钮;打开 Library of Element Types 对话框,选择 Shell 63,单击 OK 按钮
确认;返回 Element Types 对话框,单击 Close 按钮退出。
选择 Preprocessor >> Real Constants>> Add/Edit/Delete 命令,在弹出的 Real Contants 对
话框中单击 Add 按钮,单击 OK 按钮;在弹出的 Real Constant Set Number1, for Shell 63 对
话框中,设置节点厚度为 0.01,然后单击 OK 按钮确认;返回 Real Contants 对话框,单击
Close 按钮。
(3)设置材料属性
选择 Preprocessor >> Material Props >>Structural>>Elastic>> Isotropic,设置 EX=70e9,
PRXY=0.3,选择 Density,设置 DENS=2700,单击 OK 确认。
(4)创建几何
选择 Preprocessor >> Modeling Create >> Area>>Rectangle >> By Dimensions 命令,在弹
出的 Create Rectangle by Dimensions 对话框中设置 X1=0,X2=1500,Y1=0,Y2=1000,单击
OK 按钮确认。
(5)划分网格
选择 Preprocessor >>Mesh>> Mesh Tool >> Size Controls >>Global:Set,设置 SIZE
Element edge Length=0.1,单击 OK 按钮确认;在 Mesh Tool 对话框中,选择 Mesh:Area
和 Shap:Quad,然后单击 Mesh 按钮,弹出 Mesh Area 对话框;选择矩形,单击 OK 按钮
确认,完成网格划分。
第6章 刚柔混合系统仿真 255
(6)定义边界节点
如图 6-17 所示,选择 Select>> Component Manager 命令,在弹出的 Component Manager
窗口中单击 Create New Component 按钮;在弹出的 Create Component 对话框中选中 Nodes
单选按钮,选中 Pick entities 复选框,输入 INTERFACE 作为名称,然后单击 OK 按钮;从
图形工作界面中选择两边的中点,并单击 Reselect Nodes 对话框中的 OK 按钮,在 Component
Manager 窗口中的 Components 列表框中出现名称为 INTERFACE 的 Component。
图 6-17 定义边界节点
(7)定义参数
选择 Parameters>>Scalar Parameters 命令,在弹出的对话框中设置 NMODES=10,单击
Accept 按钮,如图 6-18 所示。
图 6-18 定义标量参数
256 RecurDyn 多体系统优化仿真技术
(8)读入宏命令
选 择 File>>Read Input from 命 令 , 在 弹 出 的对话 框 中 ,从 RecurDyn 安 装 目 录
\Toolkit\Flexible input files\ANSYS 中选择 RecurDyn_V10p0.MAC,单击 OK 按钮,在 Ansys
当前工作目录下生成 4 个文件——genCMS.cm、genCMS.emat、genCMS.mp、genCMS.rst,
如图 6-19 所示。
图 6-19 运行宏命令
图 6-20 生成*.rfi 文件
第6章 刚柔混合系统仿真 257
6.4.2 基于RFlex进行刚柔混合系统仿真
1.在RecurDyn中建立刚体模型
2.导入代表柔性体的*.rfi文件
图 6-21 导入模态柔性体
3.建立刚柔混合模型
(1)除去刚体模态
在数据库窗口中分别选择内板和外板,右击,在弹出的快捷菜单中选择 Property 命令,
在弹出的对话框中选择 RFlex 选项卡,选择 7 阶以上模态,并确认,如图 6-22 所示。
258 RecurDyn 多体系统优化仿真技术
图 6-22 去除刚体模态
(2)定义约束铰
选择 Joint>>Revolute 命令,设置选项模式为(Body,Body,Point,Direction),先后选择
机架、内板、内板的左边中点(Rflex 模型的外边界点 inodemarker46)以及 y 方向,建立
第一个转动副 RevJoint1;重复同样操作,选择内板、外板、(1.5,0.5,0)、y 向,建立转动
副 RevJoint2。
选择 Joint>>Fixed 命令,选择外板、小球以及外板外边中点,创建固定副,如图 6-23
所示。
图 6-23 定义约束副
(3)定义驱动
选择内板和外板之间的转动副 RevJoint2,右击,在弹出的快捷菜单中选择 Property 命
令,在弹出的对话框的 Motion 栏中选中 Include Motion 复选框,单击 Motion 按钮,在弹出
的 Motion 对话框中选择 Displacement,单击 EL 按钮,创建并选择表达式 IF(TIME/4*pi-pi:
TIME/4*pi,pi,pi),如图 6-24 所示。
第6章 刚柔混合系统仿真 259
图 6-24 定义驱动
(4)定义耦合副
选择 Joint>>Coupler>>(Joint,Joint),分别选择 RevJoint2 和 RevJoint1,从数据库窗
口中选择 Coupler1,单击鼠标右键,在弹出的快捷菜单中选择 Property 命令,在弹出的
如图 6-25 所示对话框中设置 Driver=RevJoint2,Scale=1;Coupled=RevJoint1,Scale=2,然
后单击 OK 按钮确认。
图 6-25 定义耦合副
4.运行仿真,并查看结果
图 6-26 生成应力振型
图 6-27 结果后处理
6.5 RecurDyn/FFlex功能
新导入等一系列过程。
模态柔性体 RFlex 只能局限在小变形的范围内,而且只能建立线性材料模型。
采用 MFBD 技术的 FFlex 可以直接导入有限元模型,如 Nastran 的*.bdf 输入文档、Ansys
的*.cbd 文档,直接在 RecurDyn 界面中对网格节点施加边界条件,对网格进行操作并进行
相应仿真。
被称为完全柔性体的 FFlex 具有 RFlex 无法比拟的优势:首先可以精确地表现出由于
接触力而产生的局部变形;模型的修改仅仅需要更新网格,在 RecurDyn 中也可以修改柔性
体模型,建模过程更加方便;另外,可以考虑大变形、非线性,柔性体呈现为非线性变形
的累积,而在每个单元内部维持线性行为。
如图 6-28 所示,RecurDyn 的 MFBD 技术是将多体和有限元形成 MFBD 系统方程,在
一个求解器中进行计算。
6.5.1 FFlex单元
FFlex 支持大多数通用的结构单元和一些特殊的单元(如刚性单元、质量单元);通用
单元的结构特性采用单元属性和节点表示,单元通过节点按次序连接,每类单元具有各自
的方向,这些连接属性在导入时自动定义。
Beam2 单元:一个常用的 Beam 单元,具有拉伸、压缩、扭转及弯曲性能;该单元
每一节点具有 6 个自由度;通过 2 个节点、截面积和 2 个面积惯性矩进行描述。
Shell3 单元:一个三角形 Shell 单元,具有弯曲和膜性能,单元每一节点处具有 6
个自由度;通过 3 个节点和厚度描述这种单元。
262 RecurDyn 多体系统优化仿真技术
图 6-29 FFlex 单元
第6章 刚柔混合系统仿真 263
导入 RecurDyn 中的网格单元,必须满足下列规则,否则将出错。
取向定则:如图 6-31 所示,Beam 单元,X 轴与 V 向不能平行。
体积定则:实体单元体积必须大于 0。有时,不合理的节点次序形成不正确的体积
值,极小的几何也导致几乎为 0 的体积值,这时 RD 将报告 volume violation 错误
264 RecurDyn 多体系统优化仿真技术
信息。
图 6-31 取向定则
图 6-32 内角法则
长宽比法则:长宽比是指最长单元边和最短单元边的比值,极端的长宽比将导致
错误的结果,如图 6-33 所示,Solid4、Solid6 和 Solid8 受该法则制约。
图 6-33 长宽比法则
6.5.2 FFlex的材料
料(各项同性、各项异性)和非线性材料。各项同性材料适用于所有单元,而各向异性材料
适用于模拟纸张或薄膜类的 Shell4 单元,非线性材料用于模拟橡胶类的大应变可恢复材料。
1.线性各项同性材料
线性各项同性材料的应力-应变关系为:
1 v
E 0
E
v
E 1 0
1
E E
0 1
0
G
其中,E 为杨氏模量;G 为剪切模量;v 为泊松比。
2.线性各项异性材料
图 6-35 杨氏模量
266 RecurDyn 多体系统优化仿真技术
3.超弹性材料
应变能为:
1
2 I1 3 20 N I1 9 1050 N 2 I1 27
1 2 1 3
U
1
7000 N 3 1
I 4 81
1
673750 N 4
I15 243
(2)Neo Hooke 模型
在图 6-37 中,C10 是模型参数,C10=μ/2(其中 μ 是材料的初始剪切模量),橡胶材
料的 C10=0.136775。
(3)Ogden 模型
在图 6-38 中,MU(μ)是材料的初始剪切模量。
图 6-38 Ogden 模型
Alpha(α)是材料常数。
n
k 1
U 1 21 31 3
k 1 k
6.5.3 FFlex与有限元属性相应关系
6.5.4 RecurDyn/FFlex建模环境
工具栏:常用工具及菜单命令的快捷方式。
有限元编辑工具区,即 FE Entity 区,集中了编辑 FFlex 的各项命令。
工作窗口:FFlex 柔性体图形窗口。
数据库窗口:FFlex 柔性体的材料、属性、单元以及各种集合。
选项模式区:选择模式的控制。
输入区:用于定义输入方式和输入数据。
工具栏
有限元编辑工具
工作窗口
选项模式区
数据库窗
输入区
6.6 基于RecurDyn/FFlex建模
Nastran *.dat
Ansys
*.cbd
import
RecurDyn
MFBD模型
输入文件
参考系
允许没有材料和属性数据
用于转换杨氏模量
柔性体
有限元信息
6.6.1 FFlex的选择模式
在 FFlex 的编辑模式下,存在多种选择模式,可以单选,也可以多选。
在单选模式下,需要用鼠标逐个从屏幕上捕捉所需对象。
采用多选方式时,需要在工具栏中单击 按钮(用于框选)、 按钮(用于圈选)
或 按钮(用于多边形选择)。
在弹出的 Select Option 对话框(如图 6-46 所示)中,主要选项介绍如下。
可以通过 Add 或 Remove 决定是增加选择或从已选中去除选择。按住 Ctrl 键的同
时可以连续进行多个对象的选择。
272 RecurDyn 多体系统优化仿真技术
在选择选项中,可以根据选择的对象分为单元、节点、集合、组件及边界。
Set Mask 按钮用于设置隐饰功能。在隐饰状态下,仅仅可以看到外部的网格线。
单击 Set Mask Rev.按钮,既可以看到内部网格线,也可以看到外部网格线。
单击 On/Off 按钮,可以看到全部节点柔性体。
单击 Cancel Masking 按钮,可以取消隐饰功能。
6.6.2 FFlex的编辑功能
FFlex 的编辑功能适用于创建和修正柔性体信息、关联柔性体和其他部件。选择有限元
柔性体,单击鼠标右键,在弹出的快捷菜单中选择 Edit 命令,即可进入柔性体的编辑模式。
在完成 FFlex 柔性体编辑之后,需要单击工具栏中的 按钮,以退出 FFlex 柔性体编辑模式。
1.创建和修改材料及属性数据
2.创建节点
节点编号
填写坐标位置
3.创建集合和组命令
FFlex 的集合主要包括节点集、单元集和片集(patch)。
(1)节点集
节点集通常用于定义 FDR 的从节点或对柔性体施加载荷。创建步骤为:
如图 6-50 所示,从 FE Entity 中单击 按钮,打开 Node Set 对话框,从 Color 下拉列
表中选择节点集显示的颜色(通常区分于单元的颜色),单击 Add/Remove 按钮,进入选
取模式(需要设置为选取节点,如果多选要设为 Add,如果选错可通过 Remove 删除);
从屏幕上选取所需节点之后,在图形工作窗口中单击鼠标右键,在弹出的快捷菜单中选择
Finish Operation 命令(或单击 Navigation…对话框中的“关闭”按钮);返回 Node Set 对
话框,单击 OK 按钮确认,完成节点集的创建。
图 6-50 建立节点集
(2)单元集
单元集的创建步骤与节点集相同,只是在选择时设定选择对象为单元。
274 RecurDyn 多体系统优化仿真技术
(3)片集
片集常用于定义接触面或施加分布载荷,其创建步骤与节点集类似,如图 6-51 所示。
在选取单元的面之后,如果片面的法线方向不正确,可以通过 Patch Set 对话框中的调整按
钮调整法线方向。
自动调整法线方向
更换所有法线为反方向
更换部分法线为反方向
图 6-51 建立片集
4.改变单元和节点的ID号
通过 FE Entity 中的 按钮,可分别改变节点和单元编号,或增加、删除。
5.创建FDR单元
注意:在选择已创建的节点(集)时,将鼠标移至屏幕上节点附近,高亮显示时即可
捕捉。
6.定义边界条件
图 6-53 定义边界条件
7.定义输出节点
8.控制显示
6.6.3 FFlex的接触
在 RecurDyn 中,涉及柔性体的接触主要包括如下几种类型。
:Fsurface-Fsurface,柔性面之间的接触。
:Fsurface-Surface,柔性面和刚性面之间的接触。
:Sphere-Fsurface,球和柔性面之间的接触。
:Fcurve-Fsurface,柔性线和柔性面之间的接触。
:Fcurve-Fcurve,柔性线之间的接触。
:Fcurve-Surface,柔性线和刚性面之间的接触。
:Sphere-Fcurve,球和柔性线之间的接触。
在 RecurDyn/FFlex 中,参与计算的接触几何形状如图 6-55 所示。主要包括两类:
(1)面
近似为多个四边形片或三角形片,其具体形状取决于导入的柔性体单元。
(2)线
由梁单元形成,如缆索、线等圆截面的一维单元,线中两节点之间的接触点采用线性
插值获得。
在计算接触力时,通过缓冲半径因子决定数值积分步长是否缩减。
静态门槛速度
动态门槛速度
刚度系数k 静态摩擦系数
阻尼系数c 最大摩擦力
摩擦系数
刚度指数m1 摩擦系数
阻尼指数m2
缺口指数m3
相对速度
缓冲半径因子:如果接近于缓冲半
径因子乘以作用物体半径,通过最
大步长因子缩减数值积分步长
图 6-56 柔性面接触设置
摩擦力的计算公式为:
f f (v ) f n
f f sign( f f ) min f f , f max
其中,摩擦系数 μ 与相对速度相关,取决于静态门槛速度、动态门槛速度、静摩擦系
数的数值,根据半正矢阶跃函数 havsin 确定相对速度对应的摩擦系数。
如果选中 Maximum Friction Force(最大摩擦力)复选框,并设定其值,那么仿真过程
中摩擦力将限制在该值范围内。
当然,除了标准接触力计算类型外,用户也可通过用户子程序计算接触力。
柔性接触力显示如图 6-57 所示,接触力显示具体参考系下柔性体的合成接触力,而刚
体显示在刚体质心位置。
图 6-57 柔性接触力显示
Max Penetration:最大穿深,如果穿透深度大于该值,将不产生接触力。
No. of Divided Cubic Cell:分割接触边界框的立方单元数量,程序自动计算,用户
可以根据需要修改。
Update Position of Contact Nodes:控制在仿真过程中是否修正属于 Patch Set 的节点
位置。如果是小变形问题,取消选中该复选框,求解速度可得到提高。
Thickness Definition:在原始或具体类型中定义 Patch 的厚度。原始类型采用 Shell
单元厚度,指定类型采用用户自定义厚度。
图 6-58 柔性接触面设置
图 6-59 柔性接触线
Cross Section:截面。
Radius:半径,接触几何中圆柱或球的半径。
No. of Divided Cubic Cell:分割接触边界框的立方单元数量,程序自动计算,用户
第6章 刚柔混合系统仿真 279
可以根据需要修改。
Update Position of Contact Nodes:控制在仿真过程中是否修正属于 Ppatch Set 的节
点位置。如果是小变形问题,取消选中该复选框,求解速度可得到提高。
1.Fsurface-Fsurface接触
图 6-60 柔性面-柔性面接触
2.Fsurface-Surface接触
错误!
图 6-61 柔性面-刚性面接触
3.Sphere-Fsurface接触
图 6-62 球-柔性面接触
第6章 刚柔混合系统仿真 281
4.Fcurve-Fsurface接触
图 6-63 柔性线-柔性面接触
5.Fcurve-Fcurve接触
图 6-64 柔性线-柔性线接触
282 RecurDyn 多体系统优化仿真技术
6.Fcurve-Surface接触
图 6-65 柔性线-刚性面接触
7.Sphere-Fcurve接触
图 6-66 球-柔性线接触
6.6.4 FFlex的载荷
分布载荷
集中载荷
定义集中载荷的步骤如下:
在 FFlex 工具包中单击 按钮,在弹出的如图 6-68 所示 Flex Concentrated Loads 对话
框中选择载荷类型,选择载荷表达式,通过 N 按钮选择受力的节点集。
Uniform(均一类型):以表达式的方法定义。
Relative(相对类型):选择参考节点,以表达式定义节点力。
图 6-68 FFlex 载荷
定义分布载荷的步骤如下:
在 FFlex 工具包中单击 按钮,在弹出的 Flex Pressure Loads 对话框中通过 P 按钮选
择受力的片集,选择载荷表达式决定分布载荷大小,通过预览载荷方向及对话框中的 Up
和 Down 设置合适的分布载荷,如图 6-68 所示。
6.6.5 FFlex输出节点位置
FFlex 模型仿真完成之后,可导出在具体坐标系下所有节点的变形位置。输出文件格式
是 Nastran 格式。
输出节点位置的步骤为:
(1)正确地完成包含 FFlex 柔性体的模型动力学仿真。
(2)从 FFlex 工具包中单击 按钮,在弹出的 Export Node Position 对话框中选择输出
文件格式(Nastran),选择要输出节点位置的柔性体,选择参考系,选择输出的时间点,
选择输出的文件路径,最后单击 Export 按钮输出,如图 6-69 所示。
284 RecurDyn 多体系统优化仿真技术
6.6.6 FFlex的仿真结果及显示
图 6-70 应力恢复设置对话框
6.7 FFlex的力连接
主节点
Dummy FFlex
刚体 Joint FDR
Body 柔性体
力连接 力连接
Dummy FFlex
刚体 Joint
Body 柔性体
力连接
通常情况下,考虑连接体的质量和转动惯量需要依赖使用者的经验。在这种情况下,
第6章 刚柔混合系统仿真 287
-
一般推荐用户参照默认值 10 6(单位制:MMKS)。换言之,dummy body 的质量必须小于
- -
柔性体质量的 10 6 倍,转动惯量必须几乎小于柔性体的 10 5 倍。
图 6-73 网格传输
6.9 RecurDyn/FFlex应用实例
离合器可大大减少部件数量,从而简化制造过程、提高系统的可靠性),当动力源使离合
器驱动绕中心轴旋转时,驱动臂驱动柔性离合盘转动。随着转动速度增大,离心力使离合
盘沿径向向外伸展至 8 个柔性点。当离合盘向外移动时,与载荷连接的外圈接触。离合盘
和载荷之间的摩擦使得承载环开始转动,从而在离合器驱动臂和承载环之间传递能量。
RecurDyn 安装目录\Help\Manual\Tutorials\InterDisciplinary\FFlex 文件夹中包含了该例
题的柔性体 clutchPlate.dat 和驱动臂 clutchdriver.x_t,以及承载环 clutchload.x_t 文件。
为了更加高效地求解离合盘与驱动臂之间、离合盘和承载环之间的接触,需要定义有
效接触面,共 12 个区域,如图 6-74 所示。离合盘和承载环之间的摩擦非常重要,依据该
摩擦实现从驱动臂到承载环间的能量传递。为了缩短仿真时间,在此采用一个远大于正常
范围的摩擦系数。对于驱动臂和离合盘间的接触,忽略摩擦以缩短仿真时间。通过为离合
盘有限元节点创建边界条件,限制这些节点的 Z 向运动,以模拟实际离合器结构中阻止离
合盘从离合器中脱落。
柔性离合盘
离合器驱动臂
转动中心轴 承载环
接触面
图 6-74 离合盘模型
第6章 刚柔混合系统仿真 289
离合盘
接触 接触
承载环 BC 驱动臂
转动副 转动副
负载扭矩 驱动扭矩
-0.1*wz(1)*wz(1) 10000*step(time,0,0,0.01,1)
Ground
图 6-74 离合盘模型(续)
1.设置建模环境,并导入柔性体
图 6-75 导入柔性体
2.导入刚体几何体
3.建立Joint
图 6-76 建立约束铰
4.建立驱动扭矩和负载扭矩
图 6-77 建立扭矩表达式
图 6-78 定义扭矩
5.建立接触
错误!
292 RecurDyn 多体系统优化仿真技术
图 6-79 定义柔性接触面
图 6-79 定义柔性接触面(续)
图 6-80 建立刚体接触面
(4)设置接触参数
在数据库窗口中选择 FSurfaceToSurface1~FSurfaceToSurface12 接触,右击,在弹出的
快捷菜单中选择 Property 命令,在 FlexSurfaceToSurface 中单击 Base 面的 Contact Surface
按钮,在弹出的对话框设置 Max Penetration=1,Plane Tolerance Factor=3,然后单击 OK 按
钮确认。
单击 Action 面的 Contact Surface 按钮,设置 Max Penetration=1,单击 OK 按钮确认。
在数据库窗口中选择 FSurfaceToSurface1~FSurfaceToSurface8,右击,在弹出的快捷菜
单中选择 Property 命令,在弹出的对话框中选择 Characteristic 选项卡,设置 Spring
Coefficient=100,Damping Coefficient=5e-3,单击 OK 按钮确认。
在数据库窗口中选择 FSurfaceToSurface9~FSurfaceToSurface12,右击,在弹出的快捷
菜单中选择 Property 命令,在弹出的对话框中选择 FlexSurfaceToSurface 选项卡,单击 Base
面的 Contact Surface 按钮,设置 Max Penetration=1,Plane Tolerance Factor=3,单击 OK 按
钮确认。
单击 Action 面的 Contact Surface 按钮,设置 Max Penetration=1,单击 OK 按钮确认。
在 Characteristic 选项卡中,设置 Spring Coefficient=100,Damping Coefficient=5e-3,
Friction Coefficient=1.2。
单击 Friction,设置 Static Threhold Velocity=10,Dynamic Threshold Velocity=15,Static
Firction Coefficent=1.26。
确认完成之后保存模型。
294 RecurDyn 多体系统优化仿真技术
6.建立边界条件
图 6-82 设置边界条件
7.设置参数,运行仿真
图 6-83 应力恢复方式设置
8.分析结果
Contour View;在 Contour Option 中,将 Type 设置为 Stress,并选择 SMISES;在 Min/Max
Option 中,单击 Show Min/Max,将 Min/Max OptionType 设置为 User Defined,设置 Max
为 10;在 Style Option 下,将 Style 设置为 Smooth,单击 OK 按钮确认。
单击工具栏中的 Plot Results 按钮 ,进入后处理;单击 Show All Panes 按钮 ,将屏
幕分为 4 个窗口;激活左上窗口,选择 Animation>>Load Animation 命令,加载动画;在右
上窗口,绘制 Clutch Driver 和 load 的旋转速度,选择 FFlexClutch>>Bodies>>clutchDriver>>
Vel_RZ 及 FFlexClutch>>Bodies>>clutchLoad >>Vel_RZ;在右下窗口中,绘制 clutch driver
和 load 的扭矩,在数据库窗口中选择 FFlexClutch>>Force>>Rotational Single(Axial)Force>>
driverRotational Axial>>TZ_Rotat_Axial,选择 FFlexClutch>>Force>>Rotational Single(Axial)
Force>> loadRotationalAxial>>TZ_Rotat_Axial。
在新的绘图窗口中,绘制接触应力。选择 FlexClutch>>Contact>>Flexiblesurface…>>
FSurfaceToSurface2>>FM_CONTACT_BASE、FFlexClutch>>Contact>>Flexible>> surface…
FSurfaceToSurface9>>FM_CONTACT_BASE。
选择 Analysis>>Filter 命令,在弹出的对话框中单击 Filter 按钮,将 Cutoff(Hz)设置为
600;单击 Update Coefficient,单击 Execute 按钮,在 Filter 对话框中的 Curve1 中选择过滤
的图形,确认对输出结果进行滤波。后处理结果如图 6-84 所示。
296 RecurDyn 多体系统优化仿真技术
图 6-84 分析结果显示
图 6-84 分析结果显示(续)
6.10 RecurDyn/DFRA直接频率响应
图 6-85 定义激励载荷
图 6-86 设置起止频率
图 6-87 直接频率响应结果
6.11 小 结
7.1 RecurDyn机械-控制联合仿真方法概述
工程系统的仿真,发展到今天已涵盖了机、电、液、控等各专业领域。其中,以控制
器和执行机构两个方面的发展最为普遍。控制器的仿真软件为研究控制策略、控制算法、
控制系统的品质方面提供了强大的支持。执行机构的仿真软件,为评价工程系统的执行品
质提供了极大帮助。工程系统仿真作为虚拟设计技术的一部分,需要满足愈加复杂的要求。
缺乏互动的机械系统与控制系统独立测试仿真无法构造与原设计相符的仿真模型,构建非
线性动态模型非常困难,无法精确地检验所设计的效果。因此,跨专业、多学科联合仿真
已成为工程仿真的必然,可在产品的早期设计阶段有效地测试基于高度非线性动态模型的
控制算法,通过机械系统和控制系统交互,实现多方案的快速比较。
一般而言,控制系统是基于计算机控制。计算机控制原理如图 7-1 所示,执行机构输
出的连续时间信号,通过 A-D(Analog-to-Digital)转换为数字信号,转换过程受到采样周
期的控制;系统计算机采用控制算法对转换后的信号进行解释、加工处理,得到新的数字
信号,该信号通过 D-A 转换为模拟信号,供执行机构输入。
图 7-1 计算机控制原理
模、耦合计算。
7.2 RecurDyn/Control功能
RecurDyn/Control 将机械系统模型和控制系统模型有机地结合起来,进行机械系统和
控制系统联合设计。藉由该接口,可与控制软件(如 MATLAB/Simulink)结合,进行复杂
的机械系统仿真。
在基于计算机控制系统的机构性能仿真中,控制器的设计算法和机械系统应该同时评
价。控制算法可通过控制设计软件(如 MATLAB/Simulink)方便地设计,机械系统可以通
过 RecurDyn 进行模拟。在两个系统之间,需要建立一个如 RecurDyn/Control Toolkit 般的
界面供两者进行交互。从图 7-2 所示的 RecurDyn/Control 联合仿真原理图可以看出,通过
采样周期的控制,实现机械系统和控制系统瞬时的数据传递,在一个采样周期内,RecurDyn
机械系统的输出为固定值。
7.3 基于RecurDyn/Control进行联合仿真
7.3.1 建立PIN和POUT
1.建立PIN
2.POUT的建立
7.3.2 建立M文件
图 7-5 建立 M 文件
7.3.3 以Simulink为主程序的联合仿真
Matlab_version:MATLAB 版本。
在控制系统定义好之后,需要在 Simulink 中运行联合仿真。其步骤为:
(1)双击控制框图中 RecurDyn Plant Block,弹出 RecurDyn Plant Block 对话框。
(2)双击红色模块(Dynamic Model),进入仿真参数设置对话框。
(3)定义仿真时间等参数。
(4)单击 Simulation 按钮运行仿真。
其中仿真参数介绍如下。
RecurDyn_model_name:RecurDyn 机械系统模型名称。
RecurDyn_install_directory:RecurDyn 安装路径。
Matlab version:Matlab 版本号。
Sampling period:采样周期,先在 RecurDyn 中定义,亦可修改其值(如 0.001)。
RecurDyn_step:RecurDyn 步数设置,默认值为 100,亦可在此修改。
Waiting time:仿真开始,等待执行 RecurDyn 的最长时间,默认值为 1000s。
Static analysis:控制是否进行静态分析,默认设置为否。
RecurDyn_show:控制在联合仿真时是否显示 RecurDyn,不显示时计算速度。
RecurDyn_animation:控制是否显示动画,默认为显示。
注意:在 Simulink 模型中,仅仅需要 RecurDyn Plant Block;不支持多个任务同时进
行,而且联合仿真之前必须确保机械系统模型没有错误。如果 MATLAB 长时间
没有响应,应用窗口任务管理器中断 MATLAB 程序,检测并处理 RecurDyn 模
型中的问题。PIN 的数量必须保证在 20 个之内,POUT 数量保证在 80 个之内,
如果有特殊需要,可直接联系软件开发者进行个案解决。不支持基于 RecurDyn
建立的仅仅用于联合仿真的独立子系统机械模型,但支持子系统中的 PIN 和
POUT。
7.3.4 以RecurDyn为主程序进行联合仿真
(5)定义控制框图。
(6)关闭 Matlab 程序。
设置 Simulink 批处理参数的步骤为:
(1)输入执行文件名以及 MATLAB 的安装路径。
(2)输入 Simulink 批处理的 M 文件名。
(3)输入 Simulink 模型名。
其中,相关变量的含义以及注意事项与以控制软件作为主程序相应部分基本相同。需
要注意的是,该种方式所支持 PIN 最大数为 100,POUT 最大数为 200。
7.4 RecurDyn/Control应用实例
内 容 关 系 驱 动
Dask-Ground 固定副
Ball-Plate 平动副 VX=200mm/s
Plate-Rwheel 接触
Plate-Lwheel 接触
Plate-Third wheel 接触
Mousebody-Third wheel 球铰
Shaft-Rwheel 固定副
Shaft-Lwheel 固定副
Shaft-Mousebody 转动副 驱动扭矩
图 7-9 定义 PIN
306 RecurDyn 多体系统优化仿真技术
图 7-9 定义 PIN(续)
图 7-10 定义 POUT
图 7-11 进入 Simulink
图 7-12 建立控制系统框图
图 7-13 设置仿真参数
第7章 机械−控制系统联合仿真 309
7.5 RecurDyn/CoLink功能
7.5.1 CoLink模块库
1.源模块库(Source Library)
CoLink 的输入源包括:
Chrip:连续变频信号。
Clock:仿真时间信号。
Constant:常数信号。
Cosine:余弦波信号。
Digital Clock:数字时钟信号。
Pulse:脉冲信号。
From File:来自数据文件的信号。
Ground:地面信号。
Ramp:斜坡信号。
Random Number:随机数信号。
Sequence:序列信号。
SignalChart:多阶跃函数信号。
Sine:正弦波信号。
Step:阶跃函数信号。
Uniform Random:一致随机数。
White Noise:白噪声。
2.输出模块库(OutPut Library)
图 7-16 输出模块库
3.数学模块(Math Library)
CoLink 的数学模块包括:
Absolute:取绝对值。
Product:叉乘。
Dot:点乘。
Relational Operator:关系运算。
Gain:增益。
Rounding Function:舍入运算。
Logical Operator:逻辑运算。
Sign:符号函数。
第7章 机械−控制系统联合仿真 311
Math Function:数学函数。
Sum:加法。
MinMax:最大最小值。
Trigonometric Function:三角函数。
其中数学函数包括指数、对数、平方、开方等函数,图 7-17 中列出了其表达式以及与
MATLAB 的对应关系。
图 7-17 函数对应关系
4.连续模块和离散模块(Continuous/Discrete Library)
(1)CoLink 提供的连续控制模块
Delay:延时。
Derivative:微分。
Intergrator:积分。
State Space:状态空间系统模型。
Transfer Function:传递函数。
Zero Pole:零极点。
(2)CoLink 的离散控制模块
Discrete Filter:滤波器(无限、有限脉冲响应)。
Discrete Time Integrator:离散时间积分器。
Discrete State Space:离散状态空间系统模型。
Discrete Transfer Function:离散传递函数。
Discrete Zero-Pole:离散零点传递函数。
First Order Hold:一阶保持器。
Unit Delay:单位延时。
Zero Order Hold:零阶保持器。
5.非线性模块(Nonlinear Library)
CoLink 的非线性模块包括:
Backlash:间隙非线性。
312 RecurDyn 多体系统优化仿真技术
6.连接模块(Connector Library)
CoLink 提供的连接模块包括:
Demux:将一个信号转换成多个信号。
Mux:将多个信号转换成一个信号。
Subsystem:将多个模块合并成一个模块。
RecurDyn:将 RecurDyn 机构模型和 CoLink 模型连接起来。
MultiPort:用于连接 RecurDyn 和 CoLink,其优势在于有机地结合 RecurDyn 的输
入、输出信号流,如果用户需要调用子程序,可以采用该模块。
Simulink:将 CoLink 和 Simulink 连接起来。
7.模糊模块(Fuzzy Library)
出、规则权重以及算法类型;每一规则需从新的一行开始。
可以通过表达式或 Ch 脚本语言定义用户函数。
表达式模块中输入为数组,输出为标量。如图 7-18 所示,在表达式函数中,u[0]和 u[1]
分别为第一和第二个输入数组。
图 7-18 用户自定义表达式
图 7-19 Ch 模块
7.5.2 伯德工具
伯德工具是研究线性系统频率响应函数以及对非线性系统进行线性化的工具,伯德图
可以显示出线性系统所有的输入输出组合幅值增益和输入输出间的相位差。
伯德工具主要用于报告状态空间矩阵和 CoLink 系统的伯德图,它可计算选定仿真时间
的传递函数,进而生成伯德图。当使用伯德工具时,CoLink 系统的输入是 RecurDyn 机械
模型的输出,如图 7-20 所示;反之亦然。
314 RecurDyn 多体系统优化仿真技术
图 7-20 伯德工具
查看伯德图或状态空间矩阵之前,必须进行仿真。在仿真过程中,伯德工具自动关闭。
在 Bode 对话框中,可以设置伯德图的起、止频率;通过 Step 可以设置伯德图中起止频率
间的采样数,该值越大越光滑;选择系统类型,在 CoLink Model 模式下,Transfer Func 不
可用,而在 CoLink Block 方式下,可定义 Block 的名称并进行 Block 的选择。
7.6 基于RecurDyn/CoLink进行机械−控制联合仿真
7.6.1 基于RecurDyn/CoLink分析流程
基于 RecurDyn/CoLink 进行机械−控制系统联合仿真的一般步骤为:
(1)建立机械模型并调试,确保机械系统模型正确无误。
(2)建立 PIN、POUT,其方法与 RecurDyn/Control 相应部分基本相同,唯一区别在
于调用 PIN 和 POUT 界面时,需要通过 Interdisciplinary>>CoLink>>Plant Input(Plant Output)
操作。
(3)进入 CoLink 界面建立控制系统图。
(4)进行联合仿真。
(5)查看并分析结果。
7.6.2 CoLink系统界面及操作方式
基于 CoLink 进行控制系统设计的界面主要包括四大区域:功能选项卡和功能区提供控
制系统建模的模块库及操作命令;常用工具栏中提供常用的命令按钮;在建模区可以建立
控制系统图;参数化值区用于设置、显示模型的信息,如图 7-21 所示。
建立控制框图时,需要选择某一功能选项卡,在展开的相应功能区中找到所需的模块,
通过鼠标选择并在建模区适当位置单击;模块之间的连接通过左键和右键结合使用来实现,
第7章 机械−控制系统联合仿真 315
通常左键用于连接模块间的输入与输出,右键用于从某一连线中分出一个分支,双击某一
模块可以弹出该模块的参数设置界面。
常用工具栏 功能选项卡和功能区
参数化值区
建 模 区
图 7-21 CoLink 界面
7.6.3 建模要点
联合仿真之前,必须确保机械系统模型正确无误。
在建立好控制系统模型之后,需要保存 CoLink 模型。必须保证 CoLink 模型与
RecurDyn 机械模型在同一目录下,同时必须保证在该目录下只有唯一的 CoLink
模型文件(*.clk 文件)。
7.7 RecurDyn/CoLink操作实例
图 7-23 控制模块
第7章 机械−控制系统联合仿真 317
(9)拖动鼠标左键连接模块间的关系;然后用鼠标左键选择模块间的连线后,在连线
上按下鼠标右键,拖动至另一模块,用于建立连线的分支,效果如图 7-24 所示。
图 7-24 建立控制系统原理图
图 7-25 设置采样周期
图 7-26 仿真参数设置
图 7-27 联合仿真结果
结果分析:
从仿真结果可以看出,根据 Mouse 和 Ball 之间的相对位移和相对速度反馈信号,所设
计控制系统能够满足 Mouse 追球的目的。在 1.5s 之后,逐步实现了控制效果。
通过对比 RecurDyn/Control 和 RecurDyn/CoLink 分析的结果(如图 7-28 所示),可以
看出两种途径仿真效果基本一致。
7.8 RecurDyn/Hydraulic简介
在现代工业中,随着对液压机械设备的性能要求的不断提高,运用计算机仿真技术通
第7章 机械−控制系统联合仿真 319
过机械系统和液压系统的联合仿真进行动态特性分析已经成为优化设计、提高系统稳定性
及可靠性的重要手段。
RecurDyn/Hydraulic 工具包提供了机械系统和液压系统联合仿真的接口,如图 7-29 所
示,通过该接口,可以实现液压软件(如 AMESim)与 RecurDyn 机械模型的耦合仿真,
适用于液力或汽力系统与机械系统交互的系统设计评价。
图 7-29 机械-液压系统联合仿真
7.8.1 AMESim接口设置
7.8.2 RecurDyn/AMESim联合仿真步骤
通过 RecurDyn/Hydraulic 接口进行机械-液压系统联合仿真共需要四大步骤:
(1)建立正确无误的 RecurDyn 机械系统模型。
( 2 )建立或导入液压模型,设置联合仿真环境,确保在 Amesim 工作目录下存在
model_name_.dll 文件。
(3)确定液压输入 HIN、输出 HOUT 及交互时间步,HIN 和 HOUT 的创建方法与
PIN 和 POUT 方法类似。
(4)运行联合仿真。
7.9 小 结
RecurDyn 在机械-控制系统联合仿真方面提供两种有效途径:RecurDyn/Control 通过
PIN、POUT 以及 M 文件关联机械和控制系统;RecurDyn/CoLink 通过 PIN、POUT 以及.clk
文件联接机械和控制系统。机械控制系统成功仿真的条件是在保证机械模型和控制模型彼
此正确的前提下设置合适的采样频率。
8 ᐺ RecurDynቲጓ።ᔇᇹᄻ
1.高机动性履带包——RecurDyn/Track(HM)
专为坦克、装甲车等车辆设计的专业化高机动履带系统工具包。丰富的履带系统组件,
可参数化地调节各部件的几何形状。工具箱由链齿轮、路面车轮、履带链接、橡胶衬套和
地面剖面库等组成。利用这些部件,可以迅速建立履带车辆,分析诸如履带链接和地面之
间的接触特性。同时,亦可由稳健的积分器求解驾驶中的强烈摆动问题。
2.低机动性履带包——RecurDyn/Track(LM)
专为履带式工程车辆设计的低机动履带系统工具包。参数化的部件包括链齿轮、单缘
轮、双缘轮等。使用者只需单击各个部件就可轻松完成整个履带系统的装配。RecurDyn/
Track(LM)工具箱由链轮、法兰、履带链接、橡胶衬套、辊子护栏和地面剖面库等组成。
利用这些部件,可以快速建立低机动履带车辆,分析诸如履带链接和地面之间的相互接触
特性,以及各种工况中出现的结构问题。
Track(HM&LM)的功能包括:客户几何实体库;链轮齿形和链板剖面的图形化设计;
自动化履带装配;履带节与链轮、导引轮与 guide、路面与履带节间的接触自动定义(3D
接触);履带节与障碍物(球)的接触自动定义(3D 接触);高效的接触算法、仿真快速
稳健;内置各种标准试验路面库(Bump/Trench/Ditch 等),也可在 Modeler 中自定义创建
路面;路面包含 Bekker 承压模型以及 Janosi 和 Hanamoto 的剪切模型,可选择雪地、沙地、
粘土以及自定义路面等;可在履带节上连接一般的 Body;特定结果输出,如履带链接接触
力和履带张紧力。
3.2D媒介传输包——RecurDyn/MTT 2D
MTT 2D 包含专门的二维建模器和求解器,提供二维运动的媒介轨迹仿真建模,能够
检查由于各种原因引起的潜在堵塞,如不同的纸张尺寸、重量和刚度,以及由于高温、高
湿度、磨损等引起的纸张属性的不同等,广泛应用于进纸机构(如打印机、复印机、传真
机)、银行设备(如 ATM 取款机、点钞机)等。
4.3D媒介传输包——RecurDyn/MTT 3D
传送机构的三维运动,可以检查由于板形的尺寸﹑重量和刚度的不同所引起的潜在扰动,
也可了解驱动滚轴未对准所引起的板材间的速度差,以及因间隙、磨损所导致的滚轴速度
差等。除用于进纸机构外,MTT 3D 也广泛应用于传送带机及医疗器械等。
MTT(2D&3D)的功能包括:辊子(固定/可动/Pair)、导轨形状(平板、圆弧、圆柱)
直接生成;纸张与导轨间的接触自动定义;可导入外部的 CAD 模型;辊子与辊子间接触自
动定义;提供专用的纸张 Shell 离散单元;可分析纸张材料的各向异性特质;可考虑纸张与
辊子间的摩擦力及线性特性;可预设纸张的初始状态(如初速度)或者折叠效果;可考虑
纸张的位移、应变、应力图表显示;可指定纸张节点的接触力、应变、应力信息表格输出;
可把由实验获得的纸张上的载荷数据用 Nodal Force 加载,包括由于真空引起的吸引力、静
电吸附力以及纸张的空气阻力等;可设置位移/速度/Event(ON/OFF)传感器。
5.链条工具包——RecurDyn/Chain
Chain 可轻松实现链条的装配。只需单击要连接的部件,即可完成链条的装配过程,
包含接触参数、衬套特性、链节数、链节形状及接触力输出等链条系统的全部装配信息,
求解快速、稳健。RecurDyn 以其独有的 2.5D 链条模型成功地解决了传动中的噪音问题,
在研究由链振动引起的传递问题、降低链条噪音设计、正时链机构设计等方面,赢得了极
高的声誉。其主要功能包括:自动生成链条系统的各部件(链轮、链节、导引装置等(支
持 ISO606 标准链条));可自定义设计齿形截面轮廓线;支持凹型导轨并可考虑弹性变形
导轨建模;链条系统自动化装配;链节、链轮、辊子间接触自动定义;考虑链节与链轮的
侧面摩擦;链条系统专用求解模块适合求解高速运动问题;可设置特殊传感器(包括位移、
速度、张力测量传感器),可配合自动液压张紧器(HAT)进行张紧链设计。
6.皮带滑轮工具包——RecurDyn/Belt-Pulley
Belt-Pulley 是由模块化的皮带和皮带轮所构成,拥有皮带滑轮几何形状生成器,可生
成各种类型的皮带与滑轮。在应用时只需选择所需的皮带滑轮类型,单击部件即可完成整
个皮带系统的装配,自动定义皮带与滑轮之间的接触作用力,RecurDyn 可以精确地给出
系统在运动过程中的动态特性,从而改进和完善系统设计。典型的应用包括无级变速系统
CVT(转子、法兰、V 形带轮和 V 形皮带)、正时皮带机构(转子、正时皮带轮和正时皮
带)等,可以研究由带振动引起的传递问题,可分析皮带传动系统的滑动打滑。该工具包
中提供平带、V 形带、正时带、多楔带等各种形状的带,带与带轮间接触自动定义,自动
化装配带系统,可自定义各种带系统接触点位置;提供弹性梁(Beam)单元离散带节(平
带、V 形带)、弹性壳(Shell)单元离散带节(平带自动网格分割);采用摩擦力动力模
型(Stick-slip)计算摩擦力;提供特殊位移、滑动(带与带轮间)、张力等传感器;可进
行弹性壳带的位移、应变、应力云图显示;可指定节点力的输出。
7.齿轮工具包——RecurDyn/Gear
Gear 提供完整的齿轮建模、分析功能,能够自动生成齿轮的几何体并能自动定义接触
关系。齿轮的种类包含平齿、斜齿、锥齿轮、内啮合齿轮、涡轮蜗杆、准柔性体齿轮等。
322 RecurDyn 多体系统优化仿真技术
齿轮几何形状自动生成、齿轮截面自动设计(包括曲线以及圆弧等组合方式),准柔性体
齿轮(QFB)的齿和齿本体间由 Bushing Force 连接,可考虑齿轮的柔性变形。可自动计算
齿轮最佳中心距离,自动装配齿轮组。
8.发动机——RecurDyn/Integrated Engine
9.曲柄连杆——RecurDyn/Crank
基于 RecurDyn/Crank 曲柄连杆工具包,可以建立多种类型的发动机曲柄连杆系统。确
定与曲柄连杆系统相平衡的力,可将柔体部件集成到系统级虚拟样机中。Crank 模块包含
了一系列零部件模型,如发动机缸体、曲轴、连杆、活塞销、活塞、飞轮、扭振减震器、
平衡轴、驱动系及各种轴承等。可分析曲轴与发动机本体的相互作用,如轴承负载、曲轴
振动和动应力等。对于曲轴和发动机缸体的应力和耐久性、径向滑动轴承设计、发动机支
座设计、内外力平衡的研究提供全面的解决方案,有助于快捷、准确地模拟发动机复杂的
动力学性能。系统支持自动建模和手工建模两种方式,用户可根据实际模型进行选择。曲
柄连杆系统实体模型和连接关系、接触等自动定义,简化了建模过程。可通过振动、动应
力分析进行轴系和驱动系的扭振分析;可分析发动机设计参数对整体性能的影响(材料、
轴承间隙、飞轮和减振设计,以及曲轴刚度等)。
可通过特殊参数化点(SPM)和特殊参数化值(SPV)自动布置曲柄连杆系统,模板
化建立多种类型发动机——直列型、V 型、水平型。Crank 提供 4 种曲轴模型(Rigid、
Torsional+ Bending、Torsional、Beam)供用户选择,可根据发动机研发的不同阶段从精度
和速度方面进行选取。活塞和缸套的连接关系有 3 种类型(Constraint、Cylinder Contact、
Surface Contact)可供选择。轴承支承有 Bushing Bearing、Constraint Bearing、Ball Bearing、
EHD Bearing 等形式。EHD 轴承基于 Reynolds 方程,可考虑油槽和注油孔效应。活塞/缸套
及轴承间的摩擦有 Standard Friction、Empirical Formula 及 Spline 选项。活塞柔性体接触(2D、
3D)形式多样化,可采用 Modified Piston Mesh 修改活塞轮廓,考虑活塞的椭圆形轮廓线,
更加准确地分析活塞和汽缸之间的接触。在考虑柔性体方面,有两种考虑方式(FFlex 和
第8章 RecurDyn 行业应用子系统 323
10.配气机构——RecurDyn/Valve
发动机通常都工作在一个较高的转速范围内,因此配气机构的动力学分析格外重要。
同时,作为发动机设计基本要求的部件轻量化使得分析部件的柔度非常必要,考虑柔性体
并进行全面的分析已经成为配气机构分析的重要组成部分。此外,随着配气机构构造的不
同,将会有不同的仿真方案及分析模型,而 Valve 就是进行自定义模型分析的强有力工具。
RecurDyn/Valve 为发动机的配气机构提供完整、全面的虚拟样机构建及仿真分析一体化流
程,从自动构建配气机构的组成、自动定义连接/约束关系到运动学仿真、动力学仿真、优
化方案等全过程,Valve 都有详尽的工具和具体的向导。在 RecurDyn Valve 界面中,可以
方便、快速地分析发动机配气机构的布局是否恰当,分析组成部件的弹性变形影响,考虑
配气机构内部弹簧的振动、部件接触产生的振动等动力学因素对配气机构性能的影响。它
通过整机的动力学分析来模拟整个“真实的”配气机构的气门升程,而不仅仅局限于运动
学计算理论的气门升程。
可通过特殊参数化点(SPM)和特殊参数化值(SPV)自动布置配气机构。Valve 提供
4 种基本的配气机构形式供用户直接使用:DOHC、SOHC、DOHC、OHV。除此之外,用
户还可以自定义各种配气机构的模型。它提供 4 种凸轮轴模型(Rigid、Torsional+ Bending、
Torsional、Beam)供用户选择,可按计算速度、精度以及部件柔性的需求选取。Valve 包
含多种支承类型(Constraint/Bushing/EHD)及配气弹簧(Simple/BMW/MMS)供选择。它
提供多种凸轮接触的摩擦系数定义方式:Standard Friction、Empirical Formula、Friction
Spline。可对单个/整体配气机构的动力学性能分别进行分析,考虑凸轮的扭转刚度、正时
链、正时带、齿轮等对系统整体性能的影响。可通过专门的液力挺柱分析液压的动力学特
性对系统性能的影响。结合 AutoDesign 可对配气机构在高转速下所需的弹簧力、弹簧刚度
进行优化。有 RFlex、FFlex 两种考虑柔性体模型的方式,借助 Flex Wizard 功能可方便地
将刚体替换为柔性体。提供丰富的多样化结果数据,如配气机构的运动数据(位移、速度、
加速度)、配气机构的落座速度、配气机构的闭合接触力、凸轮和从动件之间的接触力,
以及弹簧的动力学特性等。
11.活塞——RecurDyn/Piston
RecurDyn/Piston 是针对单个活塞—汽缸系统分析的专业工具包,可考虑活塞轮廓、质
量分布、活塞销偏移量、活塞裙部和缸套的摩擦效应、活塞的润滑效应,评价活塞销纵向
和椭圆形变形,分析活塞销座载荷,可考虑润滑效应及注油孔的影响效果,可分析噪声、
摩擦、磨损等问题。发动机本体和连杆之间的连接关系可基于经验数据施加边界,可考虑
接触、向心轴承、滑动轴承等效应。Piston 工具包中提供多种活塞—缸套之间的接触定义
方式(Cylinder Contact,Surface Contact,2D Flex 活塞—2D Rigid 气缸,2D Rigid 活塞—
2D Flex 气缸,3DFlex 活塞—3DFlex 气缸),活塞—缸套接触分析基于弹性液体动力学理
论,动画显示接触区域压力分布。通过运动学分析可确定活塞系统的结构布局,获得连杆
与活塞运动过程的速度、加速度、位移等,可考虑润滑效应及柔性体的接触,确定活塞、
324 RecurDyn 多体系统优化仿真技术
缸套的受力情况及应力分布,为减小活塞拍击噪声、降低摩擦损失和磨损、减小缸套穴蚀、
降低机油消耗量等方面的研究提供了依据。
12.正时链——RecurDyn/Timing Chain
13.弹簧RecurDyn/Spring——MMS
配气弹簧运动得非常快,弹簧的喘振效应不能被忽略。为了考虑这种影响,在仿真时
需要考虑弹簧的质量。RecurDyn/Spring(MMS)是专业的弹簧分析工具包,提供了 4 种不
同类型的弹簧。
MMS Type A 弹簧:由多质量弹簧块组成,部件之间通过平动副、弹簧阻尼力和轴
向力连接,其中轴向力代表接触力,用 Impact 函数进行定义。
MMS Type B 弹簧:由 BMW AG 提供的弹簧模型,轴向力由非线性弹簧表示,非
线性特性采用预先定义的 Stiffness/Damping 特性样条曲线插值。
MMS Type C 弹簧:该弹簧由多质量点模型离散,质量点间的连接力包含 One-Step
和 Two Step 不同的非线性行为。
MMS Type D 弹簧:弹簧质量块间由 Beam forces 连接,可考虑弹簧间的接触和弹
簧的自接触。
基于 RecurDyn/MMS,可分析弹簧在高速运动下弹簧本身的运动、动力性能,可分析
多个弹簧之间接触以及弹簧本身自接触对整个系统性能的影响,也可以直接使用 F-Flex 建
立全柔性体的弹簧。
14.轴承模块——RecurDyn/Bearing
轴承载荷的计算是动力学分析中一项非常重要的内容,支承质量的好坏、结构形式是
否合理,对工作精度、传动效率、寿命等有很大的影响。RecurDyn/Bearing 提供了 4 种类
型的轴承供用户选择,即圆柱滚子轴承、球轴承、流体润滑轴承以及 Bushing 轴承。可建
立包含内圈、外圈及圆柱滚子或球滚子的轴承,并进行轴承连接分析,球滚子与轴承内外
圈之间的接触自动定义。球轴承外圈用 Beam 力连接,可考虑轴承外圈变形。可建立流体
第8章 RecurDyn 行业应用子系统 325
润滑轴承(EHD),可考虑油槽和注油孔效应,进行快速、可靠的轴承液体动力学计算,
确定轴承负载,分析载荷分布和结构变形(如轴瓦、连杆),分析分割线位置,避免失效。
EHD 通过对轴承进行网格划分,采用流体的方法分析油膜压力变化,可以详细考虑油槽以
及油孔的影响,可以通过 3D Surface Type 和 Projection Type 显示油槽和注油孔效应云图。
Bushing 轴承在止推轴颈方向有不同的刚度和阻尼。
15.液力挺杆模块——RecurDyn/HAT
在链和带的工作环境下,尤其在发动机应用中,通常是和自动张紧装置共同配合使用。
发动机工作时,为了避免气门间隙调整不当引起的噪声问题,一般高速发动机上都使用可
自行调整气门间隙的液力挺杆。通过挺杆体腔内的油液变化,自动调节挺杆的工作长度,
从而减少了零件之间的冲击和噪声。基于 RecurDyn/HAT 工具包可有效地建立液压自动张
紧装置的模型,自动完成相当繁琐的建模过程,有助于提高建模效率。HAT 自动建立包括
气腔、活塞、单向阀及单向阀弹簧等组件,活塞间约束、接触、弹簧及液压力等元素自动
创建,RecurDyn 提供两种不同形式的液力挺杆模型:HAT A/B。建模过程自动化,自动计
算液压力及各弹簧力。
16.轮胎特性相关模块——RecurDyn/Tire相关模块
RecurDyn/Tire 提供各种研究车辆动力学行为的轮胎及接口模块,用于仿真车辆在驱
动、转向和制动过程中轮胎所形成的力和力矩。相关模块包括 Tire Basic、SoilTire、MF-Tire、
MF-Swift Interface 和 Ftire Interface。
Tire Basic 提供基于轮胎特性的 Fiala、UA 模型及用户自定义模型。
SoilTire 可考虑轮胎的变形、下沉及路面变形等情况,其理论依据是 BEKKER 理
论、Janosi 和 Hanamoto 的剪切模型,适合分析轮胎在沙地、雪地、湿地等各种软
土路面上的力学特性,其 MultiPass 可考虑车辆直线行驶时前轮对路面的碾压对后
轮与路面的影响,非常适合进行路面通过性分析。
MF-Tire(Magic Formula)轮胎是 TNO 公司的轮胎模型,能够准确描述轮胎的侧
偏特性,广泛应用于车辆动力学的研究,适合进行操作稳定性等分析。
MF-Swift 轮胎也是由 TNO 公司开发的,用于分析轮胎的高频动力学特性,可进行
车辆操稳性能的虚拟道路测试。Swift 轮胎采用刚性环模型,可分析轮胎侧向 60Hz、
垂向及纵向 100Hz 的振动行为,可仿真联合滑移及非稳态滑移直到完全打滑。
Ftire 是 COSIN 公司开发的三维非线性轮胎模型,适合分析高速运转时轮胎的径向
硬化效果,自动计算作用于轮轴处的力和力矩,为耐久性和舒适性分析提供精确
输入。
8.1 带传动仿真实例
图 8-1 割草机模型图示
1.设定工作环境
2.进入带工具包子系统
3.导入几何体
图 8-2 进入带系统编辑模式并导入几何体
4.建立V形轮VPulley
图 8-3 设置工作平面,建立 V 形轮
图 8-4 V 形轮 1 参数设置
图 8-5 V 形轮 1 定位
图 8-6 V 形轮 2 参数设置
图 8-7 位置调整后的 V 形轮 2
5.建立Roller及Flange
图 8-8 建立滚子和法兰
图 8-9 设置法兰参数
6.设置V带断面
图 8-10 V 带截面参数
7.带系统装配
图 8-11 带系统装配
图 8-12 设置带装配属性
8.建立固定副约束
兰间的连接。
9.建立转动副
表 8-1 转动副对应关系
10.固定Motor_Mount
选 择 Professional>>Joint>>Fixed 命 令, 选 择 ( Body,Body,Point ) 模 式 , 依 次 选 择
MotherBody(Ground)、Motor_Mount 及 Motor_Mount 上任一点,固定 Motor_Mount。
11.建立Mower_Deck和MotherBody间的转动副
选择 Professional>>Joint>>Revolute 命令,选择(Body,Body,Point,Direction)模式,依
次选择 MotherBody(Ground)、Mower_Deck、Mower_Deck 轴端的弧线捕捉其中心点,
及沿轴向的一点,建立转动副,如图 8-13 所示。
图 8-13 建立转动副
12.建立驱动
图 8-14 建立速度驱动
13.建立等效载荷
图 8-15 建立等效载荷
14.布置传感器
图 8-16 布置传感器
15.运行仿真
16.仿真结果
图 8-17 初步仿真结果
334 RecurDyn 多体系统优化仿真技术
17.增加摩擦
图 8-18 增加摩擦
18.增加输出项
为了了解更多的信息,需要更多的输出内容。
在数据库窗口中选择 BeltAssembly1,按 P 键,在弹出的 Properties of BeltAssembly1
对话框中选择 Output 选项卡,选中 Vbelt2、Vbelt32、Vbelt62,单击 OK 按钮确认,如
图 8-19 所示。
图 8-19 增加输出项
第8章 RecurDyn 行业应用子系统 335
19.再次运行仿真
图 8-20 仿真结果
8.2 链传动仿真实例
图 8-21 叉车模型及链系统结构
1.打开初始模型
2.另存模型
3.进入链子系统
图 8-22 进入链子系统
在链子系统中,建立滚子链节和滚子,链的端部与大地间通过弹性铰(橡胶衬套)连
接。下面逐步建立链子系统。
4.建立上、下连接体
选择 Professional>>Body>>Cylinder 命令,在选项区选择(Point,Point,Radius)输入方
第8章 RecurDyn 行业应用子系统 337
5.建立滚子
图 8-23 设置滚子属性
6.建立滚子销
7.建立固定副
表 8-2 固定副对应关系
再次按 A 键,取消自动连续操作模式。
8.建立弹性连接Bushing
Translation X Y Z
Stiffness 3160 3160 3160
Damping 50 50 50
Rotation Z
Stiffness 0
Damping 0
9.建立滚子链节
10.链条装配
中心,将光标移至图形工作窗口其他位置处,右击,在弹出的快捷菜单中选择 Finish
Operation 命令。
图 8-26 链系统装配
11.建立转动副
图 8-27 连接转动副属性设置
12.设置链系统属性
13.运行仿真
14.萃取结果
15.移动链系统
16.取消固定副效应
17.建立链系统的输出
18.返回系统级并设置复制粘贴规则
19.复制粘贴已有链系统
的 Exit 按钮 ,返回上一级系统。
同样操作,删除 Chain_R 子系统中的 RollerLink1 和 PinLink1。
20.建立Fork与链系统的约束副
21.建立Base_Body与链系统的固定副
22.建立Lift_Body与链系统的固定副
Layer 显示模式,选择当前层为 4。
选择 Professional>>Joint>>Fixed 命令,确认(Body, Body, Point)选择模式,先选择
Lift_Body,然后按住 Shift 键,移动鼠标至滚子销附近,右击,在弹出的快捷菜单中选择
Select List 命令,再在弹出的 Select List 对话框中选择 Roller_Pin@Chain_L,单击 OK 按钮
确认之后,将鼠标移至圆柱中心直至捕捉到(85,1970,-80),建立固定副 Fixed_Lift_Roller_L。
以同样方法,建立 Lift_Body 和 Chain_R 之间在(85,1970,80)的固定副 Fixed_Lift_Roller_R,
如图 8-36 所示。
23.建立提升驱动速度
24.设置角度调整位移
25.运行仿真
26.显示分析结果
图 8-39 叉车模型仿真结果
子时,滚子面相对低的阻尼、高接触刚度以及链节的小质量导致了链节中的振动。
8.3 齿轮增速机构仿真实例
图 8-40 齿轮增速机构
1.设置建模环境
2.进入齿轮工具包编辑模式
3.建立齿轮 1
4.建立其他 3 个齿轮
5.建立蜗杆
图 8-43 建立蜗杆
6.自动装配齿轮
图 8-44 自动装配
7.同轴齿轮约束
选择 Professional>>Joint>>Fixed 命令,确认选择方式为(Body,Body,Pont),先后选择
SpurGear1、SpurGear2 及 SpurGear1 的几何中心,建立固定副。
8.建立齿轮与大地间的转动副
选择 Professional>>Joint>>Revolute 命令,在选择区选择(Body,Body,Pont),先后选
择 SpurGear1、Ground 及 SpurGear1 的几何中心,建立 SpurGear1(齿轮 1)相对大地的转
动副 RevJoint1;以同样方法,分别建立 SpurGear3、SpurGear4 与大地之间的转动副 RevJoint2
和 RevJoint3。
9.建立蜗杆与大地间的平动副
选择 Professional>>Joint>>Translational 命令,在选项区选择(Body,Body,Pont,Direction),
选择 Worm1、Ground、Worm1 的 CM 点及 x 方向,建立蜗杆与大地之间的平动副。
10.定义驱动
图 8-45 定义驱动
11.建立齿轮接触对
12.建立蜗轮蜗杆接触副
13.运行分析
14.结果后处理
图 8-46 增速机构仿真结果
图 8-47 履带轮结构
1.设置建模环境、导入几何体
2.创建履带板
图 8-49 建立履带板
图 8-50 设置履带板属性
352 RecurDyn 多体系统优化仿真技术
3.创建链轮
图 8-51 建立链轮
4.创建支重轮
图 8-52 建立支重轮
5.创建惰轮
6.装配履带
图 8-53 装配履带系统
354 RecurDyn 多体系统优化仿真技术
7.建立履带架
选择 Professional>>Body>>Link ,在(Point,Point)输入模式下,先后输入(-2325,-80,0)
、
(-1260,-80,0),建立 Body1,并更名为 Track_Frame。从数据库窗口中选择 Track_Frame,
右击,在弹出的快捷菜单中选择 Edit 命令,进入 Track_Frame 编辑模式。从数据库窗口中
选择 Solids>>Link1,右击,在弹出的快捷菜单中选择 Property 命令,在弹出的属性对话框
中选择 Link 选项卡,设置 First Radius=200,Second Radius=200,Depth=20,单击 OK 按钮
确定,如图 8-54 所示。
图 8-54 履带架
8.创建张紧装置
选择 Professional>>Body>>Box ,在(Point,Point)输入模式下,先后输入(-1300,100,0)
和(-700,-100,0),建立 Body1,并更名为 Tensioner。在图形工作窗口中双击 Tensioner,
进入 Tensioner 的编辑模式。从数据库窗口中选择 Box1,按 P 键,在弹出的属性对话框中
选择 Box 选项卡,设置 Depth=40;选择 Origin&Orientation 选项卡,设置 Origin 为
(-1000,0,-20),单击 OK 按钮确认。单击工具栏中的 Exit 按钮 ,退出 Tensioner 的编辑
模式。
9.调整链轮
10.建立约束副
图 8-55 调整链轮位置
表 8-5 约束副对应关系
11.建立机械式履带张紧器
提示:此处设置低刚度是为了保证几乎恒定的弹簧力。
12.施加速度驱动
13.仿真测试
14.调整右侧履带子系统
15.建立左侧履带子系统
16.建立地面
选择 Professional>>Body>>Ground ,进入大地(Ground)编辑模式。
选择 Professional>>Curve and Surface>>Outline ,在输入区依次输入(-3500, -1600,0)、
(250, -1350,0)、(3700, -250,0)、(6500, 0,0)、(9050, -450,0)、(11450, -1350,0)、
(13950,-2600,0)、(15750, -3250,0)、(16850, -3400,0)、(20100, -3400,0)、(20500,
第8章 RecurDyn 行业应用子系统 357
图 8-56 路面
17.导入刮板系统
图 8-57 导入刮板后的模型
358 RecurDyn 多体系统优化仿真技术
18.液压缸子系统模型
(1)液压缸包括上部缸体和缸杆,通过参数化值控制液压缸子系统
选择 File>>Import 命令,在弹出的对话框中选择 RecurDyn Subsystem File(*.rdsb)格
式,选择 Hydraulic_Cylinder.rdsb,单击 Open 按钮,在弹出的提示对话框中单击 OK 按钮,
导入液压缸子系统 SubSystem1。选择 SubSystem1,右击,在弹出的快捷菜单中选择 Rename
命令,将其重命名为 Left_Cyl。
从数据库窗口中选择 Left_Cyl,右击,在弹出的快捷菜单中选择 Edit 命令,进入液压
缸子系统编辑模式。从数据库窗口中的参数化值项中选择 PV_Cyl_Radius 并双击,在弹出
的如图 8-58 所示 Parametric Value List 对话框中,更改为 PV_Cyl_Radius= 60,PV_Rod_
Radius= 30,单击 OK 按钮确认。
图 8-58 参数化值
图 8-59 设置液压缸运动
第8章 RecurDyn 行业应用子系统 359
图 8-60 参数化点
图 8-61 参数化点连接
360 RecurDyn 多体系统优化仿真技术
表 8-6 参数化点连接对应关系
19.建立装载机系统的约束副及载荷
表 8-7 约束副和载荷
图 8-62 CMotion1 驱动
20.仿真分析
图 8-63 张力结果
21.选择黏性土壤路面
为了仿真履带在黏性土壤路面的运动学和动力学性能,在此选用黏土路面。
从数据库窗口中选择 SubSystem>> Right_Track_Assy,右击,在弹出的快捷菜单中选
择 Edit 命令,再次进入右侧履带子系统编辑模式。
从数据库窗口最下端选择 Track(LM)>>TrackAssembly1,右击,在弹出的快捷菜单
中选择 Property 命令;在弹出的履带系统装配属性对话框中选中 Pressure Sinkage 复选框,
单击 Contact Parameter 按钮;打开 Contact Parameter 对话框,选择 Clayey soil 类型,单
362 RecurDyn 多体系统优化仿真技术
图 8-64 设置路面
8.5 媒介传送机构仿真实例
1.建立LowerBody和UpperBody
选择 Professional>>Body>>Cylinder,选择(Point,Point,Radius)模式,在输入区依次输
入(868.09998, 786.99995, 0)、(868.09998, 786.99995, 10)、1.5,建立 Body1。选择 Body1,
右击,在弹出的快捷菜单中选择 Rename 命令,将其重命名为 LowerBody。
第8章 RecurDyn 行业应用子系统 363
2.建立纸张
图 8-66 建立纸张
3.建立滚子对
选择 MTT2D>>Roller Pair,在选项区选择(Point,Radius,Direction,Raadius)输入模式,
在输入区依次输入(769.99998,799.99995,0)、13、(3.88260731e-003, -0.9999924627, 0)、
13,建立定轮和动轮滚子对 FixedRollerGroup1 和 MovableRollerGroup1,如图 8-67 所示。
选择 MovableRollerGroup1,按 P 键,在弹出的属性对话框中选择 Movable Roller Group
选项卡,选中 Initial Gap 复选框,并设置其值为 0.4,单击 OK 按钮确认。
364 RecurDyn 多体系统优化仿真技术
图 8-67 建立定轮-动轮滚子对
4.建立PGuide Edge
选择 MTT2D>>PGuide Guide,选择(GuideMotherBody,Point,Radius)输入模式,选择
Ground(MotherBody)、(840.09255, 799.6007, 0)及 2.45,建立 PGuide Edge;以同样方
法,按照表 8-8 所示数据依次建立 11 个 PGuide Edge,如图 8-68 所示。
5.建立直导轨GuideLinear
6.建立弧状导向GuideArc
选择 MTT2D>>Arc Guide,选择(Point,Point,direction,angle)输入模式,依次输入
(837.08877, 780.00719, 0)、(836.86581, 780.45473, 0)、(0.15552, -0.98783, 0)以及
162.49414,按 Enter 键确认,生成弧状导向;以同样方法,先后选择(858.99998, 786.99995,
0)、(857.21659, 790.58360, 0)、(-0.4454624392, 0.8953006284, 0)及 11.75293,按 Enter
键确认,建立第二条导向弧;再采用相同步骤,先后输入(858.99998, 786.99995, 0)、
(859.62057, 783.04884, 0)、(0.35347, -0.93544, 0)及 11.75293,建立第三条导向弧。导
向弧对应关系如表 8-10 和图 8-70 所示。
Center Point Direction Angle Radius Contact direction Guide Mother Body
837.08877, 780.00719, 0 0.15552, -0.98783, 0 162.49414 0.5 Up Mother Body
858.99998, 786.99995, 0 -0.44546, 0.89530, 0 11.75293 4.0 Up Mother Body
858.99998, 786.99995, 0 0.35347, -0.93544, 0 11.75293 4. Up Mother Body
7.定义平动副
选择 Professional>>Joint>>Translational,选择(Body,Body,Point,Direction)输入模式,
先后选择 LowerBody、MotherBody(Ground)、(868.09998, 786.99995, 0)及 y 方向,定
第8章 RecurDyn 行业应用子系统 367
8.定义驱动
9.定义传感器
选择 MTT2D>>Sensor>>Distance,选择(Point,Direction,Distance),输入(894,786,0)、
(0,1,0)及 10,定义距离传感器,如图 8-73 所示。
图 8-73 设置传感器
368 RecurDyn 多体系统优化仿真技术
10.运行动力学分析
11.结果后处理
图 8-74 接触力曲线
8.6 发动机建模仿真实例
基于 RecurDyn 的发动机系列工具包所提供的配气机构、曲柄-连杆机构、活塞-连杆机
构等集成工程经验和专家知识的模板化专业工具,可自动逐层建立发动机部件、子系统和
系统等一系列的仿真模型,在开发的早期辨识并解决发动机的设计问题。
RecurDyn 系列化的专业工具包建模思路非常清晰,下面以配气机构为例介绍自动化建
模过程,其他工具包的建模过程类似。
基于 Valve 工具包建立配气机构共包括下列步骤:
(1)选择配气机构类型,安排结构布局。
(2)选择组成部件,建立部件之间关系。
(3)自动设定初始位置。
(4)设定边界条件。
(5)运行仿真分析。
(6)逐步细化模型(柔性体、多质量弹簧……)。
(7)形成子系统模型供发动机集成仿真使用。
具体操作步骤如下:
(1)选择 Toolkits>>Subsystem Toolkit>>Valve ,进入 Valve 子系统编辑模式。
(2)选择 Valve>>Global Data ,在弹出的 Pre Global Data Dialog 对话框中设置发动
机的主轴和从轴方向类型,主轴 Master Axis Type=Z,Slave Axis Type=X;设置从动件的类
型 Follower Type=Direct-acting;设置 Number of Valves=4,Number of Cams=4;单击 Next
按钮,在弹出的提示对话框中单击 OK 按钮确认所有设置(一旦确认之后,将不能改变已
第8章 RecurDyn 行业应用子系统 369
图 8-77 设置凸轮轴参数
370 RecurDyn 多体系统优化仿真技术
图 8-78 设置配气机构布局
图 8-79 特殊参数化点
图 8-80 选择组件及组件间的关系
第8章 RecurDyn 行业应用子系统 371
图 8-81 配气机构模型
图 8-82 确认自动调整初始位置
(5)从数据库窗口中选择 BCs>>BCSprocket1,右击,在弹出的快捷菜单中选择
Property 命令,在弹出的属性对话框中保持 BC Type=Displacement(T/R),Domain
Type=Time,取消选择 TX、TY、TZ、RX、RY,保留 RZ 绕 Z 轴的转动边界条件,如图
8-83 所示。
图 8-83 设置边界条件
图 8-84 配气机构仿真结果
8.7 小 结
RecurDyn 通过提炼行业产品特点,提供种类丰富的行业工具包,基于行业工具包,可
实现快速、方便的构件产品的仿真模型,同时可以将基于行业工具包所创建的子系统模型,
与其他子系统一起装配成总体系统共同进行分析。
9 ᐺ RecurDynଐᎁછशᑞ
RecurDyn 提供了强大的设计优化功能,包括灵敏度分析、确定性优化以及稳健性分析,
本章将对这些功能进行简介,并通过具体的实例,介绍基于 RecurDyn 进行优化设计的过程。
9.1 优化分析概述
9.1.1 优化分析技术的发展
9.1.2 优化三要素
优化分析中设计变量、目标函数和约束条件是不可或缺的三大要素。
1.设计变量
所谓设计变量,是指在设计过程中进行选择并最终必须确定的各项独立参数,如构件
的截面积、惯性矩以及钢板的厚度等。通过调整设计变量,可以改进设计方案。设计变量
包括设计变量(设计参量在设计过程中可变化)和预设参数(通常在设计开始时固定)。
374 RecurDyn 多体系统优化仿真技术
2.目标函数
传统的设计旨在寻找仅仅满足功能性或其他要求的可接受的或足够的设计,这些满足
整个设计约束的可接受设计称为可行性设计。通常会有多个可接受设计,而优化的目的就
是寻找最好的可行性设计。因而,必须确定一个从所有可行性设计中通过比较选择最好一
个的准则,该准则通常表示为设计变量的函数,即目标函数。
3.约束条件
在许多实际设计中,设计变量不能任意选择,必须满足一定的功能性或其他要求。通
过约束达到一个可接受的设计,这些约束称为约束条件。表示系统性能限制的约束条件称
为功能约束,表示设计变量物理行为限制的约束称为边约束。
9.2 RecurDyn优化设计功能
YES NO
是否理解设计
系统的物理行为?
*选择有用的设计参数 *选择多个设计参数
*选择有用的分析响应 *选择多个分析响应
*设计优化 设计研究
*鲁棒性设计优化
图 9-1 优化设计过程
RecurDyn 优化设计的基础是参数化建模,参数化模型不用考虑模型内部的关联变动就
可以方便、快速地获得更新设计的仿真。参数化包括参数化点、参数化值(参数化变量属
性)、复杂的参数表达式等。参数化点可以表达几何形体、约束位置、驱动位置等,一旦
参数化点改变,与之相联的各个对象将随之自动修改;参数化值可用于定义各种属性,如
刚度、质量、长度、驱动等,改变参数化值,将获得参数化表示的属性的自动更新;参数
表达式可以表达复杂的对象间的关系。
第9章 RecurDyn 设计优化仿真 375
RecurDyn/AutoDesign 是一个多学科优化工具,可以进行包括机构、结构及控制联合仿
真模型的优化。
很显然,对于设计变量不同的取值,系统的相应性能往往不同。设计变量在条件允许
取值范围内变化会导致系统性能怎么样的变化是设计研究要考虑的内容。进行 Design Study
设计研究的目的是想知道设计变量的变化对系统性能的影响、设计变量的最佳取值以及系
统性能对设计变量变化的敏感程度。试验设计(DOE)是设计研究的重要内容,它是一种
安排试验和分析试验数据的数理统计方法,主要是对试验进行合理安排,以较小的试验规
模(试验次数)、较短的试验周期和较低的试验成本,获得理想的试验结果以及得出科学的
结论。通过试验设计,能够考虑在多个设计变量同时发生变化时,各个变量对系统目标性
能的影响。试验设计过程包括设计矩阵的建立和试验结果的统计。
RecurDyn 的设计研究包含灵敏度分析及设计变量筛选,提供各种成熟的试验设计方
法,如全析因设计及三水平正交设计等。
设计优化是指在设计变量满足约束条件时使目标函数获得最值的过程。在优化分析过
程中,需要设定设计变量的可变范围,并通过约束条件加以限制,保证最优设计满足设计
条件的制约。优化分析过程是在满足各种设计条件和在规定的范围内,通过自动选择设计
标量,从而获得目标函数最值的过程。
RecurDyn 的设计优化功能包含各种先进的单、多目标优化方法,能够方便地找出在各
种约束条件下的最佳设计组合方案。
图 9-2 鲁棒性设计优化
9.2.4 RecurDyn的试验设计方法
在 DOE 中,试验因素(Factor,简称因素或因子)是试验的设计者希望考察的试验条
件,因素的具体取值为水平(Level)。根据试验因素的数目可分为单因素优化试验和多因
素优化试验。衡量试验结果好坏程度的指标称为性能指标或响应变量(Response Variable)。
通常的 DOE 包括 5 个基本步骤:首先确定试验的目的,然后选择因素集,接下来确定
因素的水平,之后进行试验并记录每次的试验结果,最后分析因素对目标性能的影响。当
前的 DOE 被分为两大类,第一类是传统的 DOE 技术,考虑模型行为的固有随机性,通常
适用于固有测量误差的物理试验;第二类指空间填充,尤其适用于确定性的计算机仿真,
如拉丁方、正交矩阵、最大熵等。
RecurDyn 在设计研究过程中自动执行 DOE 过程,自动建立设计矩阵,并填充设计空
间,根据各种给定的设计变量组合形式,评价其性能指标。
在 RecurDyn 中效果分析(Effect Analysis)的 DOE 方法包括:
Extended Plackett-Burman Design:可以产生混合水平设计(2-, 3-, 4-水平) 。
3-level Orthogonal Array Design:3 水平正交矩阵设计,从 2~1000 因素中生成 3 水
平正交矩阵。
Level-Balanced Descriptive Design:水平平衡描述设计,对于大规模问题可以产生
Strength-1 正交矩阵。尽管不如 Strength-2 正交矩阵,但对于大规模问题非常有效。
例如,对于 10 个水平 20 个因素,仅仅产生 200 个抽样。
Full Factorial Design:全因子设计,经典的 DOE 方法,仅适用于小模型。
2-level Orthogonal Array Design:2 水平正交矩阵设计,可从 2~1023 因素中产生 2
水平正交矩阵。
Bose’s orthogonal Array Design:可以产生正交表,如 OA(q2,q+1,q,2),其中 q 是一
个素数(2, 3, 5, 7, 11, 13, 17 …)。在正交矩阵 OA(n, k, q, t)中,n、k、q 及 t 分别表
示矩阵行数、列数、各列因素中最大取值以及相互关系数。
在 RecurDyn 中用于元模型的 DOE 方法如图 9-3 所示,分别介绍如下。
Face Centered Central Composite Design:FC 中心复合设计(CCD),是一种经典
第9章 RecurDyn 设计优化仿真 377
的 2 次响应面模型方法。
Box and Behnken Design:BBD 法,经典 2 次响应面模型方法,比中心复合设计法
高效。
Generalized Small Composite Design:GSCD 法,自动产生 DOE 表的方法,比中心
复合设计高效,但在大模型中不推荐使用。
Incomplete Small Composite Design-I and -II:ISCD-1、ISCD-2 法能缩小取样数,推
荐在大模型中采用。
Discrete Latin Hypercube Design:离散拉丁方设计,DLHD 法,是一种高效的空间
填充方法。
NO
目前设计是否接近设计区间中心?
YES 推荐离散拉丁超立方
是否包括固定类型变量?
YES
NO
YES
是否 6σ 稳健性设计? 推荐 ISCD-1
NO
推荐 ISCD-2
9.2.5 元模型
数值优化算法在收敛前需要许多计算,因而大多数有效的优化算法使用序列近似(如
泰勒级数)方法,用线性或二次函数代替精确的响应,即通过这些近似函数序列求解优化
问题。该方法仅适用于线性结构优化领域,对于多体领域或其他非线性问题则无能为力。
RecurDyn 采用元模型技术进行优化分析,元模型是近似模型的通称。图 9-5 说明了构建元
模型的过程。
378 RecurDyn 多体系统优化仿真技术
图 9-5 构建元模型的过程
元模型是减少计算成本的近似仿真技术。典型的近似技术包括两个阶段:第一阶段是
试验设计(DOE),该过程在设计空间中取样选择;第二阶段是构建元模型,对来自试验
设计的响应进行评价,建立适当精确的近似。
RecuRdyn 的元模型方法包括协同克拉格法、径向基函数法、保守响应面法以及多项式
函数法。图 9-6 说明了元模型的选择方法。
协同克拉格法(Simultaneous Kriging Method):即使有多个响应近似,该方法每
次也仅仅求解子优化问题,因而称做协同克拉格法,是一种非常精确的元模型
技术。
径向基函数法(Radial Basis Function Method):支持两类径向基函数,包括 MQ
径向基函数(multi-quadratics)和高斯函数。如果抽样大于 100,推荐使用 MQ
函数。
保守响应面法(Conservative RSM):该方法生成高估和低估响应面模型,在求解
噪声函数的优化问题时非常高效。
多项式函数法(Polynomial Functions):提供 6 类多项式,如常数、线性、对角二
次、完全二次、对角三次以及混合线性模型。在优化过程中,这些多项式类型可
自动转换。
拉丁超立方设计 ISCD-1,ISCD-2
多面 RBF
YES
是否收敛? 结束
NO
检测设计算法
来自仿真历程
协同克拉格方法
图 9-6 元模型的选择方法
第9章 RecurDyn 设计优化仿真 379
9.2.6 RecurDyn的数值优化方法
RecurDyn 提供的数值优化方法包括:
增广拉格朗日乘子方法(Augmented Lagrange Multiplier Method):该方法是一种
著名的优化算法,尤其是针对大规模设计问题。
BFGS 拟牛顿法(BFGS (Quasi-Newton) Method):该方法适用于小规模问题。
HS 共轭梯度法(Hestenes-Stiefel (Conjugate Gradient) Method):比 BFGS 拟牛顿
法更为有效,解决大规模问题需要计算 23 个梯度和 85 个方程。
变阶多项式近似法(Variable-order Polynomial Approximation Method):有效的一
维搜索方法,在搜索过程中,采用平均 3.5 函数计算。
权重最小-最大法(Weighted Min-Max Formulation):尽管有多种方法可以将多目
标转化为等效的单目标,如权重函数、距离函数以及最小-最大法等,但只有最小-
最大法能够保证唯一解。
9.3 基于RecurDyn/Professional进行设计优化
9.3.1 进行参数化研究的步骤
成一次设计变量的定义。若定义多个设计变量,可重复该步操作。设计变量定义好之后,
选取并单击 OK 按钮,在 Design Study 对话框中的 Design Variables 栏中将显示已经定义好
的 DV。
图 9-8 定义设计变量
第9章 RecurDyn 设计优化仿真 381
图 9-8 定义设计变量(续)
图 9-9 定义性能指标
图 9-10 直接输入设计矩阵
9.3.2 设计研究的结果
仿真分析完成后,可以将试验设计的结果以表格和图形的形式显示出来。如图 9-11 所
示,性能指标的值可以在性能指标的输出文件(*.rpi)中看到。
图 9-12 优化分析结果
第9章 RecurDyn 设计优化仿真 383
图 9-12 优化分析结果(续)
9.3.3 What-if-Study假设分析
What-if-Study 是在求得基本模型的最优解之后进行的,其目的是分析模型参数的变动
(包括目标函数系数的变动、约束函数系数的变动以及约束边界值的变动)会给当前最优
解和最优值带来什么影响。RecurDyn 的 What-if-Study 用性能指标创建一个包含目标函数和
约束条件的设计问题,当设计指标最小时,将是最优的设计。
Design Index 设计指标:
当设计问题定义为 Min F1 及 Max F2,约束条件为 R1≥C1,R2≤C2 时,设计指标的
计算方法为:
m
Design Index ( x) r max( g , ( x), 0)
j 1
其中,
F1 F2 max F2 min
( x) max w1 , w2 , wi 1
F1max F1min F2
g1 ( x) C1 / R1 1
g 2 ( x) R2 / C2 1
9.4 基于Professional进行优化实例
9.4.1 定义设计变量—弹簧自由长度
图 9-13 定义设计变量
9.4.2 定义性能指标
图 9-14 定义性能指标
9.4.3 运行优化分析
图 9-15 优化结果显示
9.5 RecurDyn/AutoDesign功能简介
9.5.1 RecurDyn/AutoDesign优化分析流程
在确定了优化目标和优化对象之后,进行优化分析必不可少的步骤如下。
(1)设定参数化值 PV。
(2)定义设计变量 DV 及其取值范围。
第9章 RecurDyn 设计优化仿真 387
(3)定义性能指标 PI。
(4)进行优化分析(根据分析目的,选择具体类型)。
其中定义参数化值是整个优化分析过程的基础,设计变量必须是参数化值;性能指标
用于定义约束条件和目标函数。在基于 RecurDyn/AutoDesign 进行任何类型的分析之前,必
须保证完成设计变量和性能指标的定义。
9.5.2 定义设计变量
在定义设计变量之前,必须保证模型中作为设计变量的参量已经以参数化值的形式表
示。如果作为设计变量的项没有以参数化形式表达,则需要进行下面的步骤。
选择 Subentity>>Parametric Value 命令,在弹出的 Parametric Value List 对话框中单击
Add 按钮增加变量,通过 E 按钮设置变量初值,命名设计变量。
参数化值表示就是将需要优化的设计对象参数化,可以是刚度、初速度、质量、长度
等,如图 9-16 所示。在 RecurDyn 中但凡以 PV 存在的项,都可作为设计变量。为了达到
设计目标而需要进行优化的变量即为设计变量。
图 9-16 参数化表示设计变量
设计变量可以是刚体的参量,亦可以针对有限元节点。在关联设计变量时,有 5 种选
项,如表 9-1 所示。
388 RecurDyn 多体系统优化仿真技术
表 9-1 设计变量关联选项
选 项 含 义
Direct Relation 直接定义设计变量和参数化值的关系
FEShape1:Translation Relation 节点集初始位置平移关系
FEShape2:Cylindrical Distance 节点集初始位置沿柱坐标的径向平移
FEShape3:Spherical Distance 节点集初始位置沿球坐标的径向平移
FEShape4:Angular Relation 每一节点新位置通过转动轴及转动角定义
图 9-17 定义设计变量
9.5.3 定义性能指标
图 9-18 分析响应
性能指标可以是基本类型或有限元结果类型。有限元结果可以是节点集或单元集的应
力,也可以是单元集的质量。 PI 的创建步骤为:如图 9-19 所示,从 RecurDyn 的
InterDisciplinary/AutoDesign 工具包中单击 Analysis Response 按钮;在弹出的 Analysis
Response List 对话框中单击 Create 按钮;在弹出的 Analysis Response(以 Basic 为例介绍)
对话框中,设定 AR 名称、表达式、取值方式以及方便辨识的 AR 描述等,然后单击 OK
按钮,返回 Analysis Response List 对话框后,从定义好的 AR 中,勾选 PI 选项,然后单击
OK 按钮确认,完成 PI 定义。
图 9-19 定义性能指标
9.5.4 进行设计研究
Screening Variables:根据分析结果进行变量筛选。
Correlation Analysis:分析响应的相关性分析。
1.Effect Analysis(影响分析)
如图 9-20 所示,影响分析用于了解设计变量各水平对性能指标的影响,包括影响分析
和方差分析图。
图 9-20 影响分析
2.Screening Variables(设计变量筛选)
设计变量筛选对于缩减设计改变成本具有重要的作用。例如,一种情况是定义了 20
个设计变量,通过改变所有设计变量找到了更好的设计方案,而另一种情况是通过仅仅改
变 3~5 个变量获得几乎同样效果的设计提高,无疑后者将是更多人喜欢的。设计变量筛选
就是从所有设计变量中筛选出对某一分析响应比较有效的设计变量。
AutoDesign 为设计变量筛选提供了统计向导。如图 9-21 所示,散点表示每一设计变
量;横坐标表示有效性的幅值;通过拖动 Chart Control 可设定变量筛选的控制;通过 Number
of Screening DV 可实现设计变量筛选,并可显示出有效的设计变量;单击 Save 按钮,可在
更新模型中自动设置设计变量。
第9章 RecurDyn 设计优化仿真 391
图 9-21 设计变量筛选
3.Correlation Analysis(相关性分析)
通过选择以横轴和纵轴表示的两个分析变量,显示分析变量之间的相关性。
9.5.5 进行优化分析
选择 InterDisciplinary>>AutoDesign>>Design Optimization,进入确定性设计优化对话
框,其中提供了多个选项卡。
其中,Design Variable 和 Performance Index 选项卡与设计研究相关内容完全相同;DOE
Meta Modeling Methods 选项卡用于设置 DOE 方法、元模型方法及多项式函数;在
Optimization Control 选项卡中,设置收敛误差和仿真类型,并控制是否执行仿真;通过
Result Sheet 和 Summary Sheet 选项卡,可以查看优化分析的结果。
对于多目标优化问题,分别赋予每个目标不同的权重以指定其重要程度。
9.5.6 进行鲁棒性优化分析
鲁棒性分析区别于确定性设计优化之处是它考虑优化成分的可变性。例如,如果制造
条件引起设计变量的变化性,可以测量该变化性并输入标准偏差,进行鲁棒设计优化,优
化结果将报告系统性能的可变性。
鲁棒性优化分析的设置与确定性设计优化基本类似,不过也有不同之处。一是在优化
控制对话框中鲁棒性设计优化分析需要设置 DFSS/Robust 设计控制内容; 另外就是在 Result
Sheet 选项卡中,鲁棒性设计优化显示标准偏差 STD 和鲁棒性指标。
Summary Sheet(结果概要)选项卡中显示设计变量和分析响应的优化值,同时列出了
优化算法。
392 RecurDyn 多体系统优化仿真技术
9.6 弹射机构优化分析实例
从 RecurDyn 安装目录\Help\Manual\Tutorials\InterDisciplinary\AutoDesign\Examples 中
找到 Sample_B.rdyn 文件,复制至工作目录,并用 RecurDyn 打开文件。
如图 9-22 所示,弹射机构架固定于大地上,前连杆一端通过球铰与弹射臂连接,另一
端通过转动副与机架连接,在机架和前连杆之间有弹簧力作用;后连杆一端通过转动副与
弹射臂连接,另一端通过转动副与机架连接;在弹簧力的作用下,弹射臂弹出并赋予弹射
臂导轨中的球以一定速度抛出,限位柱限制弹射臂继续转动。如果设计成功,球将顺利地
穿过目标孔。
目标
限位柱
前连杆
弹射机构
弹射臂 弹簧
后连杆
错误!
图 9-22 弹射机构
在弹射机构的设计过程中存在如下问题:如何使得弹射机构弹出的球顺利地穿过圆柱
目标孔?
在该机构的设计中,选择可控的模型因素作为设计变量。根据分析可控的设计条件,
确定设计变量为前连杆长度、弹簧刚度、前连杆角(前连杆中 2 个转动中心连线与水平方
向的夹角)以及弹簧的安装位置(弹簧安装位置是弹簧安装点和前转轴之间的距离,表达
为占整个连杆长度的比例),如表 9-2 所示。
为了度量球是否顺利通过目标孔,需要研究球通过目标位置的速度和位置误差。在
RecurDyn 中通过变量方程表达式表示。通过控制这些参数使得球不仅能到达目标口,而且
可以控制进攻角误差以允许球顺利进入孔中。为了简化起见,在球和大地之间增加 Inplane
铰以消除球在 z 向的平面外移动,使得研究的主要关注点集中于球在 x 和 y 方向的移动。
第9章 RecurDyn 设计优化仿真 393
表 9-2 设计变量
PV Name 含 义
PV_frontLinkLength 前连杆长度
PV_springCoefficient 弹簧刚度
PV_frontLinkAngle 前连杆角
PV_springMountHeight 弹簧安装位置
如图 9-23 所示,以目标参考系为基准,测量球的位置和速度。为了评估球的角度误差,
当球通过目标平面时测量球 y 方向的速度,一个小的 y 向速度显示小的角度误差。为了评
估球的位置误差,测量球通过目标平面时其与目标之间的 y 向距离。此外,使用第三个量,
以测量球最接近目标的位置误差。
图 9-23 弹射机构优化目标及约束条件
在优化设计时,需要定义目标函数和约束条件。在该设计模型中,有 3 个性能指标,
指定 y 向速度误差小于 5mm/s,y 向位置误差必须小于 5mm。从理论上讲,这些值应等于
0。这些极限值取决于数值求解。
为了详细介绍优化分析过程,有关机构的动力学模型建立过程在此不再赘述。在已有
的正确参数化动力学分析模型基础上,需要经历下述仿真优化过程。
(1)定义设计变量。
(2)定义性能指标。
(3)优化设置并运行优化。
394 RecurDyn 多体系统优化仿真技术
(4)获得优化后的模型并运行分析。
选择 Tools>>Settings>>Model Settings 命令,在弹出的对话框中选择 Options1 选项卡,
设置 Digit for Number Display=10(影响优化精度的数值设置),如图 9-24 所示。
图 9-24 数值精度设置
图 9-25 参数化值列表
手动删除模型中已经定义好的设计变量和性能指标,通过上下拖动滚动条从数据库窗
口中删除。在数据库窗口中选择 Database>>Model1>>DP DesignParameter 和 Database>>
Model1>>AR AnalysisResponse 的所有内容,按 Delete 键。
1.定义设计变量:前连杆角和弹簧安装位置
图 9-26 定义设计变量
重复上面的步骤,定义设计变量 DP_springMountHeight。在输入时采用下列参数:
名称:DP_springMountHeight。
参数值:PV_springMountHeight。
下限值:0.4;上限值:0.6。
Description:Spring mount height。
返回 Design Parameter List 对话框中,将刚刚创建好的两个设计变量中的 DV 列选中,
单击 OK 按钮,完成设计参数的设置。
2.定义性能指标
在定义性能指标之前,需要定义变量方程 Ex_yVelocityError_t、Ex_yPositionError_t 及
表达式 Ex_positionError。将 3 个性能指标以表达式的形式表示出来。
按照图 9-27~图 9-29 所示,选择 AutoDesign>>Analysis Response,在弹出的 Analysis
Response List 对话框中单击 Creat 按钮,创建新的 Analysis Response;在弹出的 Analysis
396 RecurDyn 多体系统优化仿真技术
图 9-27 变量方程
图 9-28 位置误差表达式
图 9-29 定义分析响应
表 9-3 分析响应参数设置
图 9-30 分析响应列表
3.运行优化设计
图 9-31 性能指标
表 9-4 性能指标参数设置
图 9-32 DOE 方法
图 9-33 优化控制设置
第9章 RecurDyn 设计优化仿真 399
优化流程:当执行优化时,首先执行 DOE,在该过程中将设计空间分为几个点,对于
给定的设计变量的各种组合,评价其性能指标。DOE 之后,AutoDesign 根据这些点拟合出
一个分析面,称为元模型。AutoDesign 采用这个元模型,在设计空间内通过搜索优化解确
定最佳点。然后,对所选的优化点分析其精确解。如果这个新的设计不满足收敛准则,分
析结果和设计点将增加到原始的 DOE 表中,并重新构造元模型,再次进行优化。这个优化
过程称为 SAOM,即具有元模型的有序近似优化。可通过增加时间步数缩减数值误差。
4.查看优化设计结果并获得优化模型
图 9-34 结果概要
图 9-35 仿真历程
图 9-36 优化模型的仿真结果
从结果可知,优化后的模型满足设计目标。
9.7 机械-控制联合系统优化实例
统的输入。在模型中,机械系统的输入是起落架支柱的轴向力,输出是降落轮中心和目标
位置沿垂向的相对位置和相对速度。
图 9-37 起落架模型
9.7.1 定义设计变量
图 9-38 参数化设计变量
图 9-39 参数化控制变量
第9章 RecurDyn 设计优化仿真 403
图 9-40 定义设计变量
9.7.2 定义分析响应
在该模型中,机构的输入为起落架支柱的轴向力,输出为轮子中心和目标位置沿竖直
方向的相对位置和相对速度。为了将机构输入和轴向力关联起来,首先创建表达式,然后
用该表达式表示轴向力。
1.通过表达式定义偏差,Step函数用于仅仅萃取 2 秒的值。
STEP(TIME,1.99,0,2.0,1),然后单击 OK 按钮确认。
图 9-41 定义位置偏差
2.查看表达式
图 9-42 表达式列表
3.创建分析响应
图 9-43 定义分析响应
表 9-5 分析响应对应关系
9.7.3 运行设计优化
图 9-44 性能指标列表
406 RecurDyn 多体系统优化仿真技术
图 9-45 优化控制
图 9-46 采样时间
图 9-47 优化收敛历程
图 9-48 优化结果概要
408 RecurDyn 多体系统优化仿真技术
9.7.4 结果比较
通过比较可知,在优化后的增益情况下,轮中心和目标位置的偏差在 2s 达到稳定,如
图 9-49 所示。
图 9-49 优化前后位置偏差比较
鲁棒性设计优化不同于确定性设计优化,需要考虑系统组成变量的变化,如温度波动
或加工条件引起的前连杆角的变化。测量该可变性,在鲁棒性设计中输入标准偏差,通过
优化即可获得系统性能的变化。
RecurDyn/AutoDesign 允许定义所期望的 σ 水平,常见的标准是 6σ,意味着 99.9999998%
的产品满足质量约束条件。
从 RecurDyn 安装目录\Help\Manual\Tutorials\InterDisciplinary\AutoDesign\Examples 文
件夹中将 Sample_C1.rdyn 和 Sample_C2.rdyn 文件复制至工作目录。
本例介绍如图 9-50 所示的进纸系统的鲁棒性和 6σ 优化设计问题。其中,有 3 个噪声
变量和两个随机设计变量。在此着重介绍 AutoDsign 在解决鲁棒性设计及 6σ 约束优化中的
作用,从中了解鲁棒性设计和 6σ 设计之间概念性的不同,及噪声因子和随机设计变量的定
义方法。
第9章 RecurDyn 设计优化仿真 409
图 9-50 送纸机构模型
送纸机构的设计目标是在纸张材料属性(杨氏模量、厚度及曲率半径等)的波动情况
下,机构仍能保证纸张通过挡板至目标位置。该问题中,纸张材料属性变化称为噪声(即
AutoDesign 中的随机常数);挡板位置为随机设计变量(有正负误差),如表 9-6 所示。
表 9-6 送纸机构的设计参量、公差及类型
9.8.1 定义设计变量
从工程角度看,纸张厚度、杨氏模量及卷曲半径是不可控的量,所以这 3 个参量作为
随机常数;而两个导板的垂直位置是可控量,作为设计变量,但在 MTT2D 中,导板位置
不能通过参数化值定义,因而不能直接定义为设计变量。如图 9-51 所示,为了将导板位置
的变化表示为设计变量,通过如下两个运动表达式表示。
UpperslideMotion:PV_Yupper*STEP(TIME, 0, 0, 0.01, 1)。
Lowerslidemotion:PV_Ylower*STEP(TIME, 0, 0, 0.01, 1)。
图 9-51 导板位置参数化
图 9-52 设计变量
表 9-7 其他设计变量
9.8.2 定义性能指标
图 9-53 性能指标
9.8.3 鲁棒性优化
该问题的鲁棒性设计优化意味着满足:
The paper position at x=894 (mm) = Target position
412 RecurDyn 多体系统优化仿真技术
表 9-8 设计变量的设置
图 9-54 鲁棒性优化设计变量
图 9-55 鲁棒性优化性能指标
第9章 RecurDyn 设计优化仿真 413
图 9-56 鲁棒性优化控制
图 9-57 执行概要
图 9-58 鲁棒性优化信息
第9章 RecurDyn 设计优化仿真 415
图 9-59 鲁棒性分析结果概要
9.8.4 六西格玛设计优化
在此采用和前面鲁棒性设计优化同样的设计变量。
六西格玛优化的性能目标为总的误差(Y_position - 12.3)*2 最小。根据 6σ 原则,Y 向的
位置应该满足不等式:
9.3 =< Y_position -/+ 6*Sigma =< 15.3。
AutoDesign 通过两个不等式表述上面的关系:
9.3 =< Y_position - 6*Sigma
Y_position + 6*Sigma =< 15.3
对于该问题,在设计目标 PI = Weight*(AR*Alpah_Weight+Sigma*Robust_Index) 中定
416 RecurDyn 多体系统优化仿真技术
图 9-60 6σ 分析性能指标
提示:为了节省计算时间,使用前面鲁棒性分析的结果。
选择 DOE Meta Modeling Method 选项卡,如图 9-61 所示。取消选中 Select DOE Method
复选框,选中 Get From Simulation History 按钮前面的复选框并单击该按钮,在弹出的
Simulation History 对话框中可查看仿真历程。为了比较 6σ 设计优化和鲁棒性设计优化结果,
仅仅选中 Description of Simulation 列内容为 Initial Runs for Meta Model 所对应的 Get 列,单
击 OK 按钮确认。返回 DOE Meta Modeling Method 选项卡,在 Meta Modeling Method 栏中
选择 Radial Basis Functions Model(Multi-Quadratic) 单选按钮,在 Polynomial Function 栏中
选中 Auto 单选按钮。
图 9-62 6σ 优化分析执行概要
图 9-63 6σ 优化分析结果
418 RecurDyn 多体系统优化仿真技术
9.8.5 结果比较
比较鲁棒性设计优化和六西格玛设计优化的结果可知,虽然两种优化得到的设计变量
DV4 和 DV5 不同,但是分析响应的采样标准偏差 σ 几乎相同。总体而言,鲁棒性优化设
计的结果比 6σ 优化设计结果更好,因为在几乎相同的采样偏差下,能够获得更好的纸张的
目标位置。
9.9 小 结
RecurDyn 具有强大的优化分析功能,包括试验设计、设计研究、基于元模型的优化分
析以及面向 6σ 的鲁棒性优化分析。在优化分析之前必须明确设计变量、目标函数和约束条
件,通过创建参数化模型,定义以参数化值表示的设计变量,关联表达式表示的分析响应
建立性能指标。通过合理选择优化参数,可有效地执行优化分析,并可通过程序自动地更
新得到优化的设计分析模型。
10 ᐺ RecurDynऔࠨఎख
10.1 RecurDyn二次开发概述
10.2 RecurDyn用户子程序
10.2.1 用户子程序的使用
在模型中调用用户子程序,需要经过如下步骤。
(1)根据子程序的功能及输入参数编写用户自定义子程序代码。
(2)生成动态链接库(Dynamic Link Library,DLL)。
(3)在 RecurDyn 模型中对已经创建的动态链接库 DLL 进行调用。
10.2.2 用户子程序简介
利用子程序可以实现如下功能:
自定义各种力。
定义微分方程。
定义输出请求。
获取模型定义数据。
获得当前状态信息。
计算特定标准函数的值。
通过曲线拟合技术实现插值。
输出错误信息等。
10.2.3 常用辅助子程序
表 10-1 辅助子程序
子 程 序 功 能
SYSFNC 为用户子程序提供单个系统状态值,如速度、位移、加速度、力等量
SYSARY 为用户子程序提供系统状态值,如位移、速度、加速度、力等量
TIRARY 提供轮胎状态值,如位移、速度、加速度、力等
AKISPL 使用 Akima 三次曲线拟合方法进行数据插值
CUBSPL 使用传统的三次曲线拟合方法进行数据插值
CHEBY 计算 Chebyshev 多项式
POLY 计算多项式的值
HAVSIN 计算 HAVSIN 函数
STEP 计算三次多项式逼近 STEP 函数
FORCOS 计算傅里叶余弦级数
FORSIN 计算傅里叶正弦级数
SHF 计算简谐函数
IMPACT 计算模型碰撞力函数
BISTOP 计算双侧碰撞力函数
ERRMES 输出用户子程序中的错误信息
RD_SYSTEM 在每一时刻输出计算结果函数
REG_FILE 注册登记函数
1.SYSFNC
2.SYSARY
表 10-3 力函数
函 数 名 称 功 能 Result
Result(1)=FX;Result(2)=FY
返回作用在 Marker 上的合力的
Force Result(3)=FZ;Result(4)=TX
6 个分量
Result(5)=TY;Result(6)=TZ
TFORCE 返回 3 个力分量 Result(1)=FX;Result(2)=FY;Result(3)=FZ
RFORCE 返回 3 个力矩分量 Result(1)=TX;Result(2)=TY;Result(3)=TZ
表 10-4 位移函数
函 数 名 称 功 能 Result
Result(1)=DX;Result(2)=DY;
DISP 返回位移的 6 个分量 Result(3)=DZ;Result(4)=PSI;
Result(5)=THETA;Result(6)=PHI
TDISP 返回位移的 3 个平动分量 Result(1)=DX;Result(2)=DY;Result(3)=DZ
RDISP 返回 313 坐标系欧拉角 Result(1)=PSI;Result(2)=THETA;Result(3)=PHI
422 RecurDyn 多体系统优化仿真技术
续表
函 数 名 称 功 能 Result
Result(1)=A(1,1);Result(2)=A(2,1);
Result(3)=A(3,1);Result(4)=A(1,2);
AM 返回 Result(5)=A(2,2);Result(6)=A(3,2);
Result(7)=A(1,3);Result(8)=A(2,3);
Result(9)=A(3,3)
表 10-5 速度函数
函 数 名 称 功 能 Result
Result(1)=VX;Result(2)=VY;
VEL 返回速度的 6 个分量 Result(3)=VZ;Result(4)=WX;
Result(5)=WY;Result(6)=WZ
TVEL 返回平动速度的 3 个分量 Result(1)=VX;Result(2)=VY;Result(3)=VZ
RVEL 返回转动速度的 3 个分量 Result(1)=WX;Result(2)=WY;Result(3)=WZ
表 10-6 加速度函数
函 数 名 称 功 能 Result
Result(1)=ACCX;Result(2)=ACCY;
ACC 返回加速度的 6 个分量 Result(3)=ACCZ;Result(4)=WDTX;
Result(5)=WDTY;Result(6)=WDTZ
Result(1)=ACCX;Result(2)=ACCY;
TACC 返回平动加速度的 3 个分量
Result(3)=ACCZ
Result(1)=WDTX;Result(2)=WDTY;
RACC 返回转动加速度的 3 个分量
Result(3)=WDTZ
3.AKISPL
4.STEP
step 函数的调用格式如下。
Fortran:call rd_step(x, x0, h0, x1, h1, order, value, errflg)或者 step(x, x0, h0, x1, h1,
order, value, errflg)。
C/C++:rd_step(x, x0, h0, x1, h1, order, &value, &errflg)或者 step(x, x0, h0, x1, h1,
order, &value, &errflg)。
其中,x 为自变量;x0 为 step 函数起始的自变量值;h0 为 step 起始函数值;x1 为 step
函数结束的自变量值;h1 为 step 函数的结束值;order 用于定义微分阶数,默认为 0;value
表示返回的函数值;errflg 必须定义为逻辑变量,如果调用子程序出错,errflg 为 true。
5.IMPACT
6.BISTOP
双侧碰撞函数的调用格式如下。
Fortran:call rd_bistop(x, xdot, x1, x2, k, e, cmax, d, order, value, errflg)或 bistop(x,
424 RecurDyn 多体系统优化仿真技术
表 10-7 碰撞函数
10.2.4 用户自定义子程序简介
表 10-8 用户自定义子程序模板
子程序模板 功 能
SCREW_FORCE 创建用户定义的螺旋力
AXIAL_FORCE 创建用户定义的轴向力
DIFFERENTIAL_USUB 定义微分方程
MATRAIX_USUB 定义矩阵力
MOTION_USUB 定义驱动
REQUEST_USUB 定义输出请求
ROTATIONAL_FORCE 定义转动力
TIRE_USUB 定义用户轮胎力
TRANSLATIONAL_FORCE 定义平动力
VARIABLE_USUB 定义用户变量
NODAL_FORCE 创建节点力
Contact Force_USUB 创建用户定义的接触力
Track_SoiL_Subroutine 创建用户定义的土壤力
第 10 章 RecurDyn 二次开发 425
10.2.5 在RecurDyn模型中调用用户子程序
10.2.6 Source文件和Header文件
1.C/C++语言
2.Fortran文件
10.3 用户自定义子程序电机驱动实例
图 10-1 曲柄滑块机构电机微分方程驱动
1.用户自定义子程序,创建*.dll文件
图 10-2 新建项目
图 10-3 设置项目名称和工作路径
图 10-4 设置应用程序类型
图 10-5 添加源文件和头文件
428 RecurDyn 多体系统优化仿真技术
图 10-7 子程序模板
第 10 章 RecurDyn 二次开发 429
2.调用differential_Subroutine.dll,实现曲柄驱动
图 10-9 定义用户子程序
图 10-10 定义用户子程序微分方程
第 10 章 RecurDyn 二次开发 431
图 10-11 调用位移驱动
图 10-12 驱动扭矩
10.4 用户自定义子程序轴向力驱动实例
采用前面的曲柄滑块机构,通过用户自定义子程序实现滑块驱动。在用户子程序中
将调用辅助子程序 SYSFNC( )和 RD_AKISPL( ),以达到如图 10-13 所示的轴向力滑块驱动
目的。
432 RecurDyn 多体系统优化仿真技术
图 10-13 轴向驱动力
1.用户自定义子程序,创建*.dll文件
图 10-14 新建项目
图 10-15 选择程序语言及用户子程序类型
图 10-16 进入 DllFunc.for 文件
INCLUDE 'SYSCAL.F'
C---- DEFINE VARIABLES 定义变量
C Parameter Information 参数信息
C time: Simulation time of RD/Solver 仿真求解时间
C upar: Parameters defined by user 用户定义变量
C npar: Number of user parameters 变量数
C jflag: When RD/Solver evaluates a Jacobian, the flag is true.计算雅克比矩阵,为 true
C iflag: When RD/Solver initializes arraies, the flag is true.初始化数组,为 true
C result: Returned value 返回值
DOUBLE PRECISION TIME, UPAR(*)
INTEGER NPAR
LOGICAL JFLAG, IFLAG
DOUBLE PRECISION RESULT[REFERENCE]
C---- USER STATEMENT
C---- LOCAL VARIABLE DEFINITIONS
INTEGER MKID(3), ID
DOUBLE PRECISION DISP, VALUE(1)
LOGICAL ERRFLG
C---- ASSIGN IMPACT PARAMETERS
MKID(1) = INT(UPAR(1))
MKID(2) = INT(UPAR(2))
MKID(3) = INT(UPAR(3))
ID = INT(UPAR(4))
C---- CALL AUXILIARY SUBROUTINES FOR CALCULATIONS
CALL SYSFNC('DX', MKID, 3, DISP, ERRFLG)
CALL RD_AKISPL(DISP, 0, ID, 0, VALUE(1), ERRFLG)
C---- ASSIGN THE RETURNED VALUE
RESULT = VALUE(1)
RETURN
END
(4)从 RecurDyn 安装目录\USUB 下复制 Solver.lib、syscal.f 文件至当前工作目录;
从 Fortran Library 文件夹中复制 dfordll.lib、dfconsol.lib、dfport.lib 至当前工作目录;确保
同一目录下包括下列文件: Axialforce_Subroutine.for ; Solver.lib 、 syscal.f ; dfordll.lib 、
dfconsol.lib、dfport.lib。
(5)切换至 DOS 命令窗口,改变工作目录为当前工作目录(确保该目录中包含有
Axialforce_Subroutine.for、Solver.lib、syscal.f、dfordll.lib、dfconsol.lib 及 dfport.lib 文件),
运行 f90 /dll Axialforce_Subroutine.for solver.lib,创建 Axialforce_Subroutine.dll 文件。
第 10 章 RecurDyn 二次开发 435
2.调用Axialforce_Subroutine.dll文件,实现滑块的轴向力驱动
图 10-17 取消驱动
图 10-18 定义样条曲线
图 10-19 调用子程序
图 10-20 轴向力驱动曲线
10.5 用户自定义子程序运动驱动实例
图 10-21 平动运动驱动
1.用户自定义子程序,创建*.dll文件
动驱动子程序功能代码。
(1)运行 MicrosoftTM Develop Studio 6.0,选择 File>>New 命令,在弹出的如图 10-22
所示 New 对话框中选择 Projects 选项卡,选择 RD User Subroutine Wizard,在 Project name
文本框中输入项目名称 Motion_Subroutine,在 Location 文本框中设置工作路径,然后单击
OK 按钮确定。
图 10-22 新建项目
图 10-25 编写用户子程序代码
#include "stdafx.h"
#include "DllFunc.h"
MOTION_SUBROUTINE_API void __cdecl motion_usub
(double time, double upar[], int npar, int iord, int iflag, double* result)
{
using namespace rd_syscall;
// Parameter Information 参数信息
// time: Simulation time of RD/Solver 仿真时间
// upar: Parameters defined by user 用户定义的变量
// npar: Number of user parameters 用户变量数
// iord: Integrator order 积分阶次
// iflag: When RD/Solver initializes arraies, the flag is true.初始化数组为 true
// result: Returned value 返回值
// User statement 下面是用户定义的功能代码
// Local Variable Definition 定义局部变量
double shift, omega;
double value;
double coef[3];
int errflg;
第 10 章 RecurDyn 二次开发 439
2.调用Motion_Subroutine.dll文件,实现滑块的运动驱动
图 10-26 取消转动副驱动
图 10-27 子程序平动驱动
(6)选择 Analysis>>Dynamic/Kinematic,按照之前的设置运行动力学/运动学分析,
从结果图 10-28 可以看出用户自定义的运动驱动曲线。
图 10-28 运动驱动曲线
第 10 章 RecurDyn 二次开发 441
10.6 RecurDyn/ProcessNet简介
图 10-30 启动 IDE
项目预
项目编
览窗口
辑窗口
属性窗口
消息窗口
图 10-32 项目浏览及编译命令
10.6.2 运行RecurDyn/ProcessNet
10.7 RecurDyn/PressNet二次开发实例
10.7.1 开发自动化创建接触功能
图 10-34 软管
1.创建 11 对接触
图 10-35 建立自动接触方法
然后,在刚刚创建的空方法中增加下列代码声明变量,以定义创建接触的起止 Body
号,以及软管 1 上 body 号和软管 2 上相应 Body 号的间隔。
int BodyNumStart= 20; // Start creating contacts with body 20
int BodyNumEnd= 30; // Continue until body 30
int BodyInterval= 51; // Interval between body number on hose 1 and corresponding
//body's number on hose 2 is 51
接下来,定义循环。在刚刚创建的变量声明之后,增加如下循环嵌套,以循环定义对
应 Body 之间的接触(在编写代码过程中,可参考 PNet 帮助文档中相应功能的代码)。
for (int i= BodyNumStart; i <= BodyNumEnd; i++)
{
int j= i + BodyInterval;
第 10 章 RecurDyn 二次开发 445
// j is the index for the corresponding bodies on hose #2 ,Do the contact for
//corresponding bodies
IBody baseBody= model.GetEntity("BeamBody" + i.ToString( )) as IBody;
IGeometry baseGeom= baseBody.GetEntity("HollowCircularBeam1") as IGeometry;
IBody actionBody= model.GetEntity("BeamBody" + j.ToString( )) as IBody;
IGeometry actionGeom= actionBody.GetEntity("HollowCircularBeam1") as IGeometry;
IContactSolidContact solidContact= model.CreateContactSolidContact("solidContact"
+ i.ToString( ), baseGeom, actionGeom);
}
接着,修改接触参数。使用智能提示(如图 10-36 所示),在上述循环中最后一个语
句之后输入 s 字符,在弹出的列表框中包含了该部分的变量名、可调用的方法等。从智能
提示中找到 solidContact 并按 Enter 键(或双击)进行选择,然后输入“.”(点);再从智
能提示列表中选择 ContactProperty,连续输入“.”(点),直至完全输入下面两行语句。
图 10-36 使用智能提示框
solidContact.ContactProperty.StiffnessCoefficient.Value=1000;
solidContact.ContactProperty.DampingCoefficient.Value= 0.1;
至此,11 对接触和接触参数已经定义好。下面 Build 上述代码并执行应用程序。
选择 Build>>Build ProcessNet 命令,对上述代码进行 Build。完成之后,返回 RecurDyn
界面。选择 ProcessNet>>Run ProcessNet 命令,打开 Run ProcessNet 对话框,如图 10-37 所
示。从该对话框中的宏命令列表中,选择 ProcessNetTutorialCreateSolidContact,并单击 Run
按钮。
图 10-37 运行自动接触工具
提示:如果没有拟运行的宏,可以选择需要调用的宏所在目录下的*.csproj,通过 Reload
按钮装载。
446 RecurDyn 多体系统优化仿真技术
2.创建其余接触对
10.7.2 开发对话框和消息输出
通过增加对话框,能够控制创建哪些段之间的接触。其主要工作包括设计对话框界面,
并在现有程序中增加代码以便能够调用新的对话框。需要经历以下两个过程。
1.设计对话框外观
图 10-39 建立对话框窗体
图 10-40 建立接触控制对话框
下面更改对话框中的控件属性。
选择对话框中的 label1,并在右下角的属性窗口中,将 Text 的值改为 Starting Segment。
提示:label 的编辑区域很小,但可通过单击右侧的下拉箭头获得一个更大的工作区域,
从而更方便地进行编辑。
以同样方法更改对话框中的各元素属性,对应关系如下。
label1=Starting Segment。
label2=Ending Segment。
label3=Interval to Hose #2。
checkBox1=Add Offset Contacts。
button1=OK。
button2=Cancel。
Form1=Automated Hose Contact。
其中,选择更改对话框本身属性时需要在对话框中没有组件的任何区域单击。
最后,对话框外观如图 10-41 所示。
2.定义对话框触发行为
设置好对话框外观之后,需要定义对话框的行为,包括增加变量(将用户输入值保存
至文本框)、复选框的状态控制。在代码中初始化所有变量,定义用户单击 OK 按钮之后
第 10 章 RecurDyn 二次开发 449
发生的事件。
在 Automated Hose Contact 对话框中没有组件的区域双击,在 IDE 项目编辑窗口中显
示出 Form1.cs 代码,创建 Form1_Load 的方法(无论何时,装载对话框都将调用该程序,
此处用于放置初始化变量的代码)。
增加代码,声明对话框使用的变量,包括 BnumStart、BnumEnd、BodyInterval 以及
AddOffsetFlag。
public partial class Form1 : Form
{
public int BNumStart;
public int BNumEnd;
public int BodyInterval;
public bool AddOffsetFlag;
public Form1( )
{
InitializeComponent( );
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
在 Form1_Load( )方法中,增加用于初始化的代码。
textBox1.Text= "20";
BNumStart= 20;
textBox2.Text= "30";
BNumEnd= 30;
textBox3.Text= "51";
BodyInterval= 51;
checkBox1.Checked= false;
返回 Automated Hose Contact 对话框,双击 OK 按钮。
在自动创建的新方法 button1_Click 中,增加下列代码。
private void button1_Click(object sender, EventArgs e)
{ BNumStart= Convert.ToInt32(textBox1.Text);
BNumEnd= Convert.ToInt32(textBox2.Text);
BodyInterval= Convert.ToInt32(textBox3.Text);
AddOffsetFlag= checkBox1.Checked;
DialogResult= DialogResult.OK; Close( );
}
再次返回 Automated Hose Contact 对话框,双击 Cancel 按钮,并在自动创建的方法中
450 RecurDyn 多体系统优化仿真技术
增加如下代码。
private void button2_Click(object sender, EventArgs e)
{
Close( );
}
选择 File>>Save 命令,保存 Form1.cs。
将 ThisApplication.cs 中前面创建的 ProcessNetTutorialCreateSuToSuContact 子程序整个
复制并再粘贴一份,重命名为 ProcessNetTutorialCreateSuToSuContact_WithDialog。
更改下列相应部分:
更改 1:删除划线部分语句,或通过//注释掉,如图 10-42 所示。
图 10-42 删除语句
two hoses.");
}
最后,选择 File>>Save 命令,保存 ThisApplication.cs;选择 Build>>Build ProcessNet
命令,开始编译执行。
至此,对话框和消息输出的开发工作已经结束,可以通过 RecurDyn 中的 Run ProcessNet
命令检验开发效果。
10.7.3 开发后处理自动绘制曲线功能
下面开发后处理自动绘制曲线功能。
通过两个窗口分别显示不同的曲线:
第一个窗口单独显示段与段之间的接触力幅值,仅仅显示非零数据,并通过格式、
附加标签以及在聚焦 x 轴的显示范围增强后处理效果。
第二个窗口以分量的形式显示软管-软管之间的接触力,分为 X、Y、Z 分量,并
通过标签和格式增强显示效果。
因此开发过程包括智能地决定显示哪些数据和格式化定义曲线。
1.创建新的对话框
为了节省工作量,采用复制-粘贴方法在已有对话框的基础上进行更改。
如图 10-43 所示,在 ProcessNet IDE 环境中右侧的项目浏览窗口中,右击 Form1.cs,
在弹出的快捷菜单中选择 Copy 命令;右击 ProcessNet,在弹出的快捷菜单中选择 Paste 命
令;单击 Copy of Form1.cs,将其重命名为 Form2.cs。
图 10-43 复制-粘贴对话框
再来看如何调整粘贴的对话框。
双击 Form2.cs,打开对话框设计窗口;选择 View>>Code 命令,以显示代码窗口。在
452 RecurDyn 多体系统优化仿真技术
图 10-44 更改复制对话框
2.绘制接触力
在 ThisApplication 类中创建一个新的子程序。
在 ThisApplication 类中增加下列代码,确保这些代码不在其他子程序中。
public void ProcessNetTutorialPlotData( )
{ // Create an auto contact plotting dialog
Form2 MyForm= new Form2( ); // Open the dialog
MyForm.ShowDialog( ); // If the user clicked OK:
if (MyForm.DialogResult== System.Windows.Forms.DialogResult.OK)
{ // Get the TIME data
double[] TIME= plotDocument.GetPlotData("4WD_Loader_Start/TIME");
// |||||||| Plot individual contact forces |||||||| // Active upper-left plot window
plotDocument.ActivateView(0, 0);
for (
int bodyIndex= MyForm.BNumStart;
bodyIndex <= MyForm.BNumEnd;
bodyIndex++)
{ // Load up the contact name number array
第 10 章 RecurDyn 二次开发 453
图 10-45 自动绘制曲线
454 RecurDyn 多体系统优化仿真技术
3.改善接触力显示效果,仅仅显示非零接触力
为了重点绘制非零接触力区域,需要改动如下代码。
首先,在 double[] TIME= plotDocument.GetPlotData("4WD_Loader/TIME"); 之后添加如
下语句:
// Initialize variables for X-axis limits
double timeAtFirstContact= TIME[TIME.Length - 1];
double timeAtLastContact= 0;
然后,删除或注释如下语句,并在该语句后增加新代码。
// Plot vs. TIME
plotDocument.DrawPlot("Contact" + contNum[contNumIndex], TIME, contact);
在 plotDocument.DrawPlot("Contact" + contNum[contNumIndex], TIME, contact);后增加
的新代码(这些代码用于搜索非零值,并记录开始至结束时间段中的非零接触力)为:
// Check for non-zero contact data, and determine time at first contact
int j;
bool madeContact= false;
for (j= 0; j < contact.Length; j++)
{
if (contact[j] > 0)
{ madeContact= true;
if (TIME[j] < timeAtFirstContact)
timeAtFirstContact= TIME[j];
break;
}
}
// Determine time at last contact
j= contact.Length - 1;
while (j > 0)
{ if (contact[j] > 0)
{ if (TIME[j] > timeAtLastContact)
timeAtLastContact= TIME[j];
break;
} j--;
}
// If non-zero contact data found, then plot vs. TIME
if (madeContact)
plotDocument.DrawPlot("Contact" + contNum[contNumIndex], TIME, contact);
保存,并 Build。
第 10 章 RecurDyn 二次开发 455
4.格式化定义:通过标题、标签描述绘图所表达的含义
5.绘制接触力在x、y、z轴向的接触力分量
在 ProcessNet 中,用于绘图的数据储存在数组中,可以进行数学操作。
在// Get Chart object and format
...
Chart1.AxisY.Title.Text= "Contact Force (N)";
之后增加下列代码:
// |||||||| Plot sums of X, Y, and Z components ||||||||
// Activate the lower-left plot window
plotDocument.ActivateView(1, 0);
double[] xSum= new double[TIME.Length];
double[] ySum= new double[TIME.Length];
double[] zSum= new double[TIME.Length];
for (int bodyIndex= MyForm.BNumStart; bodyIndex <= MyForm.BNumEnd;
bodyIndex++)
{ // Load up the contact name number array
String[] contNum= {bodyIndex.ToString( ), "", ""};
if (MyForm.AddOffsetFlag) { contNum[1]= bodyIndex.ToString( ) + "a"; contNum[2]=
bodyIndex.ToString( ) + "b"; }
for (int contNumIndex= 0; contNumIndex < contNum.Length; contNumIndex++) { if
456 RecurDyn 多体系统优化仿真技术
(String.Compare(contNum[contNumIndex], "") != 0)
{ // Get the contact data for this segment
double[] contactX= plotDocument.GetPlotData( "4WD_Loader/Contact/Solid
Contact/solidContact" + contNum[contNumIndex] + "/FX_SolidContact");
double[] contactY= plotDocument.GetPlotData( "4WD_Loader/Contact/Solid
Contact/solidContact" + contNum[contNumIndex] + "/FY_SolidContact");
double[] contactZ= plotDocument.GetPlotData( "4WD_Loader/Contact/Solid
Contact/solidContact" + contNum[contNumIndex] + "/FZ_SolidContact");
if (contNumIndex== MyForm.BNumStart)
{ // If looping through the first contact, initialize the sum arrays
xSum= contactX;
ySum= contactY;
zSum= contactZ; }
else { // Else, add this contact's array data to the running total
for (int j= 0; j < TIME.Length; j++)
{ xSum[j]= xSum[j] + contactX[j];
ySum[j]= ySum[j] + contactY[j];
zSum[j]= zSum[j] + contactZ[j];
}}}}}
// Plot vs. TIME
plotDocument.DrawPlot("X Sum", TIME, xSum);
plotDocument.DrawPlot("Y Sum", TIME, ySum);
plotDocument.DrawPlot("Z Sum", TIME, zSum);
// Get Chart object and format
IChart Chart2= plotDocument.ActiveChartControl;
Chart2.Title.Text= "Total Hose-to-Hose Contact Force";
Chart2.AxisX.Title.Text= "Time (sec)";
Chart2.AxisX.Min= 0.1 * Math.Truncate(timeAtFirstContact * 10);
Chart2.AxisX.Max= 0.1 * Math.Ceiling(timeAtLastContact * 10);
Chart2.AxisX.LabelsFormat.Decimals= 1;
Chart2.AxisY.LabelsFormat.Decimals= 1;
Chart2.AxisY.Title.Text= "Contact Force (N)";
Chart2.LegendBox.Alignment= LegendBoxAlignment.LegendBoxAlignment_Far;
完成代码编写之后,保存,并进行 Build。
在 RecurDyn 的 Plot 后处理中,通过 Run ProcessNet,运行 ProcessNetTutorialPlotData,
选择 Offset Contacts Used,单击 Run 按钮,结果如图 10-46 所示。
第 10 章 RecurDyn 二次开发 457
图 10-46 绘制非零接触力区域
10.8 小 结
本章介绍了两种二次开发的方法,并通过简单实例讲解了二次开发的过程。在用户子
程序开发生成 DLL 时,需要注意不同的开发环境有其自身的方法。在采用 ProcessNet 进行
开发时,可参考相应部分的 Help 文档寻找帮助(Help 中提供有不同名字空间相应的例子)
也可通过智能提示获得简便的操作指南。