用计算机模拟闪电形成的尝试课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《用计算机模拟闪电形成的尝试课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用计 模拟 闪电 形成 尝试 课件
- 资源描述:
-
1、用计算机模拟闪电形成的尝试By By 金秀儒金秀儒物理三班物理三班PB05206218PB05206218Outline摘要引言总体设想设想流程图模块1模块2模块3计算机模拟程序模拟结果结果讨论絮话分形混沌内禀随机性遗憾&展望 致谢参考文献程序源代码摘要 本文提出的模型属于DBM模型的变体,用以模拟自然界中的闪电现象。模型首先通过在二维空间划分网格把实际问题离散化,然后通过适当的算法对闪电形成过程进行模拟,由于计算机时过长的原因,本文最终只能舍弃精确的算法,得到一个初步的甚至是不完整的模型进行计算机模拟,然后进行了一些定性的讨论。引言 Niemeyer,Pientronero和Wielsman
2、n于1983年研究了平行玻璃之间SF6中的电击现象,他们得到了多枝杈的径向放电图形(1s的30kV电脉冲),他们对图形进行了计算机模拟,提出的介电击穿模型(dielectric breakdown model,DBM)。闪电现象属于气体电介质击穿现象,用类似DBM模型的方法进行计算机模拟是比较自然的想法,本文提出的模型即属于DBM模型的变体,用以模拟自然界中的闪电现象。总体设想总体设想 在雷雨季节,大块的云层顶部带正电,而底部则有过剩的负电,于是在接近地面时,地面感应产生正电,地面为高电势,产生的电势差使得空气被击穿,产生闪电。我们以云端为起点,地面为终点模拟闪电的形成我们以云端为起点,地面为
3、终点模拟闪电的形成。方便起见,我们开辟一个矩形的二维空间,通过在这个二维空间划分网格把实际问题离散化,我们之后的讨论就限定在这个二维空间的网格内。在二维情况把原则性的问题解决了,推广到三维情况就只是技术问题了。推广到三维情况就只是技术问题了。由此,我们可以命云层的电势为云层的电势为=0,所有的击穿点电势也应为0,地面的电势为常值,为了避免复杂的量纲计算避免复杂的量纲计算,我们可以采用自然单位制,即不论实际电势差多少,命地面的电势为电势为=1,(实际程序中为方便起见命为100也可以),不失一般性,我们命上边界(网格第一行)的电势=0,以模拟云层,而下边界(网格最后一行)的电势=1,以模拟地面。击
4、穿点的电势为击穿点的电势为=0总体设想总体设想 忽略一些过于细节的影响,我们认为除云层和地面外,空间没有电荷分布。另一方面,为完为完全确定边界条件全确定边界条件,把所有击穿点视作变化的边界把所有击穿点视作变化的边界,又由于电击对两侧边界电势影响很小而忽略其影响,则可假定两侧的边界的电势自始不变,问题简化为Dirichlet 问题;联立描写静电场的两个基本方程可得到Poisson方程,如前所述,全边界给定,空间没有电荷分布,则Poisson方程就变为LapLace方程;于是,求解LapLace方程,即可得到全空间电势;我们把最初的击穿点设为第二排中间一格,重解LapLace方程,即可得到全空间电
5、势;再通过概率的方法决定下一个击穿点(下一个击穿点有可能来自所有已击穿点的相邻单元,下一个击穿点有可能来自所有已击穿点的相邻单元,否则不可能出现分叉闪电否则不可能出现分叉闪电),重解LapLace方程,得到全空间电势;如是循环,即模拟闪电作为电介质击穿的过程,最后到达边界,结束程序。设想流程图:击穿第一个点击穿第一个点通过离散的通过离散的LaplaceLaplace方程方程重新计算全平面电势重新计算全平面电势计算所有相邻点击穿概率计算所有相邻点击穿概率取随机数取随机数决定下一个击穿点决定下一个击穿点击穿点是否到达边界?击穿点是否到达边界?NONOYESYES程序结束,输出图形程序结束,输出图形
6、初始情况初始情况(STARTSTART!)!)显然,该算法包括以下3大模块:模块1:初始情况:模块2计算概率,决定下一个击穿点:模块3计算电势:模块模块1(初始情况初始情况)如前所述,上边界(网格第一行)的电势=0,以模拟云层,而下边界(网格最后一行)的电势=1,以模拟地面。初始情况尤如一个平行板电容器,电势随所在行数,呈线性变化;然后假定两侧的边界(第一列和最后一列)的电势自此之后不再变化,全边界被完全确定,问题简化为Dirichlet 问题;模块模块2(计算概率,决定下一个击穿点计算概率,决定下一个击穿点)根据介电击穿模型(dielectric breakdown model,DBM),我
7、们可以利用一个现成的结果,即击穿点(i,j)的某一最近邻点(i+1,j)的击穿概率为:式中分母中的求和号遍及所有最近邻点,且(i+1,j)可以替换为(i-1,j)(i,j+1)(i,j-1);M=1时,模型满足Laplace方程,由击穿点(i,j)=0,即我们所要用的公式为:式中分母中的求和号遍及所有最近邻点;由此式计算所有最近邻点的击穿概率;再由计算机产生的伪随机数决定下一个击穿点;以下为由计算机产生伪随机数决定下一个击穿点的具体方法:我们以列表的形式给出可能的击穿点的概率分布:从中显而易见,作为概率函数的pi满足,由是,我们命F(x)作为概率分布函数有,由此,我们便可以由计算机实现对下一个
8、击穿点的决定:模块模块2(计算概率,决定下一个击穿点计算概率,决定下一个击穿点)由此,我们便可以由计算机实现对下一个击穿点的决定:1.把所有最邻近点取出,共n个点,任意命名为a1,a2,a3aian;2.由计算机生成一个伪随机数,这个数必然在这个数必然在0,1区间中随机选取区间中随机选取;3.这个数必然对应于唯一一个,由此即可判定x所在的区间,进而判定pi以及所对应的ai;4.这样,我们就确定了下一个击穿点,5.命这个击穿点=0;模块模块3(计算电势计算电势)右图表示的是数值计算中的一个基本的结果:Laplace方程的离散形式方程的离散形式它表明了一个貌似简单的结果,即某点的电势等于与它相连的
9、四点电势的平均值;本模块要实现的是计算各离散点的电势,因此,通过Laplace方程的离散形式以及之前完全确定的边界条件(击穿点视为边界的一部分),就可以完全确定网格中所有点的电势;最自然的想法是直接通过递归的方法用Average函数求解,但实现过程中发现,这个方法是完全行不通的,因为它会产生所谓循环引用的问题,即若干步后所求变量计算时调用自己的值,使程序进入死循环。这个问题困扰作者许久,直到想到以下这个貌似“十分显然”的方法:命xi为第i点电势,把Laplace方程的离散形式写成则对全部n个点,可以列n个方程:方程组中,第i个方程中xj前的系数aj如此给定:当j=i时,aj=-4;当j为i邻近
10、的四个点之一时,aj=1;其他情况,aj=0,即有即有 n个方程个方程,每个方程中的每个方程中的n个元素中个元素中,除了这个点和与它最邻近的除了这个点和与它最邻近的4个点外个点外,都为都为0元元;把给定的m个边界条件(包括击穿点)的电势值代入方程组,剩余的剩余的n-m独立方程,恰能独立方程,恰能给出剩余的给出剩余的n-m个未知网格的电势个未知网格的电势;这样就把求各点电势问题转化为求解线性方程组把求各点电势问题转化为求解线性方程组的问题了;0.0.0.0.0.0.1)1(2211)1(1)1)(1()1(22)1(11)1()2(1)1)(2()2(22)2(11)2(31)1(3323213
11、121)1(2222212111)1(11212111nnnnnnininnnnnnnniinnnnnnnnniinnnnnnniinnnniinnnniixaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxaxa模块模块3(计算电势计算电势)04 xxxxxdownuprightleft模块模块3(计算电势计算电势)接下来就是该线性方程组的求解问题,这个问题最终没有解决,原因不是理论上的,而是来自运行过程中计算机时过长运行过程中计算机时过长,以致无法求解,说明如下:如果直接用Cramer法则求解,即使是100阶的方程(相当于10X
12、10网格)乘除法次数约为(101100!99),即使每秒计算即使每秒计算1033也需要近也需要近10120年年,必须优化解法;改用直接法计算(如高斯消元法),一般只能算200阶以下的方程(相当于10X20网格),加上需反复计算多次以及模块2所用时间仍然无法接受,也需要优化解法;由于方程中多为0元,为稀疏方程组,故可以用雅可比迭代法计算,但由于要判断迭代是要判断迭代是否收敛以及收敛速度否收敛以及收敛速度的问题,实现时可能需要用并行算法,皆超出作者能力范围,而且计算机的性能上也不符合条件,需要进一步优化解法,需要加强计算机功能;综上,由于缺乏可行的实施方法,以及时间和精力的限制,作者最终只好放弃进
13、一步的修正,程序未涉及电势变化,只是初步的甚至是不完整的程序,故本文题名为“尝试”,遗憾终究是不免的;计算机模拟程序 通过上述分析,以下用计算机模拟闪电的形成;这只是一个初步的结果 程序未涉及电势变化 程序未推广到三维情况模拟结果(10 X 10像素)模拟结果(10 X 10像素)模拟结果(10 X 10像素)模拟结果(10 X 10像素)模拟结果(20 X 20像素)模拟结果(20 X 20像素)模拟结果(20 X 20像素)模拟结果(20 X 20像素)模拟结果(50 X 50像素像素,100 X 100像素像素)由于电脑功能尚不够强大,运行容易导致系统崩溃,无法实现。实际上,程序运行时很
14、可能出现这种情况,即程序运行一段时间后击穿区域先抵达两恻的边界,导致结果完全不可信,唯一的解决方法是横向扩展区域,这样做就对计算机提出了更高的要求。结果讨论结果讨论从以上模拟结果可以看到,10 X 10像素以及20 X 20像素的模拟结果基本令人满意;作者原计划是把像素调到几十万,这样肉眼就无法分辨出方格了,结果或许可以和真实的闪电媲美,但现在看来,要求这样性能的计算机时,是无法实现的;事实上,由于在本次模拟中尚未考虑电势的影响,是一个不完善的模拟;以上这些都有待进一步的工作。虽然我们得到的只是一个不完善的模拟,但仍可以拿来做一些定性的分析如下:往下击穿的概率大于往两边击穿的概率,往两边击穿的
展开阅读全文