基于MATLAB的光栅衍射仿真_第1页
基于MATLAB的光栅衍射仿真_第2页
基于MATLAB的光栅衍射仿真_第3页
基于MATLAB的光栅衍射仿真_第4页
基于MATLAB的光栅衍射仿真_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于MATLAB的光学光栅衍射仿真“光栅衍射计算器”是一种基于MATLAB的,用于计算包括双周期光栅在内的光栅结构衍射效率的电磁仿真程序。该程序的功能包括一般的和灵活的光栅模型,结构参数(包括任意数目的参数),以及对衍射顺序进行无限制的控制。此外,它在通用编程和Matlab的应用开发框架下的实现提供了一定程度的软件灵活性和与独立衍射分析程序不兼容的交互性。本文的第1部分提供了光栅衍射计算器的概念描述,概括描述如何指定光栅结构以及如何进行电磁计算。这些介绍主要面向概念,但有一些简单代码的例子给读者演示了如何使用光栅衍射计算器软件界面。第二部分对软件界面做了进一步的介绍:以钨光子晶体结构为例来说明

2、光栅结构是如何确定的。(第二部分中的代码列表总结在gdc_intro.m中。)本文的主要重点是定义光栅结构。所附文件Calc_Demo.pdf提供了电磁计算中的应用例子。(在这篇文章和GD-Calc_Demo.pdf中的所有代码示例都可以在GD-Calc网站上的免费演示/教程代码中运行。光子晶体示例在演示脚本gdc_demoll.m上运行。)电磁理论与光栅衍射计算器的算法详见GD-Calc.pdf。第1部分:概念描述MATLAB的开发环境在MATLAB环境下工作的一个优点是可以创建光栅衍射计算器的功能链接,这个功能不依赖于繁琐的数据转换和导入/导出过程。例如,在半导体光刻技术的应用中,可能被曝

3、光的相关的抗蚀剂致密化会影响光阻光栅的厚度和折射率指数,因此很自然地就会把指定厚度和折射率作为用户定义的曝光函数。这对结构参数是非常有用的,例如,曝光可以被定义为一个量化的数量,在所有曝光依赖数量的情况下,包括抗蚀剂厚度和折射率指数,计算出的衍射效率,也同样会被量化。通常情况下,光栅的光学特性不是它本身的主要焦点,它最主要的焦点应该是把光栅作为一个组件的完整系统的光学响应。MATLAB的通用编程能力可以轻松的将光栅衍射计算机在功能上连接到用户定义的光学系统模型中,它可以自身并入通用的优化程序来优化设计程序。光栅衍射计算器仅仅一个是MATLAB函数(gdc.m),可纳入其他MATLAB函数或脚本

4、,另外,它还带有可以初始化为用户定义函数的参数.虽然独立程序缺乏Matlab开发环境的通用性和灵活性,但是他们有简单和易于使用的优点。然而,光栅衍射计算器可以用于与MATLAB相结合创建定制的用户接口来更好的适应特定应用。许多与光栅衍射计算器相关的函数和脚本,如它的绘图工具(gdc_plot.m),它的输出数据转换函数(gdc_eff.m)分散在各种公共领域的软件中,这样可以让用户随意修改和调整代码以便最好地满足自己或客户的需求结构规范光栅衍射计算器的光栅建模能力的主要限制因素是光栅必须是“块结构”(或必须定义在一个大约为代表块状的结构上),这意味着光栅包括光学均匀区域的边界曲面平面要平行于一

5、组主坐标平面。例如,一个金字塔周期阵列的光栅应该用“楼梯逼近”来表示,如图1所示。光栅被细分为一组“阶层”,其中每个阶层以平行于光栅平面基板的上下平面为界。光栅在每一阶层都具有高度独立的横向截面。图2说明了一个从图1锥体光栅提取的特定阶层。每个阶层先划分成代表了光学均匀地区的矩形“块”,再进一步划分为平行的“条纹”。图1锥体光栅图2光栅层从软件方面来看,如图1的结构由结构内部的单元阵列的嵌套层次表示的。在这里划定为光栅的顶层数据结构,包含了一个单元阵列层范围,其数组元素代表光栅层(从下往上数):grating.stratum1,grating.stratum2,.第i层的条纹表示为gratin

