
点击蓝字 关注我们
单摆运动过程的数学模型
单摆运动的示意图所下图所示:

依据欧拉第二定律,绕固定点所有力矩的和为零,在上图中,有两个力矩施加在点x处
一个是重力力矩,一个是惯性力矩。
重力力矩表示为:
惯性力矩表示为:
其中d(d(θ))表示θ的二阶导数,在这里表示角加速度
根据欧拉第二定律,在x处的力矩之和为零,也就是:
上式进一步简化为:
为了进一步简化问题,假设随着时间的推移,摆角θ将变的足够小,那么sin(θ)约等于θ
上式可简化为:
角速度ω可以表示为:
因此上式可以进一步表示为:
单摆运动过程的Modelica模型
单摆运动过程的Modelica模型的代码如下:
model SimplePendulm1
//设置单位
type Length = Real(final quantity = "Length", final unit = "m");
type Acceleration = Real(final quantity = "Acceleration", final unit = "m/s2");
type Angle = Real(final quantity = "Angle", final unit = "rad");
type AngularVelocity = Real(final quantity = "AngularVelocity", final unit = "rad/s");
//设置常量和参数
parameter Length L = 2;
constant Acceleration g = Modelica.Constants.g_n;
//设置变量
Angle theta;
AngularVelocity omega;
//初始方程
initial equation
theta = 0.1;
omega = 0;
//方程
equation
der(theta) = omega;
der(omega) = -(g / L) * theta;
end SimplePendulm1;
查看仿真结果:

没有进行简化的Modelica模型代码如下所示:
model SimplePendulm13
//设置单位
type Length = Real(final quantity = "Length", final unit = "m");
type Acceleration = Real(final quantity = "Acceleration", final unit = "m/s2");
type Angle = Real(final quantity = "Angle", final unit = "rad");
type AngularVelocity = Real(final quantity = "AngularVelocity", final unit = "rad/s");
//设置常量和参数
parameter Length L = 2;
constant Acceleration g = Modelica.Constants.g_n;
//设置变量
Angle theta;
AngularVelocity omega;
//初始方程
initial equation
theta = 1.57;
omega = 0;
//方程
equation
der(theta) = omega;
der(omega) = -(g / L) * sin(theta);
end SimplePendulm13;
方程der(omega) = -(g / L) * sin(theta)不一样,将theta变成了sin(theta),以及将初始摆角设置为90度对应于弧度也就是1.57
查看仿真结果,如下图所示:

现在将初始弧度都设置为0.1,比较两个模型的区别,结果如下图所示:


发现曲线几乎重合,但实际上还是会有一点点区别,但是进行如此简化是合理的
现在将初始弧度都设置为1.57,比较两个模型的区别,结果如下图所示:


发现结果差别比较大,因此但摆角比较大时,是不能进行sin(θ)约等于θ的假设的
用角度代替弧度
我们平常几乎都是关心角度的变化,而不是弧度的变化,因此有必要做如此的代替
在Modelica标准库中对于角度单位的定义如下:
type Angle = Real(final quantity = "Angle", final unit = "rad", displayUnit = "deg");
这样子设置角度的单位就可以,仿真结果如下所示:

角速度随着角度的变化趋势,如下图所示:

参考书籍:
《Modelica多领域物理系统建模入门与提高》


原文始发于微信公众号(DotNet学习交流):基于Modelica的单摆运动过程的仿真
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/230906.html