Photonic Components: Multimode Interference Waveguides

Multimode Interference Waveguides, also termed MMI Couplers, are used to split light from one waveguide into two or more paths. MMI couplers are designed to match the power at each output port. The length, width and positioning of the output ports are critcal to the design of the MMI coupler. The MMI coupler is also difficult to build in device fabrication due to the sensitivity of the width of the multimode waveguide to the performance.

Below are two MMI couplers, designed in Rsoft. The 3dB Coupler has two output ports of half the input power. The approach for both couplers is to monitor the optical power at each output port in the simulation. Initially, we design the length of the multimode section to be longer than estimated. The length of the multimode waveguide section is reduced to the length at which the optical power in each of the output paths is equal.

3dB Coupler

Simulation Result: 3dB Coupler
Rsoft CAD Setup: 3dB Coupler

MMI Coupler


Designing a Waveguide Photodetector in Rsoft

The following images depict the first stages of a waveguide photodetector design in Rsoft., The input waveguide is 2 microns, followed by a tapered section to a 10 micron wide photodetector region. Three tapering typologies are used. Following these initial simulations come optimization of the photodetector region and electrical simulations.

First, the layer view. This section is at the input waveguide.

The InGaAs layers above the waveguide serve to absorb the optical power in the photodetector region:

Three different input tapers are used:

Exponential Taper:

Absorption in the photodetector region is in the range of 95%.

Quadratic Taper:

Here is the optical power remaining in the waveguide region:

Linear Taper:

Mode Converters and Spot Size Converters

 Spot size converters are important for photonic integrated circuits where a coupling is done between two different waveguide sizes or shapes. The most obvious place to find a spot size converter is between a waveguide of a PIC and a fiber coupling lens.

 Spot size converters feature tapered layers on top of a ridge waveguide for instance, to gradually change the mode while preventing coupling loss.

The below RSoft example shows how an optical path is converted from a more narrow path (such as a waveguide) to a wider path (which could be for a fiber).

While the following simulation is designed in Silicon, similar structures are realized in other platforms such as InP or GaAs/AlGaAs.

RSoft Beamprop simulation, demonstrating conversion between two mode sizes. Optical power loss is calculated in the simulation for the structure.


 This is the 3D structure. Notice the red section present carries the more narrower optical path and this section is tapered to a wider path.


 The material layers are shown:


Structure profile:


RSoft Tutorials 9. Using Real Materials and Multilayer Structures

Rsoft comes with a number of libraries for real materials. To access these materials, we can add them at any time from the Materials button on the side. However, to build a Multilayer structure that can utilize many materials, select “Multilayer” under 3D Structure Type.


Now, select “Materials…” to add desired materials. Move through the RSoft Libraries to chose a material and use the button in the top right (not the X button, silly) to use the material in the project. Now select OK to be brought back to the Startup Window, where we must now design a layered structure using these materials. Note that while building the layers, you can add more materials.


Selecting “Edit Layers…” on the Startup window brings you to the following window. Here, you can define your layers by selecting “New Layer”. Enter the Height and Material of the layer and select “Accept Layer” and repeat the process until the structure is finished. Select OK when done and select OK on the Startup window if all other settings are complete. This is my structure. Note that my structure size adds up to 1. Remember what the size of your layers are.


Now, design the shape of the structure. I’ve made a rectangular waveguide. What is also important to consider is where the beam should enter the structure. By default, the beam is focused across the entire structure. In the case where a particular layer is meant to be a waveguide, this should be reduced in size. By remembering the sizes of the layers however it will not be difficult to aim the beam at a particular section of the waveguide. For my structure, I will aim my beam at the 0.2 GaInAsP layer. The positioning, width, height, angle and more of the launch beam can be edited in the “Launch Parameters” window, accessible through “Launch Fields” on the right side.


Finally, run a simulation with your structure!










Rsoft Tutorials 8. Air Gaps

There are cases where you may want to simulate a region of air in between two components. A simple way of approaching this task is by creating a region with the same refractive index as air. The segment between the two waveguides (colored in gray) will serve as the “air” region. Right-click on the segment to define properties and under “Index Difference”, chose the value to be 1 minus the background index.


Properties for the segment:


Symbol Table Editor:


Notice that in the “air” region, the pathway monitor detects the efficiency to be zero, though the beam reconvenes in the waveguide, if the gap is short and the waveguide continues at the same angle, but with losses.



Rsoft Tutorials 7. Index Grating

Index grating is a common method to alter the frequency characteristics of light. In Rsoft, a graded index component is found under the “Index Taper” tab when right-clicking on a component. By selecting the tab “Tapers…”, one can create a new index taper.


Here, the taper is called “User 1” and defined by an equation step(M*z), with z being the z-coordinate location.


Selecting “Test” on the User Taper Editor will plot the index function of the tapered component:


The index contour is plotted below:


Here, the field pattern:


Light contour plot:



Rsoft Tutorials 6. Multiple Launch Fields, Merging Parts

Launch Fields define where light will enter a photonic device in Rsoft CAD. An example that uses multiple launch fields is the beam combiner.




On the sidebar, select “Edit Launch Fields”. To add a new lauch, select New and chose the pathway. A waveguide will be selected by default. Moving the launch to a new location however will place it elsewhere. Input a parameter other than “default” to change the location, and other beam parameters.


Choosing “View Launch” will plot the field amplitude of the launches. For the plot below, the third launch was removed.


Merging Waveguides

