Please enable JavaScript to view this site.

Application Gallery

cover_picture_mzi_modulator_small_zoom15This example has been updated. Find the latest version at Mach-Zehnder Modulator.






Geometry and Doping

Open the MZI_gs.ldev project file.  The MZI is specified as follows:

A 450 nm silicon layer is grown on a thick silicon dioxide (oxide) layer.

The waveguide is defined as a 500 nm wide region, and the remaining silicon is etched back 400 nm to leave a waveguide 400 nm thick and 500 nm wide, which sits on a 50 nm silicon pad.

Metal (aluminum) contacts are defined with a distance of 500 nm to the edge of the waveguide. They are 100 nm thick.

The top surface system is passivated with a thick layer of oxide.



To define the space-charge regions in the silicon, dopants must be added. First, the background doping concentration of the silicon is set to represent a p-type epitaxial layer with a concentration of 1x1015cm-3. This is accomplished by defining a region of constant doping that encompasses the entire geometry.

Defining the pn Junction in the Waveguide

To define a pn junction, we will use the analytic profiles of the implant doping objects to mimic the behavior of an ion implant. The impant doping profiles are 3D objects that define a doping profile according to an analytic distribution (Gaussian or Pearson IV). At the contact pwell and nwell we will use the analytic profiles of the diffusion doping objects to mimic the doping profile.  The diffusion doping objects are also 3D objects that define a doping profile using either a Gaussian or a complementary error function.  To model the background doping of the silicon layer we will use a constant doping object.  The doping objects in the CHARGE solver are additive so when multiple doping objects are added to the same simulation volume their values add to each other in the overlapped regions (n- and p-type doping having opposite signs) and create a net overall doping profile.  The figure below shows the different doping objects used in this simulation setup in partitioned volume mode.




CHARGE Results

Click on the calculate mesh button icon_recalc_mesh from the CHARGE tab to mesh the structure. Notice that every time there is data available to be viewed, the icon of the object in the object tree containing results, will have a small red sign in the corner indicating that it contains results. In this case, the simulation region will have this indicatoricon_charge_data. Right click on the "CHARGE" object and click "visualize" and then "grid". The visualizer window will open. Select the "ID" attribute from the Attributes box and press "W" key on the keyboard to view the calculated mesh structure. You should see something similar to the screenshot below.  The "ID" result shows the different domains in the simulation region.  Note that the mesh is finer inside the silicon domain due to the mesh attribute and is the finest at the center of the waveguide since the doping there changes sharply (from p- to n-type).




Click the Run button icon_run_CHARGE_new so the simulation runs. Again, after the simulation is complete, the simulation region will have this indicator icon_charge_data. Right click on the CHARGE object and select visualize. You will notice that you can pick a quantity to visualize. After selecting the 'charge' quantity, from the visualizer window chart settings, you can choose to plot the carrier concentrations in log scale to more clearly recognize the depletion region. The following screenshot shows the plot for 'n' and 'p' attributes in log scale.




The change in the carrier density can lead to changes in the values of refractive index and absorption coefficient in semiconductors. This phenomenon is often used in modulation and switching of guided waves as it results in perturbation of the resulting mode effective index. Calculations for design of such devices can be modeled by importing the charge density into the FEEM solver and examining the effects of the index change.


Edit the “drain” boundary condition to perform a sweep of the drain voltage with the following parameter:





bc mode

steady state

sweep type


start (V)


stop (V)


interval (V)


number of points

9 (autoset)


Click OK to confirm the edits, the application will revert to layout mode.

In the CHARGE toolstrip tab, click “Run” and wait for the simulation to complete.

Right click on the CHARGE object in the objects tree, and select Visualize > charge.

In the visualizer window, select “n” from the “attributes” pane.

Press E to edit plot settings, and select “log scale” from the axis scale options pane.  The image should resemble the electron concentration plot in the figure below.


