- +1
Python可视化技术在电动力学教学中的应用
原创 谢文法 张乐天 等 物理与工程
摘要
电动力学是研究电磁场基本规律的理论课程,不仅是理解电磁现象的基础,而且为电子技术和通信工程等应用领域提供了理论支持;但电动力学理论中的抽象概念难以直观理解,数学计算尤其是矢量计算较为复杂。本文探究Python编程语言的可视化技术在电动力学教学中的应用,通过编程计算模拟可视化抽象的电动力学概念和结论,如偶极子辐射、运动点电荷的场等,让学生能直观观察电磁场的变化规律,提升学生对电磁场概念的理解与应用能力,激发学生对电动力学学习的兴趣。
关键词Python;可视化;电动力学;电磁场
AbstractElectrodynamics is a crucial theoretical course that explores the fundamental laws governing electromagnetic fields. It serves as the foundation for comprehending various electromagnetic phenomena while offering valuable theoretical insights used in practical applications like electronic technology and communication engineering. However, abstract concepts in the theory of electrodynamics are difficult to intuitively understand, and mathematical calculations, especially vector calculations, are more complex. This paper explores the application of visualization technology in the Python programming language in electrodynamics education. Through programming calculations, abstract electrodynamics concepts and conclusions are simulated and visualized, such as dipole radiation and the field of moving point charges, enabling students to intuitively observe the dynamic changes of electromagnetic fields. This approach enhances students comprehension and application abilities of electromagnetic field concepts, while simultaneously fostering their interest in the study of electrodynamics.
Key wordsPython; visualization; electrodynamics; electromagnetic fields
电磁场是物质世界的重要组成部分之一,在生产实践和科学技术领域内,存在着大量和电磁场有关的问题,例如电力系统、凝聚态物理、光波导与光子晶体、等离子体、天体物理、粒子加速器等,都涉及不少宏观电磁场的理论问题[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]
其中,θ是r和v之间的夹角。当v≪c时,它们简化为
第一个实际上即为库仑定律,第二个是“点电荷的毕奥-萨伐尔定律”。
以上运动电荷电场和磁场的表达式比较抽象,对运动速度接近光速的点电荷的场分布缺乏感性认识。假设正点电荷沿x轴正方向匀速运动,借助 Python 编程,如图 1 所示,我们得到了高速匀速运动的正点电荷所对应的电场和磁场分布图。

由图可以看出,匀速运动的点电荷的电场E是沿着
的,但不同于静止的点电荷,电场的分布不再具有球对称。从运动电荷前方观察,B 的磁场线逆时针环绕着这个电荷,和无穷长直导线的磁场类似,而我们知道静止的点电荷是不产生磁场的。可视化模拟计算结果给学生深刻的感性认识,有助于对抽象的物理公式的理解。
1.2 纯粹的偶极子和物理的偶极子的比较
在电磁理 论中,有两种偶极子:电偶极子和磁偶极子[10]。一个物理的电偶极子是由两个相距为d,带电荷量相同但是符号相反的电荷(±q)构成的;一个物理的磁偶极子是一个小的闭合电流。而电势严格满足
的电偶极子称为纯粹的电偶极子,矢势严格满足
的磁偶极子称为纯粹的磁偶极子,其中p和m分别为电偶极矩和磁偶极矩。通常情况下,并不严格去区分偶极子是物理的还是纯粹的,但事实上,它们的电场或磁场分布并不完全相同。将纯粹偶极子和物理偶极子的电磁场特性可视化模拟计算结果进行分析对比,有助于学生对偶极子特性的深入理解。
一个物理的电偶极子可以利用点电荷的电场叠加计算,而一个纯粹的电偶极子的电场可以通过其电势计算,选择坐标系使p位于原点并指向z轴方向,计算可得,纯粹的电偶极子的电场
。图 2 给出了物理的和纯粹的电偶极子的电场二维分布图,可以看出,除了中心区域,二者的电场分布很相似,但在中心区域它们完全不同。也就是说,只有当r≫d,且d很小时,一个物理的电偶极子的电场才能有效地等效于一个纯粹的电偶极子的电场。
同样地,选择坐标系使m位于原点并指向z轴方向,可以得到纯粹的磁偶极子的磁场
,形式上与纯粹的电偶极子完全相同。而物理的磁偶极子可以通过计算小的闭合电流的磁场给出,如图 3 所示,假设在xy平面上有一个半径为a的导线圆环载电流I,在球坐标下,其矢势可表示为[1]
因此可以求得磁场的分量为