6、gstratumi.stripe1,gratingstratumi.stripe2,.,这个条纹块的第j条表示为grating.stratumi.stripej.block1,grating.stratumi.stripej.block2,.这些结构的其他区域规定了边界平面的位置和每个区块的光学材料。这些光学材料由顶层单元阵列grating.pmt中列举的复杂的介电常数表示,其中每个元素都代表着一种特定的材料。一种特定光栅领域的光学材料指定为一个在列表中的整数指数(如grating.stratumi.stripej.blockk.pmt_index);因此,多个区域都可以通过给他们指定相同的材

7、料指数来限定表示相同的材料.这有五种不同类型光栅的“层”对象,列举如下:层的类型说明均匀无条纹边界的均匀光栅层非周期均匀条纹,无块边界的层双周期一般双周期阶层(如图2所示)坐标断点适用于平移移位到断点平面的所有层复制模块用来定义三维周期性光栅区域每个层的对象有一个“type指数说明它的类型。例如,一个均匀层是由三个结构场定义:类型指数(零),层厚以及介电常数指数构成,如:stratum.type=0;%设定为均匀的stratum.thick=0.5;stratum.pmt_index=l;%定义grating.pmt调用的的类名indexgrating.stratum1=stratum;这种均

8、匀非周期的层的类型基本上是更普遍的非周期类型的典型。一个“坐标断点”在某种抽象意义上是一个“层”,这种抽象意义和一个特定高度的横向平面密切相关,并且,它提供了一个简单的机制:运用横向平移移动到上述所有断点面上的层,并且不必修改任何层的定义。一个“复制模块”是一种复合型的层,该层用来表示一种在光栅基板的横向方向周期性的重复的结构模式。(基本结构模式表现为一个栈的层,它可以是任何类型-包括其他的复制模块)图3和图4在概念上说明了结构元素如何将自己与指定的一个光子晶体结构相结合。首先,图3给出了三层结构的定义。前两个层在正交条纹的方向上是非周期的,第三层是一个坐标断点,它适用于在两个周期任何一个方向

9、的平动位移。(图3中的箭头表示的是平动位移)然后,三个层组合成了复制模块,其中,有一个相关的复制计数用来显示模式要重复多少次。图4表明了由此产生的四个复制计数结构。该结构包括了四个基本双层模式的叠层副本,每个副本都是在相对底层的双周期方向上横向移动了半个周期。图3(带有坐标断点的)光子晶体双层模式图4光子晶体比起使用上面的例子中的复制模块,光栅更倾向于使用图3结构中简单的叠层副本这种定义。然而,使用复制模块的优点是不只是方便。鉴于光栅衍射计算器的计算时间相对于光栅层数成比例,复制模块的计算时间在大小上与复制数的对数成比例。参数化光栅衍射计算器的接口规格(定义在gdc.m评论标题中的)定义一系列

10、光栅属性为“参数”。在本文中,“参数”是一个可量化为多维数组的数字量。一个参数可以是一个基本参数,每个基本参数都和一个特定阵列维度有关(参数只有一个非单维维度),一个参数也可以是其它参数的函数。(一个参数的非单维表明了其函数的相关性。)参数的唯一基本限制是:它们必须全部大小匹配,除了单维隐含的复制数组扩展,如有必要,应匹配参数的大小。图5是一个参数化应用的简单的示例。这幅图显示了一个校准传感器光栅的横截面,这种光栅包括了一个基板,一个非周期表面反射光栅(层1),一个均匀的空气层(层2),一个坐标断点(层3)和一个在透明覆盖层上的非周期相位光栅(层4)。两个光栅之间的一个小小的横向移动都会引起能

