# 简单单摆


本文介绍了如何创建简化的单摆模型,所使用的基本方法也适用于创建更复杂的模型。

# 分析模型

目标模型:摆杆受重力影响,绕固定点左右摆动,由于存在摩擦力,摆杆逐渐在竖直方向停止。

Sysplorer 模块是定义模块输入和模块输出之间数学关系的模型元素。要创建这个简单模型,您需要 5 个 Sysplorer 组件,本示例中的组件均内置于 Modelica 标准模型库中。

# 加载模型库

Sysplorer 提供了一系列按功能分类的模型库,在正式开始建模仿真之前,请先加载 Sysplorer 内置模型库,以便于您使用模型库中的组件。本示例需加载 Modelica 4.0.0.TY.1 模型库。

Sysplorer 提供如下内置模型库加载方式,您可根据需要自由选择。

# 预加载模型库

在 Sysplorer 顶部菜单栏,进入主页 > 选项 > 模型库,选择软件启动时预加载的模型库。设置完成后,所选模型库会在每次软件启动时自动加载,无需手动加载。

# 打开内置模型库

进入软件后,在左侧库浏览器中,选择需要加载的内置模型库。

# 构建模型

# 新建模型

进入文件 > 新建 Modelica 模型 > model…,在新建模型面板中,填写模型名为“Pendulum”,描述为“单摆”,单击确定,完成模型创建。

# 将组件添加到模型

开始构建模型,请浏览模型库并添加组件。

  1. Modelica.Mechanics.MultiBody模型库中,将World组件拖到右侧图形视图中;

  2. 使用相同的方法将以下组件添加到模型中,并根据物理拓扑关系排列组件。

    组件 路径
    Fixed Modelica.Mechanics.MultiBody.Parts.Fixed
    Revolute Modelica.Mechanics.MultiBody.Joints.Revolute
    Body Modelica.Mechanics.MultiBody.Parts.Body
    Damper Modelica.Mechanics.Rotational.Components.Damper

# 连接组件

  1. 单击组件接口,按住鼠标左键,拖动鼠标至另一个组件接口;

  2. 为保证相连接口中的变量一致,请单击选中revolute组件,单击界面左下方组件参数,将useAxisFlange参数置为 true组件参数面板默认位于主界面左下侧,若未显示,在 Sysplorer 底部边框右击,勾选组件参数

  3. 设置完成后,依次连接组件的各个接口。

# 设置参数

根据单摆的系统属性,设置模型参数。

  1. 设置转动副具有摩擦系数为 0.1 Nm/(rad/s) 的摩擦力。单击组件damper,在组件参数面板中修改参数d的值为 0.1(需注意单位);
  1. 使用相同的方法依次修改其余组件的参数。

    组件 参数 参数值 单位
    revolute phi.start(初始角度) 50 deg
    revolute useAxisFlange(是否使用外置接口) true /
    body r_CM(质心位置) {0.5, 0, 0} m
    body m(质量) 1.0 kg
    damper d(阻尼) 0.1 N.m.s/rad

# 绘制图标

模型构建完成之后,可以为模型绘制图标,让模型更加直观。具体操作步骤如下:

  1. 右击模型编辑窗口空白处,单击图标,切换到图标视图;

  2. 在主页面切换到编辑页签,选择所需的图形进行图标绘制;

  3. 单击选中所绘图形,为图形添加填充颜色及样式。

# 仿真模型

构建完模型后,可进行模型仿真。

# 检查模型

通过检查模型,分析模型是否存在错误。可以进行仿真的模型需符合以下条件:

  • 模型中不存在语法或其他错误。错误信息必须修改,警告仅起提示作用,可不修改;
  • 模型完备,变量数和方程数相等。

进入主页 > 检查,查看检查输出页面的提示信息。

提示

如出现错误提示:当前授权不允许变量方程数大于 300,请获取 License 使用许可。

# 翻译模型

通过模型翻译,分析模型是否可转化为可执行文件。如无错误翻译信息,则将模型转化为可执行文件。

进入建模 > 翻译,查看翻译输出信息。

# 仿真设置

进入主页 > 仿真设置,根据需求选择仿真区间积分算法等,设置完成后,单击确定并保存到模型

开始时间:仿真开始,此处设置为 0 秒;

终止时间:仿真结束,此处设置为 5 秒;

步长:仿真输出点之间的间隔长度,此处设置步长为 0.01

步数:仿真生成的输出间隔的数目;

类型:此处积分算法类型为变步长

算法:此处使用 Dassl 算法;

精度:指定每个仿真步长的局部精度,此处设置为 0.0001

初始积分步长Dassl 算法为变步长算法,默认积分步长为初始积分步长;

确定并保存到模型:对于可修改的模型,可以将仿真设置中的常规设置保存到模型中。

# 运行仿真

单击仿真,进行模型仿真。在结果查看器可查看模型仿真进度。

仿真结束后可查看模型输出信息。

提示

如首次调出输出窗口,请在 Sysplorer 界面底部右击,勾选输出窗口,查看模型输出信息。

# 查看结果

# 查看曲线

结果查看器仿真浏览器中单击变量,可查看变量随时间的变化曲线。

查看变量与变量(如damper组件中的phi_relw_rel变量)之间的关系曲线,可参考如下步骤:

  1. 按住 Shift,选中w_rel变量,并拖动到空白区域;

  2. 选中phi_rel变量,并拖动到 y(x) 曲线窗口。

# 三维动画显示

对于机械多体系统,仿真成功后,Sysplorer 提供三维动画的创建和播放等功能。

  1. 结果查看器仿真页签,单击动画

  2. 动画窗口,单击播放,查看生成的单摆三维动画。