1. 单摆运动的多领域仿真建模

单摆运动的多领域仿真建模 学习卡片

单摆的多领域建模思路

单摆看似简单,却天然包含两个不同物理领域的耦合:重力产生的力矩属于机械旋转领域,而摆角与角速度之间的运动学关系属于刚体转动领域。多领域仿真工具(如 Modelica 类工具)的核心价值在于:用非因果方程描述各领域元件,让求解器自动处理耦合,而不是手工推导微分方程。

建模时把单摆拆成三个可复用元件:

  • 固定支座:提供旋转自由度参考点,约束平移。
  • 无质量摆杆:长度 L,连接支座与摆锤,传递力矩与角度。
  • 摆锤:质量 m,绕支点转动惯量 J = m·L²,受重力分量驱动。

重力对摆锤产生的恢复力矩为 τ = −m·g·L·sin(θ),负号表示力矩始终指向平衡位置。摆锤的转动方程 J·θ̈ = τ。当摆角很小时 sin(θ)≈θ,系统近似简谐;大摆角时周期随振幅增大,这正是仿真能直观展示的非线性效应。

关键参数与初始条件

参数符号示例取值说明
摆锤质量m1.0 kg影响惯量,不影响小角度周期
摆杆长度L0.5 m决定周期与惯量
重力加速度g9.81 m/s²方向竖直向下
初始摆角θ₀30°(≈0.524 rad)释放时角速度为 0
初始角速度ω₀0 rad/s静止释放

小角度理论周期 T ≈ 2π√(L/g) = 2π√(0.5/9.81) ≈ 1.418 s。30° 属于中等摆角,实际周期会略大于该值,仿真结果可用于对比这一偏差。

建模连接关系

下图给出单摆的元件拓扑与信号/力矩流向:支座固定于世界坐标系,摆杆一端连支座、另一端连摆锤;重力作为体积力作用于摆锤质心,产生绕支点的力矩,驱动摆角变化。能量在动能与势能之间往复转换。

固定支座 约束平移,仅留转动 摆杆 L=0.5 m m 摆锤 J=mL² 重力 m·g τ=−mgL·sinθ 能量在动能与势能间往复转换 势能 Ep mgL(1−cosθ) 动能 Ek ½Jω² 无阻尼时 Ep+Ek 恒定 摆角 θ(t) 随时间变化 t θ 平衡位置 θ=0

用方程实现模型

在 Modelica 类工具中,可直接写出摆锤的转动方程,无需手工消元。下面给出核心模型代码,包含参数、变量与方程,可直接放入仿真环境运行。

model SimplePendulum
  parameter Real m = 1.0;        // 摆锤质量 kg
  parameter Real L = 0.5;        // 摆杆长度 m
  parameter Real g = 9.81;       // 重力加速度 m/s^2
  parameter Real theta0 = 0.5236; // 初始摆角 rad (30°)

  Real theta(start = theta0, fixed = true); // 摆角 rad
  Real omega(start = 0, fixed = true);      // 角速度 rad/s
  Real J;                                   // 转动惯量
  Real Ep;                                  // 势能 J
  Real Ek;                                  // 动能 J
  Real E_total;                             // 总机械能 J

equation
  J = m * L^2;
  der(theta) = omega;
  J * der(omega) = -m * g * L * sin(theta); // 重力恢复力矩
  Ep = m * g * L * (1 - cos(theta));
  Ek = 0.5 * J * omega^2;
  E_total = Ep + Ek;
end SimplePendulum;

方程 J*der(omega) = -m*g*L*sin(theta) 是模型的核心:左边是转动惯量乘角加速度,右边是重力力矩。求解器会自动积分得到 θ(t) 与 ω(t)。

仿真设置与结果判读

设置仿真区间 0 到 5 s,步长自适应,容差 1e-6。运行后观察三条曲线:

  • 摆角 θ(t):应呈周期性振荡,峰值约 ±0.524 rad,过零点时角速度最大。
  • 角速度 ω(t):与 θ(t) 相位相差约 90°,在平衡位置处达到峰值。
  • 总能量 E_total:无阻尼时应保持恒定,数值波动仅来自积分误差,量级应在 1e-4 J 以下。

能量守恒的验证方法:记录 E_total 的最大值与最小值,若相对波动小于 0.1%,说明模型与求解精度满足要求。若能量持续漂移,应减小容差或改用能量守恒型积分器。

若想观察非线性效应,把 θ₀ 改为 90°(1.5708 rad)重新仿真,测量相邻两次过零时间间隔,会发现周期比小角度理论值 1.418 s 长约 18%,这正是 sin(θ)≈θ 近似失效的体现。
摆杆必须设为无质量或把其惯量折算进摆锤,否则 J 会偏大导致周期偏长。若摆杆有质量,应使用 J = m·L² + (1/3)·m_rod·L² 的复合惯量。