Python可视化技术在电动力学教学中的应用

2024-05-03 18:35谢文法张乐天刘士浩
物理与工程 2024年1期
关键词:电动力学电磁场可视化

谢文法 张乐天 刘士浩

摘 要 電动力学是研究电磁场基本规律的理论课程,不仅是理解电磁现象的基础,而且为电子技术和通信工程等应用领域提供了理论支持;但电动力学理论中的抽象概念难以直观理解,数学计算尤其是矢量计算较为复杂。本文探究Python编程语言的可视化技术在电动力学教学中的应用,通过编程计算模拟可视化抽象的电动力学概念和结论,如偶极子辐射、运动点电荷的场等,让学生能直观观察电磁场的变化规律,提升学生对电磁场概念的理解与应用能力,激发学生对电动力学学习的兴趣。

关键词 Python;可视化;电动力学;电磁场

电磁场是物质世界的重要组成部分之一,在生产实践和科学技术领域内,存在着大量和电磁场有关的问题,例如电力系统、凝聚态物理、光波导与光子晶体、等离子体、天体物理、粒子加速器等,都涉及不少宏观电磁场的理论问题[1]。电动力学是研究电磁场基本规律的理论课程,是大学物理专业及相关专业的核心课程,在通信、显示、集成电路等领域具有实际的应用。电动力学以麦克斯韦方程组为核心理论框架,在数学上具有优美、协变的形式,但数学计算尤其是矢量计算较为复杂,且电磁场概念本身比较抽象,学生往往难以将其与具体实际应用场景相结合,导致对电磁现象的直观理解不够充分。

近年来,利用Matlab的数值计算能力和绘图动画功能,许多教学人员将其应用到电磁场的可视化辅助教学中[2-7],但多数的研究仅局限于结果的可视化模拟,对于具体参数对电磁场分布的影响未作深入的探讨。此外,Matlab是一种商业软件,需要购买许可证才能使用,这也限制了其在教学中的广泛应用。

Python作为一种开源的编程语言,可以在不支付额外费用的情况下自由使用,是一种易于学习和使用的编程语言,拥有NumPy、SciPy、Pandas等强大的科学计算和数据分析库,以及Matplotlib、Seaborn、Plotly等丰富的可视化库,可以生成精美的图表和动画,直观地展示复杂现象和抽象概念。近年,有教学人员将其应用到力学和物理实验的可视化模拟[8,9],显示了Python编程在物理教学上的应用潜力。但相比而言,基于Python可视化技术在电动力学教学上的应用研究相对较少。

电磁场是电动力学的主要研究对象,点电荷、偶极子是电动力学中最基本和最重要的概念,是电磁场分布理解复杂电磁场的基础。本文基于Python编程语言,利用场的可视化常用的函数,如:contour函数绘制电势,streamplot函数绘制矢量场流线图,实现了点电荷、偶极子的电磁场的可视化分析,讨论了具体的参数(如点电荷的运动速度等)对电磁场的影响。该结果不仅有助于学生对电磁场概念的理解和掌握,也为复杂电磁场的计算和可视化呈现以及Python在教学上的应用提供了有益的参考。

1 结果与讨论

1.1 运动点电荷的电场和磁场

一个运动的点电荷的电场和磁场可以通过李纳维谢尔势进行计算[1]

其中, 是在推迟时间时电荷的速度,r 是从推迟位置到场点的矢量。因此,对于匀速运动的点电荷,其电场和磁场分别为[10]

第一个实际上即为库仑定律,第二个是“点电荷的毕奥萨伐尔定律”。

以上运动电荷电场和磁场的表达式比较抽象,对运动速度接近光速的点电荷的场分布缺乏感性认识。假设正点电荷沿x 轴正方向匀速运动,借助Python编程,如图1所示,我们得到了高速匀速运动的正点电荷所对应的电场和磁场分布图。