11、量平衡在一阶和负一阶衍射效率上的一个可测量到的移动,因此,光栅可以作为一个敏感的位置传感器。賴盖层层q层j_M2_层1基板图5校准传感器光栅在这个例子中,有两个量化的光栅参数:空气层厚度,表示为:grating.stratum2.thick,和相位板的平移位移量,表示为:grating.stratum3.dx2.它们也可以作如下定义:grating.stratum2.thick=wavelength*3;2;1;grating.stratum3.dx2=d*(0:63)/64;(这里的wavelength和d变量分别代表了光照波长和光栅周期),空气空间的大小是3,1,量化为维1,平移位移大小是

12、1,64,量化为维2。包括衍射效率量在内,任何作用上依赖空气层和平移位移层的量的大小都为3,64。基于上面描述中的数组扩展设置,这些阵列都是大小兼容的。在某些情况下,参数化可以显著提高光栅衍射计算器的计算性能。正如下一节中阐述的那样,光栅衍射计算器的算法主要基于以下两个操作:首先,计算各层的“S矩阵“,然后,通过一个“叠加”方法,结合从底部到顶部的S矩阵,确定整个光栅的复合S矩阵。在上述例子中,共有192个参数组合(3个空气层厚度和64个平移位移量),所以,如果光栅衍射计算器识别出参数,那么所有的S矩阵计算都不得不重复192次。但是,由于参数化,光栅层(层1和层4)的S矩阵只需要计算一次,空气

13、层的S矩阵只用计算三次,坐标断点的S矩阵也只用计算64次。此外,层2的堆叠操作只用计算3次,只有层3和层4的堆叠不得不进行192个参数的组合。电磁理论。光栅衍射计算器算法的建立基于一种严格耦合波(RCW)理论的广义变型,它第一次使用大约是在30年前,但是,至今经历了几个重大的改进。从本质上讲,该方法既表现了电磁场也表现了任一特定高度光栅的光学介电常数,该光栅是用两个横向光栅坐标的傅里叶级数和一组差分方程表达的,该差分方程描述了场傅立叶系数通过光栅的传输。在严格耦合波理论的原始公式中,传输方程的数值求解确定了“转移矩阵”,这个矩阵是每一层顶部的场振幅(傅立叶系数)作为底部的振幅线性函数,这些矩阵

14、相乘,确定了整个光栅的复合转移矩阵。但是,成倍增长误差造成的污染数值会导致数值上的不稳定,非常深或者高的导电光栅尤其如此。通过使用替代“S-矩阵”(散射矩阵)的方法,这个问题得到了解决,这个替代矩阵代表了每个在边界上与传出传入的场振幅相对应的线性映射层。层的个体映射(S矩阵)与一个数值稳定的“堆叠”算法相结合可以确定了光栅的复合S矩阵。虽然S-矩阵方法解决了数值稳定性问题,但是有关计算中保留的傅立叶系数的收敛通常是非常缓慢的。主要的问题在于用差分方程表示电磁场和介电常数的积。傅立叶级数的每个积都由它的因素截断傅立叶级数确定,但是当与光学界相关的这些因素同时间断时,严格数值收敛问题时就出现了。这

15、个问题通过使用一个“快速傅立叶分解”方法得到了解决,这种方法在本质上重新排列了方程以避免同时间断(即在并发间断发生的每个方程中,介电常数因素在应用傅立叶分解前就被带到了方程的另一边)光栅衍射计算器同时使用了S-矩阵法和快速傅立叶分解这两种方法,以优化它的计算性能。(详细的数值算法见GD-Calc.pdf.)然而,一个与RCW方法相关的问题是“阶梯逼近”,必须用来它来描述“块结构的”倾斜或弯曲表面。简单地将光栅分割成非常小的块并不能保证准确度,因为附近的电磁场会表现出块拐角附近的大尖峰,必须增加在块分割密度比例中保留的衍射级个数,以充分解决这些尖峰。因此,光栅衍射计算器的用户应该意识到可能会出现

