Vous êtes sur la page 1sur 36

OptiFDTD

Tutorials
Finite-Difference Time-Domain Simulation Design

for Microsoft Windows® XP /Vista /7 /8


Table of Contents

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 OptiFDTD workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 OptiFDTD coordinates system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 TE planar waveguide coupler/splitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 Definition of the simulated device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Design of the simulation geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Starting OptiFDTD Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Creating a new project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.3 Setting up the simulation domain properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.4 Defining material and profiles properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.5 Creating the waveguides geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.6 Adding a light source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.7 Adding detectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Configuration of the simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Inspecting the refractive index distribution and mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 Simulation of the designed coupler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5 Analysis of the results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.1 Observation points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.2 Observation area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.3 3D viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5.4 Movie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Tutorials

Copyright © 2014 Optiwave


All rights reserved.
All OptiFDTD documents, including this one, and the information contained therein, is copyright material.
No part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by
any means whatsoever, including recording, photocopying, or faxing, without prior written approval of
Optiwave.
Disclaimer
Optiwave makes no representation or warranty with respect to the adequacy of this documentation or the
programs which it describes for any particular purpose or with respect to its adequacy to produce any
particular result. In no event shall Optiwave, its employees, its contractors or the authors of this
documentation, be liable for special, direct, indirect, or consequential damages, losses, costs, charges,
claims, demands, or claim for lost profits, fees, or expenses of any nature or kind.

4
Tutorials

1 Introduction

In the tutorials, you will lean the basics of working with OptiFDTD Designer to create your simulation objects
and define their properties. We will define some basic geometry and lean how to define sources and
detectors, run a simulation and review the results. OptiFDTD Designer is one of the 4 components of
OptiFDTD, as shown below.

1.1 OptiFDTD workflow


Creating and running a FDTD simulation using OptiFDTD can be accomplished using 4 main programs,
described below:

OptiFDTD Designer— The main OptiFDTD program. From here, you can create new designs, set
simulations parameters, write scripts and start simulations. Data are saved in a project file with the
extension .fdt.

Profile Designer— This program is used to define all the materials and profiles used in the simulation
region. Profiles are a special type of objects used to define cross-sections of waveguides.

OptiFDTD Simulator— Processes project files designed in OptiFDTD_Designer (.fdt).


OptiFDTD_Simulator opens automatically when you start a simulation. The simulation results are
stored in a file with the extension .fda. You can choose to open OptiFDTD_Analyzer at the end of the
simulation.

OptiFDTD Analyzer— Loads and analyzes the result files produced by OptiFDTD Simulator (.fda).
Contains extensive viewing options and analysis features, and has the facilities to export data to other
file formats.

A typical FDTD simulation design sequence can be defined as this: first define the simulation domain sizes,
then define materials and profiles to be used in the simulation, then create the objects, light sources, and
detectors that compose the simulation, run the simulation and finally analyze the results. The workflow of a
typical simulation using OptiFDTD is shown below.

5
Tutorials

Workflow of OptiFDTD

1.2 OptiFDTD coordinates system


OptiFDTD uses a coordinates system different from most 3D layout and editing software. The coordinate
system is defined in order to be compatible with other Optiwave software such as OptiBPM. A representation
of the coordinate system used is shown below.

6
Tutorials

OptiFDTD coordinates system

The regions named Substrate and Cladding are used to separate volumes below and above the XZ (Y=0)
plane. They are used to represent traditional waveguides fabricated using lithography for example. Substrate
and Cladding regions can have different background materials attached to them.
While working with OptiFDTD, you must take note of the following conventions:

X is referred to as the width or vertical component

Y is referred to as the depth

Z is referred to as the length or horizontal component

The 2D and 3D simulation domains are referred to as 2D and 3D wafers.

It is possible to run either 2D or 3D simulations using OptiFDTD. In the case of 2D simulations, the simulation
region is defined by the XZ plane.

7
Tutorials

2 TE planar waveguide coupler/splitter

2.1 Definition of the simulated device


The geometry we want to define in this tutorial is shown below. It consists in a simple planar TE splitter /
coupler. To simplify our model, the waveguide material is a dielectric of refractive index 2.0 and the
surrounding material is set to air. The input wavelength is in the Telecom range (1.55 µm). We will run a 2D
simulation in this tutorial.

