本练习将学习以下内容:
● 创建MDL模型文件的基本方法。
● 完成一个仿真时间为2s、仿真步数为500步的瞬态分析。
● 进行结果后处理,显示单摆的运动过程。
● 使用MotionView默认的千克-毫米-秒-牛顿单位制体系。
图5-9给出了一个单摆的设计方案。单摆通过一个转动副与大地连接,连接位置为全局坐标系原点。单摆在重力(全局坐标系Z轴负方向)的作用下自由摆动,质心位于全局坐标系的(0,10,10)位置。
本练习中,使用的MDL语句有*BeginMDL()、*EndMDL()、*Point()、*Body()、*Graphic()-cylinder、*Graphic()-sphere、*RevJoint()、*Output()、*SetPoint()、*SetBody()。
在MDL语句中,只有关键字是区分大小写的。
图5-9 单摆模型
STEP 01 创建MDL模型文件
(1)打开文本编辑器,新建一个文档,并在其中输入以下的MDL模型基本信息:
(2)在新建会话中,创建语句*BeginMDL和*EndMDL,它们描述了MDL模型的开始与结束。其他所有语句都将写在上述语句块的内部。
STEP 02 完成对象属性声明
(1)通过语句*Point()创建旋转副的定义位置。该语句的语法如下所示:
其中,point_name是点的变量名,point_label是点的名称,point_num是点的编号。
在本节的练习中,需要定义point_name和point_label,如下所示:
(2)使用*Point()创建另外一个点,用于定义单摆质心位置。创建完毕的语句如下所示:
(3)应用*Body()语句定义模型中的体对象。*Body()语句的语法如下所示:
其中,body_name是该体的变量名;body_label是体的标题;cm_origin用于该body的质心定义,该参数为选填参数;im_origin为转动惯量定义,该参数同样为选填参数;lprf_origin为用户自定义与该body关联的局部坐标系原点,该参数为选填参数;body_num为该体对象独有的对象编号。
定义完成的体对象的语句如下所示:
(4)定义图形,用于后处理结果动画显示。图形定义的语法如下所示:
其中,gr_name为该图形变量名,gr_label为图形名称,SPHERE表明该图形为球体,body为与该图形相关联的body名称,origin为该球体的球心,radius为球体的半径。定义完成的语句应如下所示:
(5)定义圆柱体的语法如下:
其中,gr_name是图形变量名,gr_label是图形名称,CYLINDER定义了该对象的类型为一个圆柱体,body则给出了与该圆柱体相关联的body,POINT1和POINT2分别为圆柱体上底面和下底面的形心,Radius定义了圆柱体的半径。[CAPBOTH|CAPBEGIN|CAPEND]是该语句中的可选选项,用于控制视图模型的圆柱体两个端面是否封闭。
在本实例中,完成的圆柱图形对象语句如下所示:
(www.daowen.com)
CAPBOTH)
(6)创建转动副。转动副语法格式如下:
其中,joint_name是旋转副变量名,joint_labe是旋转副标题,body_1与body_2给出了转动副的连接对象,origin定义了该转动副的旋转点,point|vector定义了该转动副的转轴。
在本实例中,转动副定义的语句填写完毕后,应如下所示:
(7)定义输出控制。输出控制语句用于定义计算结果输出,该语句的语法如下所示:
其中,out_name为该输出控制的变量名,out_label为该输出控制的标题,DISP|VEL|ACCL|FORCE则定义了待输出的类型,包括位移、速度、加速度和力。Ent_name用于指定待输出的对象名称。Ref_marker是可选选项,用于控制输出的参考坐标系。
定义完成的输出控制语句如下所示:
(8)为MDL模型中的各个对象赋予属性信息。在这一环节,通过*SetSystem()、*SetPoint()和*SetBody()语句进行属性赋予。定义完成后,相关语句应如下所示:
这里,建议加入*setsystem(MODEL)语句,MotionView使用该语句参考整个模型。
(9)将文本编辑器中创建的MDL模型,以文件名pendulum.mdl进行保存。定义完毕的模型应为如下形式:
STEP 03 保存并递交求解
(1)如果用户使用TextView进行文本编辑,那么在TextView界面下单击按钮,新建一个页面。
(2)将界面切换到MotionView。
(3)单击“打开模型”按钮,或通过下拉菜单选择File→Open→Model命令。
(4)在弹出的Open Model对话框中,选择此前创建的pendulum.mdl模型文件。
(5)单击Open按钮,载入模型,如图5-10所示。
图5-10 MotionView中的pendulum模型
(6)通过模型浏览树,查看文本编辑器中建立的模型在MotionView界面下的对应关系。
(7)在Tools中选择Check Model,检查模型是否有定义错误。
(8)在SolverMode菜单下选择MotionSolve。
(9)单击工具栏中的Run按钮,进入Run面板,设置分析类型为Transient。
(10)进入Simulation Parameter标签,设置End Time为2。
(11)进入Transient标签,查看积分器的相关参数设置。
(12)返回Main标签,单击“文件浏览”按钮,指定工作目录,以pendulum.xml保存模型。
(13)单击Run按钮,求解模型。
(14)求解结束后,单击Animate查看单摆运动历程。
(15)单击Plot查看指定的结果输出,如图5-11所示。
图5-11 单摆运动历程及结果曲线
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。