基于有限差分法求解单脊波导的并行算法研究.docVIP

基于有限差分法求解单脊波导的并行算法研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于有限差分法求解单脊波导的并行算法研究   摘要;有限差分方法广泛应用于求解波导问题,具有易于并行的特点。为了求解大规模多脊波导场结构问题,试图从并行计算的角度提供一种有效的解决思路,给出基本算法,验证一个实例,在基本算法的基础上可进行一些必要的扩展,对求解多脊波导提供参考。   关键词:有限差分;并行计算;单脊波导   中图分类号:TP311文献标识码:A文章编号:文章编号:1009-3044(2008)21-30550-02      The Parallel Programming Algorithm of Single-ridge Waveguide Based on Finite-Difference   WANG Wei1, HAN Guo-jun2   (1.Electric and information Engineering College, LAN Zhou Jiao tong Univ., Lanzhou 730070, China; 2.key Lab of optic-electronic technology and intelligent control, ministry of Edu.,Lanzhou 730070, China)   Abstract: The finite-difference is widely used to solve waveguide, it has a good feature of parallelize. In order to solve big sized ridge wave guide problems, we try to provide an effective way based on parallel compute. Provide an example and basic algorithm which can be expanded, and it has reference value to solve multi ridge waveguide.   Key words: Finite-Difference; Parallel Programming; Single-ridge waveguide      1 引言      有限差分方法是在电磁场计算中最早应用的一种方法,它是将电磁场连续域的问题变换为离散系统的问题来求解,即通过网格状离散化模型上各离散点的数值解来逼近连续场域的真实解[1]。有限差分法的这种特点非常适合于并行化计算,利用MPI库与C语言相结合的方式可设计出并行化算法[2-3],应用于求解波导问题。      2 波导求解方程      波导中传播的电磁波可分为横电波(TE波)或横磁波(TM波)两种类型,问题的求解可归结为求解相应的场纵向分量Hz或Ez所描述的定解问题。若以φ表示相应的纵向分量,则波导场的分析将是定义在平面内的二维标量波动方程的定解问题[4],即      用有限差分方法将以上问题近似的变换成相应的离散系统中的代数特征值问题,即为解(1)(2)两式,对φi,j和(kch)2赋一个初值。将(1)(2)两式交替重复进行迭代。      其中ΔSi,j代表第(i,j)个节点所占的面积[1]。   达到满足一定精度的解则停止迭代,φ即为所求的量。      3 单脊波导的并行化求解算法      3.1网格划分策略   先假定单脊波导的长度a是脊宽b的整数倍,波导的宽为c,脊处于中间对称位置如图1,对其进行网格剖分,分割方法如图2所示从左至右分配计算进程共有5个,进程3计算单脊以上的部分数据。   3.2 进程间的通信   5个进程在计算时各自之间需从相邻的进程中得到数据,因此在数据块两边各引入一个数组,用来临时记录从相邻进程得来的数据,迭代完成后进行统一的更新操作。进程间的通信过程可如图3所示,数据块两边的数据发送到相邻进程引入的数组中,从而达到通信的目的。      3.3 算法实现   对单脊波导进行正方形剖分,由前面的假设我们可知进程的划分边界正好处于剖分边界上,为计算实现带来方便,2进程计算的数据块较小,通信时只利用相邻进程数组的部分数据,具体算法如下:   输入:φi,j与(kch)2 的初始值。   输出:分别由各个进程给出分布在各个剖分结点上的φi,j   Begin   1)定义剖分网格的规模为n×n=totalsize;   2)定义每个进程需计算的局部数组,并初始化   for(j=1;j=mysize+2;j++)    {for(i=1;i=totalsize;i++) a[i][j]=1; }  

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档