A photonic crystal is capable of confining electromagnetic fields in waveguides and cavities using a periodic geometry. This confinement is strong enough that it enables transmission of fields through wavelength-scale couplers. VORPAL is capable of accurately simulating dielectric structures with complex geometries. In this study we will examine coupling of electromagnetic fields around a sudden bend in a photonic crystal slab waveguide.
This simulation is based on the structure described in [1]. It consists of a triangular array of circular vacuum holes in a silicon slab. We take the refractive index of silicon to be n = 3.4; the hole radius is 0.29a and the the slab height is 0.6a, where a is the lattice constant. Note that all length scales in the problem simply scale as a (and frequencies as a-1) because of the linearity of the Maxwell equations. We therefore take a = 1m, and the simulation results can be scaled to any optical frequency as long as the refractive index remains correct. Two waveguides, meeting at a 120º angle, are each formed by removing one row of holes from the lattice. A schematic of the structure is shown in the figure.
The input file specifies the number of lattice periods to propagate in each waveguide and the number of lattice rows to include transverse to each waveguide; a sufficient number of transverse rows is necessary to obtain adequate photonic bandgap confinement. The input file also specifies the total height of the simulation to be 5 lattice periods, so that the slab is surrounded by a sufficient vacuum space that index guiding in the vertical direction is correctly modeled. The global domain size is computed from these parameters. We place a perfectly-matched layer (PML) absorbing boundary above and below the simulation domain. However, PMLs are not effective at absorbing from periodic waveguides such as those we have here. We therefore place a matched absorbing layer (MAL) around the simulation domain in the horizontal directions. We extend the structure geometry into the MAL, and make the MAL sufficiently deep — 16 cells — for effective absorption.
Schematic of the photonic crystal slab structure.
This simulation uses Python functions to define both the relative permittivity function as well as surface normals to the dielectric interface. This is convenient, as we can define auxiliary Python functions for geometry computations, and use those in other Python functions. For our field source, we use an additive field source that allows radiation to pass through it. We excite the electric field in a half-cosine pattern within the waveguide near the left side of the simulation. Specifying an electric field source without a magnetic source in fact radiates in both the left and right directions, but the left-going fields are absorbed by the MAL and do not otherwise affect the simulation.
Start VorpalComposer and select File -> Clone Example. Highlight Solving Classical Physics Problems and then select Next. Highlight Photonic Crystal and then select Choose. Create a new folder and then select Choose.
Alternatively, save the VORPAL input file, photonicCrystal.pre, the accompanying Python file, photonicCrystal.py, and open in VorpalComposer.
The file should be displayed in the right pane of the Setup window. Click on the Save and Process Setup button in the lower right corner. Proceed to the run window as instructed. To run the file, click on the Run button in the lower left corner of the window. You can see the real time output of the run in the right pane.
This simulation is reduced for speed and will run in around a half hour in serial. To better show the coupling in the photonic crystal, it is recommended to do a more resolved run. Please see the Further Expreiments section of this example.
Once instructed after the run has completed, proceed to the Visualize window to view the results. Load in the data files as instructed.
Due to the symmetry of this system, the results are best viewed by looking at the z component of the magnetic field. To view the 3D fields, open the Scalar Fields variable and select the z (2) component of the YeeMagField. Choose Clip All Plots and set the Z-intercept to zero. Move the slider to a dump late in the simulation to see the final fields.
To view the 2D fields, switch to the Field Analysis tab in the Controls pane. From the Field drop down menu, choose the z (2) component of the YeeMagField. Set the Slice Settings to a Z-intercept of zero.
The figure shows Bz at the vertical center of the slab near the end of the run. We can see significant power coupling around the waveguide bend.
Additional experiments worth investigating are:
A more resolved run. For more proper behavior and better absorption of the field in the PML and MAL, it is recommended to change the input file variables as follows. $RES=16, $NPML=12, $NMAL=64.
Depending on your system, this resolved simulation can take tens of core-hours to run, so it is recommended that you run within VorpalComposer on a multi-core workstation, or transfer the file to a parallel cluster and run from the command line.
Use Histories to record the power flow, to compute the coupling efficiency
Simulate one period of the waveguide with periodic boundary conditions and a user-defined phase shift, and use the frequency extraction feature to compute the waveguide modes and dispersion curves
[1] A. Chutinan and S. Noda, “Waveguides and waveguide bends in two-dimensional photonic crystal slabs,” Phys. Rev. B 62, 4488 (2000).