谢 妙 金盈楠 王 超 陈英才
(台州学院物理系 浙江 台州 318000)
基于VB仿真模拟二维弹簧双振子的运动轨迹*
谢 妙 金盈楠 王 超 陈英才
(台州学院物理系 浙江 台州 318000)
基于VB语言开发出模拟二维平面内弹簧双振子系统运动的仿真软件.在任意给定系统参数条件下,利用该软件可分别绘出振子在实验室参考系和质心参考系中的动态轨迹,从而形象直观地显现弹簧双振子系统在二维平面内的运动规律.
弹簧双振子 VB 模拟 轨迹
弹簧双振子系统,即由两个振子和一个弹簧组成的力学系统,是中学以及大学物理中动量守恒和机械能守恒部分常见的力学模型.目前关于弹簧双振子的题目或研究多局限于一维运动,这显然不利于学生对该系统运动的全面认识[1~8].
本文基于Visual Basic开发设计出模拟二维弹簧双振子运动的可执行程序,利用该软件可直观模拟演示任意参数条件下弹簧双振子系统在二维平面内的运动.
2.1 理论模型
二维弹簧双振子模型如图1所示,即在光滑的水平面内,质量为m1的小球1和质量为m2的小球2通过劲度系数为κ,自然长度为l0的弹簧连在一起.在一定初始位置和速度条件下,系统可在水平面内运动.当弹簧出现拉伸或压缩形变时,两个小球均受到弹簧弹力作用.假定t时刻两个小球间的距离为r,则弹簧弹力大小为
F=-κ(r-l0)
小球1受到的弹簧作用力为
F1=-Fr12
小球2受到的弹簧作用力为
F2=Fr12
其中为r12表示由小球1指向小球2的单位矢量.根据牛顿第二定律可得到两个小球的加速度,即
(1)
(2)
图1 二维弹簧双振子模型图
理论上,在任意给定初始位置和速度条件下通过对方程(1)和(2)进行积分求解可以得到两个小球的速度随时间的变化关系v1=v1(t)和v2=v2(t),通过再次积分则可以得到两个小球空间位置随时间的变化关系r1=r1(t)和r2=r2(t).但是由于两个小球的运动相互影响,在大多数条件下我们很难求出两个小球空间位置随时间的变化的解析解.
2.2 小球位置和速度的数值求解
本文采用速度Verlet算法迭代求解并获得两个小球的位矢(r1和r2)和速度(v1和v2)随时间的变化,具体如下:首先,根据t时刻两个小球的位置、速度和加速度,求t+Δt(这里的Δt为迭代时间步长)时刻两个小球的位置,即
(3)
(4)
然后,利用r1(t+Δt)和r2(t+Δt)求解两个小球间的距离r(t+Δt)和弹簧弹力大小F(t+Δt),进而得到小球1受到的弹力F1(t+Δt)=-F(t+Δt)r12以及小球2受到的弹力F2(t+Δt)=F(t+Δt)r12,并由此求得t+Δt时刻两个小球的加速度a1(t+Δt)和a2(t+Δt),即
(5)
(6)
最后,由t时刻和t+Δt时刻小球的加速度求解t+Δt时刻小球的速度,即
v1(t+Δt)=
(7)
v2(t+Δt)=
(8)
在该迭代算法中,迭代时间步长Δt的大小直接决定数值计算的精度.Δt越小,计算结果越准确,但模拟所耗费的时间也越长.本文选取Δt= 0.000 5 s.
2.3 基于VB语言的程序设计
软件程序分窗体和模块两部分.软件将各种操作均集中在一个窗体内,其中包含参数设置、命令按钮和图形输出3个部分,如图2所示.参数设置部分包含弹簧劲度系数、两个振子(小球)的质量、初始位置、初始速度以及模拟运动时间等参数设置;命令按钮部分包含系统生成、开始运动和结束程序3个按钮;图形输出部分包含实物图、实验室参考系轨迹图和质心系轨迹图3个图形区域.软件程序的执行按照一定的流程进行设计,程序流程图如图3所示.需要说明的是,为了简化程序编写,本软件输出的实物图中的弹簧用粗实线代替.
图2 窗体界面
图3 程序流程图
作为例子,我们设定:弹簧劲度系数为5,小球1质量为1,初始坐标为(-10,1)、初始速度为(0,1),小球2质量为0.5,初始坐标为(-10,-1)、初始速度为(0.5,-2),并模拟演示系统在的运动轨迹(以上各参数单位均为国际单位).在上述参数条件下,振子系统整体(即质心)向x轴正向缓慢运动,同时每个小球相对质心又不停的运动.图4和图5分别给出了对应参数条件下两个小球在实验室参考系以及质心参考系中的轨迹图形,其中浅色线对应小球1的轨迹,深色线对应小球2的轨迹.由图4可以直观看出,弹簧双振子系统在给定参数条件下的运动是非常复杂的,但就整个运动轨迹而言,系统的运动又存在一定的规律性.这种规律性在质心参考系轨迹图中有更明显的体现,如图5所示.在质心系中,两个小球均绕质心做圆周振动,即绕质心转动和相对质心振动同时进行.
图4 实验室系轨迹图
图5 质心系轨迹图
弹簧双振子系统是力学中的常见模型.本文基于VB语言开发出模拟二维平面内弹簧双振子系统运动的仿真软件.在任意给定系统参数条件下,利用
该软件可分别绘出两个振子在实验室参考系和质心参考系中的动态轨迹,形象直观地显现双振子系统的运动规律.将其用于物理课堂教学,可使学生加深对弹簧双振子系统的认识,使物理知识化抽象为生动、形象进而达到良好的课堂教学效果.
1 张佩华.弹簧双振子水平运动模型的建立及应用.贵州大学学报(自然科学版),2004(7):9~11
2 殷召连.弹簧双振子怎样运动.中学物理教学参考,2000(6):26~27
3 顾士明.恒力作用下的弹簧双振子的运动.中学物理,2012(7):74~76
4 黄书鹏.物理模型在弹簧双振子问题中的应用.物理教师,2009(1):7~9
5 王建锋,魏俊枭,等.弹簧双振子模型在物理竞赛中的应用.物理教学探讨,2006(9):45~51
6 王化银,徐杰.例谈弹簧双振子问题的求解.中学物理教学参考,2003(7):35~36
7 陈卫国,余雷,等.坐标法解弹簧双振子模型.上饶师范学院学报,2008(6):33~38
8 邱刚.基于质心参考系的“双振子”运动问题的研究. 物理教师,2014(2):57~59
Simulation on the Movement Trajectory of Spring
Double Oscillators in 2D Space Based on VB
Xie Miao Jin Yingnan Wang Chao Chen Yingcai
(Physics Department ofTaizhou University,Taizhou,Zhejiang 318000)
One software for simulating the movement of spring double oscillators in 2D space is developed based on VB, which can display the movement trajectories of the oscillators in then laboratory reference frame and the center-of-mass reference frame at the same time under any given parameter condition, and can exhibit picturesquely and visually the dynamics of the spring double oscillators in 2D space.
spring double oscillators;VB;simulation;trajectory
*台州市2016年大学生科技创新项目资助课题.
2017-01-14)