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.

 

 

 

 

This page contains 3 sections that will provide step-by-step instructions on how to create the CHARGE project file used in the Results and discussion section. Alternatively, the project file provided on the first page of the example can also be used to jump to the Results and discussion section.  

1. Material and Geometry Definition

Material

To accurately model the MZI, a system of materials with associated properties must be defined. For this example, material models for silicon, aluminium, and silicon dioxide (SiO2) needs to be added to the project file.  Both the electrical (and thermal) and optical material databases of CHARGE contain electrical and optical properties for these materials.  These models must be added to different material objects in the Objects Tree to use them in a simulation. This can be done easily by following the steps described below:

1. Under the Materials section of the Design tab, click on New Material button icon_design_newmaterial_zoom94 to add three new "material" objects to the Objects Tree.  Change the names for the new material objects to "Silicon", "Oxide", and "Aluminium".

2. Next, right click on each material object and click on Add electrical properties. This will automatically open the Electrical Material Database. Scroll down to find the corresponding material model (see table below) from the Material List and click on Select. This will add the appropriate electrical properties to the material object.

3. Next, right click on each material object and click on Add optical properties. This will automatically open the Optical Material Database. Scroll down to find the corresponding material model (see table below) from the Material List and click on Select. This will add the appropriate optical properties to the material object.

 

The table below shows the corresponding electrical and optical material model names in the material database for each material.

Material

Electrical model name

Optical model name

Silicon

Si (Silicon)

Si (Silicon) - Palik

Oxide

SiO2 (Glass) - Sze

SiO2 (Glass) - Palik

Aluminium

Al (Aluminium) - CRC

Al (Aluminium) - CRC

 

Geometry

The Structures section of the Design tab icon_structures_tab_zoom64  can be used to introduce various types of structures into the simulation space.  The available options vary from simple rectangles and spheres to complex waveguides and planar solids.  In this example, we will use multiple rectangles to define the silicon waveguide, the metal contacts, and the surrounding oxide cladding.

 

Waveguide

From the Structures section of the Design tab, select a RECTANGLE to be added to the Objects Tree. Select the rectangle in the Objects Tree and click on the "Edit Properties" button icon_edit to edit the properties of the rectangle according to the following table.

tab

property

value


name

Waveguide

Geometry

x (um) / x span (um)

0 / 0.5


y (um) / y span (um)

0 / 1.01


z (um) / z span (um)

0.2 / 0.4

Material

material

Silicon

 

pad

Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties of the rectangle according to the following table.

tab

property

value


name

pad

Geometry

x (um) / x span (um)

0 /3


y (um) / y span (um)

0 /1.01


z (um) / z span (um)

-0.025 / 0.05

Material

material

Silicon

 

buried oxide

Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties of the rectangle according to the following table.

tab

property

value


name

buried oxide

Geometry

x (um) / x span (um)

0 / 3


y (um) / y span (um)

0 / 1


z (um) / z span (um)

-0.75 / 1.4

Material

material

Oxide

 

surface oxide

Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties of the rectangle according to the following table.

tab

property

value


name

surface oxide

Geometry

x (um) / x span (um)

0 / 3


y (um) / y span (um)

0 / 1


z (um) / z span (um)

0.7 / 1.4

Material

material

Oxide


mesh order

5

 

source

Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties of the rectangle according to the following table.

tab

property

value


name

source

Geometry

x (um) / x span (um)

-1.125 / 0.75


y (um) / y span (um)

0 / 1


z (um) / z span (um)

0.05 / 0.1

Material

material

Aluminium

 

drain

Go to the Structures section of the Design tab and select a RECTANGLE. Set the properties of the rectangle according to the following table.

tab

property

value


name

drain

Geometry

x (um) / x span (um)

1.125 / 0.75


y (um) / y span (um)

0 / 1


z (um) / z span (um)

0.05 / 0.1

Material

material

Aluminium

 

The resulting geometry should appear as shown below. Note that the transparency of the top oxide layer has been set to 70% to improve the visualization.

 

gs_mzi_geometry_zoom54

 

2. CHARGE Simulation Setup

With the material properties and geometry defined, we will set up the CHARGE simulation next.

 

