ADAMS是美国MDI公司开发的机械系统动力学仿真分析软件,其求解器采用多刚体动力学理论中的拉格朗日方程方法,建立系统动力学方程,对虚拟机械系统进行静力学、运动学和动力学分析,输出位移、速度、加速度和反作用力曲线。
对系统动力分析而言,结构本身的弹性变形与系统的宏观刚体运动同等重要。ADAMS中的所有物体均以刚体定义,忽略结构柔度对系统的影响,一般的有限元分析软件对包含大位移运动的系统动力学分析又无能为力,因此在ADAMS中实现刚体和柔体相结合的系统动力学分析是一个较可行的解决方法。1996年,ADAMS推出ADAMS/Flex模块,实现了同时包含刚体和柔体的机构动力学分析。
ADAMS中,有3种建立柔性体的方法:
1.利用柔性梁连接,将一个构件离散成许多段刚性构件,离散后的刚性构件之间采用柔性梁连接,
只适用于简单的构件,其实质还是刚性构件柔性连接,不算是真正的柔性体;
离散柔性连接件:把一个刚性构件离散为几个小刚性构件,小刚性构件之间通过柔性梁连接,
柔性连接件的优点:这种柔性体可以模拟物体的非线性变形,但只适用于简单结构,可以直接帮助用户计算横截面的属性,比直接使用柔性梁连接将两个构件连接起来方便
Build——Flexible bodies——Discrete Flexible Link
Name:
Damping Ratio 设置柔性梁连接的粘性阻尼和刚度之间的比值
Attachment 确定起始端和中终止端与其他构件之间的连接关系:free、刚性rigid、柔性flexible
2.利用其他有限元分析软件将构件离散成细小的网格,进行模态计算,将计算的模态保存为模态中性文件MNF(Modal Neutral File),直接读取到ADAMS中建立柔性体;
由于采用的是模态线性叠加来模拟物体变形,因此模态式柔性体仅适用于线性结构的受力行为。
利用有限元技术,通过计算构件的自然频率和对应的模态,按照模态理论,将构件产生的变形看作是由构件模态通过线性计算得到的。在计算构件模态时,按照有限 元理论,首先要将构件离散成一定数量的单元,单元数越多,计算精度越高,单元之间通过共用一个节点来传递力的作用,在一个单元上的两个点之间可以产生相对 位移,再通过单元的材料属性,进一步计算出构件的内应力和内应变。
计算MNF的有限元软件:Ansys、Nastran、I-Deas、Abaqus
Bulid——Flexible bodies——ADAMS/Flex
(location柔性体在参考坐标系中的位置,orientation柔性体在参考坐标系中的方向,relative to柔性体在参考坐标系)
Superimpose:选种该项,在图形区同时显示柔性体当前的模态振型和柔性体,否则只显示模态振型。
Cycles:确定振型动画播放的次数
Enable和disable:使当前阶模态激活或失效,失效模态的阶数用一括号来表示。
Range:将某个范围内的模态激活或失效
Auto:柔性体变形的贡献量(模态参与因子),让系统决定将那些对变形能比率贡献量少的模态自动失效,单击后,在energy tolerance输入应变能比率,那些对应变能比率的贡献量少于该数值的模态,系统自动将其失效。
Graphics:决定柔性体完全显示还是轮廓显示
Plot type:决定柔性体不同位置的相对位移、相对应力和应变的显示样式,有云纹图、矢量、两种都显示,没有任何显示
Mode filter:由于柔性体的变形是通过模态叠加得到的,为加快柔性体的显示速度,它就是用来在播放动画时过滤模态的,3种方法过滤模态,maximum frequency超过某频率的模态都被过滤掉,Min Displacement是柔性体上模态最大位移点的位移小于某值的模态都被过滤掉,Percentage是对柔性体任意点处的位移贡献量少于某百分比数的所有模态被过滤掉,None是没有过滤。
Deformation Scale Factor:由于柔性体的变形是通过模态叠加得到的,而模态则是各个节点的相对位移,因此可以把模态各个节点相对位移进行缩放,只要拖动变形比例系数滑动条或输入具体的缩放比例系数,就可以把柔性体的变形放大或缩小。
3.利用ADAMS/AutoFlex模块,直接在ADAMS/View中建立柔性体的MNF文件,然后用柔性体替换原来的刚性体。
(1)拉伸法(Extrusion)
a)
b)
c)
d)
(2)利用刚体构件的几何外形(Geometry)来创建柔性体;Solid Tetra四面体单元
(3)导入有限元模型的网格文件(Import Mesh)创建柔性体
1000mm,20×40mm,
Chirp : 1000*CUBSPL(time,0,SPLINE_2, 0)
Burst : 1000*CUBSPL(time,0,SPLINE_1, 0)
Rand : 1000*CUBSPL(time,0,SPLINE_1, 0)
Unrand : 1000*CUBSPL(time,0,SPLINE_1, 0)
Pulse : step(time,0,1000,0.001,0)
联系客服