




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Advanced Training版权所有,请勿外传FDTD Solutions 2009 Lumerical Solutions, Inc.Outline Introduction Advanced Features: Scripting language: Structure groups and analysis groups: Far field analysis with scripting: Advanced boundary conditions: Dispersive and anisotropic materials: Interoperability with ASAP a
2、nd user-defined sources: Coherence and polarization in FDTD Parallel Computation CMOS Image Sensor detailed application example: Review the principles of CMOS Image Sensor Modeling with FDTD Modeling methods that can be used Coherence and polarization Workshop examples and PracticeGoals Learn the ad
3、vanced features of FDTD Solutions:ScriptingParameterization of structures and defining figures of merit (FOM)Far field analysisSymmetric/Anti-Symmetric and Bloch boundariesDispersive materialsInteroperability with ASAPDraw complex structures with scriptingUnderstand how to obtain incoherent, unpolar
4、ized results with FDTDUnderstand the capabilities of parallel FDTD SolutionsLearn how to setup a parallel simulationStudy a CMOS image sensor design 2009 Lumerical Solutions, Inc. 2009 Lumerical Solutions, Inc.ScriptingTOPICS The script window Mathematics Interacting with the Layout Editor Analyzing
5、 simulation data Script files and example 2009 Lumerical Solutions, Inc.Scripting: Editor and promptRight click onmenu bar (or useView menu)Script file editorScript prompt 2009 Lumerical Solutions, Inc.Scripting: MathematicsSimple Mathematics: plot some simple functions x=linspace(-10,10,500); y=sin
6、(x); plot(x,y,”x”,”y”,”sin(x)”); y=exp(-x2/9)*sin(10*x); plot(x,y,”x”,”y”,”exp(-x2/9)*sin(10*x)”); ?size(x); 2009 Lumerical Solutions, Inc.Scripting: MathematicsSimple Mathematics (plot a 2D gaussian) x=linspace(-10,10,500); y=linspace(-10,10,500); X = meshgridx(x,y); Y = meshgridy(x,y); ?size(x); ?
7、size(X); E = exp(-X2/9 Y2/4); image(x,y,E,”x”,”y”,”test 2D image”);x1, ymx2, ymx3 ymxn ,ymx1, y3x2 , y3x3 y3xn ,y3x1, y2x2 , y2x3 y2xn ,y2x1,y1x2 ,y1x3,y1xn ,y1ymymymymy3y3y3y3y2y2y2y2y1y1y1y1x1x2x3xnx1x2x3xnx1x2x3xnx1x2x3xnx has length nX has size n by m 2009 Lumerical Solutions, Inc.Scripting: Mat
8、hematicsY = meshgridy(x,y);y has length mY has size n by myxyxX = meshgridx(x,y); E = exp(-X2/9 Y2/4);E has size n by myx 2009 Lumerical Solutions, Inc.Scripting: Interacting with the Layout EditorSome useful commands to set and get objectproperties setnamed: setnamed(“Source1”,”x”,1e-6); getnamed:
9、x = getnamed(“Source1”,”x”); 2 2Scripting: Analyzing simulation dataSome useful data manipulation commands getdata: retrieves data from any monitor after the simulation: By default it automatically unfolds data with the correct symmetrieswhen symmetric/anti-symmetric boundaries are used showdata: Sh
10、ows what monitors are currently available with data showdata(“monitorname”);: Shows the available data in the monitor /source called “monitorname”: Eg: ?showdata(source1) shows variables in “source1” settings transmission: calculates normalized transmission getelectric (and getmagnetic): retrieves:
11、By default it automatically unfolds data with the correct symmetries 2009 Lumerical Solutions, Inc.| E | or | H |Scripting: Analyzing simulation dataMost electromagnetic field data from thesimulations is a 3 or 4 dimensional matrixExample Ex = getdata(“Monitor1”,”Ex”);Ex(i,j,k,m):i represents the x
12、dimensionj represents the y dimensionk represents the z dimension (3D only)m represents frequency or timeThis is a field quantity, not intensity 2009 Lumerical Solutions, Inc. 2009 Lumerical Solutions, Inc.Scripting : Analyzing simulation dataThe pinch function: E = matrix(12,4,1,6); ?size(E); ?size
13、(pinch(E);# remove dimension 3 ?size(pinch(E,2,3);#2nd dimension, 3rd element pinch removes all singleton dimensions pinch with 2 arguments, selects a sub-matrix 2009 Lumerical Solutions, Inc.Scripting: Analyzing simulation dataAccessing and manipulating matrix elementsx=1:5;?x;x(2:3) = 5:6;?x; 2009
14、 Lumerical Solutions, Inc.Scripting: Script files and example Copy the file scripting1.fsp and scripting1.lsf toyour machine Open scripting1.fsp and edit scripting1.lsf Well calculate transmission and reflection as afunction of the radius of a dielectric rod 2009 Lumerical Solutions, Inc.Scripting:
15、Script files and example# file: scripting1.lsf# This file shows how to run multiple simulations using scripting.# You should open scripting1.fsp before running this script# define 10 rod radii to userad = linspace(0.5e-6,3e-6,10);# reserve 3 matrices, 1 for Transmission, 1 for reflection# one for po
16、wer at sidesT = matrix(length(rad);R = matrix(length(rad);side_power = matrix(length(rad); 2009 Lumerical Solutions, Inc.Scripting: Script files and example# start a loop over each desired radiusfor(i=1:length(rad) # switch to layout mode so that you can edit the objectsswitchtolayout;# switch to th
17、e structures tab to edit the scattering rodstructures;# set the radius of the object named rod to the desired valuesetnamed(rod,radius,rad(i);# output which simulation is running?running simulation + num2str(i) + of + num2str(length(rad);# run the simulationrun;# get transmission and reflectionT(i)
18、= transmission(transmission);R(i) = abs(transmission(reflection);side_power(i) = transmission(y2)-transmission(y1);# get the frequency at which the data was recordedf = getdata(transmission, “f“ ); # the quotes cannot be used directly in script. change it after paste! # end of the main loop over the
19、 radius 2009 Lumerical Solutions, Inc.Scripting: Script files and example# plot the final resultsplot(rad*1e6,R,T,R+T+side_power,radius (microns),normalizedpower,transmission and reflection at + num2str(c/f*1e6) + microns);legend(R,T,total); 2009 Lumerical Solutions, Inc.Structure groups and analysi
20、s groupsTOPICS Creating simple groups Using script commands in groups toparameterize structures Creating advanced analysis groups to calculatefigures of merit 2009 Lumerical Solutions, Inc.Structure groups and analysis groupsWork through an example based on the silvernanowire scattering example from
21、 the gettingstarted The completed file and script is in the groupsfolder (group_example1.fsp andgroup_example1.lsf) Copy the file nanowire.fsp file to your computerand rename group_example.fspStructure groups and analysis groupsStructure group: Select the circle and copy it: Set the name of one circ
22、le to “left” and the other to “right” (only two circles now): Select both circles and add them to a new group (left-click your mouth) Name the group “dimer”: Edit the group and add properties radius (type=Length) and set to 10nm d (type=Length) and set to 10 nm 2009 Lumerical Solutions, Inc.Structur
23、e groups and analysis groups Create a script in the group(central button) with thefollowing lines:selectall;set(“radius”,radius);setnamed(“left”,”x”,-radius-d/2);setnamed(“right”,”x”,radius+d/2);(note: when you copy and paste the above lines, thequotes are not correct in script, so please modify the
24、m) 2009 Lumerical Solutions, Inc. 2009 Lumerical Solutions, Inc.Structure groups and analysis groups Look at the analysis groups: The group has 4 monitors that make a box around the particles: The width can be modified easily 2009 Lumerical Solutions, Inc.Structure groups and analysis groups Run the
25、 simulation and look at the field distributionf=1000THzf=869THz 2009 Lumerical Solutions, Inc.Structure groups and analysis groups We can define input parameters and output values forthe analysis group objectInput parametersOutput values 2009 Lumerical Solutions, Inc.Structure groups and analysis gr
26、oups This script calculates the cross section: sigma = power / Is power is the net power flow out of the box (Watts) Is is the intensity of the source (Watts/m): It also returns the frequencies (f) and wavelength in nm (lam)f and lamsigma 2009 Lumerical Solutions, Inc.Structure groups and analysis g
27、roups Consider the final analysis when using an analysis object: File group_example1.lsfUpdate all the outputvaluesUse getdata commandto get the output valuesPlot the results 2009 Lumerical Solutions, Inc.Structure groups and analysis groups The final result 2009 Lumerical Solutions, Inc.Structure g
28、roups and analysis groups Structure group and analysis groups: Powerful objects to parameterize your designs and analysis: Can be simple grouping of objects, or very complex structuresusing scripting Where can you get these objects: Download from /fdtd_online_help and pasteinto your simulation Copy
29、shortcut is Ctrl-C Paste shortcut is Ctrl-V: Email support for help creating them for yourapplication: Create your own!Far field analysisTOPICS General concept Examples:Compare projection to simulation, 2DProject 3D beamProjection of periodic structure in 3DFar field filtering 2009 Lumerical Solutio
30、ns, Inc.Far field analysisR=1mFar fieldsd=1mmNear fields 2009 Lumerical Solutions, Inc.XmaterialZY 2009 Lumerical Solutions, Inc.Z=0Far field analysisE(x,y,z=0)H(x,y,z=0)HomogeneousE(x,y,z0)H(x,y,z0)ZYXFar field analysisIf we know E(xs,ys,zs)and H(xs,ys,zs) at thesurface of the box, wecan calculate
31、E(x,y,z)and H(x,y,z) outside thebox, at arbitrary distanceHomogeneousmaterial 2009 Lumerical Solutions, Inc.Far FieldProjection 2009 Lumerical Solutions, Inc.Example simulations: DVD surface optimizationFourierTransform 2009 Lumerical Solutions, Inc.Far field by scripting commands The scripting far
32、field commands are moreextensive options than the GUI Well try GUI and scripted far fieldprojections by working through examples 2009 Lumerical Solutions, Inc.Simple far field example 1Copy farfield1.fsp and open it gaussian source full profile monitor near power monitor 2 far power monitors time mo
33、nitor 2009 Lumerical Solutions, Inc.Simple far field example 1Run the simulationPlot Ez vs t|Ez(t)|2Image |Ez(w)|2 over space 2009 Lumerical Solutions, Inc.Simple far field example 1To plot far field data with the GUI, choose“far field” here(choose “near” monitor) 2009 Lumerical Solutions, Inc.Simpl
34、e far field example 1The far field projection settings can be modifiedhere 2009 Lumerical Solutions, Inc.Simple far field example 1Results 2009 Lumerical Solutions, Inc.Simple far field example 1Lets see what we can do with scripting Copy the file farfield1.lsf to your computer andopen it with the s
35、cript editor It first recreates the results from the GUI 2009 Lumerical Solutions, Inc.Simple far field example 1Next, it compares “FDTD” the fields recorded at the monitor called “farx” and “projected” the field projected from the monitor “near” to thesame location as monitor “farx” (approximately
36、15 microns): Script function “farfieldexact” allows for projections over shortdistancesErrors are from numericaldispersion and discretization 2009 Lumerical Solutions, Inc.Simple far field example 1Consider the phases of the projected and calculatedterms The difference is due to grid dispersion, whi
37、ch isanisotropicRemember: infield monitorsthe fields arecomplex (infrequencydomain) 1 k y y 22 wt 1 k x x 1 1 k z z w c k k k ckGrid dispersionDispersion relation in FDTDwe haveThe far field projection assumes that w=ck 2009 Lumerical Solutions, Inc.2 2 ct sin 2 x sin 2 y sin 2 z sin 2 t 0 x 0When y
38、 0z 0 2 2 2x y z 2009 Lumerical Solutions, Inc.Simple far field example 1We have seen these scripting commands farfield2d farfieldangle farfieldexact2dNow, lets consider 3D. 2009 Lumerical Solutions, Inc.Simple far field example 2Open the examplefarfield2.fsp andrun it, plot thefar field withthese s
39、ettings 2009 Lumerical Solutions, Inc.Simple far field example 2Lets consider scripting, run farfield2.lsf. We canrecreate the GUI plot like this 2009 Lumerical Solutions, Inc.Simple far field example 2 Polarization: Cartesion coordinates: Spherical (polar) coordinatesCartesianPolarSimple far field
40、example 2The command farfieldvector3d is used toobtain vectorial far field informationabs(Ex)abs(Ey) 2009 Lumerical Solutions, Inc.abs(Ez)Simple far field example 2The command farfieldpolar3d is used to obtainvectorial far field information in polar (spherical)coordinates. We can see that the polari
41、zation angle isindeed 15 degrees, as set in the source settings.abs(Er)abs(Etheta) 2009 Lumerical Solutions, Inc.abs(Ephi) 2009 Lumerical Solutions, Inc.Simple far field example 2 We plot only the phase of Etheta, and Ephi.: Note that the p phase shift indicates a change insign.angle(Etheta)angle(Ep
42、hi) 2009 Lumerical Solutions, Inc.Simple far field example 3Now well consider a real far field example. Thediffraction pattern from grating of holesetched onto an SOI wafer 200 nm thick,illuminated at 1.3-1.4 mm from the back side.Well assume the SiO2 has a constant index of1.4 and the Si has a cons
43、tant index of 3.5.Copy the file farfield3.fsp to your computer andrun it. 2009 Lumerical Solutions, Inc.Simple far field example 3Desired plots from GUI signals vs time transmission and reflection at as a function ofwavelength far field at 1.3 mm (230.61THz) for 1 period far field at 1.3 mm for 5x5
44、periods: Gaussian illumination: top hat illuminationPeriodic structures: simulation and far field projectionsThe file farfield5.fsp illustrates how far fieldprojections can be used on periodic structures far E0Periodic structures: simulation and far field projectionsOne period The simulation is one
45、unit cell but correctly represents aninfinite periodic structure illuminated by a plane wave The far field projection only projects the field from 1 period.Therefore we have substantial diffraction and generally see avery broad function in the far fieldE farProjection comes only from 1 periodIt is c
46、ut by a rectangular function from the infinite structure! ePeriodic structures: simulation and far field projectionsAssume periodicity for the far field projections Now we are projecting multiple periods (assume 5 in this figure) Use “top hat” illumination when: your experiment has a finite number o
47、f periods illuminated by alarge beam As the number of periods included in the projection increases,we see the diffracted orders begin to appear. The beams getnarrower as the number of periods increases.5 periods2m 2i ( k k B ) ma farEm farE far e m eE farEm2 m 5 / 2 i ( k k B ) maPeriodic structures
48、: simulation and far field projectionsAssume periodicity for the far field projectionsNow we are projecting multiple periods with a gaussian weighting (width of 5periods in this figure)Use “gaussian” illumination when:your experiment has a large number of periods illuminated by a finite sized beamTh
49、e width of the beam must still be large compared to periodAs the number of periods included in the projection increases, we see thediffracted orders begin to appear. The beams get narrower as the number ofperiods increases.5 periodsSimulations of periodic structuresThe grating script functions Now w
50、e are projecting an infinitenumber of periods We see the total far fieldprojection becomes a series ofdelta functions at all the values ofk that meet the Bragg condition.Far field filteringAdvanced far field filtering to remove ripples from finite truncation of thefield.:Open the file interface2d.fs
51、p and run interface2d.lsf.You see the following curve of |E|2 at 1m distance vs angleDipole source close tomaterial interface 2009 Lumerical Solutions, Inc. 2009 Lumerical Solutions, Inc.Far field filtering Modify the script file to set: rerun_simulations = 0;: farfieldfilter(0); Now we get 2009 Lum
52、erical Solutions, Inc.Far field filtering The difference is that the near field is truncated nearthe edges of the simulation: farfieldfilter(a);Filteraba = a/(a+b)a+bshoulder 2009 Lumerical Solutions, Inc.Far field DVD exampleThe Getting Started DVD example shows far field scripting running multiple
53、 simulationsSymmetric/Anti-Symmetric and Bloch boundary conditions Symmetric/Anti-Symmetric boundaryconditions: Reduce memory/time for symmetric structures: Advanced: reduce memory/time for periodicstructures Periodic boundary conditions: Reduce memory/time for periodic structures Bloch boundary con
54、ditions: Reduce memory/time for periodic structures: Angled plane wave incidence 2009 Lumerical Solutions, Inc.Symmetric/Anti-Symmetric and Bloch boundary conditionsNon zero components of the electric and magnetic fields atsymmetric/anti-symmetric boundariesSymmetric/Anti-Symmetric and Bloch boundar
55、y conditionsSetting the correct boundary conditions when beams are used 2009 Lumerical Solutions, Inc.Symmetric/Anti-Symmetric and Bloch boundary conditions Symmetry/Anti-Symmetry can even be used for periodic structures: Open the file farfield4.fsp 2009 Lumerical Solutions, Inc.Symmetric/Anti-Symme
56、tric and Bloch boundary conditions Symmetry/Anti-Symmetry can even be used for periodic structures: Image the near field with the GUI at 1.3 microns: Image the far field: Image the near field with scriptingx = getdata(“transmission”,”x”);y = getdata(“transmission”,”y”);E2 = pinch(getelectric(“transm
57、ission”),4,50);image(x,y,E2); 2009 Lumerical Solutions, Inc.Symmetric/Anti-Symmetric and Bloch boundary conditions Symmetry/Anti-Symmetry can even be used forperiodic structures: We can get the same results as in farfield3.fsp but thesimulation runs faster: Far field projections can still be done: T
58、he data is automatically “unfolded” so we see the full imageActual simulationGUI and script results 2009 Lumerical Solutions, Inc.Symmetric/Anti-Symmetric and Bloch boundary conditionsPeriodic boundaries can be used for periodic structures when the source is atnormal incidenceBloch boundaries can be
59、 used for:structures when the source is not at normal incidenceBandstructure calculations (photonic crystals)Bloch boundaries conditions ensure that:E(x+a) = exp(ika)*E(x)a is the simulation spank is the Bloch vector:Periodic boundaries are just a special case of Bloch boundaries (k=0)!When using Bl
60、och boundaries for non-normal plane waves, you must check thefollowingSymmetric/Anti-Symmetric and Bloch boundary conditionsConsider the difference between correct and incorrect k settings for aplane wave in free spaceCorrectIncorrect 2009 Lumerical Solutions, Inc.Symmetric/Anti-Symmetric and Bloch
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业保险代购合同范例
- 交货期限合同范本
- 乌龟引种合同范例
- 磷对棉花生理特性和产量品质的影响
- 2025年热反射玻璃(非采暖区用)项目发展计划
- 基于基因组和重测序的大银鱼群体遗传多样性及环境适应性研究
- 乡镇房子门面出售合同范例
- 假期出游合同范例
- 共同投资经营合同范例
- 黄羽肉鸡生长与繁殖拮抗性状基因组选择优化方案的模拟研究
- 云南省昆明市2025年中考语文模拟试卷六套【附参考答案】
- 新反诈知识考试题库200题(含答案)
- 第22课《陈涉世家》课件(共71张)
- 2022年高考(全国甲卷)语文仿真模拟卷【含答案】
- _重大事故后果分析(精)
- 水泥搅拌桩施工监理质量控制要点
- 初级诊断师培训课程QC基础知识
- 第7章 吸附课件
- 中医医院重症医学科建设与管理指南
- 注塑机台生产日报表
- JGJ_T231-2021建筑施工承插型盘扣式钢管脚手架安全技术标准(高清-最新版)
评论
0/150
提交评论