Right-clicking on the structure will give the option to chose the “Combine Mode.” Be sure that Merge is selected to allow waveguides to combine.



Rsoft Tutorials 5. Pathway Monitoring (BeamPROP)

When stringing multiple parts together, it is important to check a lightwave system for losses. BeamPROP Simulator, part of the Rsoft package will display any losses in a waveguide pathway. Here we have an example of an S-bend simulation. There appears to be losses in a few sections.


Here, the design for the S-bend waveguide has a few locations that are leaking, as indicated by the BeamPROP simulation.


The discontinuities are shown below, which are a possible source of loss:


After fixing these discontinuities, the waveguide can be simulated again using BeamPROP. In fact the losses are not fixed. This loss is called bending loss.



Bending loss is an important topic for wavguides and becomes critical in Photonic Integrated Circuits (PIC).

Rsoft Tutorials 4. Multi-Layer Profiles

Rsoft has the ability to create multilayered devices, as was done previously using ATLAS/TCAD. Rather than defining a structures through scripts as is done with ATLAS, information about the layers can be defined in tables that are accessed in Rsoft CAD.


To begin adding layers to a device, such as a waveguide, first draw the device in Rsoft CAD. To design a structure with a substrate and rib waveguide, select Rib/Ridge 3D Structure Type in the Startup Window.


Next, design the structure in Rsoft CAD.


The Symbol Table Editor is needed now not only to define the size of the waveguide, but also the layer properties. The materials for this waveguide will be defined simply using basic locally defined layers with a user-defined refractive index. Later, we will discuss importing layer libraries to use real materials.To get used to the parameters typically needed for this exercise, layer properties may not need to be defined now before entering the Layer Table Editor.


The Layer Table Editor is found on the Rsoft CAD sidebar. First, assign the substrate layer index and select new later. The layer name, index and height are defined for this exercise.


After layers have been chosen, the mode profile can be simulated.



Rsoft Tutorials 3. Fiber Structures and BeamPROP Simulation Animations

An interesting feature of BeamPROP simulations and other simulators in the Rsoft packages is that the simulation results can be displayed in a running animation. The following simulation is the result of a simulation of an optical fiber. BeamPROP simulates the transverse field in an animation as a function of the z parameter, which is the length of the optical fiber.

fiberBeamPROP sim

To design an optical fiber component with Rsoft CAD, select under 3D structure type, “Fiber” when making a new project.


To build a cylinder that will be the optical fiber, select the cylinder CAD tool (shown below) and use the tool to draw in the axis that the base of the cylinder is found.


Dimensions of the fiber can be specified using the symbol tool discussed previously and by right-clicking the object to assign these values. Note that animations of mode patterns through long waveguides is not only available for cylindrical fibers. Fibers may consist of a variety of shapes. Multiple pathways may be included. Simulations can indicate if a waveguide has potential leaks in it or the interaction of light with a new surface.




Rsoft Tutorials 2. Simulating a Waveguide using BeamPROP and Mode Profile

BeamPROP is a simulator found in the Rsoft package. Here, we will use BeamPROP to calculate the field distributions of our tapered waveguides. Other methods built withing Rsoft CAD are will also be explored.


Tapered Waveguide

The tapered waveguide that we are simulating is found below. We will use the BeamPROP tool to simulate the field distributions in the waveguide. We will also use the mode calculation tool to simulate the mode profile at each end of the waveguide.

BeamPROP Simulation Results


Rsoft CAD


Mode Profile Simulation

The mode simulation tool is found on the sidebar:


Before choosing the parameters of the Mode Simulator, let’s first take a look at the coordinates of the beginning and end of the waveguide. This dialog is found by right-clicking on the component. The window shows that the starting point along the z axis is 1 and the ending point is 43 (the units are actually micrometers, by the way). We will choose locations along the waveguide close to the ends of the waveguide at z equals 1.5 and 42.5.


Parameter selection window:


Results at z = 1.5:


Results at z = 42.5:


Rsoft Tutorials 1. Getting Started with CAD (tapered waveguide)

Rsoft is a powerful tool for optical and photonic simulations and design. Rsoft and Synopsys packages come with a number of different tools and simulators, such as BeamPROP, FullWAVE and more. There are also other programs typically found with Rsoft such a OptoDesigner, LaserMOD and OptSim. Here we focus on the very basics of using the Rsoft CAD environment. I am using a student version, which is free for all students in the United States.

New File & Environment

When starting a new file, the following window is opened. We can select the simulation tools needed, the refractive index of the environment (“background index”) and other parameters. Under dimensions, “3D” is selected.


The 3D environment is displayed:


Symbol Editor


On the side bar, select “Edit Symbols.” Here we can introduce a new symbol and assign it a value using “New Symbol,” filling out the name and expression and selecting “Accept Symbol.”









Building Components

Next we will draw a rectangle, which will be our waveguide.  Select the rectangular segment below:


Now, select the bounds of the rectangle. See example below:


Editing Component Parameters

Right click on the component to edit parameters. Here, we will now change the refractive index and the length of the component. The Index Difference tab is the difference in refractive index compared to the background index, which was defined when we created the file. We’ll set it to 0.1 and since our background index was 1.0, that means the refractive index of the waveguide is 1.1. Alternatively, the value delta that was in the box may be edited from the Symbol menu. We also want to use our symbol “Length” to define the length of our waveguide. We also want this waveguide to be tapered, so the ending vertex will be set to width*4. Note that width may also be edited in the symbol list.


Here, we have a tapered waveguide: