静电模型PIC方法的Matlab仿真设计

news/2024/6/17 12:34:24 标签: 1024程序员节, matlab, 粒子模拟

任务要求:

采用PIC模拟方法的静电模型来模拟多环形电子注在圆柱系统中的运动轨迹。模拟电子枪阴极表面发射电子注,电子在静态场的作用下运动直至稳定的运动过程。其中
系统长:0.01m
系统半径:0.005m
入射的每个宏电子电流:-1/310-3A
初始5圈电子以同样的速度从左平面入射进系统,一圈36个,且横向分布满足轴对称性,轴向速度为107m/s。
最内圈宏电子注入半径:2.0
10-3m,以后均匀递增2.010-4m
每隔相同的时间间隔从阴极注入一批电子。令Nr=101,Nz=201,Nθ=36,
径向网格数 ,角向网格数 ,轴向网格数 。
总共6000个步长,每个步长为1.67
10-13s。
每十个步长注入一次电子。
左平面固定电位为100V,右平面接地电位为0,两平面之间电位均匀变化,且横向等电位。
结果:
根据任务要求的得出仿真结果:
在这里插入图片描述

由上面图片不容易看出仿真轨迹,因此对参数进行修改,主要是两个参数,一是宏电子电流大小,二是左右平面所加的电压。其中宏电子电流能够使电子轨迹更加明显,左右平面电压能够使电子在z方向上加速行进。
更改参数为宏电子电流为-1/3*10-3A,左端电压为800V。
得出仿真图:
在这里插入图片描述

结果讨论:

分析最初的结果可以看出,由于受电子之间相互作用力的影响,会出现比较小的弧度,但是由于每个宏电子电流大小比较小,所以受到的力不是很明显,当增加宏电子电流大小时,适当增加导体两端电压可以得出非常明显的电子轨迹图。首先可以看出由于电子的初速度及施加的初始电场的作用下,电子沿着z方向移动;然后由于电子之间的相互之间的斥力,我们进行电荷平均分配,经过一定的计算之后得出开始电子会向着导体外方向移动,随着移动距离的增加,电子逐渐分散,外方向的电子密度更大,就会导致电子再次汇聚,最终形成以上的轨迹图。
需要补充的是在程序中没有进行边界的收敛,即边界对电子的吸收处理,因此在两端电压较小并且宏电子电流过大时会导致少量电子在运行一段时间后朝着左平面行进,出现错误。如果两端电压过大,会使电子接触到右平面,出现错误。这个也是可以通过对电压进行合理设置进行避免的,当然也可以进行边界的收敛程序设置,由于任务没有要求,所以仅仅得出大致轨迹。

收获:

在本次设计中,由于对MATLAB软件学习不够,一些能够比较简单的处理在写的时候做的过于复杂,比如构造一个三维矩阵,可以直接用zeros(x,y,z)的方式来建立,但是我却用了一个三重循环的方式,这大大增加了编程的难度。因此我需要在这些的基础上来深入挖掘常见语句的运用,为以后的使用打下基础。
另一方面,我在各个模块化处理方面可以完成任务,但在整个系统的整体性方面做得不够好,一个是没有正确的认识到dt和1/2*dt的关系仅仅是一个时间段或者一个循环内的先后关系,而不是分割成两个循环,再一个是在模块化处理时没有合理的考虑到系统性处理的要求,这使我在最后整合工作时无从下手,感到困难。因此在以后设计中我会牢记模块化与系统性的内在联系性。
最后,在通过将程序与课程的结合,我对粒子模拟这门课程有了初步的了解,我也会在这方面继续前进。
源码下载
https://download.csdn.net/download/Artisan_w/88468540
课程设计文章下载
https://download.csdn.net/download/artisan_w/11156092


http://www.niftyadmin.cn/n/5122585.html

相关文章

kafka3.X集群安装(不使用zookeeper)

参考: 【kafka专栏】不用zookeeper怎么安装kafka集群-最新kafka3.0版本 一、kafka集群实例角色规划 在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。 上图中黑色代表broker(消息代理服务)&…

【LeetCode】739 每日温度

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperat…

全面解析优化企业Microsoft 365网络的加速方案

您的员工是否有因为Microsoft 365频繁掉线、卡顿、无法登录而向IT部门抱怨过? 很多时候企业会以为是自身网络带宽不足才导致访问失败,但是在采取增加带宽的方案后,办公文档协同打开仍旧很慢,文件分享依旧需要等待较长的时间&…

【Java集合类面试二十六】、介绍一下ArrayList的数据结构?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:介绍一下ArrayList的数据…

XTU-OJ 1178-Rectangle

题目描述 给你两个平行于坐标轴的矩形,请判断两者是不是相交(面积有重合的部分)? 输入 第一行是一个整数K,表示样例数。 每个样例占两行,每行是4个整数,表示一个矩形的对角线点的坐标&#xff0…

嵌入式系统设计师考试笔记之操作系统基础复习笔记一

目录 1、嵌入式软件基础 (1)嵌入式软件的特点: (2)嵌入式软件分类: (3)无操作系统的嵌入式软件的两种实现方式: (4)有操作系统的三大优点&am…

【.net/.net core】发送邮件方法

具体实现逻辑为申请一个授权的发送邮箱&#xff0c;利用该邮箱从代码层面实现邮箱中的邮件发送功能 #region 发送邮件/// <summary>/// 发送邮件方法/// </summary>/// <param name"Subject">邮件标题</param>/// <param name"Body…

【云原生】portainer管理多个独立docker服务器

目录 一、portainer简介 二、安装Portainer 1.1 内网环境下&#xff1a; 1.1.1 方式1&#xff1a;命令行运行 1.1.2 方式2&#xff1a;通过compose-file来启动 2.1 配置本地主机&#xff08;node-1&#xff09; 3.1 配置其他主机&#xff08;被node-1管理的节点服务器&…