Mathematica软件在大学物理问题数值模拟中的应用举例*

2014-06-27 01:45韩永胜杨宏新中国药科大学教改课题2013
物理通报 2014年7期
关键词:点电荷电荷大学物理

韩永胜 杨宏新 马 军*中国药科大学教改课题(2013)

(中国药科大学理学院 江苏 南京 210029)

1 引言

随着科学技术的进步,特别是计算机技术的发展,数值模拟已经成为继科学实验和理论分析之后人们认识世界的新手段.在大学物理教学中,引入数值模拟对培养学生的创造力和想象力具有事半功倍的作用.本文就Mathematica软件在大学物理问题数值模拟中的应用做点介绍.Mathematica软件是美国Wolfram Research公司开发的一款科学计算软件,于1988推出了第1版,2012年底推出了第9版.新版将很多的新功能集成到系统的内核中,使其成为一款非常卓越的集符号运算、数值运算和计算结果可视化于一体的科学计算软件.公司的总裁和软件的主要开发者斯蒂芬·沃尔夫雷姆(Stephen Wolfram)先生是学物理出身,在软件设计中更多考虑了在物理学方面应用的方便性,使得这款软件特别适合物理学工作者和学生使用[1].下面我们通过几个具体的例子来说明Mathematica在大学物理问题数值模拟方面的应用.

2 Mathematica在力学问题数值模拟中的应用

考虑一个绕过质心的轴旋转飞行中的足球,除了受到重力mg和空气阻力fg的作用外,还受到马格努斯力fM的作用,因此,它在空间将划出一个弧线,这就是大家所熟知的“香蕉球”[2].可以用Mathematica编程模拟一个“香蕉球”的运动轨迹.

设足球场平面为xOy平面,足球绕过质心的竖直轴以角速度ω旋转,足球质心运动的速度v=vxi+vyj+vzk,空气密度为ρ,足球半径为R.假定空气阻力与速度平方成正比,空气的摩擦力矩是恒定值,这样角加速度是常量β.利用牛顿第二定律可以列出如下的矢量方程

(1)

上式中G=mg,fg和fM可以表示为

k1(-vxi-vyj-vzk)v

(2)

(3)

根据实际情况,相应参数选择如下:阻力系数c=0.5,空气密度ρ=1.29 kg/m3,足球半径R=

0.11 m,足球的质量m=0.44 kg,则可计算得k1=0.012 3,k2=0.014 4.在数值模拟中,将角加速度β取1rad/s2,初始条件定为:r(0)=0,v(0)=24i+16j+8.5k(m/s),ω0=15krad/s,足球距离球门25 m处.

数值求解的思路如下:

利用列表表示足球的角速度矢量

ω=0,0,ω0-βt

位置矢量

r=xt,yt,zt

速度矢量用位置矢量的导数表示

v=Dr,t

利用Norm函数求矢量的模,利用Cross函数计算矢量的叉乘,可将式(2)和式(3)写成

G=0,0,-mg

fg=-k1Normvx't,y't,z't

fM=k2Crossω,v

由式(1)写出足球运动的动力学矢量方程

eqns=mDr,t,2=

fM+fg+G//Thread

将常数和初始条件用规则表示,利用NDSolve函数数值求解足球运动的微分方程组,得到解x(t)、y(t)、z(t).利用画线函数Line画出球门,利用三维参数作图函数ParametricPlot3D画出足球在三维空间的运动轨迹,并利用Show函数将球门和球的轨迹画在一张图上,如图1所示.

图1 足球飞行轨迹

将飞行时间定义为Manipulate函数的动态变量,用画点函数Point和画线函数Line动态画出足球位置和飞行轨迹,形成足球在空间飞行过程的动画,如图2所示.

(a)

(b)

通过修改参数和初始条件可以模拟出不同情况下足球的运动情况,可对练习“香蕉球”提供一定的理论上的指导.

3 Mathematica在李萨如图形数值模拟中的应用

李萨如图形是振动合成中的一个典型例子[3].当质点同时参与两个振动频率成整数比的相互垂直的运动时,质点的运动轨迹是闭合的,其轨迹在x方向的切点数nx和y方向的切点数ny的比值,与x方向振动频率νx和y方向振动频率νy的比值的倒数相等,即

x=Axcos(2πνxt+φx0)

(4)