Simulation Region

Edit the properties of the Simulation Region object in the Objects Tree according to the following table:

tab

property

value


Name

simulation region

General

dimension

2D Y-normal


boundaries (all)

closed

Geometry

x (um) / x span (um)

0 / 2.4


y (um)

0


z (um) / z span (um)

0 / 2.4

 

CHARGE Solver

Click on the CHARGE button icon_solver_CHARGE from the Solvers section of the Design tab to add a CHARGE solver and edit its properties according to the following table:

tab

property

value

General

simulation region

simulation region


solver mode

steady state


temperature dependence

isothermal


simulation temperature (K)

300

Mesh

Minimum edge length (um)

0.005


Maximum edge length (um)

0.3

 

Check Partitioned Volume

Click on the "Partition simulation region" button to view the partitioned volume (Fig. below).  The partitioned volume mode shows the entire simulation volume and identifies the different domains and surfaces.  Each domain and surface has a unique identifier and they are listed under the "simulation region" in the Objects Tree.  As you select different domains and surfaces in the Objects Tree the corresponding volume or surface gets highlighted in the partitioned volume.  In the figure below "domain 5" is highlighted in the partitioned volume which the domain defining the entire silicon waveguide.

 

mzi_gs_partition_vol_charge_zoom70

 

Doping Profile

 

pepi

Press the Constant doping button icon_CHARGE_doping_constant from the Doping section of the CHARGE tab to add a constant doping profile. Set the properties according to the following table:

property

value

name

pepi

x (um) / x span (um)

0 / 3.2

y (nm) / y span (um)

0 / 1.5

z (um) / z span (um)

0 / 2.2

volume type

all domains

Dopant type

p

concentration(cm-3)

1e+15

 

 

 

 

 

drain pwell

Press the Diffusion doping button icon_CHARGE_doping_diffusion from the Doping section of the CHARGE tab to add a diffusion doping profile. Set the properties according to the following table:

property

value

name

drain pwell

x (um) / x span (um)

1.125 / 1.15

y (um) / y span (um)

0 / 1

z (um) / z span (um)

-0.1495 / 0.301

volume type

all domains

Dopant type

p

source face

upper z

junction width (um)

0.2

distribution function

erfc

concentration(cm-3)

1e+18

ref concentration(cm-3)

1e+6

 

 

 

 

 

source nwell

Press the Diffusion doping button icon_CHARGE_doping_diffusion from the Doping section of the CHARGE tab to add a diffusion doping profile. Set the properties according to the following table and screenshot:

property

value

name

source nwell

x (um) / x span (um)

-1.125 / 1.15

y (um) / y span (um)

0 / 1

z (um) / z span (um)

-0.1495 / 0.301

volume type

all domains

Dopant type

n

source face

upper z

junction width (um)

0.2

distribution function

erfc

concentration(cm-3)

1e+18

ref concentration(cm-3)

1e+6

 

 

 

 

 

Waveguide p+

Press the Implant doping button icon_implant_doping from the Doping section of the CHARGE tab to add an implant doping profile. Set the properties according to the following table:

tab

property

value


name

Waveguide p+

General

dopant type

p


concentration(cm-3)

2.5e+17


source theta

0


source phi

0


distribution fundtion

pearson4


range

0.3


straggle

0.5


skewness

0.5


kurtosis

7


lateral scatter

0.1

Geometry

surface normal

z


x (um)

0


y (um)

0


z (um)

0.4


vertices

x

y

0.05

-0.5

1

-0.5

1

0.5

0.05

0.5


volume type

domain


volume domains

5

 

 

 

 

 

Waveguide n

Press the Implant doping button icon_implant_doping from the Doping section of the CHARGE tab to add an implant doping profile. Set the properties according to the following table:

tab

property

value


name

Waveguide n

General

dopant type

n


concentration(cm-3)

1.5e+17


source theta

0


source phi

0


distribution fundtion

pearson4


range

0.3


straggle

0.5


skewness

0.5


kurtosis

7


lateral scatter

0.1

Geometry

surface normal

z


x (um)

0


y (um)

0


z (um)

0.4


vertices

x

y

-1

-0.5