16、的收敛困难,特别是超导光栅本质上并不是块结构。(光栅衍射计算器的演示脚本和GD-Calc_Demo.pdf提供了有关该程序在各种测试中的连接的例子,其中包括与已公布数据的比较。)衍射级选择光栅衍射计算器不限制用户挑选保留在计算上的衍射级(即傅里叶级数)。一般的,计算数据存储的需求容量近似于保留级的平方,运行的容量近似于保留级立方,所以,优化级的选择对计算性能会产生很大影响。图6(平面图)描述的是一个级选择典型应用的例子一方格光栅。这个光栅是用两个基本周期向量描述的;例如通常选择向量A和茁然而,光栅的周期对称性要强于由向量亍和和B表示的光栅,例如,基本周期向量A和C定义了一个晶胞,其面积为和E的

17、一半。因此,如果光栅的光学介电常数是由向量亍和B表示的的直角坐标的傅里叶解析,其中一半的傅里叶级数将是相同的零,类似的,一半的电磁场衍射级也会是零。每个光栅傅里叶系数和其相应的电磁衍射级有两个相关的傅里叶级数指数m和m2;用户必须指定一对(m,m2)指数对来保持电磁场膨胀。在图6的例子中,使用基础白的A和茁,所有m-m2的奇级数恒等于零,所以只有(m,m2)指数对m-m2要保持。消除多余阶数将使输入存储的需求量减少4倍,时间的计算效率也会提高8倍.图6方格光栅图4中的光子晶体是一个级选择被充分利用的例子。相比于使用由“矩形排列截断”标准Im1lm_max和丨m2lWm_max确定出m_max的

18、截断范围,另一种由丨m丨+丨m2IWm_max定义的“对角线截断”方法更容易让人接受。似乎使用两种方法进行关于m_max的衍射收敛性能的计算结果都比较相近,但相比之下对角线截断计算更加简洁。第2部分:光栅衍射计算器软件接口光栅衍射计算器用法概述使用光栅衍射计算器的第一步是构建一个定义了光栅的几何和光学材料的“grating”数据结构。(教程的重点在这一步。)接下来你可以做以下数据验证检查:gdc(grating);你也可以画出光栅的3D图像:gdc_plot(grating,garam_index,pmt_display,x_limit);(2)param_index是关于光栅衍射计算器参数化

19、能力的一个多维的参数指数。(在以下的例子中,param_index只设置成1.)pmt_display规定了显示的颜色和光栅材料的图例字符,并且,x_limit规定了3D绘图范围,gdc_plot内部调用了gdc(grating)来检查数据的有效性。接下来,你要增建两个数据结构:“inc_field”指定入射电磁波的波长和方向;“order”指定用于计算的衍射级。光栅衍射计算器计算引擎的调用方法如下:param_size,scat_field,inc_field二gdc(grating,inc_field,order);“param_size的输出与参数化有关,“seat_field和“inc

20、_field的输出(即“散射场”和“入射场”)被传递到一个附加函数gdc_eff上,这个函数是将结果变换为反射和传输衍射级的衍射效率(分别为R和T)。R,T=gdc_eff(scat_field,inc_field);(4)(R和T是表示多个衍射级衍射效率的结构矩阵。)衍射效率计算需要计算引擎(gdc_engine.p),它不包括在免费脚本/教程包中;但是,可以调用光子晶体示例(gdc_demoll.m)中的脚本函数gdc_demo_engine.p来代替表单(3)。grating,param_size,scat_field,inc_field二gdc_demo_engine(ll,inc_f

21、ield,order,.grating_pmt,d,thick,width,rep_count);(5)gdc_demo_engine构建了基于用户特定的输入参数光栅结构(grating_pmt,d,thick,width和rep_count),这些参数将会在下文中做详细描述。光栅结构光栅结构包括了以下部分:(1)grating.pmt:个与光栅材料相关的复杂介电常数的单位矩阵;(2)grating.pmt_sub_index和pmt_sup_index:光栅衬底和覆盖层介电常数(类似于grating.pmt中的指数);(3)grating.d21,d31,d22,和d32:指定光栅基本周期向

