finite difference time domain and bpm: flexible algorithm ... · flexible algorithm selection...

12
Application Note – FDTD and BPM combined using FAST © PhoeniX BV Finite Difference Time Domain and BPM: Flexible Algorithm Selection Technology 1. Introduction This application note shows the use of the Finite Difference Time Domain (FDTD) module in the calculation of the spectrum and fields of a simple photonic crystal structure, and how to use the Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation Method (BPM) calculations of access waveguides and splitters / combiners. 2. Structure In this application note we want to show the simulation of a Mach-Zehnder interferometer, in which both branches pass through a photonic crystal waveguide; one of these guides has a defect near the waveguide to disturb the light through this branch. For simplicity's sake, this application note uses a very simple kind of photonic crystal: square rods of high-index dielectric in air, arranged in a square lattice. This structure is known [reference] to have a large bandgap for TE polarization (i.e. the polarization for which the E field is purely parallel to the rods). Materials and Cross-sections The photonic crystal will consist of silicon rods (refractive index assumed to be constant at 3.4) in air (refractive index 1.0). The access waveguides and splitters will consist of a glass-type material with refractive index 1.45. Thus we firstly define the materials and cross-sections: //=== Material section === material matAir { RefractiveIndex() {return 1.0;} }; material matSi { RefractiveIndex() {return 3.4;} }; material matCore { RefractiveIndex() {return 1.45;} }; //=== Cross-section section === cs::background(matAir()); mask::CScreate("Core",,RGB(0,0,255),true,true); mask::CSadd(matCore()); mask::CScreate("Si",,RGB(255,0,0),true,true); mask::CSadd(matSi()); Page 1/12

Upload: dodung

Post on 21-Oct-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

Finite Difference Time Domain and BPM: Flexible Algorithm Selection Technology

1. IntroductionThis application note shows the use of the Finite Difference Time Domain (FDTD) module in the calculation of the spectrum and fields of a simple photonic crystal structure, and how to use the Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation Method (BPM) calculations of access waveguides and splitters / combiners.

2. Structure

In this application note we want to show the simulation of a Mach-Zehnder interferometer, in which both branches pass through a photonic crystal waveguide; one of these guides has a defect near the waveguide to disturb the light through this branch.

For simplicity's sake, this application note uses a very simple kind of photonic crystal: square rods of high-index dielectric in air, arranged in a square lattice. This structure is known [reference] to have a large bandgap for TE polarization (i.e. the polarization for which the E field is purely parallel to the rods).

Materials and Cross-sections

The photonic crystal will consist of silicon rods (refractive index assumed to be constant at 3.4) in air (refractive index 1.0). The access waveguides and splitters will consist of a glass-type material with refractive index 1.45. Thus we firstly define the materials and cross-sections:

//=== Material section ===material matAir { RefractiveIndex() {return 1.0;} }; material matSi { RefractiveIndex() {return 3.4;} }; material matCore { RefractiveIndex() {return 1.45;} };

//=== Cross-section section ===cs::background(matAir());mask::CScreate("Core",,RGB(0,0,255),true,true);mask::CSadd(matCore()); mask::CScreate("Si",,RGB(255,0,0),true,true);mask::CSadd(matSi());

Page 1/12

Page 2: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

Photonic Crystal Layout

The photonic crystal area will be created by a layout, which we will call PC:

layout PC (numrows, numcolumns, num_rows_between_waveguides, pitch, size, use_waveguides, use_defect) {mask::CSselect("Si"); int firstguide_index = (numrows/2)-(num_rows_between_waveguides+1)/2; int secondguide_index = (numrows/2)+(num_rows_between_waveguides+1)/2;

for (int row=0; row<numrows; row++) for (int column=0; column<numcolumns; column++) { int rod_is_missing=0; if (use_waveguides) if (row==firstguide_index || row==secondguide_index) rod_is_missing=1; if (use_defect) if (row==secondguide_index-2 && column==numcolumns/2) rod_is_missing=1; if (!rod_is_missing) ml::Straight(cin->this@itop+[pitch*column, pitch*(row-secondguide_index)]: wfix(size), size); } ml::setPort (this: otop->this@itop+[(numcolumns-1)*0.6+0.15,0]); ml::setPort (this: ibot->this@itop+[0, -0.6*(num_rows_between_waveguides+1)]); ml::setPort (this: obot->this@ibot+[(numcolumns-1)*0.6+0.15,0]); }

