电磁学小论文 —— 带电粒子在电磁场中运动的计算机模拟程序的简单实现

Slides:



Advertisements
Similar presentations
模板的使用 教育学 江西教育学院教育系 冯芳 2012 - 10. 第二章 教育学的产生和发展 第一节 教育学的研究对象和任务 第二节 教育学的产生与发展 第三节 学习教育学的意义与方法.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
1 安全乘坐电梯 与大型游乐设施 福建省特检院宁德分院党支部 王祖生 特种设备安全知识进校园.
用 藥 安 全 用 藥 安 全 護 理 師 張 嘉 芬. 前 言 前 言 正確用藥的方法 藥袋上的秘辛 為了減少重大疾病或是醫療處理、 用藥不當的相關事件發生。
阿尔伯特亲王 阿尔伯特亲王纪念碑 维多利亚女王夫妇 维多利亚女王一家 建造水晶宫 水晶宫初建时的照片.
高一年级组家长会. 一、考试成绩分析 二、存在的问题 三、给家长的建议 四、科任教师交流 表扬 1 、 年级组语数外成绩优异同学 ( 年级排名 ) 李 芮第 1 名 吕明洋第 2 名 王 越第 3 名 杨天宇第 4 名 张凯燕第 5 名 李 曦第 7 名 魏书静第 8 名 项春怡第 10 名 郑明明第.
沟通交流 活动有序 内容轻松 文明守纪 团结共进 1. 成立家长委员会, 通知 15 人明天下午 3-5 点五楼报告厅 “ 全面育人教育论坛 ” 2. 介绍附中、年级、班级的规范和要求 日常行为规范,高中学习特点,考试、作业要求 3. 开学以来年级、班级开展的工作及安排 开学以来年级、班级开展的工作及安排.
1、毛将后代握手言欢泯恩怨 2、美国总统奥巴马访华.
梦想启航 ——大学生活与职业规划专题讲座.
大学生安全防范知识 城北派出所 陶燕雄.
远 方 宽厚肩膀,手指干净而修长。 笑声像大海,眼睛里有阳光。 我想象你,一定就是这样。 还没出现,就已对你爱恋;还没遇见,就先有了思念。
河北保定外国语学校 高三家长会.
专利申请 简介 专利申请的种类 专利申请的途径、费用 申请文件 材料学院 刘科高 博士/教授          
情境导入: 诚信是金 同学们,这是一个非常经典的故事。请大家思考当小男孩真的遇到狼时,为什么没人去救他呢? 你从中得到了什么启示?狼来了.MP4.
第五章 话语的语用意义(上) 主讲人:周明强.
党的十八届四中全会 依法治国精神解读. 党的十八届四中全会 依法治国精神解读 一、十八届四中全会概况 中国共产党第十八届中央委员会第四次全体会议,于2014年10月20日至23日在北京举行。 全会审议通过了《中共中央关于全面推进依法治国若干重大问题的决定》。
以信息化带动教育现代化,打造教育的“南山质量”
证券市场法律制度与监督管理 作者:张学亮.
欢迎各位家长 同样的心情 一样的期待 初二(2)班家长会.
欢迎各位家长的到来! 沟通 交流 协作 初二 班家长会.
家校同心, 师生同行 ——八(五、六)班家长会.
“他的人生观真是一种‘单纯信仰’,这里面只有三个大字:一个是爱,一个是自由,一个是美。他梦想这三个理想的条件能够回合在一个人生里,这是他的‘单纯信仰’。他的一生的历史,只是他追求这个单纯信仰的实现的历史。” ——胡适《追悼志摩》
欢迎各位家长光临 初二(1)班家长会
时间与我们的世界 Pb 段心蕊.
目錄 服務地點 南寮 世光教養院 飛鳳山 長安養老院 尖石國小 內灣 大華停車場 上智國小 二重國中 班級 領隊教師 參與人數 (人次)
个体税收征管政策讲解 浏阳市地方税务局.
学习情境七 领队业务 【学习目标】 了解领队工作职责; 掌握领队的工作程序; 掌握领队的服务要点。 【技能目标】
蒙古与苗族的特色建筑 项艺烽小组 最炫民族风.mp3.
封面 2015易驾考最新分享: 科目二考试方法秘诀 文章来源:易驾考官网.
基于行业的 企业技术创新信息保障体系研究 刘 华 博士 中国科学技术信息研究所.
會計資訊系統 專章A.
第三章 調整與編表.
第四讲 1949—1991年的中苏关系 及其经验教训.
“鼠标加水泥”的百货公司——武汉中百 朱巧巧 陆嘉怡 田泽宇.
我怀念的乡村记忆 陈秀华 社会工作0841.
大聲一點又如何? 打耳光、重擊或大聲音會使聲波以極大的力量快速撞擊鼓膜而傷害鼓膜。 事先知道要聽到很大的聲音要張開嘴巴。
沟通技巧 主讲:涂育俊.
一分钟电话营销分享 刘瑾.
主办:泰兴市质量强市领导小组办公室 承办:泰 兴 市 市 场 监 督 管 理 局.
热烈欢迎您 参加家长会!.
欢迎各位家长 参加初一八班的家长会!.
通州市教研室 王作良 邮箱 06高考复习讲座 通州市教研室 王作良 邮箱
第7章 行政监督.
反思,调整学习方法 迎接中考的挑战 九(7)班.
斑马线上的安全学问 学校:平安二小 班级:四年级(1)班 姓名:张海超 时间:2016年6月21日.
令我后悔的一件事.
股市不傳之秘 甘氏矩陣圖/價格推算 簡介、基礎學習步驟 1、學習觀念 2、基礎看圖法 A.大數推算 B.基礎角度線推算.
热烈欢迎各位家长 初二(1)班
班级小插曲.
感受柏林禅寺—— 华莲的日记 2006年6月9日 周五 多云
第十课我的朋友圈.
《生活与哲学》第一轮复习 第七课唯物辩证法的联系观.
台南市石門國民小學 九十八學年度上學期 作文教學成果
2-1熟記網路交友的注意事項 2-2分析各種網路交友的錯誤心態 2-3認識各種網路交友的正確方法
世界看遍 终归回到纯水岸 波托菲诺08年终总结. 世界看遍 终归回到纯水岸 波托菲诺08年终总结.
一、選擇題 ( )1、下列敘述何者錯誤? (A)由彈弓射出的石子具有能量 (B)一物體具有作功的本領,則此物具有能 量 (C)被壓縮的彈簧具有能量,被拉長的彈簧 則不具有能量 (D)將地面的重物,吊到高處則此物具有能 量。 C.
学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。. 学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。
15-16 水運會 維多利亞公園游泳池 4月30日 (星期六) 9:00-12:30.
香港傳統的農村生活.
歐巴桑症候群 *** 歐巴桑症候群***.
論四端 孟子 一. 關於孟子…… 孟子,名軻,字子輿,戰國時鄒人。他受業於孔子孫子思的門人,是繼孔子後,儒家的另一位代表人物,給人尊稱為「亞聖」。 你想了解孟子更多的生平事蹟嗎?你聽過「孟母三遷」的故事嗎? 試用滑鼠指向孟子畫像,然後在滑鼠左邊連按兩下。
第二章 会计要素和会计等式 会计要素; 会计等式; 学习目标.
学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。. 学习目标 1、知道家中被盗后要保护现场; 2、了解一些防盗的小技巧。
喜雨亭記 國二甲 S 陳姿婷.
多姿多彩的世界.
技專校院多元入學管道 國立臺北科技大學 教務處 涂雅筑.
由一个佯谬看涡旋电流的存在 PB 田鸿翔 指导老师 万树德.
第四章 買賣業會計.
孙 权 劝 学 --《资治通鉴》 随县炎帝学校 谭芳.
Presentation transcript:

