摘 要:在高中物理教学中,弹簧摆模型涉及的运动问题较为复杂,利用Mathematica软件对该物理模型的动力学微分方程进行数值求解和仿真模拟,通过模拟复杂的物理现象及仿真交互实验来帮助学生更好地理解物理知识。
关键词:弹簧摆;Mathematica;仿真模拟
中图分类号:G633.7 文献标识码:A 文章编号:1003-6148(2024)12-0079-3
信息技术与物理教学的结合已逐渐成为推进物理课程改革的有效途径之一。Mathematica是一款功能强大的通用计算软件,其内置丰富的函数和算法,可进行代数、微分方程、线性代数等方面的计算,解决各种复杂的数学和物理问题。它还具有丰富的数据分析和可视化功能,支持交互式的实验演示和模拟。因此,可结合弹簧摆,探索Mathematica在物理教学中的应用。
1 典型例题及答案
例题 一轻质弹簧,其劲度系数为k,一端固定在O点,另一端挂一质量为m的小球(可视为质点),不计空气阻力,试求:
(1)如图1所示,若将小球从与悬点O在同一水平面且使弹簧保持自然长度l0的A点无初速度释放,求小球经过竖直位置P点时的速度,此时弹簧长度为l1;
(2)如图2所示,若静止时弹簧长度为l2,现突然给小球一个水平速度v0=,则小球在向上运动的过程中到达的最高点是否在O点上方,并说明理由。
图1 情境1示意图 图2 情境2示意图
答案 (1)设小球到竖直位置P点时的速度大小为v,由功能原理得mgl1=k(l1-l0)2+mv2。此时,小球的速度沿水平方向。结合k(l1-l0)-mg=m,可得v=。
(2)假设小球刚好运动到与O点等高处。此时,速度和弹簧弹力都为零,系统的机械能为mgl2。由于v0=,开始时系统的机械能为mv+EpF>mgl2,小球运动到与O点等高处时速度不为零,水平方向的合外力也不能为零,故弹簧弹力不能为零,小球继续向上运动,使得最高点高于O点。
2 误区分析
以上是比较常见的“答案”,但存在误区,甚至是错误。问题(1)直接把P点默认为弹簧摆运动轨迹的最低点[1],并单纯地假设小球的运动轨迹为一个圆周,那么最低点处的弹簧长度就是小球曲线运动的曲率半径。同样,问题(2)的解题思路是简单地认为有了mv+EpF>mgl2这一条件,就能确定小球到达的最高点在O点的上方。
3 弹簧摆的动力学微分方程组
对于劲度系数为k、自然长度为l0及小球质量为m的弹簧摆,考虑空气阻力的影响时,将弹簧悬挂点作为原点,建立一个直角坐标系。接着,在水平和竖直两个方向分别对小球进行受力分析,从而得到两个方向的动力学方程,即
mx''=-(-l)-μx'my'NGyVEQJqMY/9sCPIcrWfyw=='=-(-l)-mg-μy'
式中,μ为空气阻力系数,可设μ=0。
4 Mathematica仿真模拟程序设计
弹簧摆的仿真模拟程序主要运用了Mathematica软件中的交互式操作Manipulate、求微分方程组数值解的NDSolve、绘制参数图命令ParametricPlot、二维图形命令Graphics和图形显示命令Show等。Mathematica软件的交互式操作功能可以在程序中将弹簧摆的属性以及初始条件设置成多个控制变量,通过移动滑尺输入不同的变量值,仿真不同参数条件的弹簧摆运动。使用NDSolve求解动力学微分方程组,ParametricPlot命令不仅可以绘制出弹簧摆的运动轨迹,还可以绘制出弹簧长度、速度大小、轨迹的曲率半径、动能、弹性势能和重力势能等与水平位移的关系。
为了更好地模拟和研究弹簧摆的运动情况,利用二维图形命令Graphics配合线段Line命令和圆盘Disk命令绘制出弹簧摆,并在图形命令中加入箭头命令Arrow、文本命令Text等以更直观地观察小球运动过程中速度和能量变化的情况;程序命令Manipulate中的图形显示命令Show搭配使用条件命令If可以通过设置控件选择同时显示多个图像。在程序中通过加入控件命令Trigger设置触发器按键,即开始键、暂停键和重置键,可方便观察任意时刻弹簧摆的运动情况。
5 Mathematica数值模拟结果分析
5.1 水平位置保持原长无初速度释放的运动
根据问题(1)情境,g=9.8,参数随机取m=1,k=10,l0=3,初始条件设为x0=l0,y0=0,x'0=0,y'0=0,借助Mathematica软件进行数值仿真模拟。
5.1.1 弹簧摆的运动轨迹
弹簧摆在不同时刻的运动轨迹如图3所示。
在此程序中可以观察到每一时刻小球运动的位置、速度大小和方向。如图3(a)所示,当弹簧摆第一次摆到竖直位置时,小球速度不在水平方向上,发现运动轨迹的最低点位于原点右侧,并且在竖直位置下方。如图3(b)和图3(c)所示,弹簧摆的运动是一种复杂的非线性运动,弹簧摆的最低点第二次出现在原点左侧。由此可知,最低点不一定在原点正下方,也可以在原点两侧,难以确定。由于弹簧摆的运动轨迹逐渐形成包络面,视觉上容易造成最低点在原点正下方的错觉[2]。经过模拟可知,弹簧摆的自然长度l0一定时,k/m越大,运动轨迹越接近半圆周。
(a)t=1.46 s (b)t=4.74 s
(c)t=25.1 s
图3 不同时刻弹簧摆的运动轨迹
5.1.2 弹簧摆的速度大小与水平位移的关系
速度大小与水平位移的关系如图4所示,小球的最大速度在原点两侧,不在最低点。弹簧摆摆动到最左侧或最右侧时的速度并不一定为零。在每次的往返运动中,速度大小总是先增大后减小再增大然后减小,弹簧摆每次经过原点正下方时的速度也是变化的。
图4 弹簧摆的速度大小与水平位移的关系
5.1.3 弹簧长度、轨迹曲率半径与水平位移的关系
弹簧长度、轨迹曲率半径与水平位移的关系如图5所示,在弹簧摆的每一次从右往左再从左往右的运动过程中,弹簧长度均是先增加后减小,弹簧长度和轨迹曲率半径在小球经过原点正下方时都是变化的。且弹簧摆在最低点处的曲率半径是小于此时弹簧长度的。
图5 弹簧长度、轨迹曲率半径与水平位移的关系
5.1.4 动能、弹性势能、重力势能与水平位移的关系
取m=0.5,l0=1,其他条件不变。如图6所示,弹簧摆由静止开始释放,做往返运动的过程中,重力势能的变化是先减小后增大,弹性势能是先增大后减小,动能是先增大后减小再增大然后减小,任意时刻三者相加和为零,系统能量守恒。
图6 动能、弹性势能、重力势能与水平位移的关系
5.2 竖直位置仅有一水平初速度的运动
根据问题(2)情境,参数可仍取m=1,l0=3,初始条件为x0=0,y0=-l2=-(l0+mg/k),y'0=0,x'0=,只改变k值,运行程序得到结果如图7所示。
当k=8 N/m,t=30 s时,小球的运动轨迹如图7(a)所示,发现小球所能到达的最高点位置在O点下方。如图7(b)所示,当k=40 N/m时,小球在30 s内的运动轨迹仍在O点下方,无法高于O点。改变k的取值再进行多次模拟,通过观察和分析数值模拟的实验结果,可得出结论:小球的运动轨迹包括小球到达的最高点能否高于O点,是由弹簧的自然长度、劲度系数和小球的质量共同决定的[3],并且由于弹簧摆的运动较为复杂,小球运动轨迹出现高于O点的情况,其所需满足的具体数据条件较苛刻。
(a)k=8 N/m (b)k=40 N/m
图7 不同k值时的运动轨迹
6 结束语
利用Mathematica软件设计的仿真实验程序,通过改变变量的输入值,能实时、动态地模拟出不同条件下弹簧摆的运动情况。Mathematica软件的符号和数值计算功能、虚拟模拟功能、图形绘制功能、交互式操作功能以及数据处理功能都非常强大。在物理教学过程中,不仅能模拟各种复杂的物理现象,还能设计开发仿真交互实验,帮助学生理解抽象的物理概念,使其在物理教学中具有巨大的潜力。
参考文献:
[1]朱国强,姚梦真,陈峻峰.实验验证和数值仿真一个弹簧摆问题[J].物理教师,2022,43(8):58-60.
[2]姜付锦,郭勇,程红光.弹簧摆的劲度系数这样赋值就可以了吗——对《物理试题命制应注意数据自洽性》一文的再分析[J].物理教学,2022,44(5):49-50,57.
[3]江俊勤.弹簧摆到底能摆多高?——由一道高三联考题引发的思考和研究[J].物理教师,2020,41(2):73-76.
[4]姜付锦.一种弹簧摆运动规律的研究[J].物理教师,2012,33(8):47-48.
[5]陈林,桑芝芳.基于GeoGebra对一种弹簧摆问题的可视化研究[J].物理通报,2021(3):43-46,50.
[6]江俊勤.基于Mathematica的数字化物理学[M].北京:科学出版社,2015.
[7]邱晓峰,林冰冰.整合信息技术的高中物理课堂体验式教学实践[J].物理教学探讨,2017,35(7):66-67.
(栏目编辑 贾伟尧)
收稿日期:2024-06-06
作者简介:江小萍(1999-),女,硕士研究生,主要从事物理学科教学研究。
*通信作者:文伟(1985-),男,副教授,主要研究凝聚态体系和离子阱系统中的量子计算和量子信息基础。