22、量;(4)grating.stratum:个表述定义光栅内部结构光栅“层”的单位矩阵。下面是一个关于一般简单光栅结构的例子,其无镀层钨衬底的复折射率为1.52+6.46*i。(近似于波长为1.825“m的钨的反射率。另外,反射率的平方是介电常数。)d=1.5;%gratingperiodgrating_pmt=(1.52+6.46*i厂2;%gratingpermittivitycleargratinggrating.pmt=1.0,grating_pmt;grating.pmt_sub_index=2;grating.pmt_sup_index=1;(6)grating.d21=d;grat

23、ing.d31=0;grating.d22=0;grating.d32=d;grating.stratum=;虽然光栅的周期向量与裸露衬底无关,但还是需要设定,它们与新增的结构周期层相关。光栅几何会由正交坐标基础向量耳,e2和e3确定,其中,耳是光栅衬底的常态,e2和爲与衬底平行。相对于这样的坐标,光栅的两个周期向量4也和d2g的坐标表示方法如下所示:d1g=e2d2j1g+e3d3j1g(7)d2g=e2d2,2g+e3d3,2g(8)光栅几何由d耐或者dzigT换算过后仍然不变,并且光栅数据字段grating.d21等,对应于d2,1g等。下面这段阐述了可以在光栅中存在的层类型。一共有五种

24、层型,分别用0至4之间的类型标识符表示。总结如下:类型索引层类型0均匀1非周期2双周期3坐标断点4复制模块层类型0:均匀下面的代码表说明了前光栅规格(见表(6)可以改为表示一个厚度为0.5m独立均匀的钨薄膜:thick=0.5;%层厚grating.pmt_sub_index=1;clearstratum(9)stratum.type=0;%均匀的stratum.thick=thick;stratum.pmt_index=2;grating.stratum1=stratum;注意这里的grating.pmt_sub_index改为了1,所以现在的衬底的介电常数为1.0(grating.pmt1

25、=1.0),表示在真空中。这个层结构有三个数据选择:类型索引(0代表均匀),厚度和指引grating.pmt的介电常数指数(pmt_index)。层类型1:非周期在下面的代码段中,一个由独立平行矩形截面的,0.5m宽的钨棒层取代了均匀层:width=0.5;%丝棒宽clearstratumstratum.type=1;%非周期stratum.thick=thick;stratum.h11=1;stratum.h12=0;clearstripe(11)stripe.c1=-0.5*width/d;stripe.pmt_index=1;stratum.stripe1=stripe;stripe.c

26、1=0.5*width/d;stripe.pmt_index=2;stratum.stripe2=stripe;grating.stratum1=stratum;在讨论上面的代码前,让我们先来画一下它的结构:clearpmt_displaypmt_display(1).name=;pmt_display(1).color=;pmt_display(1).alpha=1;pmt_display(2).name=Tungsten;(11)pmt_disply(2).color=1,1,1*0.75;pmt_display(2).alpha=1;x_limit=-thick,-1.75*d,-1.7

27、5*d;.2*thick,1.75*d,1.75*d;gdc_plot(grating,1,pmt_display,x_limit);在列表(6)中,pmt_display(1)和pmt_display(2)分别设定表现了grating.pmtl和grating.pmt2代表的两种材料。(pmt_display(l).color=赋值会抑制第一种材料即真空的显示。)x_limit设定了3-D画图的范围,即分别对应于坐fex15x2,x3的列1,列2和列3(x轴是竖直的,即光栅衬底的法线方向;x2和x3轴都平行于衬底。)图7展示了gdc_plot的结果(带有附加注解),描述了三种钨棒。(这些钨棒

28、表现为一些空心的、被显示范围截断的管状元素,虽然光栅更类似于一种无限长实心棒的无限阵列。)I铸图7列表(10)和(11)的非周期层正如列表(10)所述,非周期层的定义数据场如下:类型指数(1)层厚,两个“调和指数h11和h12,以及一个“条纹”数据场。这种物理结构是由一种平行的,直线条的周期性阵列层,其周期性和方向由调和指数确定。由分配的值:h11=1,h12=0可知,这些条纹平行于dj,其周期性由前确定;见图7.(下面说明了调和指数一般如何使用。)层在每个周期有两个条纹(一对栅线或栅距),其定义来自于结构stratum.stripe1和stratum.stripe2。每个条结构有两个数据场:

29、cl设定了条纹壁的一个位置;pmt_index(grating_pmt中的一个指数)设定了条纹材料。在这个例子中,第一个条纹和第二个条纹的界线在x2=stratum.stripe1.c1*d中,第二个和下一邻近的条纹间界线在x2=stratum.stripe2.cl*d中。(条形如何设定可以更普遍会在下面说明。)stratum.stripe单位矩阵可以扩展并且设定每个周期条纹的任意数量。层类型2:双周期接下来,我们假设一个层具有双周期阵列方孔的独立钨薄膜。代码表(10)做如下修改:clearstratum.type=2;邈tiiperiod.icst.iratujh.thick=th_ickL

30、;at.irattunhll=l;st.irattun.hl2=0;stratum.h21=0;stratum.h22=l;clrstiripeat.iripe匸ype=1;龟inliQjnogeneQua3t.Eipe.cl=-.5*w_Ldtii/d;clearblock(12)block*c2=-0.5*width/d(!-block.pint_i.rbd.&;c=1;stripe*bloQk1=blQak;block.c2=0.5*width/d;bloek*pjrit_ind.&5;=2:stripe.bloek2=hLogJc;umstri,pe1=sti:xp2;clearst.

31、iripest.iripe.type=0;%Iiojncjgeneciiiast.iripe.q1=0.5*width/d;st.i:丄总色.pm-i_丄ndy=2st.iratujh.st.rip&2=31pe;grcitingstrdtL.jri1=strafLjn;光栅结构的绘制(比照表(11)如图8所示。非周期层(列表(10)与双周期层(列表(12)的基本区别在于后者有两个额外的调和指数(h21和h22),并且它的条纹可以是两种类型的任意一种:均匀的或非均匀的(分别用一个stripe.type字段表示,相当于0或者1)。如同stratum.stripe2的均匀条纹在一个非周期或者双周期

32、层中有相同的规格,但在后者的情况下,条纹有一个类型标识符(stripe.type=0)。铸块100-23条纹1、M0.列表(12)的双周期层(12)中的stratum.stripe1)包括类型标示符列表一组非周期条纹(例如,(stripe.type=1),定义了条纹之间界线墙位置的c1数据场,以及一个代表着包括条在内结构块的一个“块”数据场。如图8所示,第一个条纹每周期包括了两个块(方孔和孔间的分割区),它由stripe.block1和stripe.block2定义。每一个块都由两个数据场组成:c2设定了毗邻块之间的一面墙的位置;pmt_index(grating.pmt中的索引)规定了块的材

33、料。在这个例子中,第一个和第二个块之前的界限在x3=stripe.block1.c2*小中,在第二个和接下来毗邻的块之间的界线在x3=stripe.block2.c2*d中。(如何设定块体更普遍的方法在下面介绍。)stripe.block单位矩阵可以延伸定义每个周期的任意块数目。调和指数和层周期一般的,光栅层的几何构型是指与特定周期层相关的向量无S和珏,它不需要与光栅周期鬲和茲保持一致,但由于调和指数的存在,它是与其定义的d和顽有关。对于双周期层,其关系如下:其中,h1,1,h1,2,h2,1以及h2,2都是整型值的调和指数。其关系也可以表示为空间频率。此光栅有两个基本空间频率向量f1g和打回

34、,它和d1g,d2g的互易关系如下:如果周期向量能表示为大小21数组,且频率向量表示为大小1,2数组(根据它们的和3投影),接着以上关系都可以表达为MATLAB句法:Jg;f1g=inv(d1g,d2g)。层也可以类似表征为空间频率f1s和f1s,它与d1s,d2s有类似的互易关系,也是f1g,f1g的谐函数。&-以上关系式可用于双周期层。一个非周期层可表征为:一个与层条纹正交的单周期向量d1s和一个平行于苏且满足fS_ds=1关系的单频率向量帝,即:护=卫卩(非周期的)(比)J疳护一个非周期层的频率向量f1s是由两个调和指数h”和h,2定义:/V二久E/严叽亭(非周期的)(17)一个层的几何

35、构型定义与周期指数d1s和d2s相关(或是仅仅用d1s表示一个非均匀层),如图9所示。(坐标原点在图中用7表示。)层的条纹列表包括了元素stripel2,l2=1L2,其中,L2是每个周期的条纹数;12的变化可以内在周期性扩展为l2=xostripel2和stripel2+1之间的边界墙平行于(或者在一个非周期层的情况下,垂直于加),并截取点stripel2.c1*dS。#1str2*图9层的几何构型定义如果stripel是不均匀的,它构成的结构块stripel.blockl,l=1.L,其中,L223333是每个周期的块数。l的变化可以内在周期性扩展为13=-。这些块都是矩形的,并且,33s

36、tripel2.blockl3和stripel2.blockl3+1之间的边界墙截取点stripel2.c1*d1s+stripel2.blockl3.c2*d2s.为了说明调和指数的应用,代码列表(18)扩展到列表(10)来增加光栅的第二层。第二层与第一层相同,除了它的条纹方向因为h11和h12互换而旋转了90。图10展示了光栅结构的绘制。(在生成图10过程中,x_limit(2,1)=3*thick的赋值可以扩大绘图的范围;对照图11,这一范围在其他数值上也同样得到扩大。)stratum.hl1=1;sLratun.hl2=0;.(IS)grating*stratumf1=strcifLi

37、m;%e已血亡已巴listing(10)srra匸笔Swaphl2andhl21stratum.hl2=l;grating.stratum2=&匚工且Lum:图10列表(18)的光栅结构层类型3:坐标断点坐标断点层类型并不代表了一种物理光栅层,由于它被抽象的归类于一种零厚度的“层”,所以在这个意义上,类似于在光栅一特定高度x上的一种横向平面。它具有一个应用指定的横向(X,x)平移来转向以上坐标断点各层的作用。图(19)说明了坐标断点的使用。这一例子中,通过在第二层插入坐标断点,延伸了列表(18)(应用了半周期的平移同时移向x和x坐标),接着,在光栅上添加了前两层的副本。12如图11所示,最上面

38、的两层进行了这种平移移动。grating.stratum1=.;%与列表(18)相同grating.stratum2=.;%与列表(18)相同clearstratumstratum.type=3;%坐标断点stratum.dx2二d/2;%半周期x2-移动(19)stratum.dx3=d/2;%半周期x3-移动grating.stratum3=stratum;grating.stratum4=grating.stratum1;grating.stratum5=grating.stratum2;图11列表(19)的光栅结构层类型4:复制模块一个三维周期(“三周期”)的光栅结构可做如下定义:首先

39、,在垂直方向上构建一个周期的第一层,然后,反复复制第一周期。例如,列表(19)可修改为通过替代最后两行来设定一个光子晶体结构,其环节如下:for11=4:11grating.stratum11=grating.stratum11-3;(20)end然而,一个定义这种类型结构更有效的方法是用一个“复制模块”,这是一个综合类型的层,其中包括了一个层封装列表(一个周期的)和一个复制计数。下面的代码片段说明了一个复制模块的使用。复制模块(stratum.stratum1,stratum.stratum2,stratum.stratum3)封装的三层以同一方法定义,方法与列表(18)和列表(19)中的前三个光栅层的定义方法相同。图12说明了列表(21)定义的光栅结构。X3X2图12列表21的光栅结构clearstratumstratum.type=4;%复制模块stratum.stratuml=.;%与先前的grating.stratum1相同stratum.stratum2=.;%与先前的grating

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论