geometry to be defined in OptiFDTD Designer

2.2 Design of the simulation geometry


You can find the design corresponding to this tutorial in the OptiFDTD samples directory (if you chose to
install them). The default location of the design file is (in Windows 7 & 8):

c:\Users\yourname\Documents\OptiFDTD 12
samples\2D_samples\photonic_components\TE_coupler.fdt

2.2.1 Starting OptiFDTD Designer


Most of the work of modeling objects and structures for simulation is done in the OptiFDTD Designer
environment. To open the application, perform the following steps:

To open OptiFDTD_Designer, from the Start menu, select Programs > Optiwave Software >
OptiFDTD > OptiFDTD Designer.

8
Tutorials

OptiFDTD Designer loads and the main application window appears.

Main OptiFDTD Designer application window

2.2.2 Creating a new project


To create a new project, perform the following:

From the File Menu, select New... or click on the New Project icon in the toolbar
A blank project window appears

2.2.3 Setting up the simulation domain properties


First, we need to setup the dimensions of the simulation area. This is done by double-clicking on Simulation
domain in the project browser. The Wafer properties window appears.

Set the following values:

In the Wafer Dimensions tab:

9
Tutorials

field value

Length (µm) 23

Width (µm) 6.9

In the 2D Wafer properties tab:

Verify that the selected material is Air. This value defines the background refractive index for 2D simulations.

Click Ok to close the dialog box.

2.2.4 Defining material and profiles properties


The next step is to define the materials to be used in the simulation and the profiles (cross-sections) of the
waveguides we will design later on.

In the Edit menu, select Profiles and Materials...


OR

Double-click on the Materials item in the project browser

The Profile Designer window opens in the background

In the Profile Designer, double-click on the Air material under the Dielectric entry in the left pane. The
properties of the Air material open. You can see that a refractive index of 1 is automatically affected to the Air
material. It is the default material in OptiFDTD.

Now, right-click on the Dielectric entry in the left pane. A contextual menu appears, select New to create a
new dielectric material.

Set the following values:

field value

Name silicon nitride

refractive index (Re) 2.0

refractive index (Im) 0.0

10
Tutorials
Click Store to save your material.

Now, we will create a rectangular waveguide cross-section to be used in our simulation. Right-clik on the
Channel entry under Profiles. Select New to create a new channel waveguide cross-section.

Set the following values

field value

Profile Name silicon nitride channel

2D profile definition material silicon nitride

Click Store to save your cross-section.

Since we are doing a 2D simulation, the profile is simply using the material we have defined and
extend it to infinity in both +/- y directions.

You can now close the Profile Designer.

2.2.5 Creating the waveguides geometry


The geometry consists in 2 parallel rectangular waveguides being led to lateral coupling distance (200 nm in
our case) by S-shapes sections. We will start by creating the input section of the topmost waveguide:

Drawing the input waveguide

In the Draw menu, select Simple Waveguides -> Linear Waveguide


OR

Select the Linear Waveguide icon in the design toolbar

The mouse pointer is replaced by a crosshair

Draw the waveguide by holding the left mouse button and dragging the mouse from the desired start position
to the destination position. Start at Z= 0 and X= 2.45 um and extend to the Z direction for 2 um. You will be
able to modify the position in the next step if it is not accurate.

11
Tutorials

Remember that in OptiFDTD the Z direction is the horizontal and the X direction is the vertical of
the screen.

To access the properties of the waveguide, double-click on it in the layout view or double-click the object
named Linear1 in the left pane. The Linear waveguide properties window will appear.

Linear waveguide properties

Change the base values (bottom of the dialog) to:

field value

Channel Thickness Tapering Check "use default" (none)

Width 0.5

12
Tutorials

field value

Depth 0

Label Input

Profile silicon nitride channel

In the Start tab:

field value

Horizontal, offset 0

Vertical, offset 2.45

In the End tab:

field value

Horizontal, offset 2

Vertical, offset 2.45

Click Ok to save the changes.

We have defined a straight waveguide name Input, having a 0.5 um width (X dimension) and consisting of
the profile we defined earlier. The Start and End define the beginning and end of our waveguide. Our
waveguide is defined by a start point at position (Z=0, X= +2.45 um) and an end point at (Z=2 um, X = +2.45
um). This results in a piece of straight waveguide.