The arguments to this layout define the size of the crystal, the unit cell size (pitch), and the edge length of the square rods. Also, the distance between the waveguides is defined, and two flags denote whether there should be waveguides or a defect.

The PC layout has four ports, which correspond to the locations of the inputs and outputs of the waveguides (whether those waveguides actually exist or not, the ports are always there). itop is the top input guide, ibot is the bottom input guide, otop is the top output guide, and obot is the bottom output guide.

Page 2/12

Page 3: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

Mach-Zehnder Layout

The access waveguides and splitters are made using standard basic building blocks in OptoDesigner. The distance between the splitter ends is calculated from the difference in the position of the two input ports of the photonic crystal:

ml::PC (: 21, 11, 7, 0.6, 0.15, 1, 1) pc; mask::CSselect("Core"); var dp = ml::diffPort (pc@ibot, pc@itop); ml::Straight(cout->pc@itop: wfix(0.5), 2) itop_straight; ml::Straight(cout->pc@ibot: wfix(0.5), 2) ibot_straight; ml::Straight(cin->pc@otop: wfix(0.5), 2) otop_straight; ml::Straight(cin->pc@obot: wfix(0.5), 2) obot_straight; ml::Straight (cin->[0.0, 0.0]: wfix(0.5), 2) input_straight; ml::Sjunction(cin->input_straight@cout , co1->itop_straight@cin: 0.5,0.5,0.5,0.2,50,10,dp.y) input_yjunc; ml::Sjunction(co1->obot_straight@cout+[0,0,180]: 0.5,0.5,0.5,0.2,50,10,dp.y) output_yjunc; ml::Straight (cin->output_yjunc@cin+[0,0,180]: wfix(0.5), 2) output_straight;

This yields a layout as shown below, and available in the file FAST_appnote_1.spt:

3. Photonic Crystal Calculations

We wish to first perform some calculations on the photonic crystal section in order to find out where the interesting wavelengths are.

Firstly, a rough estimation of the bandgap is calculated; secondly, a waveguide's transmission spectrum is simulated. Thirdly, a defect is created near the waveguide by removing an additional rod, which creates a notch filter response.

3.1 Bandgap Calculations

This section does not attempt to calculate the real bandgap of the photonic crystal, but only performs an estimation by calculating the transfer from a waveguide on one side of a crystal of limited size to a waveguide on the other side of the crystal. To this end, an FDTD zone is inserted in the structure, a TrueModal pulse launcher is added to the top input waveguides, and a modal overlap element is added to the top output waveguide:

ml::ModeLauncher(inp->itop_straight@cin+[1.5] : "SF",All,1,0,{0,0},0,1, ,,Pulse, 4E-15, 0.0, 2E-14,4E-14 , 1) SF; ml::ModeOverlap(inp->otop_straight@cin+[0.5] : "Spectrum",All,{0.0},0,1,0,5,Spectral,0,1,1,2,0,SF) ovl;

Page 3/12

Illustration 1: Mach-Zehner layout

Page 4: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

var zone = ml::FDTD_Zone_InBetween (cin->pc@itop+[-1.001, -0.601], cout->pc@otop+[1,0]: "FDTD zone", {12*0.6, 10}, {0.05, 0.05, 0.05},32768E-16, 1.0E-16, 1, 0.4, 1E-6, 0);

The FDTD zone is displaced by 1 nm in order to make sure that the edges of the photonic crystal rods do not fall exactly on a grid point; numerical noise can cause some rows or columns of rods to be displaced or enlarged by one grid cell in that case.

The central part of the layout then looks like:

Adding the statements