y=Aycos(2πνyt+φy0)

(5)

当νx∶νy=n∶m,其中n,m为自然数,则

(6)

Mathematica程序设计思路如下:将式(4)和式(5)中的振幅、频率、初相以及时间作为Manipulate函数的动态变量,利用二维参数作图函数ParametricPlot画出合振动曲线,利用画点函数Point画出振动质点的位置,并用Show函数将其画在一张图上,从而演示李萨如图形并动态显示质点的运动,如图3所示.

(a)

(b)

可以通过调节水平方向和数值方向振幅和频率的比值,以及水平方向和竖直方向的初相位来得到不同情况下的李萨如图形,还可以演示质点的运动轨迹,可用来研究李萨如图形的性质.

4 Mathematica在点电荷电场数值模拟中的应用

应用Mathematica软件模拟两个点电荷电场线和电势的分布.由于两个点电荷激发的电场和电势分布是关于两电荷连线旋转对称的,故画出过两电荷连线的平面(设为xOy平面)的电场和电势分布即可.设电荷量为q1和q2的两个点电荷,相距为2r0,以两电荷连线为x轴,两个点电荷连线的中点为坐标原点建立xOy坐标系,则坐标平面内的电势分布为

电场分布为

E=-U

(8)

程序设计思路如下:

根据式(7),将U定义为电荷量以及坐标的函数,并将电荷量q1和q2定义为Manipulate函数的动态变量,利用ContourPlot函数画出等势线分布,利用StreamPlot函数画出负的电势梯度函数(即电场函数)对应的电场分布.为使电场线疏密能合理地表示电场大小,可以点电荷为圆心,贴近电荷处的圆周上均匀设定电场线经过的点,如图4所示.

(a)

(b)

图4显示了两种点电荷分布(q1=3,q2=-3;q1=1,q2=1)下的电场和电势分布情况.可动态改变左右电荷的电荷量,从而得到不同点电荷电荷量情况下的电场和电势分布.

5 Mathematica在牛顿环数值模拟中的应用

牛顿环可以看作是一块平凸透镜和一块平板玻璃构成的空气膜的上下表面反射光的干涉,当上面的平凸透镜上下移动时,牛顿环图像会呈现出视觉上的“干涉条纹陷入”和“干涉条纹冒出”的现象,这可以通过Mathematica编程来模拟[4].

(9)

对应的相位差为

(10)

干涉光的强度分布为

(11)

令牛顿环条纹所在的平面为xOy平面,则r2=x2+y2.设平凸透镜的曲率半径为R=1 m,入射光的波长为λ=589.3 nm,牛顿环的显示范围为{(x,y)|

-x0≤x≤x0,-y0≤y≤y0},并取x0=y0=

0.003 m,程序编制思路如下:将式(10)中的b定义为Manipulate函数的动态变量,利用密度图函数DensityPlot画出式(11)的强度分布,如图5所示.

(a)

(b)

6 小结

结合以上几个实例发现,利用Mathematica软件,可以通过编程将实际的物理过程通过数值模拟的方式表现出来.Mathematica程序通俗易懂,编程工作量小,编程用的语言接近自然语言,表示方法也接近通常的数学习惯表示,因而能让使用者集中精力考虑物理问题的数学模型,不用在编程上花上太多精力.将Mathematica软件引入大学物理教学中,对培养学生的创新能力和提高物理思维能力都是非常有益的.

参考文献

1 唐曙光.在物理教学中使用Mathematica.物理通报,2003(10):25~26

2 马涛.数字化大学物理.杭州:浙江大学出版,2008

3 黄海林,李元杰.李萨如图形的计算机模拟——大学物理CAI软件开发实例.物理与工程,2003,13(3):38~41

4 钟季康,鲍鸿吉.大学物理习题计算机解法——MATLAB编程应用.北京:机械工业出版社,2008

猜你喜欢
点电荷电荷大学物理
电荷知识知多少
电荷守恒在化学解题中的应用
点电荷的平衡与非平衡问题的进阶学习
静电现象有什么用?
库仑定律的应用
基于创新性应用型人才培养的大学物理教学内容的构建
VC++实现点电荷电场线与电势线的绘制
大学物理与高中物理衔接教育的探讨
均匀带电圆面作点电荷近似的一种方法
大学物理实验教学创新模式的探索与实践