利用 Python 编程,图 4 给出了物理的和纯粹的磁偶极子的磁场二维分布图。由图可以看出,纯粹的磁偶极子的磁场分布和纯粹的电偶极子的分布完全相同,正如前面所述,二者的场的公式形式上是一样的。除了中心区域,物理的磁偶极子和纯粹的磁偶极子的磁场分布很相似,但在中心区域它们完全不同。只有当距离r远远超出闭合电流环的大小时,磁偶极子才是电流环的合理近似。

1.3 偶极子的辐射特性
偶极子辐射是电磁波辐射理论的基础,利用 FuncAnimation 函数,将偶极子辐射随时间变化动态过程展现出来,对于学生深刻理解偶极子辐射特性具有重要作用。
假设原点处有一振荡的电偶极子[10]
其中,
,d 为偶极子的长度。则当 d≪λ≪r 时,即纯粹的电偶极子的远场辐射区的场为
对于纯粹的磁偶极子,其远场辐射区的场和纯粹的电偶极子形式上完全相同,不同的只是方向和电偶极子正好相反,磁偶极子的 B 指向
方向,E 指向
方向,即

由以上结果可以看出,不论是电偶极子还是磁偶极子,它们的电场和磁场都同相位,彼此垂直,且垂直于传播方向。在其等相位面上,电场和磁场的大小不均匀,在径向方向上,按 1/r衰减,为球面波,在r很大时,可近似为平面波。进一步,通过计算,可以得到纯粹的电偶极子和磁偶极子的强度分别为[10]

可以看出,在辐射区电磁场正比于 1/r,而强度正比于 1/r2,对球面积分后与球半径无关,保证电磁能量可以传播到任意远处。根据以上结果,可以看出纯粹的电偶极子和磁偶极子远场辐射特性具有相同的形式,因此,我们以纯粹的电偶极子为例,利用 Python编程对其电磁分布特性进行可视化模拟。
图 5(a)和(b)所示为不同时刻下的电场分布特性,可以看出,电场线是经面上的闭合曲线,对应的磁感线应该为绕极轴的圆周。

由强度公式可以看出,因子 sin2θ 表示电偶极辐射的角分布,即辐射的方向性,在 θ=90°的平面上辐射最强,而沿电偶极子轴线方向没有辐射,图 5(c)所示为电偶极子辐射强度的空间分布图。磁偶极子的空间分布和电偶极子相似,但尺度相当的偶极子,电偶极子的辐射强度大得多,通常可认为电偶极子辐射起主要作用。
2 结论
本文通过研究和应用 Python 的可视化技术,探索其在电动力学教学中的应用。通过可视化模拟电磁场分布和动态展示辐射特性,让学生能够直观地观察和理解电动力学中的抽象概念和实际应用场景,提高学生的学习兴趣和学习效果。通过合理设计教学案例,例如在课堂上通过播放偶极子辐射动态视频等加深学生对相关问题的理解,在课后通过和学生一起讨论相关代码的编写,提升学生学习电动力学的兴趣,教师可以充分利用 Python 的可视化技术,打破传统教学的束缚,提供更具交互性和趣味性的学习方式。基于 Python 的可视化技术在电动力学教学中具有广阔的应用前景。
参考文献
[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 application of 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 and practice on MATLAB aided teaching in electrodynamics course[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 of MATLAB 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-field produced by rectangular coil based on MATLAB[J]. Physics and 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 visualization method 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 simulation on magnetic field in current-carrying spiral ring[J]. Physics Bulletin, 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 coriolis effect on moving objects by numerical simulation based on python[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 university physics[J]. Physics and Engineering, 2019, 29(S1):64-68. (in Chinese)
[10]DAVID J. GRIFFITHS. 电动力学导论[M]. 3版. 贾瑜,胡行,孙强,译. 北京:机械工业出版社,2013.
基金项目: 国家自然科学基金项目(62174067)。
作者简介: 谢文法,吉林大学电子科学与工程学院教授,xiewf@jlu.edu.cn。
引文格式: 谢文法,张乐天,刘士浩. Python可视化技术在电动力学教学中的应用[J]. 物理与工程,2024,34(1):92-96.
Cite this article: XIE W F, ZHANG L T, LIU S H. Application of Python visualization techniques in electrodynamics teaching[J]. Physics and Engineering, 2024, 34(1):92-96. (in Chinese)
END

更多精彩文章请点击下面“蓝字”标题查看:
CALL FOR PAPERS|《物理与工程》征稿量子世纪年乌云里的常数——4.14话h2024年全国高等学校物理基础课程教育学术研讨会 征稿通知2024年全国高等学校物理基础课程教育学术研讨会 第二轮会议通知2023版《理工科类大学物理课程教学基本要求》内容细化修订解读中国大学物理教育MOOC联盟2023年工作会议(扩大)暨典型案例交流会 会议纪要2023年全国高等学校物理基础课程教育学术研讨会 会议纪要2023 年全国高等学校物理基础课程青年教师讲课比赛在喀什大学举办全国大学物理实验教学对口支援(智力援疆)研讨会在新疆师范大学举办王青教授:理解王中林院士“拓展的麦克斯韦方程组”“碰瓷”麦克斯韦:伽利略协变和洛伦兹协变电磁场论趣谈热点:运动介质洛伦兹协变电磁理论2021年《物理与工程》优秀论文、优秀审稿专家、优秀青年学者名单王青教授:源自苏格拉底的问题驱动式教育——在互动中共同学习和成长读后感:教育中的现实和远方王青教授:昨晚(6月9日),清华电动力学期末考试朱邦芬院士:“减负”误区及我国科学教育面临的挑战《物理与工程》2023年第6期目录乐永康:新冠肺炎疫情防控下美国物理实验教学及中美情况对比顾牡:对于重新制定的《非物理类理工学科大学物理课程教学基本要求》的认识和体会朱邦芬院士:从基础科学班到清华学堂物理班朱邦芬院士:对培养一流拔尖创新人才的思考李学潜教授:物理是一种文化李学潜教授:如何帮助物理系学生迈过从高三到大一这个坎穆良柱:物理课程思政教育的核心是科学认知能力培养穆良柱:什么是物理及物理文化?穆良柱:什么是ETA物理认知模型穆良柱:什么是ETA物理教学法吴国祯教授:我的国外研究生经历印象——应清华大学物理系“基科班20年·学堂班10年纪念活动”而写
陈佳洱,赵凯华,王殖东:面向21世纪,急待重建我国的工科物理教育王亚愚教授:清华物理系本科人才培养理念与实践葛惟昆教授:关于中外人才培养的几点思考安宇教授:为什么传统的课堂讲授模式需要改变安宇教授:其实教学就是积累的过程刘玉鑫教授:关于本科生物理基础课程教学和教材编著的一些思考沈乾若:重创理科教育的美加课程改革Henderson C:美国研究基金支持下的物理教育研究及其对高等物理教育的影响《物理与工程》期刊是专注于物理教育教学研究的学术期刊,是中国科技核心期刊,1981年创刊,欢迎踊跃投稿,期刊投审稿采编平台:
http://gkwl.cbpt.cnki.net
欢迎关注
《物理与工程》微信公众号
继续滑动看下一个轻触阅读原文

物理与工程向上滑动看下一个
原标题:《Python可视化技术在电动力学教学中的应用》
本文为澎湃号作者或机构在澎湃新闻上传并发布,仅代表该作者或机构观点,不代表澎湃新闻的观点或立场,澎湃新闻仅提供信息发布平台。申请澎湃号请用电脑访问http://renzheng.thepaper.cn。





- 报料热线: 021-962866
- 报料邮箱: news@thepaper.cn
互联网新闻信息服务许可证:31120170006
增值电信业务经营许可证:沪B2-2017116
© 2014-2025 上海东方报业有限公司