电磁学小论文 —— 带电粒子在电磁场中运动的计算机模拟程序的简单实现 PB17000002 古宜民 2018年6月

摘要 以静电磁场基本方程:库伦定律、叠加原理和毕奥—萨伐 尔定律为基础,不考虑相对论效应等其他因素,使用Python 语言对带电粒子在静电磁场中运动轨迹进行模拟并可视化, 即实现一个简易的物理引擎,并使用实际物理模型进行验 证。

电磁场基本方程

电磁场基本方程 磁荷理论:该理论认为磁场与电场类似,由“磁荷”产生。该理论虽然被证明是不正确的,但在一些模拟任务中可以简化模型并获得直观的、较好的效果。

计算方法:欧拉法 Example:

计算方法:龙格—库塔法 Example:

程序:介绍 程序使用Python语言编写,分为两个文件:计算的calc.py和可视化的plot.py,calc计算 结果输出到文件,plot读取文件并绘图。其中calc部分只用到了Python自带的数学库等 库,而plot部分使用了matplotlib和moviepy等高级的库。为提高效率,calc.py使用PyPy 运行,效率可获得16倍左右的提升,而plot.py使用默认的Python3解释器运行。 运行系统:Debian GNU/Linux 9 (stretch) 64-bit 由于使用Python,只要安装了对应的库,程序在各主流操作系统上都能正常运行。 以下所有示例的运行时间等信息均在以下测试环境下得到。 系统配置:Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz

程序:功能 该程序可以在输入空间电、磁场分布及粒子的初位置、速度等信息后对单个 粒子或多个粒子的运动轨迹进行模拟,并将结果以mp4视频的形式呈现出来。 模拟过程可以选择使用欧拉法或龙格—库塔法模拟、使用纯电场或考虑电磁 场、是否考虑重力场、是否考虑粒子间相互作用,也可以自定义步长、模拟 时间、可视化形式,只需要30行左右代码就可以完成对一个完整模型的模拟 及可视化全过程。程序不考虑相对论效应,仅在经典电磁学范围内模拟;也 不对用户给出的电、磁场函数进行高斯定理、环路定理的检验,支持电流元 IdL产生磁场的模拟但该功能还不完善,并未展示。