In OptiFDTD, the start and end positions of waveguides are defined in the middle waveguide edges
as visible by the green dots when the waveguide is selected.

Drawing the S-bend section


To define the S-bend section, we will use a special type of waveguide called S-bend Sine waveguide. Other
types are available (such as cosine or arc), but sine provides the best curvature for our design.

13
Tutorials

To snap our waveguide to the previously designed waveguide section, select the Snap to

Waveguide icon in the Tools toolbox.

In the Draw menu, select S-bend Waveguides -> S-Bend Sine Waveguide
OR

Select the S-Bend Sine Waveguide icon in the design toolbar

The mouse pointer is replaced by a crosshair

Now draw a section of waveguide extending from the last waveguide's end to an approximate position of (Z =
7 um, Z = 0.35 um).

To access the properties of the waveguide, double-click on it in the layout view or double-click the object
named SBendSin1 in the left pane. The S-bend Sine waveguide properties window will appear.

14
Tutorials

S-bend Sine waveguide properties

Change the base values (bottom of the dialog) to:

field value

Enable Orientation Angle unchecked

Channel Thickness Tapering Check "use default" (none)

Width 0.5

Depth 0

15
Tutorials

field value

Label SbendIn

Profile silicon nitride channel

In the Start tab:

field value

Horizontal, offset 2

Vertical, offset 2.45

In the End tab:

field value

Horizontal, offset 7

Vertical, offset 0.35

Click Ok to save the changes.

Drawing the coupling section


Using the same procedure as for the input section above, draw a linear waveguide snapped to the end of the
S-bend section.

Change the base values (bottom of the dialog) to:

field value

Channel Thickness Tapering Check "use default" (none)

Width 0.5

Depth 0

16
Tutorials

field value

Label CouplingLeft

Profile silicon nitride channel

In the Start tab:

field value

Horizontal, offset 7

Vertical, offset 0.35

In the End tab:

field value

Horizontal, offset 11.5

Vertical, offset 0.35

Click Ok to save the changes.

Now, we have the left portion of our waveguide defined. In order to save some time, we can simply mirror the
3 sections we already designed to the right.

Mirroring the design to the right


While holding the Shift key, select the 3 waveguides we designed previously (Input, SbendIn, Coupling).

Click on the Mirror right icon in the flip and mirror toolbox.

You should have a layout closely resembling the following:

17
Tutorials

Top waveguide after mirroring

Creating the bottom waveguide


We can use the same approach to create the collection waveguide. Selected all the waveguides using by
holding the Shift key (you can shift-select the items in the project browser for convenience) and click on the

Mirror to Bottom icon in the flip and mirror toolbox.

The newly created waveguides will be mirrored, but the coupling sections are on top of each other. We need
to correct this by doing a Move Group operation.

1. Select all the newly-created waveguides (in our image below they are named Linear6,
SBendSin3, Linear5, Linear4, SBendSin2 and Linear3)

2. Go to Edit-> Move Group

3. In the Move Group dialog, enter a vertical Group Origin Coordinates of -1.4 um

4. Click Ok to save the settings

The final result should be the following:

Top waveguide after mirroring

18
Tutorials

2.2.6 Adding a light source


Since our design is based on waveguides to propagate light, we can use a modal light source placed on the
top-left waveguide section (the Input waveguide). The modal light source will use OptiMode mode solver on
a waveguide cross-section to determine the distribution of light in the waveguide. We define the position of
this modal source by defining an input plane.

Input planes in OptiFDTD can be either emitting light in the Z direction (the horizontal axis on
screen) or in the X direction (the vertical axis). X-direction input planes are reserved for 2D
simulations only.

Now, define an input plane:

Select to Draw-> Z-direction Input Plane

The cursor changes into a crosshair

Click somewhere on the left of the design layout area (where the waveguides are straight)

A red line with an arrow pointing to the right (positive Z-direction) will appear. You can edit the properties of
this light source by either double clicking the red line or the item InputPlane1 under Sources in the project
browser. The Input Field properties dialog appears.

19
Tutorials

Input Field properties dialog

Changes the values to the following:

In the General tab:

field value

Continuous Wave selected

wavelength (um) 1.55

Input Field Transverse Modal

20
Tutorials

field value

Z position (um) 0.1

positive direction selected

Initial phase 0

Enable Input Field checked