To examine the electron distribution as a function of applied bias, from the list of parameters, select "V_drain" This will bring up the slider to choose a drain bias voltage from the bias sweep. Use the up and down arrows to change the applied bias for visualization. As the drain contact voltage is made more negative, observe that the depletion layer widens, pushing free charge out of the waveguide. The screen shot below illustrates the visualization for Vdrain = -2.5V.



The "charge_monitor" will record the carrier concentrations n and p to get the change in the overall charge and import the results to a .mat file, wg_charge.mat.  To calculate the effect of the change in the carrier density on the waveguide loss and effective index, an FEEM simulation will be run next.



Before moving to the optical simulation, we can also use the result from the CHARGE simulation to calculate the capacitance of the pn junction.  A similar approach to the one used in the capacitance calculation on the p-n junction diode page can be used to calculate the junction capacitance in this case as well. To do that open and run the script junction_capacitance.lsf. The junction capacitance based on electrons as well as based on holes is calculated.  The capacitance values are in agreement for both calculations based on electron and hole concentrations as expected.




Index Perturbation

Open the script file MZI_index_perturbation.lsf.  The script file loads the charge density data saved in the wg_charge.mat file and calculates the perturbation to the refractive index of silicon using the Soref-Bennett model [1].  The model is described in this KB page: Charge to index conversion.  When run, the script file will calculate the perturbation to the Silicon index at a wavelength of 1550 nm, save the data in a dataset, and load the data into the (n,k) material attribute under the FEEM solver in the project file.


FEEM Results

Right click on the "nk import" object and right click to select visualize.  The visualizer window will show the real part of the imported index data.  You can click on the "scalar operation" option to switch and view the imaginary part of the index as well.  Note that the index data is a function of applied voltage and the slider at the bottom can be used to view the data at different bias voltages.




Next, go to the property editor of the "nk import" object and ensure that the "attribute assignment behavior" is set to "accumulation" (the script should automatically do this).  In this mode the index data loaded into the n,k import object gets added on top of the index of the material in the domain where the attribute is applied to.  In this example that is the silicon index of domain 5 (set in the Geometry tab of the object).  If the "all domain" option is selected then the index gets applied to any mesh point that falls inside the volume of the extent of the imported data.


Once the testing is complete, click OK. Run the FEEM solver the clicking the RUN button.  The solver will calculate the index of the different optical modes and the results will become available in the solver object.  Right click on the FEEM solver object and select "modeproperties" to visualize the effective index of the different optical modes for an optical wavelength of 1.55 um.  The same dataset provides the propagation loss for each mode as well.




The "fields" dataset, also available in the FEEM solver object, can be visualized to view the electric and magnetic field profiles of the different optical modes.  The figure below shows the electric field profile for the first mode or the fundamental TE mode (left) and the second mode or the fundamental TM mode (right).





The index profile of the structure is also provided as a result in the "grid" dataset.  Note that the "grid" result can also be achieved by simply calculating the mesh (even without running the FEEM solver).




Sweeping the bias voltage

Under the sweeps and optimization tab, a sweep object is set up to sweep over the voltage range and return the effective index of the resulting mode.  In CHARGE, every time the simulation is run, the mesh is calculated randomly.  During the sweep, since multiple files are generated and run separately, each file can have slightly different mesh.  To ensure that the mesh is identical between all the simulation files, we can first calculate the mesh and lock it in the FEEM solver.  


Click on the mesh button icon_mesh to calculate the mesh.

Right-click on the FEEM solver object and select 'Lock Mesh'.  

In order to make the individual simulations faster, set the 'number of trial modes' to 1 in the property editor window of the FEEM solver.  

Once these two changes are done, right click on the sweep object (voltage) and click Run. Once the sweep is complete, open and run the script voltage_sweep_FEEM.lsf. icon_run_script   The script extracts the sweep data and plots the change in the effective index and the loss of the fundamental TE mode as a function of applied bias.





In addition, the modulation response is calculated by assuming a balanced Mach-Zehnder type configuration with a modulation length of 1 cm.  The plot below shows that the VpiLpi of the modulator is 2.5 V-cm.


Transmission versus bias voltage

Transmission versus bias voltage


Copyright Lumerical Inc. | Privacy | Site Map