程序:流程 编写模型代码->迭代计算->输出到文件->作图 || V 计算每个粒子位置处电磁场->计算该时刻每个粒子受力(加速度)->更新每个粒子的位置 | v 更新每个粒子的速度 \ / \ -------------------/ | v 使用龙格—库塔法要计算多次

程序:代码概览—龙格库塔法代码 Full code at https://github.com/ustcpetergu/USTCcomputer/tree/master/EM/code

程序:代码概览—计算磁场 Full code at https://github.com/ustcpetergu/USTCcomputer/tree/master/EM/code

程序:代码概览—计算电场 Full code at https://github.com/ustcpetergu/USTCcomputer/tree/master/EM/code

程序:代码概览—一次模型模拟所用代码 Full code at https://github.com/ustcpetergu/USTCcomputer/tree/master/EM/code

程序:可视化 读入计算生成的数据,使用matplotlib模块进行3D作图,再使用moviepy模块生成mp4视频或gif动图。生成15秒、24帧每秒的mp4视频所需时间约15秒。 调用库: import math import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import axes3d from moviepy.video.io.bindings import mplfig_to_npimage import moviepy.editor as mpy import datetime import copy Full code at https://github.com/ustcpetergu/USTCcomputer/tree/master/EM/code

模拟结果 模型一:点电荷电场中的匀速圆周运动 最简单的电磁学模型之一,即一个负电荷绕一个固定正电荷做匀速圆周运动。模拟的时间范围为0到15000秒,速度理论上不变,实际从1.0000m/s变为0.9991m/s,但考虑到步长取值为0.01s,是一个相对而言很大的值,这个误差还是很令人满意的。程序共迭代了约1.5e6次,用时约4.1秒

模拟结果 模型二:匀强磁场中的等距螺旋线运动 一个简单的磁场模型,即粒子在匀强磁场中做等距螺旋线运动,洛伦兹力不做功,能量守恒。该模型以0.002s为步长,模拟约30秒时间内的运动,程序运行用时0.13秒左右。运行中粒子的速度恒为1.41421m/s未发生变化,可见模拟精度是比较高的。

模拟结果 模型三:地磁场束缚带电粒子(磁镜效应) 地磁场的磁镜效应束缚粒子的模拟,使用两个异号磁荷产生的磁场代表地磁场。从模拟结果可见,虽然是使用磁荷这个不够严格的模型进行模拟,但由于运动的粒子离磁荷较远,磁荷模型适用较好,结果还是与事实很相符的。如图可见粒子在“地球”(未画出)周围在南北极间来回运动但被约束在离中心一定距离的层中,并朝一个方向“进动”,而小范围内粒子还做螺旋运动,均与事实相符。视频中还可以看到粒子在“赤道”处速度较快且螺旋运动不太明显,而在靠近南北极处震荡剧烈,这是极光的产生原因。粒子速度仅有10^{-5}量级的误差。

不足与改进 理论方面的不足 目前模拟完全不考虑相对论效应以及运动的粒子产生的其他效应,仅仅在经典电磁学方面能够适用,有一定局限性。并且模拟中电磁场可随意给出,不能确定满足高斯定理、环路定理,也有一定缺陷,但可以通过手工检查电磁场函数形式而避免。

不足与改进 计算方法的改进 四阶龙格—库塔法在模拟中表现很好,但考虑到电磁场中运动的性质,如果能使用自适应步长的龙格—库塔法,期望可以有更好的结果。并且目前模型不支持对粒子间相互作用进行龙格—库塔模拟,这是可以改进的一点。而对电流元产生磁场的模拟也不是很理想,因为对于可能出现的粒子离电流元很近时分母接近0的情况目前未能解决。 目前粒子均为点电荷模型,故不能处理可能的粒子碰撞,尤其是正负电荷碰撞的问题,如果能够完善碰撞检测与处理,则能够使得模型的健壮性更强、适用范围更广,成为一个更完善的物理引擎。 目前只是prototype

不足与改进 计算效率的优化 由于Python作图方便、代码简介,本模拟器使用Python语言实现,但Python运行效率低是众所周知,所以如果使用如C++、Java等语言移植计算部分,将获得进一步运行效率提升。 并且本模拟器以实现功能为重,并未对可能优化的代码部分,如向量计算、迭代计算等部分进行优化,所以提升空间还是很大的。

不足与改进 可视化以及用户界面的改进 本模拟器使用moviepy模块生成视频,目前没有移动视角、缩放等交互式功能,可以考虑使用Unity等高级引擎辅助。 目前模拟器如果想对模型进行模拟,只能通过添加代码、甚至修改代码实现,没有交互式添加粒子、添加电磁场、设定参数的功能,不易于使用,这也是可以改进的一点。

The end thanks