推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

Python模拟弹簧模型的可行性研究

更新时间:2019-12-21 12:14:56 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

通过对多种弹簧模型进行物理分析,并运用python对其运动状态进行定量模拟,探究在不同情况下数值模拟方法在研究弹簧问题时的可靠性与可行性。实验中模型的选择从理想模型和经典模型开始,选取了1D简谐运动模型、圆周运动模型和1D多弹簧串联模型,通过比对模拟结果和理论解析结果证明了该研究方法的可靠性。同时也将此研究方法拓展至没有解析解的复杂模型,包括2D弹簧网格以及有摩擦力存在的情况,通过对整个模型在一部分受力之后运动情况的模拟,并利用能量守恒、动量守恒等物理思想进行定性验证。


部分文件列表

文件名 大小
Python模拟弹簧模型的可行性研究.pdf 2M

部分页面预览

(完整内容请下载后查看)
研发设计  
Research design  
摘要:通过对多种弹簧模型进行物理分析,并运用python对其运动状态进行定量模拟ꢀ探究在不同情况下  
数值模拟方法在研究弹簧问题时的可靠性与可行性。实验中模型的选择从理想模型和经典模型开始ꢀ选取  
了1D简谐运动模型、圆周运动模型和1D多弹簧串联模型ꢀ通过比对模拟结果和理论解析结果证明了该研究  
方法的可靠性。同时也将此研究方法拓展至没有解析解的复杂模型ꢀ包括2D弹簧网格以及有摩擦力存在的  
情况ꢀ通过对整个模型在一部分受力之后运动情况的模拟ꢀ并利用能量守恒、动量守恒等物理思想进行定  
性验证。  
关键词:物理;Python;多弹簧模型  
文章编号:2096-4137(2019)13-043-03 DOI:10.13535/j.cnki.10-1507/n.2019.13.04  
■ 文/郭子骥  
Python模拟弹簧模型的可行性研究  
的初始速度和质量,弹簧的原长。  
3ꢀ研究步骤  
首先,完成模拟弹簧振子1D模 在初始阶段对代码的调试中,为了  
1ꢀ研究工具和方法  
本次研究用到编程语言Python  
及科学计算库Matplotbib和Numpy,并 型所需要的代码并对其进行修改以 检验所模拟的模型是否符合实际情  
使用了数值解法对物理学中的经典 达到目标,然后在弹簧振子1D模型 况,每次都会改变变量中的一个。  
研究对象——弹簧,进行了不同情 代码的基础上完成串联弹簧以及2D 而在数据采集阶段,因为只有一组数  
况的模拟,并验证振弦基频公式:  
网格模型的代码,令代码在每次运 据,所以所有的变量都会保持不变。  
行之后都会生成一张关于弹簧模型  
运动的路径图。完成代码之后进行  
5ꢀ数据分析  
粗略的模拟以修改代码。因为程序  
将模拟采用的弹簧拉力、弹性  
在模拟中,运用到2个基础定  
律,一个是胡克定律,另一个是牛  
顿的运动定律。  
会在弹簧震动最接近一个周期的时 系数、小球质量、弹簧长度等参数  
候显示出所用时间,以此估算每种 所收集到的数据带入到简谐运动和  
情况下每个周期所需要的时间。根 振弦基频,通过模拟出的理论公式  
据每个周期的大致时间将代码的运 计算出理论频率,将其与对应程序  
行时间设定为与3个周期的时间相 模拟的频率相对比,再通过周期计  
等,并将模拟出来的图像与理论图 算出理论的频率。若两者相等,公  
像进行对比,当模拟图像与理论图 式则为正确,证明该建模和程序编  
像相吻合时,记录第3个周期的数 写均正确有效。证明程序正确后继  
据用于验证公式。之所以选择第3 续使用该程序研究更为复杂的2D弹  
个周期的数据是因为相较于前2个 簧网格问题,并根据能量守恒和动  
周期,第3个周期更为稳定。不选 量守恒的知识进行定性验证。  
择第4或者第5个周期是因为周期越  
在 研 究 之 前 , 首 先 要 对  
Python、胡克定律以及牛顿运动定  
律有一定的了解,并且需要对如何  
使用这2个已知的定律来验证所需  
要验证公式有一个清晰的思路,对  
所产生的结果有一定的预估。  
2ꢀ研究对象  
本次研究主要是模拟了串联弹  
簧模型、单弹簧模型、1D串联模型  
和2D网格模型。首先利用串联弹簧  
模型验证振弦基频公式,通过对比  
1D简谐运动和振弦基频的解析解验  
证本建模和程序的正确性,然后使  
用本程序模拟更为复杂的2D弹簧网  
格模型。  
多程序运行越慢,所以第3个周期  
6ꢀ日后拓展研究ꢁ  
是一个最优化折中的选择。  
由于Python机能限制,当前模  
拟实验仅采用了0.05s的时间间隔  
和3个周期的总模拟时长。日后若  
4ꢀ变量控制  
研究中涉及以下几个变量:弹 有机会可考虑换用C++或Fortran 等  
簧弹性系数,弹簧模型中每个小球 速度更快的编程语言重复该模拟实  
中国高新科技  
2019年第49期  
·43·  
研发设计  
esearch design  
验,以此使用更短的时间间隔和更  
长的模拟时长来获得更加精确的结  
果。此外,也会加入对弹簧摩擦损  
耗和空气摩擦的模拟。  
运动轨迹从正圆变成了逐渐缩小的  
椭圆,模型更贴近实际情况。  
(3)1D串联介绍:1D串联模  
型,由多个弹簧振子模型串联而  
成,每个小的弹簧振子模型都位于  
同一直线上(如图5所示)。因为  
每个小球之间都有弹簧连接,且弹  
簧的初始状态为拉伸。所以当一个  
小球运动时,同模型内的其他小球  
也会随之运动。如果将模型两端的  
小球固定住的话便可用来模拟弹簧  
震动,并可使用模拟得出的数据再  
对其加以运算,通过对比振弦基频  
公式来验证该部分程序和建模的正  
确性。  
7ꢀ结果与分析  
7.1ꢀ设定  
图2ꢁ单弹簧圆周运动示意图  
在设定模型中,20个弹簧的弹  
性系数均为2.0,原长0.25cm,质  
量不计的相同弹簧。小球的质量为  
2.0kg,且每个小球之间的间距为  
0.5cm,所有弹簧都处于拉伸状态。  
根据胡克定律F=-kx,可以计算出每  
个弹簧对两端的小球作用的力。小  
球因为受到了弹簧的弹力,进行了  
位移,导致弹簧进一步拉伸,小球  
继续受力,如此反复。为了更好地  
模拟结果,本次研究暂不考虑弹簧  
摩擦损耗以及空气摩擦等影响。  
7.2ꢀ模型介绍  
图3ꢁ单弹簧圆周运动模型运行50s后生  
成的图像1  
图5ꢁ1D串联模型示意图  
(4)2D介绍:2D模型是由数  
个1D串联模型组成的二维形状(如  
图6所示)。一维的1D模型互相连  
接组成了二维的2D模型。2D模型  
在本次研究中只用于验证代码基本  
正确性,并不对其进行深入研究。  
2D模型模拟7.5s后生成的图像如图  
7所示,因为整个模型并没有受到  
外力,所以处于相对静止状态。  
(1)简谐运动模型介绍:简  
谐运动模型是由一个小球和一个一  
端固定的弹簧组成的弹簧模型。模  
型中小球并没有初速度,弹簧一开  
始就处于拉伸状态,如图1所示。  
图4ꢁ单弹簧圆周运动模型运行50s后生  
成的图像2  
并绕着这个点进行圆周运动,  
如图2~图4所示。  
图1ꢁ简谐运动模型示意图  
(2)单弹簧圆周运动:小球  
通过弹簧连接在一个固定的点上,  
从图2~图4可以发现在考虑到  
空气对小球的摩擦力之后,小球的  
图6ꢁ2D模型示意图  
图7ꢁ2D模型模拟7.5s后生成的图像  
中国高新科技  
2019年第49期  
·44·  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载