sim::general(1.5, // Lambda TE, // Pol useLast // Index mode );sim::propagate (zone);

sets the wavelength, polarization and index mixing mode, and will cause the execution of the script to perform the calculations in the defined zone This script is available as FAST_appnote_2.spt.

Executing the script will generate a result set in the result window. The Index[,] entry in the result set shows the refractive index profile; the Propagate2D[,] shows the field as it is at the end of the calculation; it is not a relevant data set, since it is just a remnant of the field that still remains in the structure after the input pulse has long since been switched off, see Illustration 3. The data we are interested in is the Spectrum[] entry; it contains the modal overlap spectrum in the waveguide at the other side of the excitation.

Page 4/12

Illustration 2: Layout of central port of structure, for bandgap estimations

Page 5: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

The spectrum, which shows the amplitude of the mode picked up by the waveguide, normalized to the input spectrum, is shown in Illustration 4.

This shows the bandgap is approximately located between wavelengths of 1.3 and 1.7 µm.

Page 5/12

Illustration 3: Remnant of field after about 3.3 ps of simulation

Illustration 4: Amplitude spectrum of the mode picked up by the right-hand waveguide

Page 6: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

3.2 Photonic Crystal Waveguide

A waveguide can be created in the photonic crystal by removing a row of rods. In the script, all that needs changing to calculate the spectrum of the transmission thought this waveguide is the sixth argument of the ml::PC() call in line 53 of the script; changing it from 0 to 1 will let the layout generate waveguides; see the file FAST_appnote_3.spt. The central part looks as in Illustration 5.

The spectrum that is obtained from this structure is shown in Illustration 6

This shows that there is a guided mode in the waveguide in essentially the whole bandgap. The oscillations that are seen on the spectrum are caused by the Fabry-Perot cavity that is created by the ends of the photonic crystal waveguide.

Page 6/12

Illustration 5: Layout with photonic crystal waveguide

Illustration 6: Amplitude spectrum of transmission through photonic crystal waveguide

Page 7: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

3.3 Photonic Crystal Waveguide with Side-coupled Cavity

Removing an extra rod one row removed from the waveguide creates a cavity defect in the photonic crystal. It is coupled to the waveguide, and when the wavelength is near the resonance of the cavity, a significant amount of light can build up in the cavity. This will radiate out into the waveguide, equally in both directions, with a certain phase. This extra radiation will modify the transmission of the waveguide; at resonance, nearly 100% is reflected by the presence of the cavity. Again, only one argument, number 7, in line 53 of the script has to be changed from 0 to 1 to enable the cavity, see FAST_appnote_4.spt. The structure then looks as in Illustration 7.

The spectrum is shown in Illustration 8. There is indeed a sharp dip in the transmission of the waveguide. A zoomed-in version of the spectrum is shown in Illustration 9.

Page 7/12

Illustration 7: Photonic crystal waveguide with side-coupled cavity

Illustration 8: Amplitude spectrum of photonic crystal waveguide with side-coupled cavity

Page 8: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

To find the steady-state field, we modify the script as shown in FAST_appnote_5.spt; the modal field launcher is changed into a continuous wave (CW) one, its end time is set to a very large number (1 second), the modal overlap element is changed into a temporal one, and the FDTD propagation zone is changed into one that calculates using complex numbers. The absolute value of the field at wavelengths of 1.484 and 1.489 mm are shown in and , respectively.

Page 8/12

Illustration 9: Zoomed-in version of the spectrum of the waveguide with side-coupled cavity

Illustration 10: Field of the side-coupled cavity at resonance; wavelength = 1.484 µm. Note that the color bar is scaled to the maximum value, which due to the storage of energy in the cavity is rather high.

Page 9: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

Page 9/12

Illustration 11: Field of the side-coupled cavity 5 nm off resonance; wavelength = 1.489 µm. Note that the color bar is scaled to the maximum value, which due to the storage of energy in the cavity is rather high, though less than it is in resonance.

Page 10: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

4. FAST: Combining BPM and FDTD

While it is technically possible to perform FDTD calculations on the complete structure, including the splitters, the amount of time this would take is prohibitive. Moreover, by far the larger part of the structure is very simple; just slow changes in the location of the waveguides. These parts can be simulated very quickly by Beam Propagation Methods (BPM's). There are just three locations in the structure where reflections and very high angle scattering can play a role: The two joints of the splitters, in which there is a 0.5 µm wide blunt, and the photonic crystal structure. Flexible Algorithm Selection Technology (FAST) allows one to combine areas with different simulation algorithms together into a single simulation run; simply defining zones with different algorithms or step sizes after each other, or inside each other, creates a chain of simulation zones which are simulated starting from the one that is passed to the sim::Propagate() statement. Between zones, fields are only transported forward – so reflections from the FDTD zones will not propagate backward through the BPM zones, or through other connected FDTD zones.

In total, we will define four zones: firstly, a BPM zone that will encompass the entire structure; secondly, an FDTD zone that contains the photonic crystal; and finally, two short FDTD zones for the blunts of the y-junctions. The script code for these zones looks like this:

var zone = ml::BPM_Zone_InBetween (cin->input_straight@cin, cout-> output_straight@cout: "BPM zone", {dp.y+10*0.6, 10}, {0.01, 0.1, 0.5}, 1.4, Second, Pade_2, PML, 0.4, 1E-6); var zone2 = ml::FDTD_Zone_InBetween (cin->pc@itop+[-2.001,-dp.y*0.5-0.001], cout-> pc@otop+[2,0]: "FDTD zone PC", {dp.y+10*0.6, 10}, {0.05, 0.05, 0.05},16384E-16, 1.0E-16, 1, 0.4, 1E-6, 1); var zone3 = ml::FDTD_Zone_InBetween (cin->input_straight@cin+[11,0], cout-> input_straight@cin+[13,0]: "FDTD zone Split1", {dp.y, 10}, {0.025, 0.025, 0.025},512E-16, 0.5E-16, 1, 0.4, 1E-6, 1); var zone4 = ml::FDTD_Zone_InBetween (cin->output_straight@cout+[-13,0], cout-> output_straight@cout+[-11,0]: "FDTD zone Split2", {dp.y, 10}, {0.025, 0.025, 0.025},512E-16, 0.5E-16, 1, 0.4, 1E-6, 1);

as can be seen in FAST_appnote_6.spt. In this file, the modal start field and overlap have been moved to the input and output waveguides of the complete structure as well, and overlap elements are added after the photonic crystal waveguides. The viewer picture looks like this:

When simulating this structure using a sim::Propagate(zone) command, OptoDesigner will first start a BPM from the left. It will meet the modal field starter and propagate its field until it meets the first FDTD zone, which contains the blunt of the splitter. The current field of the BPM is transferred into the FDTD zone, which runs for 51.2 fs – which is enough to reach the CW state of

Page 10/12

Illustration 12: Picture of the complete structure, including zones. The large outer rectangle is the BPM zone; the three smaller rectangles inside are the FDTD zones. Note that the aspect ratio of this picture is not equal to 1.

Page 11: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

this rather small simulation area. The field at the right boundary of the FDTD zone is transferred to the BPM, which continues its propagation until the larger FDTD zone containing the photonic crystal. This zone needs at least 1.6 ps of calculation time to reach its continuous wave state; for better accuracy, about 3 ps would be needed, but for the purposes of this application note, the added accuracy is not enough to warrant a much longer simulation time.

Illustration 13 and 14 show the field of the simulations without and with the side-coupled cavity, at a wavelength of 1.489 µm. The colour bars on the pictures are again scaled to the maximum field value, which causes the one with the cavity to appear to have much lower intensities- which is not the case; the field to the left of the photonic crystal area is actually identical.

When adding the cavity, the power of the overlap at the end of the structure goes down from 58.51% to 46.25%. This is somewhat larger a dip than one might directly expect; the amplitude of the top waveguide goes down by 17.7% due to the presence of the cavity, so a naïve calculation would tall that there should be 58.1%*((100+82.3)/200)2=48.61%. The difference is due tot he fact that the cavity not only induces an amplitude change, but also a phase change of about 26 degrees.

Page 11/12

Illustration 13: Full simulation of structure; no side-coupled cavity

Illustration 14: Full simulation of structure; with side-coupled cavity

Page 12: Finite Difference Time Domain and BPM: Flexible Algorithm ... · Flexible Algorithm Selection Technology to combine the FDTD calculations of the photonic crystal area with Beam Propagation

Application Note – FDTD and BPM combined using FAST © PhoeniX BV

5. Conclusions

This application note has shown how to use the FDTD module to calculate the spectra and fields of structures, and how to combine different algorithms in one single calculation using Flexible Algorithm Selection Technology (FAST). It greatly simplifies the simulation of structures which have 'easy' and 'difficult' sections; one does not have to either simulate these parts separately, or use the most CPU power intensive methods everywhere.

Page 12/12