由图可以看出,匀速运动的点电荷的电场E是沿着^r 的,但不同于静止的点电荷,电场的分布不再具有球对称。从运动电荷前方观察,B 的磁场线逆时针环绕着这个电荷,和无穷长直导线的磁场类似,而我们知道静止的点电荷是不产生磁场的。可视化模拟计算结果给学生深刻的感性认识,有助于对抽象的物理公式的理解。

1.2 纯粹的偶极子和物理的偶极子的比较

参考文献

[1] 郭硕鸿. 电动力学[M]. 3版. 北京:高等教育出版社,2008.

[2] 李佳伟,王婕,张中月,等. MATLAB在电动力学教学中的应用研究[J].物理通报,2017(6):15-19,23.

LI J W, WANG J, ZHANG Z Y, et al. Research on the applicationof MATLAB in the teaching of electrodynamics[J]. Physics Bulletin, 2017(6): 15-19, 23. (in Chinese)

[3] 贺梦冬,陈葛锐,刘凌虹,等. 电动力学课程的MATLAB辅助教学探索与实践[J]. 物理通报,2021(1):11-14.

MENG H D, CHEN G L, LIU L H, et al. Exploration andpractice on MATLAB aided teaching in electrodynamicscourse[J]. Physics Bulletin, 2021(1): 11-14. (in Chinese)

[4] 唐军杰,王爱军,赵昆,等. MATLAB在电磁场可视化教学中的应用[J]. 物理与工程,2013,23(1):42-45,56.

TANG J J, WANG A J, ZHAO K, et al. Application ofMATLAB in visual teaching of electromagnetic field[J].Physics and Engineering, 2013, 23(1): 42-45, 56. (in Chinese)

[5] 汪可馨. 基于MATLAB的矩形载流线框磁场分布特征的仿真分析[J]. 物理与工程,2016,26(6):106-111,116.

WANG K X. The simulation analysis of the magnetic-fieldproduced by rectangular coil based on MATLAB[J]. Physicsand Engineering, 2016, 26(6): 106-111, 116. (in Chinese)

[6] 周群益,莫云飛,周丽丽,等. 电场的MATLAB可视化方法[J]. 物理通报,2022(2):18-24.

ZHOU Q Y, MO Y F, ZHOU L L, et al. MATLAB visualizationmethod of electric field[J]. Physics Bulletin, 2022(2):18-24. (in Chinese)

[7] 周鑫,李江珊,吴明和,等. 载流螺线环磁场的MATLAB仿真[J]. 物理通报,2019(1):40-42,48.

ZHOU X, LI J S, WU M H, et al. MATLAB simulationon magnetic field in current-carrying spiral ring[J]. PhysicsBulletin, 2019(1): 40-42, 48. (in Chinese)

[8] 马淑红,侯振,焦照勇,等. 基于Python的科里奥利力对物体运动影响的可视化模拟[J]. 物理与工程,2023,33(2):81-87.

MA S H, HOU Z, JIAO Z Y, et al. Visualizing the corioliseffect on moving objects by numerical simulation based onpython[J]. Physics and Engineering, 2023,33(2): 81-87.(in Chinese)

[9] 宋碧雄,胡海云. 大学物理中Python的应用[J]. 物理与工程,2019,29(S1):64-68.

SONG B X, HU H Y. The application of python in universityphysics[J]. Physics and Engineering, 2019, 29(S1):64-68. (in Chinese)

[10] DAVID J. GRIFFITHS. 电动力学导论[M]. 3版. 贾瑜,胡行,孙强,译. 北京:机械工业出版社,2013.

猜你喜欢
电动力学电磁场可视化
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
直线电机车辆机电动力学模型的构建与分析
外加正交电磁场等离子体中电磁波透射特性
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
非线性电动力学黑洞的复杂度
任意方位电偶源的MCSEM电磁场三维正演
电磁场与电磁波课程教学改革探析
电磁学与电动力学中的磁单极—Ⅱ