理论教育 使用MDL创建单摆模型,实例分析与技巧

使用MDL创建单摆模型,实例分析与技巧

时间:2023-10-29 理论教育 版权反馈
【摘要】:本练习将学习以下内容:● 创建MDL模型文件的基本方法。图5-9 单摆模型STEP 01 创建MDL模型文件打开文本编辑器,新建一个文档,并在其中输入以下的MDL模型基本信息:在新建会话中,创建语句*BeginMDL和*EndMDL,它们描述了MDL模型的开始与结束。将文本编辑器中创建的MDL模型,以文件名pendulum.mdl进行保存。在弹出的Open Model对话框中,选择此前创建的pendulum.mdl模型文件。单击Run按钮,求解模型。图5-11 单摆运动历程及结果曲线

使用MDL创建单摆模型,实例分析与技巧

本练习将学习以下内容:

● 创建MDL模型文件的基本方法。

● 完成一个仿真时间为2s、仿真步数为500步的瞬态分析。

● 进行结果后处理,显示单摆的运动过程。

● 使用MotionView默认的千克-毫米-秒-牛顿单位制体系。

图5-9给出了一个单摆的设计方案。单摆通过一个转动副与大地连接,连接位置为全局坐标系原点。单摆在重力(全局坐标系Z轴负方向)的作用下自由摆动,质心位于全局坐标系的(0,10,10)位置。

本练习中,使用的MDL语句有*BeginMDL()、*EndMDL()、*Point()、*Body()、*Graphic()-cylinder、*Graphic()-sphere、*RevJoint()、*Output()、*SetPoint()、*SetBody()。

在MDL语句中,只有关键字是区分大小写的。

978-7-111-42217-4-Chapter05-19.jpg

图5-9 单摆模型

STEP 01 创建MDL模型文件

(1)打开文本编辑器,新建一个文档,并在其中输入以下的MDL模型基本信息:

978-7-111-42217-4-Chapter05-20.jpg

(2)在新建会话中,创建语句*BeginMDL和*EndMDL,它们描述了MDL模型的开始与结束。其他所有语句都将写在上述语句块的内部。

978-7-111-42217-4-Chapter05-21.jpg

978-7-111-42217-4-Chapter05-22.jpg

STEP 02 完成对象属性声明

(1)通过语句*Point()创建旋转副的定义位置。该语句的语法如下所示:

978-7-111-42217-4-Chapter05-23.jpg

其中,point_name是点的变量名,point_label是点的名称,point_num是点的编号。

在本节的练习中,需要定义point_name和point_label,如下所示:

978-7-111-42217-4-Chapter05-24.jpg

(2)使用*Point()创建另外一个点,用于定义单摆质心位置。创建完毕的语句如下所示:

978-7-111-42217-4-Chapter05-25.jpg

(3)应用*Body()语句定义模型中的体对象。*Body()语句的语法如下所示:

978-7-111-42217-4-Chapter05-26.jpg

其中,body_name是该体的变量名;body_label是体的标题;cm_origin用于该body的质心定义,该参数为选填参数;im_origin为转动惯量定义,该参数同样为选填参数;lprf_origin为用户自定义与该body关联的局部坐标系原点,该参数为选填参数;body_num为该体对象独有的对象编号。

定义完成的体对象的语句如下所示:

978-7-111-42217-4-Chapter05-27.jpg

(4)定义图形,用于后处理结果动画显示。图形定义的语法如下所示:

978-7-111-42217-4-Chapter05-28.jpg

其中,gr_name为该图形变量名,gr_label为图形名称,SPHERE表明该图形为球体,body为与该图形相关联的body名称,origin为该球体的球心,radius为球体的半径。定义完成的语句应如下所示:

978-7-111-42217-4-Chapter05-29.jpg

(5)定义圆柱体的语法如下:

978-7-111-42217-4-Chapter05-30.jpg

其中,gr_name是图形变量名,gr_label是图形名称,CYLINDER定义了该对象的类型为一个圆柱体,body则给出了与该圆柱体相关联的body,POINT1和POINT2分别为圆柱体上底面和下底面的形心,Radius定义了圆柱体的半径。[CAPBOTH|CAPBEGIN|CAPEND]是该语句中的可选选项,用于控制视图模型的圆柱体两个端面是否封闭。

在本实例中,完成的圆柱图形对象语句如下所示:

978-7-111-42217-4-Chapter05-31.jpg(www.daowen.com)

CAPBOTH)

(6)创建转动副。转动副语法格式如下:

978-7-111-42217-4-Chapter05-32.jpg

其中,joint_name是旋转副变量名,joint_labe是旋转副标题,body_1与body_2给出了转动副的连接对象,origin定义了该转动副的旋转点,point|vector定义了该转动副的转轴

在本实例中,转动副定义的语句填写完毕后,应如下所示:

978-7-111-42217-4-Chapter05-33.jpg

(7)定义输出控制。输出控制语句用于定义计算结果输出,该语句的语法如下所示:

978-7-111-42217-4-Chapter05-34.jpg

其中,out_name为该输出控制的变量名,out_label为该输出控制的标题,DISP|VEL|ACCL|FORCE则定义了待输出的类型,包括位移、速度、加速度和力。Ent_name用于指定待输出的对象名称。Ref_marker是可选选项,用于控制输出的参考坐标系。

定义完成的输出控制语句如下所示:

978-7-111-42217-4-Chapter05-35.jpg

(8)为MDL模型中的各个对象赋予属性信息。在这一环节,通过*SetSystem()、*SetPoint()和*SetBody()语句进行属性赋予。定义完成后,相关语句应如下所示:

978-7-111-42217-4-Chapter05-36.jpg

这里,建议加入*setsystem(MODEL)语句,MotionView使用该语句参考整个模型。

(9)将文本编辑器中创建的MDL模型,以文件名pendulum.mdl进行保存。定义完毕的模型应为如下形式:

978-7-111-42217-4-Chapter05-37.jpg

978-7-111-42217-4-Chapter05-38.jpg

STEP 03 保存并递交求解

(1)如果用户使用TextView进行文本编辑,那么在TextView界面下单击按钮978-7-111-42217-4-Chapter05-39.jpg,新建一个页面。

(2)将界面切换到MotionView。

(3)单击“打开模型”按钮978-7-111-42217-4-Chapter05-40.jpg,或通过下拉菜单选择File→Open→Model命令。

(4)在弹出的Open Model对话框中,选择此前创建的pendulum.mdl模型文件。

(5)单击Open按钮,载入模型,如图5-10所示。

978-7-111-42217-4-Chapter05-41.jpg

图5-10 MotionView中的pendulum模型

(6)通过模型浏览树,查看文本编辑器中建立的模型在MotionView界面下的对应关系。

(7)在Tools中选择Check Model,检查模型是否有定义错误。

(8)在SolverMode菜单下选择MotionSolve。

(9)单击工具栏中的Run按钮978-7-111-42217-4-Chapter05-42.jpg,进入Run面板,设置分析类型为Transient。

(10)进入Simulation Parameter标签,设置End Time为2。

(11)进入Transient标签,查看积分器的相关参数设置。

(12)返回Main标签,单击“文件浏览”按钮978-7-111-42217-4-Chapter05-43.jpg,指定工作目录,以pendulum.xml保存模型。

(13)单击Run按钮,求解模型。

(14)求解结束后,单击Animate查看单摆运动历程。

(15)单击Plot查看指定的结果输出,如图5-11所示。

978-7-111-42217-4-Chapter05-44.jpg

图5-11 单摆运动历程及结果曲线

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