-0.05

-0.5

-0.05

0.5

-1

0.5


volume type

domain


volume domains

5

 

 

 

 

 

Boundary Conditions

 

Electrical Contact

To visualize a doping profile, a simulation must be run. To run a simulation, the contacts must first be defined, as well as the simulation region. CHARGE does not currently allow floating contacts. Each metal (conductor) structure in the simulation region must be defined as a contact. If a contact is not specified, it will be automatically set to 0V applied.

 

source

Click the Electrical button icon_device_bc_electrical_zoom80 under the Boundary Conditions section of the CHARGE tab. Set the properties according to the following table:

tab

property

value


name

source

General

bc mode

steady state


force ohmic

true


sweep type

single


voltage

0

Geometry

surface type

solid


solid

source

 

drain

Click the Electrical button icon_device_bc_electrical_zoom80 under the Boundary Conditions section of the CHARGE tab. Set the properties according to the following table:

tab

property

value


name

drain

General

bc mode

steady state


force ohmic

true


sweep type

single


voltage

0

Geometry

surface type

solid


solid

drain

 

Surface Recombination

Also, add a surface recombination between Al and Si by clicking the Surface Recombination button hmfile_hash_3e27eae3 from Boundary Conditions section of the CHARGE tab and editing its properties according to the following table:

tab

property

value


name

surface_recombination

General

electron velocity (cm/s)

1e+07


hole velocity (cm/s)

1e+07


apply to majority carriers

disabled

Geometry

Surface type

material:material


Material 1

Silicon


Material 2

Aluminium

 

Monitors

Monitors can be added to the simulation to record different simulation results from different regions.  In this example we will use a charge monitor to record the charge distribution in the waveguide.  The data recorded by the monitor will be transferred to FEEM solver for optical simulation of the waveguide.  We will also add a second charge monitor that will be used to calculate the capacitance of the device.  

 

charge monitor

Add a charge monitor by clicking on the "Charge" button in the "Monitors" section under the CHARGE tab.  The monitor appears as a child to the CHARGE solver.  Select the monitor in the Objects Tree and click on the edit button to edit the properties according to the following table:

tab

property

value


name

charge_monitor

General

monitor type

2D y-normal


record electrons

enabled


record holes

enabled


save data

enabled


filename

wg_charge.mat

Geometry

x (um) / x span (um)

0 / 2.5


y (um)

0


z (um) / z span (um)

0.2 / 0.6

 

 

total charge monitor

Add a charge monitor by clicking on the "Charge" button in the "Monitors" section under the CHARGE tab.  The monitor appears as a child to the CHARGE solver.  Select the monitor in the Objects Tree and click on the edit button to edit the properties according to the following table:

tab

property

value


name

total_charge_monitor

General

monitor type

2D y-normal


record electrons

enabled


record holes

enabled


save data

disabled


integrate total charge

enabled

Geometry

x (um) / x span (um)

0 / 2.5


y (um)

0


z (um) / z span (um)

0.2 / 0.6

 

Mesh Constraint

In Solver section under the CHARGE tab, press on the CONSTRAINT button icon_CHARGE_constraint to add a Mesh Constraint to the objects tree.  Select it from the Objects Tree (under CHARGE) and click on the "Edit Properties" button icon_edit to edit the properties according to the following table.

section

property

value


name

mesh

Geometry

geometry type

volume


volume type

domain


volume domains

5


max edge length (um)

0.01

 

3. FEEM Simulation Setup

The final step in creating the project file is to set up the FEEM simulation.

 

Simulation Region

DEVICE project files support multiple simulation regions.  Alternatively, a single simulation region can be assigned to multiple solvers.  In this example, we will use the same simulation region for both the CHARGE and the FEEM solvers.

 

FEEM Solver

In the Solvers section of the Design tab select the icon_solver_FEEM button to place an FEEM solver in the simulation environment.  Note that once the solver is selected, all the simulation objects (i.e. constraints, boundary conditions, etc.) belonging to the solver become available under a new tab named FEEM.  Select the FEEM object from the Objects Tree and click on the "Edit Properties" button icon_edit to edit the properties according to the following table.

tab

property

value

General

simulation region

