一维求解器中球反弹的模拟
让我们建立一个简单机械系统动力学的一维模型:一个材料点在重力影响下下落时与地球表面相互作用的模型。
模型的描述和启动
让我们想象一个最简单的场景来计算一个物体与一个表面交互的动力学。
物体是受重力影响的物质点,当它与表面碰撞时,它有一个加速度脉冲。
平移硬止挡块负责与表面相互作用。 使用一维建模的一个有用的效果是,无需额外的努力,我们得到了一个稍微复杂的支撑反应模型,而不是一个完美的弹性反弹。
让我们运行模型并研究结果。:
In [ ]:
model = engee.open("physical_bouncing_ball.engee")
data = engee.run(model)
plot(
plot( data["x"].time, data["x"].value, c=1, label="职位" ),
plot( data["dx"].time, data["dx"].value, c=2, label="速度" ),
plot( data["ddx"].time, data["ddx"].value, c=3, label="升压/升压" ),
layout=(3,1), lw=3
)
Out[0]:
模型尽可能简单地组装,物理或全局求解器的参数没有任何改变,除了将其切换到"按可变步长积分"模式,以便所有加速度脉冲在图形上可见。
结论
这种方法是建模垂直运动的理想开端。 当您需要快速测试一个概念或了解系统的基本动态时,这三个模块提供了一个现成的解决方案,没有不必要的复杂性。