We are defining a continuous wave (CW) single-wavelength light source at 1.55 um. The direction of the
emitted light is set towards the positive Z coordinates (to the right in the layout) and the phase is set to 0
initially. Note that you can create multiple light sources and enable of disable any of them using this dialog
box.

Now, we want to solve a mode for the waveguide cross-section.

1. Go to the 2D transverse tab to select the 2D modal transverse field properties.

2. Click the Find Modes... button. This will open the 2D mode solver window

3. In the Waveguides tab, you will see 2 entries. Each one corresponds to a waveguide
cross-section. Select the last entry in the list (labelled Input) to select the input waveguide.

Notice the refractive index distribution on the graph at the bottom. The position (um) axis corresponds to the
position along the input plane. The vertical axis corresponds to the refractive index.

Now, go to the Parameters tab. Verify that the simulation type is set to TE. It will indicate to the mode solver
that we are only interested in TE solutions. Finally, calculate the mode by clicking on the Calculate Mode
button on the right.

Finally, in the Modes tab, select the calculated mode. The resulting mode is displayed in the graph in blue.
To apply to calculated mode to our input field, click the Apply Data button on the right.

21
Tutorials

2D mode solver dialog

2.2.7 Adding detectors


Finally, we will need some detectors to monitor and collect data from our FDTD simulation.

The first type of detector you would usually want to use is an observation point. They can monitor the
intensity of the fields over time at a single specified point in space. This is useful to ensure that the input
wave has actually reached the end of our simulation grid before the simulation is stopped. You can also
perform Fourier analysis on the point, giving you insight on the light spectrum at this point.

We will add 2 observation points in our simulation, one in each output branch of the coupler.

Select Draw -> Observation point

22
Tutorials
OR

Select the Observation Point icon in the design toolbar

The mouse pointer is replaced by a crosshair

Now, click in the top output branch of the coupler in the layout editor. Edit the properties of the Observation
Point by either double clicking the green dot in the layout editor or the item named ObservationPoint1 in the
project browser.

Enter the following information:

In the General tab:

field value

Horizontal offset (um) 22

Vertical offset (um) 2.45

Label Output1

Leave the defaults in the Data Components tab. This tab is used to select which fields are collected during
simulation.

You should have a dialog similar to this:

23
Tutorials

Observation point properties dialog

Use the same process for the bottom output branch, using this time the following values:

field value

Horizontal offset (um) 22

Vertical offset (um) -2.45

Label Output2

Finally, we will add an observation area to the simulation. The area is a rectangle used to collect
steady-state DFT information on the fields on its surface and time varying fields data in the form of movies.

Let's create an observation area covering the whole 2D simulation domain:

24
Tutorials

Select Draw -> XZ Observation Area

OR

Select the XZ Observation Area icon in the design toolbar

The mouse pointer is replaced by a crosshair

Click somewhere near the center of the simulation domain.

Now, edit the properties of the observation area using the same method as described above. Change the
values to the following:

In the General tab:

field value

Horizontal offset (um) 11.5

Vertical offset (um) 0

Label XZArea

Leave the defaults in the Data Components tab. This tab is used to select which fields are collected during
simulation.

We will add a movie in order to better view the propagating fields. Go to the Recording Data Components tab
and select the Ey field in the 2D TE box. You should have a result similar to the image below:

25
Tutorials

Observation Area properties dialog

This will tell the simulation to create a movie of the temporal evolution of the Ey field when running a 2D TE
simulation. You can now save the properties by clicking Ok.

We are now done with the design part of our simulation.

2.3 Configuration of the simulation


You should now have a layout closely resembling the following:

26
Tutorials

Completed 2D layout

If the green observation area is covering the waveguides, you can put it in the background by right-clicking
anywhere in the layout and selecting Move to Back.The last step is to configure the simulation parameters.

Select Simulation -> Simulate 2D...

OR

Double-click on the 2D simulation item in the project browser.

The Simulation parameters dialog box appears.

Since we are doing a TE simulation, we will keep the default value ( TE) on top of the dialog. The mesh size
parameters are automatically calculated by default (Auto boxes checked for both Delta X and Delta Z). For
this simulation, the mesh size calculated corresponds to wavelength / 20 which is more than enough to
ensure convergence and stability of the results.