simulation region

Mesh

edges per wavelength

3


refine based on material properties

enabled


polynomial order

3

Modal Analysis

sweep type

single > wavelength


wavelength (um)

1.55


number of trial modes

5


use max index

enabled

 

Check Partitioned Volume

Click on the "Partition simulation region" button to view the partitioned volume (Fig. below).  The partitioned volume mode shows the entire simulation volume and identifies the different domains and surfaces.  Each domain and surface has a unique identifier and they are listed under the "simulation region" in the Objects Tree.  As you select different domains and surfaces in the Objects Tree the corresponding volume or surface gets highlighted in the partitioned volume.  In the figure below "domain 5" is highlighted in the partitioned volume which the domain defining the entire silicon waveguide.

 

mzi_gs_partition_vol_feem_zoom70

 

Boundary Conditions

The last step in setting up the simulation is to add the boundary conditions at the simulation boundaries.  

 

PEC

In most FEEM simulation, the simulation boundaries are defined as perfect electrical conductors using the PEC boundary condition.  Click on the PEC button in the Boundary Conditions section under the FEEM tab in the tabbed toolstrip and add a PEC object in the objects tree.  Click on the "Edit Properties" button icon_edit to edit the properties according to the following table.

tab

property

value


name

PEC

Geometry

surface type

simulation region


x min

enabled


x max

enabled


z min

enabled


z max

enabled

 

NOTE: If no boundary conditions are defined then the boundaries of an FEEM simulation region defaults to PEC boundary condition.  Therefore for this particular simulation we can also choose to not define any boundary condition at the simulation boundaries and get the same result.

 

(n,k) Material Attribute

In order to model the index perturbation due to charge density in the silicon waveguide, we will use the n,k material attribute in the FEEM solver.  This attribute can be used to either directly define the spatial index variation of a material within the certain region or can be used to add a perturbation to an existing material index within a certain region.  In this example, we will calculate the index perturbation of silicon due to variations in charge density and add that to the index of the "Silicon" material using the (n,k) material attribute.  

To do this, add an (n,k) material attribute to the Objects Tree by clicking the "(n,k) Material" the button in the Attributes section under the FEEM tab.  The object appears as a child of the FEEM solver region.  Edit the properties according to the following table.  We will load index data into this object later in the Results and discussion section.

tab

property

value


name

nk import

Geometry

x (um)

0


y (um)

0


z (um)

0


volume type

domain


volume domains

5

 

Mesh Constraint

In Solver section under the FEEM tab, press on the CONSTRAINT button icon_CHARGE_constraint to add a Mesh Constraint to the objects tree.  Select it from the Objects Tree (under FEEM) and click on the "Edit Properties" button icon_edit to edit the properties according to the following table.

section

property

value


name

wg_mesh

General

Maximum edge length (um)

0.02

Geometry

geometry type

surface


surface type

domain


domain

5

 

Parameter Sweep

In the FEEM simulation we will perform a parameter sweep to sweep the voltage of the imported index data and calculate the optical modes at each bias point.  To do this we will create a parameter sweep object in the "Optimizations and Sweep" window on the right hand side.

 

voltage

Click on the "Create new parameter sweep" button in the "Optimizations and Sweep" window.  Once the sweep object gets created open up the property editor, click on the "Add" buttons to add a 'Parameter' and a 'Result' and edit the values according to the following table.

section

property

value


name

voltage


Solver

FEEM

Parameters

Type

Ranges


Number of Points

9


Name

V


Parameter

::model::FEEM::nk import::V


Type

Number


Start

0


Stop

-4

Results

Name

neff


Result

::mode::FEEM::modeproperties

 

Error Check

The project file is now set up.  Next check if there is any error in the simulation setup by clicking on the "Check" button.  This will open up the "Error Checking and Diagnostics" window that shows any error in the simulation setup as well information about the different simulation objects.  There should be no warnings.

 

NOTE: the partition volume must be generated before using the Check button.

 

Save Project File

The project file is now complete.  Click on the "File" tab in the toolbar and select "Save" to save the project file.  Set the name to MZI_gs.ldev.

Copyright Lumerical Inc. | Privacy | Site Map