We will also keep the simulation time steps and simulation time to Auto. This ensures than the Courant
condition is fulfilled (see the Technical Background document for more details) and that the input wave
travels to the far end of the grid.

Your simulation parameters dialog box should look similar to this:

27
Tutorials

Simulation parameters dialog

Now, close the dialog by clicking Ok.

We will now inspect the refractive index distribution and meshing characteristics of our simulation domain.

2.3.1 Inspecting the refractive index distribution and mesh


Select the 2D Refr_Idx-Re(y) tab in the main OptiFDTD Designer window to open the 2D refractive index
viewer. You will see a 3D graph representing the refractive index of each mesh point in the simulation
domain. You can rotate, zoom in and out using the mouse. By clicking on an individual mesh point, you can
get information (position, refractive index) about this specific point.

28
Tutorials

2D refractive index viewer

At the right of the refractive index viewer, you will find a set of icons used to control the viewer:

Using this viewer, you can see the effects of changing the mesh size on the geometry and the actual
refractive index used in the simulation.

Now, it's time to run a simulation.

2.4 Simulation of the designed coupler


Now is a good time to save our project. Go to File -> Save as... and pick a name and location for your project
file.

OptiFDTD Designer project files have the extension .fdt and are represented by this following icon:

29
Tutorials

OptiFDTD Analyzer result files have the extension .fda and are represented by this following icon:

Next, go back to the simulation parameters window by double-clicking Simulate 2D in the project browser. Hit
the Run button on the buttom left of the window to start the simulation.

After the simulation completes, a dialog box will appear proposing you to open OptiFDTD Analyzer, Click
Yes

2.5 Analysis of the results


OptiFDTD Analyzer looks very similar to OptiFDTD Designer.

OptiFDTD Analyzer main window

The layout is displayed for convenience. You can also show the refractive index distribution from the tabs in
the main window.

To display the detectors results, do the following:

30
Tutorials

Select Tools-> Detector Analysis

OR

Double-click the Detectors item in the project browser

The Detector Analysis window appears.

From the detector analysis window, you can display the data collected from the simulation. You can find on
top 2 tabs: Observation Point and Observation Area. They correspond to the detectors you setup earlier.

2.5.1 Observation points


First, select the Observation Point tab.

The window will be similar to the following:

31
Tutorials

Observation point analysis

By default, the first output observation point is selected and the time varying Ey field amplitude is displayed
on the graph. You can add the second observation point to the graph by checking the box at the left of the
second line (labelled as Output2). Both graphs will then overlay.

You can see that we reached steady-state after approximately 200 fs.

You can resize this window at any time by grabbing the bottom-right area with you mouse.

32
Tutorials

2.5.2 Observation area


Now, select the Observation Area tab on top of the window. Initialize the graph by clicking the Update Graph
button.

The window displayed will be similar to this one:

Observation area analysis

33
Tutorials
You can now observe the steady-state amplitude of the Ey field as calculated using DFT during the
simualtion (see Technical Background for details). You can see that the initial guided wave is splitted into 2
approximately equal branches after the coupling section.

2.5.3 3D viewer
To get more information about the amplitude at the output ports, we need to first export the fields data to file.

1. Click the Export Data... button

2. Ensure that XZ Area is checked

3. Click Export

The result will be that a .f3d file will be created in the directory where you saved the project. .f3d files can be
opened using Optiwave's 3D viewer. Simply double-click the file in windows explorer to launch the
application.

34
Tutorials

3D viewer

The 3D viewer window consists in 4 quadrants:

Top-left: the XZ observation area exported by OptiFDTD Analyzer

Top-right: a vertical line profile corresponding to the vertical red line in the top-left quadrant

Bottom-left: an horizontal line profile corresponding to the horizontal red line in the top-left quadrant

Bottom-rigth: a surface representation of the obervation area

For more details, please consult the User's Reference manual.

Now, drag the vertical red line in the observation area graph (top-left quadrant) to the right to show a line
profile corresponding the coupler's output.

You can see from the line profile (top-right) that the output waveguides are balanced with a 40% transmission
in each branch.

You can now conclude that our splitter presents a coupling loss of approximately 1 dB.

35
Tutorials

2.5.4 Movie
A movie of the propagating optical field has been saved in the directory you used for your project file. You
can play it using Windows Media Player or any third party player such as VLC.

36

Vous aimerez peut-être aussi