Você está na página 1de 516

OptiBPM

Technical Background and Tutorials


Waveguide Optics Modeling Software System

Version 12.1
for Windows XP, Vista, Windows 7

OptiBPM
Technical Background and Tutorials
Waveguide Optics Modeling Software Systems

Copyright 2013 Optiwave


All rights reserved.
All OptiBPM 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.

Contact Information

Technical Support
Tel

(613) 224-4700

E-mail

support@optiwave.com

Fax

(613) 224-4706

URL

www.optiwave.com

General Enquiries
Tel

(613) 224-4700 ext.0

E-mail

info@optiwave.com

Fax

(613) 224-4706

URL

www.optiwave.com

Tel

(613) 224-4700 ext.249

E-mail

sales@optiwave.com

Fax

(613) 224-4706

URL

www.optiwave.com

Sales

Table of contents

Technical Background..............................................................................................11
Notes: .....................................................................................................................................12

Beam Propagation Method (BPM) ...........................................................................13


Slowly Varying Envelope Approximation ...........................................................................13
Differential Equations of BPM..............................................................................................15
Semi-Vector and Scalar BPM ...............................................................................................19
Crank-Nicholson Method and Scheme Parameter .............................................................20
ADI ..........................................................................................................................................22
Boundary Conditions for the Beam Propagation Method .................................................23
Perfectly Matched Layer (PML) ............................................................................................26
Wide Angle Beam Propagation Method ..............................................................................30
Wide-Angle Beam Propagation Method based on Pad Approximant Operators ..........48
References .............................................................................................................................65

Conformal Mapping Regions ...................................................................................67


References .............................................................................................................................69
Notes: .....................................................................................................................................70

Diffusion in Lithium Niobate ....................................................................................71

Titanium Diffusion in Lithium Niobate ................................................................................71


Magnesium Diffusion in Lithium Niobate............................................................................73
Proton Exchange Process in Lithium Niobate ...................................................................74

Electrooptic Effect ....................................................................................................77


Index ellipsoid .......................................................................................................................78
References .............................................................................................................................80

Scattering Data..........................................................................................................81
Introduction ...........................................................................................................................81
Modeling of the Optical Components - Survey of Methods ..............................................81
Circuit Complexity - Classification ......................................................................................83
The Tool - Scattering Data Approach ..................................................................................86
Implementation with OptiSystem.........................................................................................90
Solutions ................................................................................................................................90
References:..........................................................................................................................104

Non-linear BPM algorithm ......................................................................................105


Appendix A: Technical background and manual calculation method ...............107
Vectoral Beam Propagation for Anisotropic Waveguides ..................................117
Introduction .........................................................................................................................117
Mathematical Formulations................................................................................................118

Vectoral Modal Analysis for Anisotropic Waveguide ..........................................129


Introduction .........................................................................................................................129
Appendix I ............................................................................................................................131
Appendix II ...........................................................................................................................137
References ...........................................................................................................................138

Fiber Mode Solvers .................................................................................................139


Introduction .........................................................................................................................139
Real-valued formulation .....................................................................................................140
Debye Potential ...................................................................................................................140
Separation of Variables ......................................................................................................142
Solution of the linear system .............................................................................................143
Dispersion equation............................................................................................................144
LP Modes .............................................................................................................................146
References ...........................................................................................................................148

Finite Difference Mode Solver................................................................................149


Introduction .........................................................................................................................149
Magnetic Formulation .........................................................................................................150
Magnetic Finite Difference Equations ...............................................................................151
Implicitly Restarted Arnoldi Method (IRAM) .....................................................................152
Transparent Boundary Condition (TBC) ...........................................................................158
References ...........................................................................................................................161

Tutorials ...................................................................................................................165
Lesson 1: Getting Started ......................................................................................167
Installing OptiBPM ..............................................................................................................167
Hardware and software requirements ...............................................................................167
Protection key......................................................................................................................167
OptiBPM directory...............................................................................................................168
Installation ...........................................................................................................................168
Installing OptiBPM on Windows XP, Vista or Windows 7 ......................................168
Introduction to OptiBPM.....................................................................................................169

What is OptiBPM? ...............................................................................................................169


Introduction to optical waveguides ...................................................................................172
What are optical waveguides? ...........................................................................................172
Quick start............................................................................................................................173
Starting OptiBPM ...................................................................................................173
GUI main parts.....................................................................................................................174
How to use OptiBPM ...........................................................................................................176
Defining materials ..................................................................................................176
Defining 2D and 3D channel profiles......................................................................181
Defining the layout settings ....................................................................................185
Creating a basic project .........................................................................................189
Inserting the input plane.........................................................................................190
Running the simulation...........................................................................................195

Lesson 2: Create a simple MMI coupler................................................................207


Defining materials for the MMI coupler ..................................................................207
Defining the layout settings ....................................................................................209
Creating an MMI coupler........................................................................................211
Inserting the input plane.........................................................................................216
Running the simulation...........................................................................................221
Viewing the simulation results in OptiBPM_Analyzer.............................................225

Lesson 3: Create a single-bend device.................................................................227


Defining materials for the single-bend device ........................................................227
Defining the layout settings ....................................................................................229
Creating an arc waveguide ....................................................................................230
Inserting the input plane.........................................................................................234
Selecting output data files ......................................................................................239
Running the simulation...........................................................................................241
Viewing the simulation results in OptiBPM_Analyzer.............................................245
Notes: ...................................................................................................................................248

Lesson 4: Create an MMI star coupler ..................................................................249


Defining materials for the MMI star coupler ...........................................................250
Defining the layout settings ....................................................................................250
Creating an MMI star coupler.................................................................................251
Inserting the input plane.........................................................................................251
Running the simulation...........................................................................................253
Viewing the maxima ...............................................................................................256
Drawing the output waveguide...............................................................................260
Assigning a path to the output waveguide .............................................................261
Viewing the simulation results in OptiBPM_Analyzer.............................................264
Adding output waveguides and viewing the new simulation results.......................265
Viewing the new simulation results in OptiBPM_Analyzer .....................................267
Notes: ...................................................................................................................................269

Lesson 5: Wavelength scripting with VB Script...................................................271


Defining materials for the waveguide .....................................................................271
Defining the layout settings ....................................................................................272
Creating the waveguides........................................................................................272
Modifying the input plane .......................................................................................273
Assigning paths to the waveguides........................................................................274
Running the simulation...........................................................................................276
Viewing the simulation results in OptiBPM_Designer ............................................278
Using VB Scripting for the simulation.....................................................................280
Viewing the simulation results in OptiBPM_Analyzer.............................................284
Notes ....................................................................................................................................287

Lesson 6: Design a 3dB coupler using VB Script................................................289


Defining the materials for the 3dB coupler .............................................................289
Defining the layout settings ....................................................................................292
Drawing and positioning the waveguides...............................................................295
Generating the layout script ...................................................................................302
Inserting and editing the input plane ......................................................................303
Running the simulation...........................................................................................306

Modifying the layout script......................................................................................309


Viewing simulation results in OptiBPM_Analyzer...................................................312

Lesson 7: Applying predefined diffusion processes...........................................315


Creating a linear waveguide formed by the Titanium Diffusion in Lithium Niobate 315
Defining the layout settings ....................................................................................318
Designing the waveguide .......................................................................................319
Setting the simulation parameters..........................................................................321
Running the simulation...........................................................................................323
Creating a buried waveguide formed by Titanium Diffusion in Lithium Niobate .....325
Saving the template under a new name.................................................................325
Adding a new profile...............................................................................................325
Creating the top linear waveguide..........................................................................326
Notes ....................................................................................................................................329

Lesson 8: 3D OptiMode solver - COST project Waveguide ................................331


Defining the materials for the 3D Mode solver .................................................................331
Defining the waveguide ......................................................................................................334
Parameterize the Problem ..................................................................................................336
Add Substrate Layer ...........................................................................................................336
Setting Simulation Parameters ..........................................................................................338
Modifying the Film Thickness ............................................................................................340
Automatically modifying a parameter by script ...............................................................340

Lesson 9: Create a chip-to-fiber butt coupler ......................................................343


Defining materials and waveguides for the chip-to-fiber butt coupler ....................345
Defining the layout settings ....................................................................................346
Creating a chip-to-fiber butt coupler.......................................................................347
Editing the Input plane ...........................................................................................349
Setting the simulation parameters..........................................................................352
Running the simulation...........................................................................................352

References ...........................................................................................................................355
Notes: ...................................................................................................................................356

Lesson 10: Electro-Optic Modulator ....................................................................357


Define Dielectric Materials .....................................................................................359
...............................................................................................................................361
Define Electrode Materials .....................................................................................361
Define Profiles........................................................................................................363
Draw the waveguide...............................................................................................366
Draw the electrodes ...............................................................................................372
Electrostatic Simulation..........................................................................................376
Electro-Optic Simulation.........................................................................................380
References ...........................................................................................................................383

Lesson 11: Integrated optical circuit simulation using OptiBPM and OptiSystem
Scattering data export .........................................................................................385
Theoretical Background .....................................................................................................385
Part I OptiBPM.................................................................................................................387
Generating Scattering Data script ..........................................................................390
Exporting scattering data .......................................................................................394
Creating the arms...................................................................................................395
Part II OptiSystem...........................................................................................................397
Loading the *.s file in OptiSystem ..........................................................................397
Loading the files for both Arms ..............................................................................401
Completing the layout in OptiSystem .....................................................................403
Connecting the components ..................................................................................405
Running the calculation..........................................................................................407
Creating the graph to view the results....................................................................407
Reference:............................................................................................................................409
Notes ....................................................................................................................................410

Lesson 12: Scan the refractive index (RI).............................................................411

Defining the materials and the channel..................................................................411


Defining the layout settings ....................................................................................414
Drawing the Linear Waveguide ..............................................................................417
Inserting the Input Plane ........................................................................................418
Creating the script ..................................................................................................419
Running the simulation...........................................................................................421
Viewing the simulation results in OptiBPM_Analyzer.............................................423

Lesson 13: Applying User-defined diffusion profiles..........................................425


Developing the user defined profile ..................................................................................426
Defining the materials ............................................................................................426
Creating the reference profile.................................................................................427
Defining the layout settings ....................................................................................427
User defined profile.............................................................................................................428
Defining variables...................................................................................................430
Defining functions...................................................................................................430
Defining the user defined profile ............................................................................431
Checking the user defined profile against the reference profile .............................432
Notes ....................................................................................................................................434

Lesson 14: Mach-Zehnder Interferometer switch ................................................435


CAD design of the circuit ...................................................................................................436
Defining the materials ............................................................................................436
Creating the Ti-diffused profile ...............................................................................436
Defining the Wafer .................................................................................................438
Creating the device ................................................................................................439
Checking the RI profile of the x-y slice...................................................................442
Defining the electrode region .................................................................................443
Defining the input plane and simulation parameters ..............................................447
Running the simulation...........................................................................................448
Creating a script .....................................................................................................450

Lesson 15: Step index fiber modes.......................................................................453

Step index fiber ...................................................................................................................454


Defining the materials ............................................................................................455
Creating the SMF-28 fiber profile ...........................................................................455
Defining the layout settings ....................................................................................457
Creating the linear waveguide................................................................................458
Setting the simulation parameters..........................................................................460
Viewing the refractive index distribution (X-Y cut)..................................................461
Calculating the mode .............................................................................................463

Lesson 16: Graded index fiber modes ..................................................................467


Graded Index - Core fiber ..................................................................................................467
Creating the material..............................................................................................470
Defining user variables...........................................................................................470
Defining user functions...........................................................................................471
Defining the User defined profile............................................................................473
Defining the layout settings ....................................................................................475
Creating the linear waveguide fiber........................................................................476
Setting the simulation parameters..........................................................................477
Viewing the refractive index distribution (X-Y cut)..................................................477
Calculating the mode .............................................................................................479
Notes ....................................................................................................................................482

Lesson 17: Modal analysis of an anisotropic buried waveguide .......................483


Defining the materials ............................................................................................484
Creating the profile.................................................................................................486
Defining the layout settings ....................................................................................488
Creating the linear waveguide................................................................................490
Setting the simulation parameters..........................................................................491
Viewing the elements of the permittivity (XY cut)...................................................493
Calculating the mode .............................................................................................494
Computing the magnetic field.................................................................................500
References:..........................................................................................................................500

Lesson 18: BPM analysis of an anisotropic buried waveguide..........................501


Before you start this lesson ...............................................................................................501
Setting the simulation parameters ....................................................................................502
Viewing the elements of the permittivity (XY cut) ............................................................503
Setting the field in the input plane.....................................................................................505
References:..........................................................................................................................509

Technical Background
The following section contains information on the following topics:

Beam Propagation Method (BPM)

Conformal Mapping Regions

Diffusion in Lithium Niobate

Scattering Data

Non-linear BPM algorithm

Vectoral Beam Propagation for Anisotropic Waveguides

Vectoral Modal Analysis for Anisotropic Waveguide

11

Notes:

BEAM PROPAGATION METHOD (BPM)

Beam Propagation Method (BPM)


The finite difference beam propagating method (BPM) is one of the most powerful
techniques to investigate linear and nonlinear lightwave propagation phenomena in
axially varying waveguides such as curvilinear directional couplers, branching and
combining waveguides, S-shaped bent waveguides, and tapered waveguides. BPM
is also quite important for the analysis of ultra short light pulse propagation in optical
fibers [9].
Like the Finite Difference Time Domain method, finite difference BPM solves
Maxwell's equations by using finite differences in place of partial derivatives. In this
sense BPM is computational intensive, and able to accurately model a very wide
range of devices. It differs from a full and direct solution of the equations as found in
the Finite Difference Time Domain Method in two ways. The first is that BPM is done
entirely in the frequency domain, and as such only weak non-linearities can be
modelled. The second is in the use of a slowly varying envelope approximation in the
paraxial direction. In BPM, it is assumed the device has an optical axis, and that most
of the light travels in this direction, or at least approximately in this direction (paraxial
approximation). In OptiBPM, as with the majority of literature on the subject, this axis
is taken to be z , the third space co-ordinate. Many practical optical devices are
naturally aligned close to a single direction, so once this is associated with the z axis,
the slowly varying approximation can be applied.

Slowly Varying Envelope Approximation


Suppose is an electric or magnetic component of the optical electromagnetic field.
This component is a periodic (harmonic) function of position, it changes most rapidly
along the optical axis, z , and has a period that is on the order of the optical
wavelength. The slowly varying approximation involves replacing the quickly varying
component, , with a slowly varying one,

( x, y, z ) = ( x, y, z ) exp ( jkn 0 z )

(1)

where k = 2 , and n 0 is known as the Reference Index. If the light is travelling


mostly parallel to the z axis (paraxial approximation), and is monochromatic
(wavelength ), then it should be possible to select a reference index n 0 which
makes a slowly varying function in all three directions, x , y , and z . If is slowly
varying, the requirements on the mesh to represent derivatives by finite differences
are relaxed. It is possible to choose fewer mesh points to improve the speed of the
calculation without compromising the accuracy too much. This is the main reason why
BPM can do accurate calculations of light propagation using step sizes many times
larger than the optical wavelength, especially in the z direction.
Equation 1 can also be interpreted to give some indication about what will be required
from the mesh, it must be sufficiently fine to approximate spatial derivatives of
accurately by using finite differences. Since varies much more slowly than ,
significant savings in calculation time can be obtained. On the other hand, if the
problem cannot be reduced so simply, then the will need to vary more quickly, and

13

BEAM PROPAGATION METHOD (BPM)

the changes must be taken up by making the mesh finer (smaller x , y , and shorter
propagation step z ). For many practical waveguides, the refractive index contrast
in the transverse plane ( x y plane) is small, which means the variation of the field
in the transverse plane is slow, compared to the wavelength. On the other hand,
sometimes there are large index contrasts in the transverse plane, and a finer mesh
in x , y , or both axes might be needed. Another case in which the effectiveness of
Equation 1 is compromised is when some of the light deviates from the direction of
the z axis. This is another case in which faster variation in is unavoidable, and
sometimes a finer mesh or Wide Angle methods are necessary.
In any case, it is recommended to experiment with several different meshes applied
to the same problem, and to compare the results. Usually, the same results are found
in all cases, but failing this, the results can be analyzed for trends. Eventually a
suitable range of mesh parameters can be found which gives consistent results. In
OptiBPM, it is very easy to apply many different meshes to the same problem and
compare the results.
Sometimes a single value of reference index will not reduce the variation everywhere,
but will follow the optical field well in one region of the device. Another region may
follow a different Reference Index. For example, in a star coupler, a waveguide
connects to a free propagation region. The reference index for the waveguide is the
waveguide's modal index, but the reference index for the coupler would be the slab
waveguide's modal index. The best solution in this case is to define one reference
index for one region and a different one for another region. This is easily done in
OptiBPM.

14

BEAM PROPAGATION METHOD (BPM)

Differential Equations of BPM


In this section we show the derivation for the differential equations found in BPM. Of
course, more complete accounts of this material can be found elsewhere (see
References [1] - [8]). This section exists for the convenience of the user of OptiBPM,
to define important terms and illustrate the nature of the different levels of
approximation.
The derivation starts with Maxwell's equations for electromagnetic fields in a
continuous medium in the frequency domain. For optical materials it is usually
permittivity which differs from the vacuum level. The permeability is unchanged, and
so the electromagnetic field is influenced by the device geometry because the
refractive index is a function of position. The refractive index distribution n ( x, y, z )
enters Maxwell's equations as a coefficient

E = j 0 H

(2)

H = j 0 n ( x, y, z )E

(3)

and no charges are present

(n E) = 0

(4)

H = 0.

(5)

The magnetic field can be eliminated by taking the curl of Equation 2 and using
Equation 3.
(6)

E = k n E
2

where

k = 0 0 .

By applying the vector identity

= ( . ) .

(7)

E + k n E = ( E ) .

(8)

Equation 6 becomes
2

BPM has a bias towards the z axis, so it is natural to treat the z component of both
E and differently than the transverse components, x and y .

15

BEAM PROPAGATION METHOD (BPM)

Writing
(9)

E = E t + z E z

= t + z ----z

(10)

the transverse components of Equation 8 can be written

E
2
2 2
E t + k n E t = t t E t + --------z .
z

(11)

The divergence Equation 4 can be used to eliminate the longitudinal term above.
Equations (9) and (10) can be used to separate the transverse and longitudinal terms
in Equation 4
2
n
2
2 E
t ( n E t ) + -------- E z + n --------z = 0 .
z
z

(12)

If the refractive index is changing slowly along z , then the second term can be
neglected. Then the second term on the right hand side of Equation 11 can be
replaced with the divergence term of Equation 12.

1
2
2 2
2
E t + k n E t = t t E t ----2 t ( n E t )
n

(13)

Using the chain rule on the second divergence term on the right hand side gives a
term that cancels the first divergence term, leaving a single term on the right hand
side. Also, on the left side, the z derivative can be written explicitly

1
E
2 2
2
2
t E t + ---------2-t + k n E t = t ----2 ( t n ) E t .
n
z
2

16

(14)

BEAM PROPAGATION METHOD (BPM)

At this point the slowly varying envelope approximation is used, the field components
Ex and Ey are varying quickly in the z direction, but are probably varying slowly in x
and y . Therefore the substitution
(15)

E t ( x, y, z ) = e t ( x, y, z ) exp ( jn 0 kz )

is likely to result in a function e t ( x, y, z ) which is slowly varying in all directions,


compared to the wavelength of the light. Of course, a suitable value of Reference
Index n 0 needs to be used, and often OptiBPM can find by itself an appropriate
number. However, sometimes OptiBPM cannot find a good number, and the
Reference Index needs to be adjusted manually. It is easy to see if the Reference
Index has been set correctly after the simulation is finished. A good value will result
in slow variation of the phase of the solution e t ( x, y, z ) with respect to z .
Substituting Equation 15 into Equation 14
2
e
1
et
2
2
2
2
2
--------2- 2jkn 0 -------t + k ( n n 0 )e t + t e t + t ----2 ( t n ) e t = 0 .
z
n
z

(16)

If the reference index has been set correctly then the first term will be much smaller
than the second, and it is safe to neglect the first term. The remaining equation is of
first order in z . It is customary to collect the transverse differential operators on the
right hand side,

P xx P xy e x
ex
2jkn 0 ----=
z e y
P yx P yy e y
where the components of the operator

(17)

P are

2
1 2
+ k2 ( n 2 n2 )
P xx = ----- ----2 ----- n . + ------0
2
x n x
y
2
1 2
P xy = ----- ----2 ----- n . ----------x n y
xy

(18)

1 2
P yx = ----- ----2 ----- n . -----------yx
y n x
2

2
1 2
+ k2 ( n 2 n2 ) .
P yy = ----- ----2 ----- n . + ------0
2
y n y
x

17

BEAM PROPAGATION METHOD (BPM)

These are the paraxial vector wave equations for the optical electric field. See
Reference [7] for another account of the formulation, and for examples of the use of
these equations for simulating waveguide optics with BPM.
In order to solve the system for a practical problem, OptiBPM will apply a mesh to the
region where the device is to be simulated. From the device geometry, each point in
the mesh is associated with a refractive index, and each point has an electromagnetic
field. Equation 17 is a first order equation in z , and so knowledge of the
electromagnetic field in some transverse plane ( z = constant) is enough to define an
initial value problem. It was assumed since the beginning, with the application of the
slowly varying envelope approximation (Equation 1), that the light propagation was in
a single direction ( z axis) with no reflection. With Equation 17, it becomes apparent
how this simulation is actually carried out. The differential operators P are
approximated with finite differences, P is a large sparse matrix, and Equation 17 is
applied at a given transverse plane to determine the electromagnetic field at the next
transverse plane.

18

BEAM PROPAGATION METHOD (BPM)

Semi-Vector and Scalar BPM


The above system of equations for BPM is called the Full-Vector form, as it includes
both transverse components of the field. Often it is not necessary to have both field
components in the simulation. If it is known that the device does not change the
polarization of light, then it is sufficient to model one polarization at a time (or only
model the expected polarization). In these cases the contribution of e y to e x and vice
versa can be ignored, and the governing equation is

e
2jkn 0 -------x = P xx e x
z

(19)

e
2jkn 0 -------y = P yy e y
z

(20)

for Semi-Vector TE and

for Semi-Vector TM. In Semi-Vector BPM, one can notice a difference in the
propagation of light depending on whether the initial light is polarized parallel or
perpendicular to the device substrate. However, once polarized horizontally, for
example, the model does not allow the horizontal light to transfer into a vertical
polarization.
On the other hand, for structures with a very low index contrast, it won't make much
2
difference in the order of application of operators like x and n . In this case, the
operators commute, and both Pxx and Pyy reduce to the scalar operator:

+ ------ + k2 ( n2 n2 ) .
P = ------0
2
2
x y
2

(21)

19

BEAM PROPAGATION METHOD (BPM)

Crank-Nicholson Method and Scheme Parameter


Formally, the solution to the BPM equations (whether Full-Vector, Semi-Vector, or
Scalar) is

e t ( z 1 ) = exp [ zP ( 2jn 0 k ) ]e t ( z 0 )

(22)

where z = z 1 z 0 . If the field e t is assumed known at a transverse plane z 0 , then


the above equation will calculate the field at some other plane z 1 . A rational function
is needed to approximate the exponent of the operator. One of the simplest
expressions is the following

1 + ( 1 )x
exp [ x ] = ------------------------------ .
1 x

(23)

This is a rational approximation to the exponent. If = 0.5, it is called the Pad(1,1)


approximant. It is accurate for small values of the argument, (values much less than
1). This is one of the limitations to the size of the propagation step, z . Sometimes
higher order Pad approximants are used to permit larger propagation steps, or to
accommodate rapid variations from high index contrast or light propagating at a wide
angle from the optical axis.
In the case = 0.5, Equation 23 generates the first three terms of the MacLaurin
series expansion for exp [ x ] , and its application leads to the Crank-Nicholson
method,

z
z
I ------------- P e t ( z 1 ) = I + ------------- P e t ( z 0 ) .
4jn 0 k
4jn 0 k

(24)

In OptiBPM, the operator P is a large sparse matrix that approximates the partial
derivatives as finite differences. In the above equation, the field is assumed known at
z = z 0 , and is to be found on the plane z = z 1 . The operator P is applied to the
unknowns to be found in the vector e t ( z 1 ) . Since Equation 24 does not give the
unknown e t ( z 1 ) directly, but instead only as a solution to an equation, the resulting
numerical method is called 'implicit'. To progress from one transverse plane to the
next using an implicit method requires the solution of the above set of linear
equations.
The variable is called the Scheme Parameter, the usual value is 0.5, partly
because it is the most accurate representation of the exponent, but also because this

20

BEAM PROPAGATION METHOD (BPM)

often realizes the most stable method. In Equation 24, it is possible to show (before
the introduction of lossy boundary conditions) that the norm of the operator on the left
is the same as the operator on the right. Therefore the application of many steps
should lead to no change in the norm of the solution vector e t . This guarantees the
stability of the method, at least in the sense of conservation of energy.

21

BEAM PROPAGATION METHOD (BPM)

ADI
Usually the most time consuming process in the execution of the BPM simulation is
the solution of the linear system in Equation 24. Sometimes, it is possible to speed
this calculation by manipulating the formulation so that only simple linear systems
result. There are other formulations of the problem which permit the operator to be
split into two parts, one which involves derivatives in the x direction only, and the
other having derivatives in y only. In the first step, the operator with x derivatives is
used. The operator with x derivatives uses simple finite difference equations,
therefore no more than the next neighbor in the mesh need be used. The resulting
linear system is tridiagonal; it has matrix elements in the main diagonal and the two
adjacent diagonals.
The tridiagonal system is solved much more quickly than the general linear system.
In the next step, the operator involves derivatives with only y . By changing the
orientation of the problem (alternate direction), another tridiagonal system is obtained.
This changing of the sense of direction to get tridiagonal systems in solving the implicit
part of the propagation step is the origin of the name Alternating Direction Implicit.
OptiBPM uses ADI whenever possible, to obtain the fastest algorithm [32].

22

BEAM PROPAGATION METHOD (BPM)

Boundary Conditions for the Beam Propagation Method


In actual structures, radiated waves are reflected at the boundaries and return to the
core area, where they interact with the propagating fields. This interaction disturbs the
propagating fields and greatly degrades the calculation accuracy. It is usual to impose
boundary conditions when formulating propagation algorithms in such way to avoid
radiation from the device to be reflected at the boundaries, which could couple back
into guided modes of the device. These mentioned reflected waves from the
boundaries could cause significant errors, particularly if these boundaries are not far
enough away from the waveguide. Therefore, one of the key issues in implementing
BPM code to study light propagation in a finite spatial domain is the boundary
condition at the computation window edges.
The conventional approach is to use an Absorbing Boundary Condition (ABC) in
which an artificial layer of lossy material is placed around the computational window.
However, to efficiently absorb any outward going radiation with as little reflection as
possible, requires careful tailoring of this absorbing region to determine its optimum
thickness and absorption coefficient. Therefore, application of the ABC requires
additional resources in computational time and memory. Another technique is the
Transparent Boundary Condition (TBC) where an absorber is not used but the field is
assumed to behave exponentially near the boundary [10], [11]. The TBC is far more
economical than the ABC as it contains no adjustable parameters and is therefore
more robust. More recently, the Perfectly Matched Layer (PML) boundary condition
has been proposed which relies on the anisotropic properties in conductance of a
non-physical medium surrounding the problem space. Suitable choice chose of these
conductivities ensures very small reflections from the boundary [12].
The Transparent Boundary Conditions (TBC) and the Perfectly Matched Layer (PML)
are the most effective way to handle strong radiation at the boundaries [13].

Transparent Boundary Condition


TBC is a boundary condition that simulates a nonexistent boundary. Radiation is
allowed to freely escape the problem without appreciable reflection, whereas
radiation flux back into the problem region is prevented.
The Transparent boundary condition (TBC) is obtained by assuming that the field in
the vicinity of the virtual boundary consists of an outgoing plane wave and does not
include the reflected wave from the virtual boundary. Then we assume that the wave
function for the left-traveling wave with the x -directed wave number k x is expressed
as

( x, z ) = A ( z ) exp ( jk x x ) .

(25)

As can been seen in Figure 1, denote the x coordinates and electric fields of the
nodes at p = 1, 0, 1 as x 1, x 0, x 1 and as 1 , 0 , 1 . Assuming Equation 25 for
each mesh point we can get:

23

BEAM PROPAGATION METHOD (BPM)

(26)

(27)

exp ( jk x x ) = -----1 = 1

exp ( jk x x ) = ------0 = 1
where

x = x 2 x 1 = x 0 x 1 .

Figure 1 Nodes

p = 1

and

p = m

From Equation 26 we can derive the

are outside the analysis domain

x -directed wave number:

1
k x = -------- ln ( 1 ) .
j x

(28)

If the real part of k x is positive, then the plane wave expressed by Equation 25
propagates toward the outside of the boundary. If the real part of k x , Re ( k x ) , is
negative, the plane wave of Equation 25 propagates toward the inside of the
boundary. When we are dealing with a waveguiding structure that has no reflecting
element, an inward-propagating wave should not exist. Therefore, in such a case
Re ( k x ) must be made positive:

Re ( k x ) 0

The wave number of the outgoing plane wave at the right-hand boundary is obtained
in a similar manner. Then we assume that the wave function for the right-traveling
wave with the x -directed wave number k x is expressed as

( x, z ) = A ( z ) exp ( jk x x ) .

(29)

As can been seen in Figure 1, let denote the x coordinates and fields of the nodes at
p = m 2, m 1, m as x m 2, x m 1, x m , and as m 2, m 1, m .
Assuming Equation 29 for each mesh point we can get:

m 1

m
exp ( j k x x ) = ---------- = m

24

(30)

BEAM PROPAGATION METHOD (BPM)

m 2

(31)

m1
exp ( j k x x ) = ----------

where

x = x m 1 x m 2 = x m x m 1 .

From Equation 29 or Equation 30 we can derive the

x -directed wave number:

1
k x = -------- ln ( m ) .
j n

(32)

Similar to the left-hand boundary case the real part of k x , Re ( k x ) , must be restricted
to be positive to ensure only radiation outflow. When it is negative, which implies
reflection occurs at the right-hand boundary, the sign should be changed from minus
to plus.
As can been seen, the beam propagation including a radiation wave can be analyzed
easily and efficiently by using the above-mentioned transparent boundary condition.
The fundamental aspect of the TBC method is the plane-wave approximation of the
radiation wave and the successive renewal of the wave number k x by using the
former step-field distribution [14].

25

BEAM PROPAGATION METHOD (BPM)

Perfectly Matched Layer (PML)


Berenger introduced the concept of a perfectly matched layer (PML) for reflectionless
absorption of electromagnetic waves, which can be employed as an alternative to the
transparent boundary condition (TBC). The PML approach defines the truncation of
the computation domain by layers (which absorb impinging plane waves) without any
reflection, irrespective of their frequency and angle of incidence [15] - [18].

PML equations
We consider a 3-D optical waveguide surrounded by PML regions I, II, and III with
thickness d as shown in Figure 2. Using the transversely scaled version of PML,
Maxwell's equations can be written as

=
' E = j 0 r sE

(33)

' E = j 0 sH .

(34)

From Equation 33 and Equation 34 we get:

p
2
' --- ' k 0 qs = 0
s

(35)

with

p = 1,

1
p = =r ,

q = =
r , = E

for TE modes

= E

for TM modes

q = 1,

(36)

where

e
m
-2 = 1 j --------s = 1 j ------------.

0
0 n

(37)

Here E and H are the electric and magnetic field vectors, respectively, is the
angular frequency, 0 and 0 are the permittivity and permeability of free space,
respectively, n is the refractive index, and e and m are the electric and magnetic

26

BEAM PROPAGATION METHOD (BPM)

conductivities of PML, respectively. The modified differential operator


Equation 33 and Equation 34 is defined as

' used in
(38)

' = ' t + z ' z


with

' t = x s x ----- + y s y ----x


y

(39)

' z = s ----z

(40)

where x , y , and z are the unit vectors in the x , y , and


and the values of s x are summarized in Table 1.

z directions, respectively,

Figure 2 Optical waveguide surrounded by PML

27

BEAM PROPAGATION METHOD (BPM)

Table 1 Values of sx and sy

Region

sx

sy

II

III

The relation in Equation 37 is required to satisfy the PML impedance matching


condition

(41)

e
--------= -----m2
0
0 n

which means that wave impedance of PML medium exactly equals of the adjacent
medium with refractive index n in the computation window,

0 0 n 2 , regardless of the angle of propagation or frequency.


In the PML medium, we assume an

m th-power of the electric conductivity as

m
e = max ---

(42)

where is the distance from the beginning of PML. Using the theoretical reflection
coefficient R at the interface between the computational window and the PML
medium

2 max d m
R = exp ---------------- --- d
0 cn 0 d
the maximum conductivity

max

may be determined as

( m + 1 ) 0 cn --1-
max = ------------------ ---------ln

2

where

28

(43)

c is the light velocity of free space.

(44)

BEAM PROPAGATION METHOD (BPM)

The parameter

s is written as

s =
( + 1 ) -
1
ln -----------------------
1
j

4 dn d Rt

in non PML region


(45)

in PML region

where = 2 c , d, x 0, are the free-space wavelength, the PML thickness, the


position of the PML surface, and the theoretical reflection coefficient, respectively.
Here, the PML is terminated with the perfect electric or magnetic conductor for TE or
TM mode, respectively. Usually, a parabolic is assumed for the conductivity, m = 2 .

29

BEAM PROPAGATION METHOD (BPM)

Wide Angle Beam Propagation Method


The beam propagation method (BPM), originally derived from the paraxial (Fresnel)
approximation, has been widely used to study optoelectronics devices. The paraxial
limitation was removed in the so called wide-angle beam propagation methods (WABPMs). Here WA-BPM focus on extending the range of applicable angle using high
order Pad approximation in the transverse direction. Such extensions are invaluable
not only for the simulation of propagation at large angles to the axis but also because
they allow accurate propagation through regions whose refractive index may differ
greatly from the input reference index [19] - [22].

Finite Difference Beam Propagation Method (FD-BPM) with Perfectly


Matched Layers
We consider a planar waveguide where x and z are the transverse and propagation
directions, respectively, and there is no variation in the y direction ( y 0 ) .
Furthermore we consider that the planar optical waveguide with width
surrounded by PML regions with thickness d as shown in Figure 3.

W is

Figure 3 Planar waveguide surrounded by PML

With these assumptions and transversely-scaled version of PML, as defined in


Perfectly Matched Layer (PML) on page 26, we get the following basic equation
from Equation 35:

p---

- ------2
----------- + s ---p + k 0 qs = 0
x s x
z z

30

(46)

BEAM PROPAGATION METHOD (BPM)

with

= E y, p = 1, q = n 2

for TE modes

= H y, p = 1 n 2, q = 1

for TM modes

(47)

(48)

where E y and H y are the y components of the electric and magnetic fields
respectively, is the angular frequency, 0 and 0 are the permittivity and
permeability of free space, respectively, n is the refractive index, k 0 is the free-space
wave number, and the parameter s is defined by Equation 45.
We separate the field ( x, z ) into two parts: the axially slowly varying envelop term
of ( x, z ) and the rapidly term of exp ( jk 0 n ref z ) . Here, n ref is the reference index.
Then,

( x, y )

is expressed by

( x, z ) = ( x, z ) exp ( jk 0 n ref z ) .

(49)

By substituting Equation 49 into Equation 46, we obtain the following equation for
slowly varying complex amplitude :

1 p
2
2
p -------2- 2jk 0 n ref p ------ + --- ----- --- ------ + k 0 ( q n ref )p = 0 .

z
s
x
s
x
z
2

The term

(50)

p z is neglected for TM modes.

31

BEAM PROPAGATION METHOD (BPM)

Finite Difference Approximant


To obtain the field solution at each cross section we discretise Equation 50 using
Finite Differences scheme along x - direction [23] - [27].
Figure 4 Finite Difference uniform mesh

Formally, we have from Taylor expansion:

1
2

' ( x + h ) = ( x ) + ' ( x )h + --- '' ( x )h 2 +

1
2

' ( x h ) = ( x ) ' ( x )h + --- '' ( x )h 2 + .

(51)

(52)

Subtracting Equation 51 from Equation 51 and neglecting higher order terms:

1
2h

' ( x ) ------ [ ( x + h ) ( x h ) ] .

(53)

Thus, for TE modes we get

E
1

--- ----p ( x ) --------y =


s x
x
1 - ------------------1 ------[ E y ( x + 2h ) E y ( x ) ]
2
4h s ( x + h )

1 _ -----------------[ E y ( x ) E y ( x 2h ) ] .
s(x h)

(54)

s ( x ) + s ( x + 2h )
s(i) + s(i + 1)
s ( x + h ) = --------------------------------------- = ----------------------------------

2
2

(55)

Here we consider:

32

BEAM PROPAGATION METHOD (BPM)

s ( x ) + s ( x + 2h )
s(i) + s(i + 1 )
s ( x + h ) = --------------------------------------- = ----------------------------------

2
2

s ( x ) + s ( x 2 h )
s(i) + s(i 1)
s ( x h ) = ------------------------------------ = --------------------------------- .

2
2

(56)

By substituting Equation 55 and Equation 56 into Equation 54, we get:

Ey ( i 1 )
1--- ---- 1--- E y
2
-------- ----------------------------------------------------2

s x s x
s ( i ) x ( s ( i ) + s ( i 1 ) )
Ey ( i + 1 )
1
1
- .
- -------------------------------------- + -------------------------------------- E y ( i ) + -------------------------------------(s(i) + s(i + 1))
(s(i) + s(i + 1)) (s(i) + s(i 1))

(57)

Therefore, we can rewrite Equation 50 for TE modes as

E 2 E
2jk 0 --------y = ---------2-y + PE y
z
z

(58)

where

B pml
F pml
pml
- E ( i 1 ) + k 20 ( n 2i n 2ref ) + C
-E (i + 1) .
--------- E y ( i ) + -------PE y -------2 y
2 y
2
x
x
x

(59)

Here,

2
B pml = ----------------------------------------------s( i)[s(i 1) + s(i )]

(60)

2
F pml = ----------------------------------------------s(i)[s(i) + s(i + 1 )]

(61)

2
1
1
C pml = --------- -------------------------------------- + ------------------------------------- .
s( i) (s( i) + s(i + 1)) (s(i) + s(i 1))

(62)

33

BEAM PROPAGATION METHOD (BPM)

For TM modes we have:

H
1 H
Hy
2
2
---------- 2jk 0 n 0 ---------y + ----r ----- ------ ---------y + k 0 ( r n 0 )H y = 0 .
2

z
s
x
s

x
r
z
2

(63)

Applying FD scheme in the third term of Equation 63 we obtain:

H y ( x 2h )
--------------------1 - H
1 - ----------r(x)
----r -------------y ------- --------------------------------------2
s x s ( x ) r ( x ) x 4h s ( x ) s ( x h ) r ( x h )

1
1
_ ---------------------------------------- + --------------------------------------- H (x) +
s( x + h ) r ( x + h ) s ( x h ) r ( x h ) y
H y ( x + 2h )
---------------------------------------- .
s ( x + h ) r ( x + h )
For small

(64)

h one has:

s( i) + s(i + 1)
s ( x ) + s ( x + 2h )
s ( x + h ) --------------------------------------- = ----------------------------------

2
2

(65)

s ( i 2h ) + s ( x )
s ( x h ) -------------------------------------- =
2

( i 1 ) + s ( i )
s--------------------------------

(66)

r ( x ) + r ( x + 2h )
- =
r ( x + h ) -----------------------------------------

r ( i ) + r ( i + 1 )
------------------------------------

(67)

r ( x 2h ) + r ( x )
r ( x h ) -----------------------------------------=

r ( i 1 ) + r ( i )
------------------------------------ .

(68)

34

BEAM PROPAGATION METHOD (BPM)

By substituting Equation 66, Equation 67, and Equation 68 into Equation 64, we get:

r 1 H y
4 r ( i )
--- ----- ------ --------- -------- --------- s x s r x x 2 s ( i )

Hy ( i 1 )
1
_ --------------------------------------- s----------------------------------------------------------------------(
i

1
)
+
s
(
i
)

(
i
)
+

(
i

1
)
s
(
x
+
h
)

(
x
+
h
)
r
r
r

H y ( x + 2h )
1
+ ---------------------------------------- H y ( x ) + ---------------------------------------s ( x h ) r ( x h )
s ( x + h ) r ( x + h )
Hy ( i + 1 )
-.
+ --------------------------------------------------------------------------------( s ( i ) + s ( i + 1 ) ) ( r ( i ) + r ( i + 1 ) )

(69)

Thus, using FD scheme into Equation 50 for TM modes, we get:

2
H
Hy
2k 0 n ref ---------y = ---------- + PH y
2
z
z

(70)

with

B
C
F
PH y --------2 H y ( i 1 ) + --------2 H y ( i ) + --------2 H y ( i + 1 )
x
x
x

(71)

4 r ( i )
1
- -----------------------------------------------------------------------------B = ------------s ( i ) ( s ( i 1 ) + s ( i ) ) ( r ( i ) + r ( i 1 ) )

(72)

4 r ( i )
1
- --------------------------------------------------------------------------------C = ------------s ( i ) ( s ( i ) + s ( i + 1 ) ) ( r ( i ) + r ( i + 1 ) )
1
2
2
+ ---------------------------------------------------------------------------------- + k 0 ( r ( i ) n ref )
( s ( i ) + s ( i 1 ) ) ( r ( i ) + r ( i 1 ) )

(73)

4 r ( i )
1
- .
- --------------------------------------------------------------------------------F = ------------s ( i ) ( s ( i ) + s ( i + 1 ) ) ( r ( i ) + r ( i + 1 ) )

(74)

35

BEAM PROPAGATION METHOD (BPM)

Finite Difference Beam Propagation Method (FD-BPM) with Transparent


Boundary Condition
We can include the left-hand TBC expressing the field of the hypothetical node
(see Figure ) outside the analysis domain, (shown in Transparent Boundary
Condition on page 23), as

1 = 0 L

(75)

1- -----0
L = ---=
.
1 l1

(76)

Here the parameter

is determined by the known fields at

z.

Following similar way described we can include the right-hand TBC expressing the
field m of the hypothetical node as

Here, the parameter

m = m 1 R

(77)

lm 2
-.
R = --------- lm 1

(78)

R is determined by the known fields at z .

Therefore, to include the TBC for TE modes we get:

1L
2
2
2
2 - E ( 0 ) + -------2 + k 0 ( n 0 n ref ) ------PE y ------E (1)
y
2 y
2
x
x
x
for the first left mesh point

(79)

i = 0,

and

1
R
2
2
2
2 - E (m 1)
-2 + k 0 ( n m 1 n ref ) ------PE y --------2 E y ( m 2 ) + ------y
2
x
x
x
for the last right mesh point

36

i = m 1.

(80)

BEAM PROPAGATION METHOD (BPM)

For TM modes we get:

2 2
2
1
1
PH y k 0 n ( 0 ) n ref + ----------------------------------- + --------------(

(
0
)
+

(
1
)
)
2

r
r
r(0)

R
Hy ( 1 )
-2 H y ( 0 ) + ------------------------------+ ------2
2
x
n (0) + n (1)
for the first left mesh point

(81)

i = 0

and

Hy ( m 2 )
R
2
2
2
2 - H (m 1)
PH y ----------------------- + -------2 + k 0 ( n m 1 n ref ) ------y
2
2
x
x
x
for the last right mesh point

(82)

i = m 1.

37

BEAM PROPAGATION METHOD (BPM)

Finite Element Beam Propagation Method (FE-BPM) with Perfectly


Matched Layers
We proceed now with the solution of Equation 50 on the basis of the Finite Element
Method [29] and [30]. As a first step we introduce the residual

p
2
2
R ( x ) = ps -------2- 2jk 0 n ref ps ------ + ----- --- ----- + k 0 s ( q n ref p) = 0

z x s x
z
2

(83)

which must be zero in accordance with the state problem. However, it is impractical
to enforce R ( x ) = 0 at every point in the domain from x = 0 to x = x f . Since
( x f ) is not expected to vary substantially over a small distance, say x , we
subdivide the domain into small segments and instead enforce the condition

Domain of W m ( x )

W m ( x )R ( x ) dx = 0

(84)

over each of the segments. Remarking that W m ( x ) is some weighting function to be


defined later, Equation 84 enforces the differential equation on an average sense over
the N e th segment. By changing the integration or testing interval (and weighting
function W m ) from m = 1 to m = N e , we can construct N e equations for the
solution of the discretized field values. Before proceeding to do so, we make the
following observations about W m ( x ) :

38

If W m ( x ) = ( x x m ) or W m ( x ) = [ x ( x m + 1 + x m ) 2 ] the resulting
weighted residual procedure is referred to as point matching and leads to a form
of the finite difference method.
If W m ( x ) is set equal to the basis functions used for the representation of ( x ) ,
the procedure is referred to as Galerkin's method. This is the most popular
testing/weighting method for casting the differential equation to a linear system.
The choice of W m ( x ) is not completely arbitrary. For the mathematical steps in
the FEM procedure to hold rigorously, W m ( x ) and its derivative must be at least

BEAM PROPAGATION METHOD (BPM)

square integrable over the domain. Specifically, for the problem at hand, it must
satisfy the condition

xm

d2
----[
W
(
x
)
]
+
W
(
x
)
m
m

dx < .

dx

(85)

In addition, W m ( x ) must satisfy conditions at the boundary nodes (end-points at


x = 0 and x = x m ) for the one-dimensional problem which are compatible with the
imposed boundary conditions. Certain smoothness conditions on W m ( x ) and

d----W ( x ) may also need to be imposed.


dx m

39

BEAM PROPAGATION METHOD (BPM)

Before generating a linear of equations from Equation 84 subject to the boundary


conditions, it is first necessary to cast in a more suitable form by following the steps:
Step 1: Take advantage of the weighting W m ( x ) to reduce the order of the derivatives
contained in R ( x ) . To do so we employ integration by parts, giving:

xm

xm

p d
p W m ( x )
p--- ----
W m dx = --- ------ -----------------dx + --- ------ W m ( x )
----x s x
s x
x
s dx
0

xm

(86)

The last right hand side term can be evaluated by enforcing the known boundary
conditions at the endpoints. Its effect on the overall system will be considered later.
Step 2: Derive the weak form of the differential equation. The weak form of the
differential equation is most appropriate for numerical solution and is obtained by
substituting Equation 86 into Equation 84.

xm

xm


W ( x )dl 2jk 0 n ref p ------ W m ( x )dl
2
p ------z
z
2

d
+ ------W m ( x )
dx

xm
0

xm

W m ( x )

- ------------------ dl
----x x
0

xm

+ ( k 0 q k 0 n ref p)W ( x )dl = 0


2

which holds providing Equation 50 is valid. However, because of the integral, the
weak form Equation 87 enforces the differential equation on an average (and
therefore weaker) sense.

40

(87)

BEAM PROPAGATION METHOD (BPM)

a) Discretization of the weak differential equation


The discretization of Equation 87 to a linear set of equation is done by introducing an
expansion for ( x ) and then making appropriate choices for the weighting functions
W m ( x ) . We chose the linear representation

eo

(x) =
e
j

e
j

( x ) j

(88)

j=1

where j ( x ) are the unknown coefficients of the expansion. When


define linear elements. In this case, the basis functions for element
e

eo = 2 , we
e are defined as

x2 x
e
-e
N 1 ( x ) = -------------e
x2 x1

(89)

x x1
-e .
N ( x ) = -------------e
x2 x1
e
2

(90)

Figure 5 Nodal expansion function for eth functions considering linear approximation

The basis functions have unit magnitude at one node and vanish at all others with
linear variation between the nodes. When eo = 3 , we have quadratic elements that
are also known as second order elements. Each element has three nodes, one of two
endpoints, and the third is usually placed at the center of the element. Within each
element, the unknown function is approximated as a quadratic function

e ( x ) = ae + be x + ce x2 .

(91)

41

BEAM PROPAGATION METHOD (BPM)

Enforcing Equation 91 at the three nodes of the element yields:

e1 = a e + b e x e1 + c e ( x e1 )

e2 = a e + b e x e2 + c e ( x e2 )

e3 = a e + b e x e3 + c e ( x e3 ) .
2

Solving for ae, be,

and ce and substituting them back into Equation 91, we obtain

eo = 3

(x)=
e

N (x )
e
j

e
j

(92)

j=1

where the interpolation or expansion functions are given by

( x x2 ) ( x x3 )
e
N 1 = ---------------------------------------e
e
e
e
( x1 x2 ) ( x 1 x3 )

(93)

( x x1 ) ( x x3 )
N = ---------------------------------------e
e
e
e
( x2 x1 ) ( x 2 x3 )

(94)

e
2

42

BEAM PROPAGATION METHOD (BPM)

( x x1 ) ( x x2 )
e
-.
N 3 = ---------------------------------------e
e
e
e
( x3 x1 ) ( x 3 x2 )
e

(95)

Figure 6 The nodal expansion function for eth functions considering quadratic approximation

43

BEAM PROPAGATION METHOD (BPM)

When the expansion Equation 92 is substituted into Equation 87 we get

eo


e=1 i=1

x2

Ne

p dW m ( x ) dN i ( x )
----------------- dx ei
k ( qs n )W m ( x )N ( x ) --- -----------------s dx
dx
e

2
0

2
ref

e
i

x1

i
e
e
- 2jk 0 n ref i psN i ( x )W m ( x ) dx --------
psN ( x )Wm ( x )dx --------z
z
e
e
j=1
x1
x1

eo

x2

e
i

e
i
2

d
pW m ( x ) -----dx

d
pW m ( x ) -----dx
x=x

j=1

eo

=0.

x2

(96)

x = x0

The terms in the brackets are due to contributions from endpoints of the domain and
their evaluation is subject to the specific boundary conditions. This equation now
explicitly shows how the boundary conditions enter into the construction of the linear
system. Hereon, we will refer to their contributions as endpoints since we have not yet
specified the type of boundary condition to be imposed.
We are now ready to make different choices for the weighting function to generate a
system of linear equations for the solution of { n} . As stated earlier, this step is also
referred to as testing and Galerkin's method is usually employed in the finite element
e
method. Specifically, we choose W m ( x ) = N j ( x ) and for each of these testing or
weighting functions a single linear equation is generated.

44

BEAM PROPAGATION METHOD (BPM)

From Equation 96 we have

Ne

e=1

eo

i = 1

x2

p dN i ( x ) dN j ( x )
2
2
e
e
- ----------------- dx ei
k 0 ( qs n ref )N i ( x )N j ( x ) --- ---------------s dx
dx
e

x1

eo

e
e
-i
psNi ( x )Nj ( x ) dx ------z
e
x1

x2

eo

e
e
2jk 0 n ref
psNi ( x )Nj ( x ) dx --------z
2

e
i
2

j = 1 xe
1

j=1

Ne
pN 2 ( x ) d-----dx

x = xf

1
d
pN 2 ( x ) ----dx

x2

=0.

(97)

x=0

We can rewrite Equation 97 in matrix form as

Ne

e
e d2 { e }
e d{ }
----------------------------[
M
]

2jk
n
[
M
]
0 0
2

dz
dz
e=1

+ ( [ k ] k0 n0 [ M ] ) { } + ge { } } = 0
e

(98)

where { } is the element electric or magnetic field,


e
e
element matrices [ K ] ij and [ M ] ij are given by
e

{ 0 } is a null vector and the

dN i ( x ) dN j ( x )
- ---------------- dx
[ K ] ij = k q ( x )s ( x )N ( x )N ( x ) dx p ( x )s ( x ) --------------dx
dx
e

2
0

e
i

e
j

45

(99)

BEAM PROPAGATION METHOD (BPM)

N ( x )N ( x ) dx

[ M ] ij =
e

e
i

e
j

(100)

ge =

p---------(x)
d N ( x ) ----s ( x ) 1 dx

if e = 1
x = x0

p---------( x ) Ne d
N ( x ) -----s(x) 2
dx

(101)

if e = Ne .
x = xf

Here [ K ] ij and [ M ] ij are tridiagonal when we use linear base function to expand
the field element or pentadiagonal when we adopt quadratic base function to expand
e
the field. Since N i ( x ) are linear functions, the evaluation of integrals can be carried
out in closed form provided pe(x) and qe(x) are taken as constant over integration of
e
e
e
e
e
e
the eth element. Specifically, setting p ( x ) p and q ( x ) q for x 1 < x < x 2 .
e

As a result of integral evaluation we have


(1) Linear elements:

I1 =

le 2 1
1 2

N N dx = --6e
i

e
j

(102)

dN dN
1
I 2 = --------i --------j dx = --- 1 1 .
dx dx
le 1 1
e

(103)

(2) Quadratic elements:

I1 =

46

4 1 2
le
e e
----N
N
d
x
=
i j
30 1 4 2
e
2 2 16

(104)

BEAM PROPAGATION METHOD (BPM)

7 8 1
e
e
dN i dN j
1
I 2 = -------- -------- dx = ------ 8 16 8 .
dx dx
3l e
e
1 8 7
Here

(105)

le = x2 x1 .

b) Boundary Condition
The endpoint contributions appear only when e
Neumann

d-----dx

or Dirichlet conditions

= d-----dx
x=0
x=0

= 1 or e = m and vanish when the

= 0
x = xf

x = xf

are imposed.

To set the TBC as defined in Transparent Boundary Condition on page 23, we


define:

ge =

jk 1
jk f p
0

if e = 1
if e = Ne
otherwise.

(106)

Here,

1, i
1
k 1, i = j -------------------- ln ------x 2, i x 1, i 2, i

(107)

f, i
1
k 1, i = j ------------------------ ln -----x f, i x f 1, i f, i

(108)

where the real parts of k 1, i and


radiation outflow.

k m, i must be restricted to be positive to ensure only

For Dirichlet, Neumann, and TBC boundary conditions, we set


introduce the parameter s as defined by Equation 45.

s = 1 . For PML, we

47

BEAM PROPAGATION METHOD (BPM)

Wide-Angle Beam Propagation Method based on Pad Approximant


Operators
Here, we follow the Pad approximant approach to get the wide angle beam
propagation [31].
It is worth it to point out that expansion via Pad is more accurate than Taylor
expansion for the same order of terms. When Pad is employed, larger angles, higher
index contrast and more complex mode interference can be analyzed in both guided
wave and free space as the Pad order increases. See below the guidelines for using
the Pad technique:
We may formally rewrite Equation 50 in the form

P 2k 0 n ref

- .
------ = j ---------------------------------------------------1 + ( j 2k 0 n ref ) ( z )
z

(109)

Equation 109 can be reduced to the following expression:

N------ = j --,
D
z
where

(110)

N and D are both polynomials of the operator P .

Differentiating Equation 110 based on FD scheme, we get

D j z ( 1 )N
l + 1 = ---------------------------------------- l .
D + j z N

(111)

The parameter is introduced to control the finite difference scheme. The range of
is between 0 and 1. We can have standard implicit scheme with = 0 , explicit
scheme with = 1 and Crank-Nicolson scheme with = 0.5. For CrankNicolson scheme the propagating field does not diverge as the beam propagates.
The numerator of the term on the right-hand side of Equation 111 can be factorized as

( An P + Bn P
N

N1

+ Cn P

where the coefficients


equations

N2

+ ) = ( 1 + c n P ) ( 1 + c 2 P ) ( 1 + c 1 P )

c 1, c 2, , c n can be obtained by solving the algebraic

( D j z ( 1 )N ) = ( A n P + B n P
N

48

(112)

N1

+ Cn P

N2

+ ) = 0 .

(113)

BEAM PROPAGATION METHOD (BPM)

The denominator of the term on the right-hand side of Equation 111 can be factorized
as

( Ad P + Bd P
N

N1

Cd P

where the coefficients

N2

+ ) = ( 1 + d n P ) ( 1 + d 2 P ) ( 1 + d 1 P )

(114)

d 1, d 2, d n can be obtained by solving the algebraic equation

D + j z N =

d P
i

(115)

= 0.

i=0

Here,

c0 = d0 = P = 1

l + 1 at z + z

Thus, the unknown field


follows

l at z

as

An P + Bn P
+ Cn P
+ l
-
= ----------------------------------------------------------------------N
N 1
N 2
Ad P + Bd P
+ Cd P
+

(116)

( 1 + c P ) ( 1 + c P ) ( 1 + c P )
( 1 + d n P ) ( 1 + d 2 P ) ( 1 + d 1 P )

(117)

l+1

is related to the known field

N 1

N 2

or
n
2
1
l + 1 = ---------------------------------------------------------------------------l .

In general, determination of the c 's and


order complex algebraic equation.

d 's requires the one-time solution of an n th-

The explicit expressions for the corresponding Wide-angle (WA) orders using Pad
approximant operator are shown below.
The term

-------2z
2

in Equation 109 can be taken into account quite effectively by using the recursion
relation:

---z

P 2k 0 n ref
-.
= j -----------------------------------------------------------1 + ( j 2 k 0 n ref ) ( z ) n 1

(118)

49

BEAM PROPAGATION METHOD (BPM)

If Equation 118 is now used to replace the z derivative in the denominator of


Equation 118 we can get the following explicit expressions for several wide-angle
(WA) orders.

Fresnel Approximation (Pad 0th order)


For paraxial approximant, we get the following equation:

---z
here

a = 2k 0 n ref ,

---z

Pa
P
= j ------------------------ = j --a
j
1 + --- ----a z 1

(119)

= 0
1

From Equation 119, we get

D = 1,

(120)

N = Pa

(121)

P
D j z ( 1 )N = 1 j z ( 1 ) --- = 1 + A n P
a

(122)

P
D + j z N = 1 + j z --- = 1 + A n P
a

(123)

z ( 1 )
A n = j -----------------------a

(124)

z
A d = j ------ .
a

(125)

and therefore

where

50

BEAM PROPAGATION METHOD (BPM)

Thus, the unknown at field


follows:

l+ 1

at

z + z is related to the known field at z as


l

1+A P
1 + Ad P

n
- l
l + 1 = ------------------

(126)

or

( 1 + Ad P )

l+ 1

= ( 1 + An P ) .

(127)

Using Equation 127 we finally can get the unknown field


l
known field

l+ 1

at

z + z from the

If we consider FEM we get,


e 1
e
e
2 2
P = [ M ] ( [ K ] k 0 n ref [ M ] ) .

(128)

Thus, we can rewrite Equation 127 as

( [ M ] + Ad [ L ] )
e

l+ 1 2

= ( [ M ] + An [ L ] )
e

(129)

here

[ L ] = [ K ] k 0 n ref [ M ] .
e

The element matrices


respectively.

(130)

[ M ] and [ K ] are defined by Equation 100 and Equation 99,


e

Wide Angle (WA), Pad(1,1)


Using the recurrence formula Equation 118, we get:

---z
Here

Pa
= j -------------------------------------------- .
1 + ( j a ) ( z ) 0

(131)

a = 2k 0 n ref .

Using Equation 119 into Equation 131, we get:

---z

Pa
= j -------------------P
1 + ---2

(132)

N = P
--a

(133)

51

BEAM PROPAGATION METHOD (BPM)

P
D = 1 + ----2 .
a

(134)

Thus,

P j z ( 1 ) P
--D j z ( 1 )N = 1 + ---2
a
a
1
(1 )
= 1 + ----2 j z ----------------- P = 1 + A n P
a
a

(135)

and,

P + j z P
1 + j z
--- = 1 + ------ P = 1 + A d P
D + j z N = 1 + ---2
2

a
a
a
a

(136)

where

1 )
1 j z (---------------A n = ---
2
a
a

(137)

z
1
A d = ----2 + j ---------- .
a
a
Thus, we can get the unknown field
the triagonal linear system:

l + 1 at z + z

( 1 + Ad P )

l+ 1

(138)

from the known field

= ( 1 + An P )

solving

(139)

If we consider FEM we get,

P = [ M ] ( [ K ] k 0 n ref [ M ] ).
e 1

52

(140)

BEAM PROPAGATION METHOD (BPM)

Thus, we can rewrite Equation 140 as

( [ M ] + Ad [ L ] )
e

l+ 1 2

= ( [ M ] + An [ L ] )
e

(141)

here

[ L ] = [ K ] k 0 n ref [ M ]
e

(142)

53

BEAM PROPAGATION METHOD (BPM)

Wide Angle (WA), Pad(2,2)


Using recurrence formula Equation 118 for Pad(2,2) we get:

---z

Pa
= j -------------------------------------------1 + ( j a ) ( z ) 2

(143)

---z

Here

P
--- + P
----3a a
= j ---------------- .
1 + 2P
------2a

(144)

a = 2k 0 n ref .

Using Equation 144 into Equation 143, we get:

---z

2 2
P
--- + ----3 P
a a
= j ---------------------------2 .
I + 3P
------2- + P
----4a
a

(145)

From Equation 145, we get:

2 2
N = P
--- + ----3 P
a a

(146)

P
D = 1 + 3P
------2- + ----4- .
a
a

(147)

Thus,

1 )
3 j z (---------------- P
D j z ( 1 )N = 1 + ---
a2
a
2
1 2 z1 - 2
j P = 1 + B n P + A n P
+ ----4 --------------------3
a
a

54

(148)

BEAM PROPAGATION METHOD (BPM)

and,

3
D + j z N = 1 + ----2 + j z --- P +
a
a
2 z - 2
2
1 + ----------- ---j P = 1 + Bd P + Ad P
3
4
a

(149)

z ( 1 -)
1 2-------------------------A n = ---j,
3
4
a
a

(150)

z ( 1 )3
----------------------j,
B n = ---2
a
a

(151)

2 z 1 + -----------j,
A d = ---3
4
a
a

(152)

where:

z 3 +
--------j.
B d = ---2
a
a
Thus, the unknown field
follows

l + 1 at z + z

is related to the known field

(153)

l at z

as

1 + Bn P + An P l
( 1 + c2 P ) ( 1 + c1 P ) l .
-2 = --------------------------------------------- l + 1 = -----------------------------------1 + Bd P + Ad P

(154)

( 1 + d2 P ) ( 1 + d1 P )

Multistep Method
In order to solve Equation 154, we applied the multistep method developed by
Hadley.
First, we rewrite Equation 154 as

1 + d2 P l + 1
1 + c1 P l
-----------------
- .
= ----------------1 + c2 P
1 + d1 P

(155)

55

BEAM PROPAGATION METHOD (BPM)

Then, defining the field

l+ 1 2

as

1+d P
1 + c2 P

2
- l+ 1 .
l + 1 2 = -----------------

(156)

We rewrite Equation 154 as

1+c P
1 + d1 P

1
- l .
l + 1 2 = -----------------

Since

is known, we can obtain

l+ 1 2

( 1 + d1 P )

l+ 1 2

(157)

by solving:

= ( 1 + c1 P ) .

(158)

P = [ M ] ( [ K ] k 0 n ref [ M ] ).

(159)

If we consider FEM, we get,


e 1

Thus, we can rewrite Equation 158 as

( [ M ] + d1 [ L ] )
e

l+ 1 2

= ( [ M ] + c1 [ L ] )
e

(160)

here

[ L ] = [ K ] k 0 n ref [ M ] .
e

Using

(161)

l + 1 2 , we rewrite Equation 156 as


( 1 + d2 P )

l+ 1

= ( 1 + c2 P )

l+ 1 2

(162)

If we are using FEM, we get,

( [ M ] + d 2 [ L ])
e

l+ 1

= ( [ M ] + c 2 [ L ])
e

l+ 1 2

(163)

Solving Equation 162 or Equation 162, we can obtain the unknown field
. It is
apparent from the form of Equation 154 that an n th-order Pad propagator may be
decomposed into an n -step algorithm for which the i th partial step takes the form
l+ 1

1+cP
1 + di P

i
- l + (i 1) n
l + i n = ----------------

when

i = 1, 2, , n .

The run time for an n th-order propagator is obviously


Therefore, for Pad (2,2) we follow the steps:

56

(164)

n times the paraxial run time.

BEAM PROPAGATION METHOD (BPM)

Compute

l+ 1 2

considering the linear system:

( 1 + d1 P )

l+ 1 2

= ( 1 + c1 P ) .

(165)

If we are using FEM we get:

( [ M ] + d1 [ L ] )
e

Finally, to get the field

l+12

= ( [ M ] + c1 [ L ] ) .
e

l + 1 at z + z

( 1 + d2 P )

l+ 1

(166)

we solve:

= ( 1 + c2 P )

l+ 1 2

(167)

If we are using FEM, we get,

( [ M ] + d2 [ L ] )
e

l+ 1

= ( [ M ] + c2 [ L ] )
e

l+12

(168)

Wide Angle, Pad (3,3)


Using recurrence formula Equation 118 for Pad (3,3), we get:

---z

---z

(169)

Pa
= j -------------------------------------------1 + ( j a ) ( z ) 4

(170)

Pa
= j -------------------------------------------- .
1 + ( j a ) ( z ) 3

Using Equation 145 into Equation 169, we get:


2

----z

P
--- + 3P
--------+P
----53
a
a
a
= ---------------------------------------------------------------------- .
3 + ---1 P + ---1 + ---2 P2
1 + ---2
2
2
4

a a
a a

(171)

Finally, using Equation 171 into Equation 169, we get:


2

---z

Here

P
--- + 4P
-------- + 3P
-------3
5
a
a
a
-3 .
= j ------------------------------------------2
6P
P
5P
- + ----61 + ------2- + -------2
a
a
a

(172)

a = 2k 0 n ref .

57

BEAM PROPAGATION METHOD (BPM)

From Equation 172, we get:


2

N = P
--- + 4P
-------- + 3P
-------3
5
a
a a

(173)

2
P
D = 1 + 5P
------2- + 6P
-------+ ----6- .
2
a
a
a

(174)

Thus,

z ( 1 )6 4j z ( 1 ) 2
5 j
----------------------P + ---D j z ( 1 ) N = 1 + --- ---------------------------- P
2
4
3
a
a
a
a
1 3j
z ( 1 )- P 3 = 1 + C P + B P 2 + A P 3
+ ------------------------------n
n
n
6
5
a
a

(175)

and

z5 + j
6 + j 4------------z- P + ---D + j z N = 1 + --- P2 +
3
2
4
a
a
a
a
z - 3
2
3
1 + j 3-----------+ ---P =1 + C d P + B d P + A d P
5
6
a
a

(176)

where

58

3j z ( 1 )1 ---------------------------A n = ---6
5
a
a

(177)

6 ---------------------------4j z ( 1 -)
B n = ---4
3
a
a

(178)

z ( 1 )5 j
----------------------C n = ---2
a
a

(179)

BEAM PROPAGATION METHOD (BPM)

Thus, the unknown field


follows

1 3j z
A d = ----6 + -------------5
a
a

(180)

6 + -------------4j z B d = ---4
3
a
a

(181)

z 5 + j
--------C d = ---.
2
a
a

(182)

l + 1 at z + z
2

1+C P+B P +A P
1 + Cd P + Bd P + Ad P

is related to the known field

l at z

as

(1 + c P)(1 + c P)(1 + c P)
( 1 + d3 P ) ( 1 + d2 P ) ( 1 + d1 P )

n
n
n
3
2
1
-3 l = --------------------------------------------------------------------- l .
l + 1 = -----------------------------------------------------2

(183)

Multistep method
In order to solve Equation 183, we use the Multistep method, that is, the unknown field
l + 1 can be obtained from the known field l by successively solving Equation 164
for i = 1, 2, 3 . Therefore for Pad(3,3) we follow the steps:
1

Using

l , compute l + 1 3
( 1 + d1 P )

considering the linear system:


l+ 1 3

= ( 1 + c1 P ) .

l+ 1 3

= ( [ M ] + c1 [ L ] ) .

(184)

In case of using FEM solve,

( [ M ] + d1 [ L ] )
e

Using

l + 1 3 , compute l + 2 3
( 1 + d2 P )

(185)

considering the linear system:

l+ 2 3

= ( 1 + c2 P )

l+ 1 3

l+23

= ( [ M ] + c2 [ L ] )

(186)

In case of using FEM compute,

( [ M ] + d2 [ L ] )
e

l+ 1 3

(187)

59

BEAM PROPAGATION METHOD (BPM)

l+ 2 3

Finally, using l + 1 , compute the following linear system to obtain the


unknown field
at z + z :

( 1 + d3 P )

l+ 2 3

l+ 1

= ( 1 + c3 P )

l+1

= ( [ M ] + c3 [ L ] )

(188)

In case of using FEM compute,

( [ M ] + d3 [ L ] )
e

60

l+ 2 3

(189)

BEAM PROPAGATION METHOD (BPM)

Wide Angle (WA), Pad (4,4)


Using recurrence formula Equation 118 for Pad (4,4) we get:

---z

---z

Pa
= j -------------------------------------------1 + ( j a ) ( z ) 6

(190)

Pa
= j -------------------------------------------- =
1 + ( j a ) ( z ) 5
2

P
-------- + 6P
--------+P
----7--- + 5P
3
5
a
a
a
a
j --------------------------------------------------------------------------------------------------------- .
5 1
6 4 2
1 3 3
1 + ----2 + ----2 P + ----4 + ----4 P + ----6 + ----6 P
a a
a a
a a

(191)

Using Equation 191 into Equation 190 we get:


2

---z

P
--- + 6P
-------- + 10P
----------- + 4P
-------3
5
7
a
a
a
a
-4 .
= j ----------------------------------------------------------------2
3
7P
15P
10P
P
1 + ------2- + ----------- + ----------- + ----84
3
a
a
a
a

(192)

From Equation 192, we get:


2

N = P
--- + 6P
-------- + 10P
----------- + 4P
-------3
5
7
a
a
a a

(193)

2
3
P
15P- 10P
D = 1 + 7P
------2- + --------------------+
+ ----8- .
4
6
a
a
a
a

(194)

61

BEAM PROPAGATION METHOD (BPM)

Thus,

z ( 1 )
7
D j z ( 1 ) N = 1 + ----2 j ------------------------ P
a

a
6 z ( 1 )- 2 10 10
z ( 1 )- 3
+ 15
-----4- j -------------------------P + -----6- j ----------------------------P
3
5
a

a
a
z ( 1 )- 4
2
3
4
1 j 4-------------------------+ ---P =1 + D n P + C n P + B n P + A n P
7
a8

(195)

and

z -
6 z - 2
7 + j
--------D + j z N = 1 + ---P + 15
-----4- + j -----------P
3
2
a
a
a
a
z 3 1
4 z 4
10- + j 10
--------------- P + ----8 + j ------------ P
+ ----5
7
a6

a
a
a
2

= 1 + Dd P + Cd P + Bd P + Ad P

(196)

here

62

z ( 1 )
1 j 4-------------------------A n = ---7
8
a
a

(197)

z ( 1 )B n = 10
-----6- 10j
------------------------------5
a
a

(198)

z ( 1 )C n = 15
-----4- 6j
---------------------------3
a
a

(199)

z ( 1 )7 j------------------------D n = ---
.
2
a
a

(200)

BEAM PROPAGATION METHOD (BPM)

l + 1 at z + z

Thus, the unknown field


follows:

is related to the unknown field

1+D P+C P +B P +A P
1 + Dn P + Cn P + Bn P + An P

l at z

as

d
d
d
d
-4 l
l + 1 = ------------------------------------------------------------------------2
3

( 1 + c4 P ) ( 1 + c3 P ) ( 1 + c2 P ) ( 1 + c1 P ) l
- .
= --------------------------------------------------------------------------------------------( 1 + d4 P ) ( 1 + d3 P ) ( 1 + d2 P ) ( 1 + d1 P )

(201)

Multistep Method
In order to solve Equation 201, we use the multistep method, that is, the unknown field
l + 1 is obtained with the following the steps:
1

Compute

l+ 1 4

solving the linear system:

( 1 + d1 P )

l+ 1 4

= ( 1 + c1 P ) .

l+ 1 4

= ( [ M ] + c1 [ L ] ) .

(202)

In case of using FEM compute,

( [ M ] + d1 [ L ] )
e

Compute

l+ 1 2

(203)

solving the linear system:

( 1 + d2 P )

l+ 1 2

= ( 1 + c2 P )

l+ 1 4

l+ 1 2

= ( [ M ] + c2 [ L ] )

(204)

In case of using FEM compute,

( [ M ] + d2 [ L ] )
e

Compute

l+ 3 4

l+ 1 4

(205)

solving the linear system:

( 1 + d3 P )

l+ 3 4

= ( 1 + c3 P )

l+ 1 2

l+ 3 4

= ( [ M ] + c3 [ L ] )

(206)

In case of using FEM compute,

( [ M ] + d3 [ L ] )
e

l+ 1 2

(207)

63

BEAM PROPAGATION METHOD (BPM)

Finally, knowing
linear system:

l + 3 4 , compute the known field l + 1 at z + z l solving

( 1 + d4 P )

l+ 1

= ( 1 + c4 P )

l+ 3 4

(208)

In case of using FEM compute,

( [ M ] + d4 [ L ] )
e

l+ 1

= ( [ M ] + c4 [ L ] )
e

l+ 3 4

(209)

The advantage of the multistep is that the matrix equation to be solved in each step
is the same size as the Fresnel equation and for 2D problems is tridiagonal when we
consider Finite Difference method (FD) or Finite Element Method (FEM) considering
linear element.

64

BEAM PROPAGATION METHOD (BPM)

References
[1]

M.D. Feit and J.A. Fleck, Jr.: Light Propagation in Graded-Index Optical Fibers, Appl. Opt. 17,
(1978): 3990-3998.

[2]

M.D. Feit and J.A. Fleck, Jr.: Analysis of Rib Waveguides and Couplers by the Propagating
Beam Method, J. Opt. Soc. Am. A 7, (1990): 73-79.

[3]

D. Yevick and B. Hermansson: Efficient Beam Propagation Techniques, IEEE J. Quantum


Electron. 29, (1990): 109-112.

[4]

T.B. Koch, J.B. Davies, and D. Wickramasingle: Finite Element/Finite Difference Propagation
Algorithm for Integrated Optical Devices, Electron. Lett. 25, (1989): 514-516.

[5]

D. Yevick: A Guide to Electric Field Propagation Technique for Guided-Wave Optics, Opt.
Quantum Electron. 26, (1994): S185-S197.

[6]

R. Scarmozzino, A. Gopinath, R. Pregla, and S. Helfert: Numerical Techniques for Modeling


Guided-Wave Photonic Devices, IEEE J. Quantum Electron. 6, (2000): 150-162.

[7]

W.P. Huang and C.L. Xu: Simulation of Three-Dimensional Optical Waveguide by a Full-Vector
Beam Propagation Method: IEEE J. Select. Quantum Electron. 29, (1993): 2639-2649.

[8]

C.L. Xu, W.P. Huang, S.K. Chaudhuri, and J. Chrostowski: An Unconditionally Stable Vectorial
Beam Propagation Method for 3-D Structures, IEEE Photon. Technol. Lett. 6, (1994): 549-551.

[9]

J. Yamauchi, T. Ando, and H. Nakano: Beam Propagation Analysis of Optical Fibers by


Alternating Direction Implicit Method, Electron. Lett. 27, (1991): 1663-1665.

[10]

G.R. Hadley: Transparent Boundary Condition for the Beam Propagation Method, IEEE
J. Quantum Electron. 28, (1992): 363-370.

[11]

Yasuyuki Arai, Akihiro Maruta, and Masanori Matsuhara: Transparent Boundary for the FiniteElement Beam Propagation Method, Opt. Lett. 18, (1993): 765-766.

[12]

J.P. Berengr: A Perfectly Matched Layer for the Absorption of Electromagnetic Waves,
J. Comput. Phys. 114, (1994): 185-200.

[13]

F. Fogli, G. Bellanca, and P. Bassi: TBC and PML conditions for 2D and 3D BPM: A Comparison,
Opt. Quantum Electron. 30, (1998): 443-456.

[14]

K. Kawano and T. Kitoh: Introduction to Optical Waveguide Analysis. John Wiley & Sons, Inc.
(2001).

[15]

W.P. Huang, C.L. Xu, W. Lui, and K. Yokoyama: The Perfectly Matched Layer (PML) Boundary
Condition for the Beam Propagation Method, IEEE Photon. Technol. Lett. 8, (1996): 649-651.

[16]

. Pekel, and R. Mittra: A Finite-Element Method Frequency-Domain Application of the


Perfectly Matched Layer (PML) Concept, Microwave and Opt. Technol. Lett. 9, (1995): 117-122.

[17]

M. Koshiba, Y. Tsuji, and M. Hikari: Finite Element Beam Propagation Method with Perfectly
Matched Layer Boundary Conditions, IEEE Trans. on Magnetics 34, (1999): 1482-1485.

[18]

D. Jimnez, C. Ramirez, F. Prez-Murano, and A. Guzmn: Implementation of Brenger Layers


as Boundary Bonditions for the Beam Propagation Method: Applications to Integrated
Waveguides, Opt. Commun. 159, (1999): 43-48.

[19]

J. Yamauchi, J. Shibayama, and H. Nakano: Beam Propagation Method using Pad


Approximant Operators, Trans. IEICE Jpn. J77-C-I, (1994): 490-494.

65

BEAM PROPAGATION METHOD (BPM)

[20]

G.R. Hadley: Wide-Angle Beam Propagation using Pad Approximant Operators, Opt. Lett. 17,
(1992): 1426-1428.

[21]

M. Koshiba and Y. Tsuji: A Wide-Angle Finite Element Beam Propagation Method, IEEE
Photon. Technol. Lett. 8, (1996): 1208-1210.

[22]

G.A. Baker: Essential of Pad Approximants. Academic, New York, (1975).

[23]

Y. Chung and N. Dagli: Assessment of Finite Difference Beam Propagation, IEEE J. Quantum
Electron. (1990): 1335-1339.

[24]

Y. Chung and N. Dagli: Explicit Finite Difference Vectorial Beam Propagation Method, Electron.
Lett. 27, (1991): 2119-2121.

[25]

R. Accornero, M. Artiglia, G. Coppa, P. Di Vita, G. Lapenza, M. Potenza, and P. Ravetto: Finite


Difference Methods for the Analysis of Integrated Optical Waveguide, Electron Lett. 26,
(1990): 1959-1960.

[26]

H. J. W. M. Hoekstra, G. J. M. Krijnen, and P. V. Lambeck: New Formulations of the Beam


Propagation Based on the Slowly Varying Envelope Approximation, Opt. Commun. 97,
(1993): 301-303.

[27]

W.P. Huang, C.L. Xu, S.T. Chu, and S. Chaudhuri: The Finite-Difference Vector Beam
Propagation Method: Analysis and Assessment, J. Lightwave Technol. 10, (1992): 295-305.

[28]

M. Koshiba: Optical Waveguide Theory by Finite Element Method. KTK Scientific Publishers
and Kluwer Academic Publishers, Dordrecht, Holland, (1992).

[29]

J. Jin: The Finite Element Method in Electromagnetics. John Wiley & Sons, Inc. (1993).

[30]

J. L. Volakis, A. Chatterjee, and L. C. Kempel: Finite Element Method for Electromagnetics.


IEEE Press (1998).

[31]

G. R. Hadley: Multistep Method for Wide-Angle Beam Propagation, Opt. Lett. 17,
(1992): 1743-1745.

[32]

G.R. Hadley: Full-Vector Waveguide Modelling Using an Interative Finite-Difference Method


with Transparent Boundary Conditions, J. Lightwave Technol. 13, (1995): 465-469.

66

CONFORMAL MAPPING REGIONS

Conformal Mapping Regions


Conformal mapping region in BPM is used to simulate curved optical waveguides.
The method uses conformal mapping in the complex plane to transform a curved
waveguide in ( x, y ) coordinates into a straight waveguide with a modified refractive
index in new ( u, v ) coordinates (Figure 1). It can be used to treat losses in curved
waveguides with both abruptly and a continuously varying refractive index, such as
diffused waveguides, and the radii of curvature need not to be restricted to large
values as in the first order approximations [2].
Figure 1 Conformal mapping transforms a curved waveguide in (x,y) into a straight waveguide with
modified refractive index in (u,v)

Conformal mapping is an angle-preserving transformation in a complex plane. For


example, consider solutions of the 2-dimensional scalar wave equation:

+ ----- - + k 2 n 2 ( x, y ) = 0
------2
2
x z
2

The solutions of the equation are found in a coordinate system


respect to ( x, z ) by the relation

(1)

( u, v ) defined with

W = u + iv = f ( x + iz ) = f ( Z )

(2)

where f is an analytical function in the complex plane. In the case of curved


waveguides with a bend radius of R , the following function will straighten the bent
waveguide in the (u,v) plane as shown in Figure 1:

67

CONFORMAL MAPPING REGIONS

W = R 2 ln ( Z R 2 )

(3)

The transformation in Equation 3 leads to a new scalar wave equation:

- + ------ + k 2 dZ 2 n 2 ( x ( u, v ), y ( u, v ) ) = 0
-------------2
2
dW
u v
2

(4)

where the Jacobian of the transformation is found to use the command:

dZ- = exp ( u R )
------2
dW
Trying to solve the original wave Equation 1 for bends may lead to large errors due to
the paraxial approximation used in BPM. Using conformal mapping technique we can
avoid the limitations imposed by the paraxial approximation and simply solve the
wave equation Equation 4 for a straight waveguide with a modified refractive index

dZ- n ( x, y ) .
------dW
Along with the argument in [3], the method can be also used in 3D cases by applying
the transformation to any given depth of the waveguide.

68

CONFORMAL MAPPING REGIONS

References
[1]

M. Heiblum and J.H. Harris: Analysis of Curved Optical Waveguides by Conformal Mapping,
IEEE J. Quant. Electron. 11, (1975): 75-83.

[2]

S.J. Garth: Modes on a Bent Optical Waveguide, IEEE Proc. J. 134, (1987): 221-229.

[3]

P.L. Fan, M.L. Wu, and C.T. Lee: Analysis of Abrupt Bent Waveguides by the Beam Propagation
Method and the Conformal Mapping Method, J. Light. Technol. 15, (1997): 1026-1031.

69

CONFORMAL MAPPING REGIONS

Notes:

70

DIFFUSION IN LITHIUM NIOBATE

Diffusion in Lithium Niobate


Titanium Diffusion in Lithium Niobate
The Titanium diffused waveguides in Lithium Niobate, or the Ti:LiNbO3 waveguides,
are formed by the diffusion of the Titanium dopant into the Lithium Niobate host. To
form a waveguide, a stripe of Titanium is deposited on the LiNbO3 substrate. For a
given stripe width, which we identify with the waveguide width, the amount of Titanium
is characterized by the stripe thickness before diffusion. The Titanium Lithium Niobate
sample is heated for a few hours at temperatures that range from hundreds to a
thousand degrees Celsius. The Titanium ions penetrate the host substrate and form
a graded index waveguide. The graded waveguide has a bell-shaped refractive index
distribution in the lateral and in-depth directions. The index distribution can be
characterized phenomenologically by diffusion lengths or, as an alternative, by
diffusion constants, diffusion temperature and a diffusion temperature coefficient.
Moreover, since the Lithium Niobate crystal is anisotropic, the refractive index
depends on the crystal cut and light polarization. Referring to the anisotropy, we
distinguish between ordinary and extraordinary parameters. The material dispersion
is also taken into account. The chromatic dispersion factor is different for ordinary and
extraordinary cases.
The graded refractive index n i is a sum of the bulk crystal index
induced index change n i ,
(0)

n i ( , x, y ) = n i ( ) + n i ( , x, y )

(0)

n i and the diffusion-

i = o, e

(1)

where, depending on the crystal cut and polarization, we consider the ordinary ( o ) or
extraordinary ( e ) index distribution. Due to the chromatic dispersion, the graded
index also depends on the wavelength . The chromatic dispersion of the ordinary
and extraordinary bulk index is computed using Sellmeiers dispersion equations
( in m)
(0) 2

(2)

( n e ) = 4.582 0.099169 ( 0.044432 ) 0.02195 ,

(3)

( n o ) = 4.9048 0.11768 ( 0.0475 ) 0.027169


(0) 2

that are valid for wavelengths ranging from 0.43584 to 3.3913

m.

71

DIFFUSION IN LITHIUM NIOBATE

The diffusion-induced index change is described by the product of the dispersion


factor d i ( ) and the distribution function h i ( x, y ) [1],

n i ( , x, y ) = d i ( )h i ( x, y ),

i = o, e.

(4)

where the dispersion factor is different for the ordinary and extraordinary cases
( in m)

0.67
d o ( ) = ------------------- 2 0.13

0.839
d e ( ) = --------------------------2
0.0645

(5)

In turn, the diffusion induced distribution function is a function of the distribution


constant F i , the dopant concentration profile c ( x, y ) and the distribution power
factor i ,

h i ( x, y ) = [ F i c( x, y )] i

i = o, e

(6)

where the distribution constants

F o = 1.3 10

25

cm

F e = 1.2 10

23

cm

and

and the distribution power factors

o = 0.55
and

e = 1.00
are different for the ordinary and extraordinary cases. They are fitted from published
experimental data [1].
The concentration profile can be derived following the classical diffusion theory
[2], [3]. The profile has a bell-shaped form
2

w
w
y -
c ( x, y ) = c 0 erf ---------- 1 + 2x
------ + erf ---------- 1 2x
------ exp ---- D2
2D H
2D H
w
w

(7)

In the lateral direction, that is horizontal to the crystal surface, the profile is
characterized by the combination of error functions. In the crystal in-depth direction,
that is vertical to the crystal surface, it has a Gaussian shape. The profile's parameters
include the profile constant c 0 , the dopant stripe width before diffusion w , the
horizontal (lateral) diffusion length D H , and the vertical (in depth) diffusion length D V .

72

DIFFUSION IN LITHIUM NIOBATE

In OptiBPM, the dopant stripe width before diffusion is identified with the waveguide
width provided by the layout.
The horizontal and vertical diffusion lengths

D H = 2 tD 0H exp ( T 0 T )

(8)

D V = 2 tD 0V exp ( T 0 T )

(9)

are functions of the diffusion time t and the diffusion temperature T . The
temperature coefficient T 0 and the diffusion constants D 0H , D 0V are specific
for the Ti:LiNbO3.
OptiBPM provides the option to enter the horizontal and vertical diffusion lengths
(Profile parameters Group I), or, alternatively, to specify the diffusion process by
entering constant for the diffusion lengths (Group II).
The concentration profile constant is a function of the stripe thickness before
diffusion , the dopant constant C m , and the vertical diffusion length D V
described earlier,

c0 = Cm ( DV )

(10)

C m = ( M at )N A

(11)

The dopant constant

is a material parameter determined by the dopant density , atomic weight


the Avogadros number N A . In the case of Titanium dopant, we assume:

M at and

= 4.51 g cm3, M at = 47.9 g mol1 which gives C m = 5.67 10 22 cm3


The default values are taken from the published literature. There is, however, a
discrepancy between constants provided by different authors. Therefore, OptiBPM
allows a customization of the process data including the material parameters.
Normally, the process is defined only by the diffusion lengths (Group I) or the diffusion
time and temperature (Group II). The temperatures are entered in different scales
(Celsius and Kelvin), in order to follow the laboratory practice and published data
simultaneously. Internally, however, the program converts the entry values and uses
only one system of units. The diffusion time is entered in hours, with fractions in the
decimal notation.

Magnesium Diffusion in Lithium Niobate


The diffusion of Magnesium dopant into the Lithium Niobate host induces negative
index changes. The process starts by deposition of a stripe Magnesium source,
usually the oxide of Magnesium, onto the Lithium Niobate crystal. The sample is then

73

DIFFUSION IN LITHIUM NIOBATE

heated for several hours, similar to the Titanium diffusion process. Formally, the
resulting refractive index distribution can be modeled using similar formulas, so all
parameters have the same meaning in both cases. However, the default parameters
are different.
The major differences between the Ti and Mg diffusion processes:

Magnesium distribution constants are negative in contrast to positive values for Ti


diffusion. From the literature data, the constants are approximately one order of
magnitude larger than those for Titanium diffusion.

The power distribution factors for the Magnesium process are the same for
ordinary and extraordinary indices and equal to unity in contrast to Titanium
process.

Different diffusion constants and temperature coefficients.

Different dopant constant the material density of Magnesium and its atomic
weight produce a dopant constant that is smaller than that of Titanium.

Proton Exchange Process in Lithium Niobate


Proton exchange in Lithium Niobate involves a replacement of Lithium ions (Li+) by
hydrogen ions, or protons (H+). The replacement causes a change in refractive index,
thus forming a waveguide. Proton exchange is one of the methods used for forming
optical waveguides in Lithium Niobate, LiNbO3, as well as in Lithium Tantalate,
LiTaO3. The waveguide formation can have two stages:

Basic proton exchange from an organic proton source.

Annealing post processing.

Basic proton exchange takes place when the Lithium Niobate substrate is immersed
in an appropriate proton source, usually an acid melt, and heated for a couple of hours
at temperatures ranging from 150 to 300 degrees Celsius. Under these conditions,
the two ion species counter diffuse, so that material is exchanged between the
substrate and the melt. The annealing post processing involves solely heating of the
sample to redistribute the Lithium and Hydrogen ions.
Before presenting more details, we note the following important remarks. In the
OptiBPM model, only the extraordinary refractive index is affected (increased) by the
proton exchange process. Changes of the ordinary index are negative. They are
much smaller and therefore neglected.

74

DIFFUSION IN LITHIUM NIOBATE

Proton exchange process on its own leads to a step-function index profile with a
change of the refractive index [4]

(0)

n es = [ 1 exp ( x ) ]

(12)

where the constants = 0.1317 , = 3.4576 , = 1.75 are fitting parameters


from experimental data, and x is the normalized H+ fractional concentration.
The waveguide depth after the exchange is obtained as [6]
(0)

DV =

tD 0 exp ( Q RT )

(13)

where t is the exchange process time, D 0 is the diffusion constant of the


proton exchange process, Q is the activation energy, T is the process
temperature, and where R is the universal gas constant. The most common sources
of Hydrogen ions H+ are the benzoic acid and the toluic acid [7]. The exchange
parameters of these two acids (Table 2), that is their exchange constants and
activation energies, are hard coded in the OptiBPM program. However, any user
source of H+ ions can be defined by providing its exchange constant D 0V and
activation energy Q .
Waveguides fabricated with pure melts are associated with serious problems, in
particular, the degradation in electrooptic coefficient, a large scattering and insertion
loss, and refractive index instabilities. It is therefore a common practice to anneal the
samples after the exchange process in order to eliminate the compositional
instabilities and to restore the material properties [5]. Annealing helps to avoid
problems related to a high fraction of Hydrogen ions in the exchange waveguides.
Naturally, the post exchange annealing process leads to a different refractive
distribution of the refractive index, which can be modeled as

n e ( y ) = n e0 + n es f ( y )g ( x )

(14)

where n e0 is the extraordinary bulk index of the LiNbO3 substrate, n es is the


maximum refractive index change on the surface, and f ( y ) and g ( x ) are the
distribution functions.
The distribution function in the horizontal direction after annealing is approximated in
a similar fashion as in the case of Titanium diffused waveguide using the following
error distribution function:
b

1
w
1
w
2x
2x
g ( x ) = --- erf ---------- 1 + ------ + --- erf ---------- 1 ------
2D H
2
2D H
w
w
2
where the horizontal diffusion length
the horizontal distribution function.

(15)

D H is defined by user and b is the power of

75

DIFFUSION IN LITHIUM NIOBATE

The distribution function in the vertical direction is defined by the hyper-Gaussian


dependence [4], [5]

f ( y ) = exp [ ( y D V ) ]

(16)

where a is the power of the hyper-Gaussian distribution, usually ranging between


10 and 23, and D V is the diffusion depth after annealing or effective guide depth.
The diffusion depth D V as well as the maximum refractive index difference after
annealing n es might have much different values then the ones before annealing. It
is up to the user to define these parameters which can be case dependent. As an
example, we quote empirical relationships to calculate n es and D V for annealing at
200 and 400C taken from [4], [5]:

n es
q
- = pt a
1 ---------(0)
n es

DV
c
-------- 1 = bt a
(0)
DV

(0)

(17)

(0)

where D V is the initial PE depth, n es is the initial change of the refractive index
after proton exchange and b, c, p, q are the fitting parameters (Table 3). The
refractive index distribution is strongly dependent on the post-exchange time t a and
the post-exchange temperature T a .
In a case when the predefined profiles are found not sufficient, user has the option to
define his own refractive index profiles by using the User Function Profiles in Profile
designer.
Table 2

Taken from [6]

Toluic Acid

Benzoic Acid

Temperature range [oC]

109-263

122-249

Diffusion constant D 0 [ m2/hr]

7.02 107

7.36 109

Activation energy Q [kJ/mol]

75.58

94

Table 3

76

T a [oC]

b [hrc]

c []

p [hrq]

q []

300

0.7031

0.0754

0.2325

0.1033

400

1.2884

0.7577

0.3749

0.6574

ELECTROOPTIC EFFECT

Electrooptic Effect
The electrooptic effect is the modification of the refractive index by an externally
applied electrostatic field. In the linear electrooptic effect, the size of the perturbation
to the refractive index is directly proportional to the strength of the local electrostatic
field. In OptiBPM, there are two features to model in the linear electrooptic effect; one
is a general implementation of the effect for any kind of electrode shape and material,
the other is aimed specifically at Lithium Niobate or other crystals with point group
symmetry 3m. The general implementation was introduced in release 9.0. It follows a
strategy of defining an electrode material to identify electrode position and shape the
same way as dielectric materials define optical waveguide position and shape. In this
approach, dielectric materials are supplied with electrostatic permittivity definition, so
that the electrode potentials can be used to find the electrostatic field in the transverse
plane. Once the field is found, the perturbation to the refractive index is found directly
by equation [21].
The 3m point group electrooptic simulation is mainly for the specific technology of
diffused waveguides in electrooptic materials like Lithium Niobate. This feature is
accessed through the Electrode Region Tool found in the layout designer. This feature
works independent of the general electrooptic simulation feature, it is not necessary
to define electrode materials to use the Electrode Region Tool. These Lithium Niobate
devices are waveguide modulators or switches that employ metallic electrodes
deposited on top of optical waveguides to serve the purpose of applying the electric
field. An intermediate buffer layer with a low dielectric constant is often deposited
between the electrodes and the substrate to reduce the losses that are due to the
metallic cover of the waveguide. The efficiency of the device depends on the overlap
between the electric field and the optical field. By changing electrode parameters you
can optimize the device. Usually, the electrode in this kind of electrooptic device is
plated to a thickness of 2-3 microns in order to reduce its ohmic losses while the
electrode width can be as small as 10 microns and the gap between electrodes is
typically 5 microns. The calculation of an electric field of the coplanar electrodes in the
Electrode Region of OptiBPM is based on reference [8].
OptiBPM provides the Electrodes Region tool to enter and specify one or more
electrode sets. Each electrode set can have up to three electrodes, with each
electrode defined by its width and applied voltage. It is also possible to adjust the
separation between the electrodes, their common thickness, and to apply a buffer
layer characterized by its thickness, horizontal and vertical permittivity, and refractive
index. The number of the electrode sets per region is not limited.
From the electrooptic effect perspective, LiNbO3 is a trigonal crystal with the point
group symmery 3m. The matrix of the electrooptic or Pockels coefficients for the
group 3m crystals is [11]

77

ELECTROOPTIC EFFECT

0
0
0
r ij =
0
r 51
r 22

r 22
r 22
0
r 51
0
0

r 13
r 13
r 33
0
0
0

(18)

Values of the electrooptic coefficients can be altered within the Profile Designer,
however, published data are proposed as the program defaults. The crystal
coordinate system (X, Y, Z) is aligned with the principal axes of the crystal. Referring
to the crystal coordinates, the program offers calculations with different crystal cuts,
propagation directions and the choice of the TE and TM polarization.
Notice that the (X, Y, Z) crystal system is not the same as the device layout coordinate
system (x, y, z). In the layout coordinates, it is assumed that the z-direction is the
propagation direction. The electrode fields are referred to the layout coordinates. The
crystal cut direction in conventionally assumed as perpendicular to the crystal wafer
surface. Electrode sets produce static electrical fields that can be either horizontal or
vertical to the crystal surface. The optical fields, being the principal electrical
component of the electromagnetic field, can oscillate horizontally (TE polarization) or
vertically (TM polarization) to the surface.

Index ellipsoid
In the absence of electrode fields the refractive index ellipsoid, or indicatrix, is of the
following form:
2

X
Y- + Z
----2- + --------2 = 1
2
no no ne
where

78

n o , n e are the ordinary and extraordinary refractive indices, respectively.

(19)

ELECTROOPTIC EFFECT

Under the influence of an electric field the index ellipsoid is deformed in space:

1 r E + r E X 2 + ---1 r E + r E Y 2 + ---1 + r E Z2 +
---33 z
n 2 22 y 13 z
n 2 22 y 13 z
n2

(20)

+ 2r 51 E y YZ + 2r 51 E x XZ 2r 22 E x XY = 1
In different cases of the cut, the propagation and polarization, and the electrode field
direction, different electrooptic coefficients r ij are used in the simulation program.
Table 4 is the reference table to help you in entering your electrooptic coefficients.
The mixed coupling terms in the index ellipsoid were ignored. The change in the
corresponding refractive index can be approximated as
3

n
n i' n i + ----i ( r H E H + r V E V )
2

(21)

where E H , E V , r H , and r V are the electric fields in horizontal and vertical directions
and the corresponding electrooptic coefficients, respectively, and i denotes either
ordinary or extraordinary refractive index. Notice that whether the electrode field is
considered horizontal or vertical depends on the electrode configuration, voltage and
the waveguide position. Intuitively, you can assume that the electrostatic field lines
between electrodes follow patterns familiar from electrostatics. For example, if you
place one of the electrodes right on the top of the waveguide, it will likely produce the
static field that is vertical in the waveguide.
Table 4

TE

TM

Crystal Cut

Propagation
Direction

Horizontal
Electrode Field

Vertical
Electrode Field

Horizontal
Electrode Field

Vertical
Electrode Field

r33

r13

r33

r13

r22

r22

r13

r33

r13

r33

r22

r22

r22

r22

79

ELECTROOPTIC EFFECT

References
[1]

E. Strake, G.P. Bava, and I. Montrosset: Modes of channel waveguides: A novel quasi-analytical
technique in comparison with scalar finite-element method, J. Light. Technol. 6, (1988): 11261135.

[2]

J. Crank: The mathematics of diffusion. Oxford University Press, New York, (1975).

[3]

G.B. Hocker and W.K. Burns: Mode dispersion in diffused channel waveguides by the effective
index method, Appl. Opt. 16, (1977): 113-118.

[4]

J. Nikolopoulos and G.L. Yip: Accurate modeling of the index profile in annealed protonexchanged LiNbO3, Proc. SPIE 1583, Integrated Optical Circuits, (1991): 71-82.

[5]

J. Nikolopoulos and G.L. Yip: Theoretical modeling and characterization of annealed protonexchanged planar waveguides in z-cut LiNbo3, J. Light. Technol. 9, (1991): 864-870.

[6]

E.Y.B. Pun, K.K. Loi, and P.S. Chung: Experimental studies of proton-exchanged waveguides
in Lithium Niobate using toluic acid, Proc. SPIE 1583, Integrated Optical Circuits, (1991): 64-70.

[7]

J.L. Jackel: Proton exchange: past, present, and future, Proc. SPIE 1583, Integrated Optical
Circuits, (1991): 54-63.

[8]

H. Jin, M. Belanger, and Z. Jakubczyk: General analysis of electrodes in integrated-optics and


electrooptic devices, J. Quant. Electron. 27, (1991): 243-251.

[9]

H. Jin, R. Vahldieck, M. Belanger, and Z. Jakubczyk: A mode projecting method for the quasistatic analysis of electrooptic device electrodes considering finite metallization thickness and
anisotropic substrate, J. Quant. Electron. 27, (1991): 2306-2314.

[10]

R. Syms and J. Cozens: Optical guided waves and devices, Section 3.7, London, McGraw-Hill,
(1992).

[11]

A. Yariv: Optical Electronics in Modern Communications. 5th edition, Oxford University Press,
(1996).

80

SCATTERING DATA

Scattering Data
Introduction
Ever since the development of compact and user friendly computer-aided design
(CAD) for analyzing various waveguiding structures, or photonic devices, there has
been a growing need to make the methods more flexible and also more efficient than
they were originally found. Pioneering works dealing with numerical methods suitable
for optical circuit simulations and their complex analysis date back to 1960s. It means
they are actually as old as the integrated optics itself. Although these numerical
techniques have appeared to be relatively powerful they can be used to study just
very basic photonic ingredients, as for example various curvilinear directional
couplers and branching or combining waveguides, further the tapered waveguides,
S-bends, and few others. Some more sophisticated techniques even handle
multidirectional propagation of the light (e.g. ring resonator - see below). One can say
that these methods must be exploited in very specific way and a user may be quite
limited or restricted when using them. We are however facing more and more complex
optical circuits (see [1] and [2]). As an extreme example, a user may wish to analyze
a functionality of devices being set up on a six inch wafer. To investigate such a
structure, it is becoming a very serious task, because the layout could consist of quite
exotic subcomponents and their mutual combinations and/or variations in the layout
on the wafer. There is definitely no complex method for such a complete analysis yet
and one can also conclude, that very advanced (see below what it means) circuits are
often out of even theoretical simulation possibilities of those particular methods. We
should also mention the fact that some numerical approaches could be able to
simulate more complex photonic circuits, but the time consumption would be
practically unacceptable, at least uneconomical.
Hence, the purpose of this paper is to show a relatively efficient solution to analyze
advanced photonic circuits. We will consider three principal and frequently exploited
numerical approaches in the following. These methods are good enough to simulate
the particular basic optical ingredients. By comparing them, we will point out their
advantages and disadvantages. This should directly lead to the new proposed
solution when the nontrivial circuits are considered. We will be concerning with an
efficient connection among these methods. Finally, the presented simulation
approach of the advanced circuits will be entirely performed by a proper combination
of the Optiwave Corporation products.

Modeling of the Optical Components - Survey of Methods


There are several possibilities to describe basic photonic components numerically.
We will briefly mention some fundamental properties and mainly their practical
limitations of these simulation methods. When necessary, we will refer to the pertinent
references.
We can start with the Beam Propagation Method (BPM). The last two decades have
been devoted to the extensive study as well as to the extensive exploitation of the
BPM in the photonic field. In fact, this method is based on the numerical description

81

SCATTERING DATA

of the natural unidirectional propagation of the light beam (see [1] and the references
therein). The schematic in Figure 1 depicts the well-known four port coupler, one of
the most typical examples being studied by BPM (please note the sizes, especially
the slopes of the waveguides). We explain the fundamental limitation of the BPM with
this example.
Figure 1 Four-port coupler

The reason of the unidirectional properties of the BPM is obvious, since the method
is derived under the paraxial approximation. This yields an accurate analysis just in
the close vicinity of the longitudinal axis. The propagation direction is also indicated
on the schematics above. Some relaxation (say up to 60 degrees deviation from the
longitudinal direction) can be achieved by the wide angle BPM. Anyhow, this can be
applied just for very specific photonic arrangements. Further improvement is available
using the so called bi-directional BPM (backward propagating to the formerly
assumed direction) and some other minor modifications. These improvements have
been worthwhile indeed, but they are not still satisfactory for our purpose. Apart from
these limitations, the BPM techniques are relatively fast and they can also be used to
study quite long devices (up to a few millimeters). The speed is approximately related
to the area of the simulation window. We will reconsider this fact below.
Another numerical method is the finite difference time domain method (FDTD) [3]. The
method is complex and it is based on the direct numerical solution of the Maxwell's
equation in time domain. Unlike BPM, the FDTD is omnidirectional. The schematic in
Figure 2 shows a suitable example for the FDTD, the ring resonator.
Figure 2

82

Ring resonator

SCATTERING DATA

The light is introduced into the device through the upper waveguide, however it later
propagates along the ring circumference, which would be unacceptable in BPM. The
method can also simulate scattering phenomena, nonlinear effects and many others.
The FDTD has one crucial limitation as well. Namely, the device design is strictly
space limited, say to several tenths micrometers in size (in 3D). The reason for this is
the huge CPU consumption during the simulation.
The last method is the exploitation of (quasi) analytical techniques like the coupled
mode theory (CMT). Our product OptiGrating is actually a computer automated CMT.
The CMT is mainly appointed for the description the light interaction with the media
containing gratings [4]. A grating is obviously very specific component of a photonic
circuit and we will be analyzing any grating appearing in a layout separately through
the paper, although some sophisticated numerical methods (even like FDTD) can be
used to describe the light response from the interaction with a grating. One can also
use the CMT advantageously for some basic classification of various waveguide
configurations (or any coupling phenomena).

Circuit Complexity - Classification


The description given above is very brief, and shows the fact that we are able to study
(by means of numerical techniques) just a very limited range of various optical
components. On the other hand, a more complex optical circuit can be somehow
divided into smaller elements or units of single straight and curved waveguides. The
elements are mostly some basic, indispensable, well-known, and also wellunderstood photonic ingredients such as curvilinear directional couplers (e.g. four
port coupler), branching and combining waveguides, various bent waveguides and
several kinds of tapers. Of course, all these waveguiding structures can be efficiently
simulated by BPM.
Based on the fact that most of more advanced circuits are created by the fundamental
photonic elements and we will briefly point out four categories of the photonic circuits
attracting our interest. The decision criteria are obvious and they will be given for each
category. This paragraph will, we hope, illustrate the principal idea of our method. Any
further analysis of the presented circuits will be related and compared to practical
possibilities of the BPM techniques. Since our goal is to analyze a given complex
photonic circuit as efficiently as possible, we will also mention numerical analysis
simplifications and improvements even for those circuits theoretically suitable just for
the BPM.

Huge BPM devices (mux/demux)


Let us consider the well-known basic four-channel Mach-Zehnder
multi/demultiplexer [5]. The circuit consists of three different Mach-Zehnder
interferometers (MZI) [[1] p. 160], where each MZI has a different arm length. This
multiplexer is designed to collect the signal of different wavelengths from 1500 nm
to 1550 nm introduced from different inputs into the output named C with the channel
separation 7.5 nm (for details, see [5]).

83

SCATTERING DATA

Figure 3 Basic four-channel Mach-Zehnder multi/demultiplexer

The device can be fully analyzed by the BPM, however we can show it is not
necessary. The distances among the input ports (named with the respect to
multiplexed wavelengths) are typically 0.25 mm and the device is several millimeters
long, the circuit area is quite large. Note, the speed of the BPM simulator is
approximately proportional to the layout area. Further, we can see that the layout is,
say, somehow coarse, i.e. we can declare some places where the field exists in the
evanescent form and the field is negligible. Running the simulation through these
places is inefficient, however we cannot exclude these dead places from the
rectangular simulation window. Our new approach proposes an elegant solution (see
the pertinent paragraph below).

Multidirectional BPM device


The second category is very close to the previous one. The structure on the figure
below is another arrangement of the simple MZI. There are two crucial items on this
example. First, the path difference is relatively big, what was designed by a circular
loop instead of a primitive arc as done in the first example. The second item appearing
rather crucial when BPM would be considered as the simulation tool, is - the input and
output ports are mutually in perpendicular directions. As the final remark, the socalled dead space again occupies the majority of space in the simulation window
(see Figure 4).

84

SCATTERING DATA

Figure 4

Multidirectional BPM device

Devices consisting of the combination of BPM & gratings (Add/drop)


In this category, we shall study the devices, where a grating is present, BPM is
unsuitable (see Figure 5). Of course, as it was mentioned we can use CMT, i.e. the
OptiGrating product. At this point, we may recognize the final item of our new method.
To analyze some advanced structures by means of several independent techniques,
we will have to connect all the particular results using some common way. Moreover,
we will need a common environment to do so.
Concerning the functionality of the circuit, two identical Bragg gratings are designed
to have the reflection maximum, say, at 0 = 1550nm . For example, the principal
parameters of the sine groove grating are as follows: L = 5mm, n = 0.0007 .
Figure 5 Mach-Zehnder interferometer

85

SCATTERING DATA

The device functionality is quite simple. It is the well-known Mach-Zehnder


interferometer, where the arms contain an identical Bragg grating. If the wavelength
of the light launched into the input port is far from the grating resonant wavelength 0 ,
the light does not see any grating and the light thus recombines at the output coupler
and emerges in the lower output port (called B in the following). However, when the
launched light has the wavelength close to 0 = 1550nm , a portion (the reflection
should be 100% at 0 in the case of an ideal Bragg grating) of the light is reflected by
each arm and then recombines at the first/input coupler. The light is thus dropped in
the lower left (input) port.

Devices out of scope of the BPM techniques (ring resonator)


The last category covers all those circuits, where analysis by means of the BPM
technique alone is impossible. The representative of this group may be the ring
resonator (see Figure 2) as was already mentioned in the introductory part of the
paper. We may also try to reconsider some special omnidirectional devices under the
circumstances yielded by the scattering data tools. The next section introduces the
mathematical description.

The Tool - Scattering Data Approach


We will introduce two substantial features of our approach. To do so, let us assume
an optical element that may be accurately simulated by the BPM. The typical
representing device can be the four-port coupler shown on the first figure in this paper.
Our aim is rather more complex and general study of the advanced photonic circuits.
Let us recognize the coupler as a device connecting a certain number of input and
output ports. In other words, let the BPM be the technique yielding the response at
the output ports if given modal fields were introduced into the input port. The star
coupler is an example of a more advanced BPM element (see Figure 6).
Figure 6

Star coupler

We can see quite a number of the input ports (on the left hand side) and some number
of the output ports (the right hand side). Actually, we do not need to care much what
happens inside the simulation window. This has been determined by the BPM and
what we actually wish to collect is the pertinent data at the outputs. Since we are
dealing with the optical circuits we would need some kind of information carrying the
transfer of the power among the input and the output ports accompanied with the
phase change. The principle of this sub-circuit analysis is very simple and needs just
a negligible action by a user. Having a layout created under the OptiBPM, like the four-

86

SCATTERING DATA

port coupler (i.e. 2 input ports and 2 output ports) or the star coupler (thus generally
designed as N input and M output ports), one can click the icon called Scattering data
script icon seen below).

What happens then is fully automated by OptiBPM. Namely, the scattering data script
icon generates the script yielding the scanning through a given interval of
wavelengths. Running the simulation thereafter, we will receive the S-data file fully
describing the optical response of the BPM sub-circuit under study. Let us show how
it really works in the following.
Any suitable layout for our approach can be schematically depicted as shown in
Figure 7. Such layouts consist of few basic items. Firstly, there is a given rectangular
simulation window (understood as the wafer in the OptiBPM). The propagation
direction BPM propagation direction is stated from the left to the right. Therefore, we
have M input ports on the left and N output ports on the right. Both types of ports are
supposed to have the light in a modal configuration. In addition, they may be arbitrarily
tilted and each input/output waveguide may be of a different geometry. The only one
condition is the waveguides must carry the light in the fundamental modal field. These
ports can be understood as the connectors, it will be mentioned later in the final
implementation part.
Figure 7 Scattering Data layout schematic

We would now like to know how is the entire device (the schematics show the MMI
coupler) response to the introduced modal field. The simulation run under the S-data
script does the following. The simulation starts with the propagation of a pertinent
modal field from the first input waveguide. Whatever happens inside the simulation
window, we expect some modal field at each output waveguide. The second step of
the scripted loop is the response from the second waveguide up to the M -th one. All
this is performed for several user defined number of wavelengths, as seen in the
scripting loop.
We may describe the procedure mathematically. Let us begin with the trivial four-port
coupler (see Figure 1). Having known the input fields a 1 and a 2 , we may construct
the schematic matrix S yielding the desired information at the output ports b 1 and b 2
(note there is some analogy with the classical scattering matrix, however we use a

87

SCATTERING DATA

reduced form of it, hence it is called S-data matrix through the text). The four-port
coupler is then characterized by the following relation:

b1
S S a
= 11 12 1
b2
S 21 S 22 a 2

(1)

Equation 1 can be easily described in an oral form. The element S 11 is responsible


for a response from the first input waveguide into the first output waveguide. Similarly,
the matrix element S 12 relates to the response in the second output waveguide when
the light was introduced into the first input waveguide. The meaning of the other matrix
elements is defined in analogous way. Note, the elements are complex numbers and
they consist of real and imaginary parts. Equation 1 has to be repeatedly determined
for each wavelength run. The relations among the input and output ports takes the
general form (for one particular wavelength)

b1
S 11
b 2 = S 21

bM
S M1

S 12
S 22

S M2

S 1N
S 2N

S MN

a1
a2

aN

(2)

We use the following relations to obtain the desired S-data elements. We are
searching for a response on a unitary input modal field (unitary means the unit
amplitude and zero phase additional advance of the modal filed). We have to use the
following approximation, because it would be somehow cumbersome to transport a
complete information carrying the output field distribution yielded from the BPM
simulation. Concerning the relative power presence at the output waveguide, we thus
compare the actual final BPM field obtained after the simulation at each output
waveguide with that one being theoretically present if the single straight waveguide
light propagation considered for the pertinent output waveguide. This can be easily
done by well-known power overlap integral

E1 E2 dx

-,
P = --------------------------------------2
2
E1 dx E2 dx

(3)

where one field is the BPM one, while the second is the modal field distribution of
output waveguide (the asterisk means the complex conjugated field). The
denominator, consisting of the product of two integrals, ensures the normalization of
the overlap integral from 0 to 1. determines the integration region.

88

SCATTERING DATA

The response with respect to the cumulated phase delay is then given by (both real
and imaginary part)

b =

P exp [ j ( kn 0 L + wg ) ] ,

(4)

where k = 2 , n 0 is the reference index, L is the propagation length. Finally,


wg is an additional angle related to the BPM propagation (this can be observed from
the analyzer). Sometimes in one BPM calculation more than one reference index will
be used. There may be regions having different reference indices. If more then one
region appears in the layout, we have to characterize these regions separately by
particular lengths and reference indices and the phase delay term kn 0 L in Equation 4
must be replaced accordingly as shown schematically in Equation 5

n0 L nr Lr ,

(5)

with r being the number of regions in the layout. In other words Equation 4 simply
adds the phase shift due to the optical length of the wafer. Since the responses were
sought for the unit input modal fields, the collected values of b for each combination
(input/output/wavelength) created according to Equation 2 the S-data matrix S ij
elements. The exported file is a text file with an '.s' extension. The first line contains
two integer values: the number of inputs and the number of outputs. All the
subsequent lines represent an individual scattering data matrix for a single
wavelength. They contain the wavelength in microns and all the complex values of the
amplitude transmission between each input and output port. The total number of
elements in each row is the number of the inputs times the number of the outputs
times 2 (real and imaginary parts) plus one (wavelength). These lines appear such
that the wavelength is in increasing order.

Central wavelength approximation


We can, however, employ a more approximate solution which is much faster to
compute. Concerning the wavelength interval, we are mostly dealing with a very small
vicinity of some central wavelength, say. To save more simulation time, we can run
the simulation just for this wavelength to obtain the one set of matrix elements. Let us
call the matrix S c (the *.s file will then be just one line with the headings). In most
practical applications, the weighted power distribution coming from the power overlap
integral in an output port varies by a negligible amount. The phase change may be
crucial, on the other hand. We can then approximately derive the phase change with
respect to the wavelength. We can approximately write in the vicinity of a central
wavelength c

S ( k ) S c exp { i ( k c k )n 0 L } ,

(6)

89

SCATTERING DATA

with k c = 2 c , while k = 2 where is the actual wavelength. The values


S c are the S-data obtained after the ordinary simulation for the central wavelength. In
conclusion, we may need just one wavelength simulation to describe the device
optical response. The limitation of the central wavelength approximation is obvious.
The accuracy is decreased with increasing propagation length as well as with the
broader wavelength interval. The approximation will be also suitable for lower values
of the reference refractive index.

Implementation with OptiSystem


We are now ready to embark into the main part of the paper. Namely, we have already
shown we could divide an advanced circuit into smaller parts that are suitable for the
BPM analysis. We have also the S-data tool to provide the effective mathematical
description of all those particular sub-elements. The last part missing in our account
is to find an environment connecting the sub-elements into the entire circuit. To reach
our goal, we used OptiSystem, which provides a very flexible environment for
schematic designing and simulation of advanced optical communication systems.
Any complex circuit can be assumed to be an optical system, and OptiSystem can be
very effectively used as the motherboard in the presented study.
The practical implementation is trivial from a customer point of view. At this point, keep
in mind that we have the sub-elements characterized in the form of small files.
OptiSystem introduces a general component OptiBPM Component NxM that can
load these small files easily.
The component on the left is shown with its default value of 8x8
input/output ports. Apparently, we do not need much additional
description saying that the loaded component by the *.s file
reads firstly the headings, i.e. the number of both ports and
automatically adapts the icon to have the correct number of
ports (visually can be seen in the solved examples below). The
OptiSystem environment also follows the unidirectional of the
BPM, this can be seen from the icon by the orientation of the
port arrows (from left to right). We are now able to fully exploit a number of various
OptiSystem facilities to analyze a given circuit. This brings an immense flexibility into
the circuit simulations. Moreover, we can decrease the simulation time comparing the
new approach with a BPM run. We will demonstrate these improvements by solving
the four examples previously mentioned.

Solutions
The concluding part of our discourse will show both the complexity and the flexibility
of the presented modeling improvements. The OptiSystem schematic layout brings a
new vision of the optical circuit behavior. Any advanced photonic circuit may be
further studied as a set consisting of separated fundamental components. As we will
also see, the use of the OptiSystem platform extends the simulation possibilities
dramatically, because of a possible entering of various photonic and even electronic
simulation tools.

90

SCATTERING DATA

Four Channel Mach-Zehnder Multi/Demultiplexer


The realistic layout of the mux/demux example in OptiBPM looks as shown in
Figure 8 (note the size ratio of 1:10). What first attracts our attention is the presence
of a number of relatively primitive, i.e. straight and curved, waveguides. The layout is
very coarse compared to the entire wafer area. Moreover, the light interactions
actually occur on just a small fraction of the layout. In addition, all six four-port
couplers are identical (see Figure 9).
Figure 8 Mach-Zehnder MUX/DEMUX example in OptiBPMSize ratio 1:10

Let us mark the couplers as shown in Figure 9. At this point we encounter the key
point of the approach - its division criteria with the respect to the sub-circuit
functionality. We have to split the circuit into the particular cells. The cells must be self
existing fully functional units, although the splitting of the whole device must not
disturb its functionality in any way when later composed together by means of the
OptiSystem.

91

SCATTERING DATA

Figure 9 Six identical couplers

This may be recognized as a weak point of the presented method, everything


depends on skills and experience of the user. On the other hand, the subunits mostly
appear naturally from the basic design. This fact reduces the possibility of error.
It is obvious, we can pick the six couplers off the layout to simulate (and/or optimize
or slightly modify) just one (the four port coupler is shown in Figure 10), later applying
six times the obtained result.
Figure 10

Four-port coupler

We have the number of remaining single waveguides to describe. We can do so in


several possible ways and we may recognize another step of flexibility of the method.

92

SCATTERING DATA

First the most accurate way is to simulate them by BPM similarly to the coupler - let
us call it total analysis with respect to this approach. However, the detailed study is
not needed for all waveguides. We would prefer to do so for the waveguides playing
a role between the couplers, since we are primarily interested in the phase difference
between the arms. The waveguides connecting the ports with the core of the device
(i.e. the outermost waveguides) are simple isolated waveguides engaged in modal
propagation in the fundamental mode. After some preliminary inspection we can even
neglect the losses or we can prescribe them analytically. In other words, a user's
experience and intuitive estimation says how far any approximation may be used.
This means we can approximately assume the power overlap integral to be the unity
at the end of the waveguide and we have to find the phase delay according to
Equation 4. The style of the S-data file is obvious. To generate these data analytically
requests only the knowledge of the propagation length(s) and the modal indices. This
can be even done by any spreadsheet codes. We will also supply a user with a short
engine creating the files soon. The huge advantage here is we do not employ any
numerical technique to describe all the waveguides where numeric yields no essential
results. Short inspection apparently shows the power overlap integral differs by
negligible amount after relatively long propagation in the straight waveguide. We thus
need to consider the phase delay, as described above.
What about the efficiency of the method? We can see we have to run the BPM for only
small fractions of the whole layout. This saves an immense portion of the simulation
time and we are missing no essential information about the light traveling on the
layout. To be more specific, let us show the final design of the mux/demux device in
the OptiSystem environment.
Figure 11 Remaining primitive waveguides from layout

93

SCATTERING DATA

The four-port coupler takes the form shown on the left. The icon
possesses all the desired data with respect to the power transfer, the
phase delay as the dependencies on the considered wavelength
interval.
The schematic representation of the device according to the original
schematics is shown in Figure 12. For an example, note the direct
(analytical) connection from the coupler 'b' to the output A, because
there is no special functionality of that upper waveguide. Introducing
the light sources and the analyzers (power meters), we may run the simulation. Since
we are dealing with small matrices, the simulation takes only negligible time.
Figure 12 Four-port coupler schematic in OptiSystem environment

Figure 13 details the flexibility of the OptiSystem tool. If there is no need for the exact
analysis, we can skip some numerical simulations and simulate only those parts we
are interested in. The simplest layout is shown in Figure 13.

94

SCATTERING DATA

Figure 13 OptiSystem simple layout

We have numerically studied only the phase differences of each arm, and we
exploited analytically prescribed 3dB coupler. We may exchange any S-data part of
the simulation by an analytical model and vice versa. This possibility opens very huge
field for the additional study of a device, its modification, pre-calculation, partial
analysis (e.g. one can put the power meter in any suitable place inside the layout) and
many others. You can see the agreement with the original paper [5] (we show only
one channel signal for the sake of brevity). The files are available in the template
library of Optiwave products.
Figure 14

Power vs. Frequency dependence (at port C)

95

SCATTERING DATA

The MZI - Loopy


In the same manner, we may analyze the second design. There is no difference
between this layout and the first. The simulation time savings are even more evident.
Note the empty space occupying the bottom left section of the layout shown in
Figure 15.
Figure 15 MZI layout showing subcomponent boundaries

We follow exactly the same procedure as shown before. At this point, we want to point
out the possible questionableness of any chosen division criteria. The optical subcells like the couplers should cover the entire functionality of the element. The slight
difficulty arises with the division of the long curved waveguides marked on the
Figure 15 with yellow lines. A user will probably pick the proposed solution marked by
the bold lines. However, a potential success of the simulation will depend on the
numerical method and/or approach employed for the particular task (e.g. the
conformal mapping technique in cases of bent waveguides). This is shown by the
thinner lines. Actually, a user is quite free when analyzing such the structure. We see
it as an extra flexibility and our already gained experience shows, it really helps to
understand the device behavior in every tiny detail.
The MZI under the OptiSystem layout is shown on the next schematics (Figure 16 ).
The explanation is simple. We have the input and the output couplers and two arms,
the lower is characterized by one single bent waveguide, however the upper arm
consist of the proper set of curved waveguides (any details are given in the manuals

96

SCATTERING DATA

accordingly). The last graphics shows nothing else, but the interference patterns in
the both output arms having the well-know shapes.
Figure 16

Mach-Zehnder system schematic in OptiSystem

97

SCATTERING DATA

Figure 17 Signal power vs. Frequency results

Add/drop Bragg MZI


The third example extends our approach onto the simulation of gratings. We have the
identical S-data tool under the product called OptiGrating, and OptiSystem accepts
the data in the same way as in case of the OptiBPM (historically, the grating
export/import date were done prior to BPM). This software can characterize
miscellaneous optical gratings.
The OptiGrating component in the system software is shown on the left.
There is just one new attribute having a natural origin. The grating yields
two responses from the input signal (the upper left port), the
transmission (the right port) and the reflection (the lower-left port).
Let us exploit the assumed add/drop circuit at the wavelength 1550 nm. The grating
can be generally specified by a few basic parameters, which is shown in Figure 18.

98

SCATTERING DATA

Figure 18 Grating parameters dialog box

Here, we deal with basic linear grating, i.e. no period chirp and no apodization are
present for the sake of simplicity. Running the calculation produces transmitting and
reflecting spectra of the assumed Bragg grating (see Figure 19). These are exported
for further use into the OptiSystem. See User Guide of OptiGrating for detailed
explanation of the fields.
Figure 19

Transmission/Reflection calculation results

99

SCATTERING DATA

The add-drop device can be schematically described in OptiSystem as detailed later.


However, we must introduce a slight modification of the device design, due to the two
output nature of the component. Contrary to the unidirectional BPM component, this
bi-directional component possesses one input port and two output ports. Figure 20
shows the schematic representation of the device, where we used the 3dB coupler
characterized by the BPM, similar to the previous two examples.
The input coupler plays two roles in the design under study. The former role is the
division of the input signal into the identical portions (ideal division into half the power
in each arm). The latter one is the recombination of the reflected light from the grating,
that happens in the opposite direction to the first one. However, the BPM component
cannot accept any kind of bi-directional. We offer the following solution. We simply
split the input coupler with the respect to its functionality in both directions as can be
seen from the schematics.
Figure 20 Split coupler functionality schematic

The upper input coupler serves as the actual input one (light propagates from left to
right - ordinary direction), while the lower coupler acts like that part of the input coupler
recombining the reflected signal (backward propagation direction).
The input 3dB coupler is then used three times, but simulated only once by the BPM.
The final results from the OptiSystem simulation are shown below (added and
dropped signals as the wavelength dependencies. Left - the reflected (dropped)
signal with respect to lambda. Right - transmitted spectrum (output B).

100

SCATTERING DATA

Figure 21 Power vs. Frequency calculation results. Added/dropped signals.

Ring Resonator
Before having the FDTD component and any simple possibility to use a
multidirectional optical component based on a modified S-data approach, we have to
analyze some structures suitable for the FDTD like the ring resonator by the means
already available.
Figure 22

Ring resonator as the OptiBPM layout

The solution for the fourth example is obvious. We will demonstrate the solution on
the simplest level. The circuit must be divided at least into four elements
(see Figure 23). Namely, we can see the two coupling regions and several bent

101

SCATTERING DATA

elements. They are symmetrical, so we can simulate just one using BPM. We also
have to describe the phase delay (perhaps also losses) in the bent arcs. The realistic
ring resonator design and its representation in OptiSystem is shown in Figure 23
followed by the wavelength dependent responses.
Figure 23 Ring resonator system schematic

Note that this circuit has a fundamental difference to the previous ones. In the
simulation, one of the outputs goes in a circle and is eventually connected to an input.
Strictly speaking this should forbid the calculation, since not all the inputs are known
at the beginning of calculation. OptiSystem can accommodate this situation by
including the delay element, an instruction that a solution should be found by iteration.
In the first pass, the input is assumed zero, and the calculation proceeds until the
output is transmitted to the first input. In a second pass, this input value from the
previous iteration is used. In many cases, this iterative procedure converges to the
steady state solution.

102

SCATTERING DATA

Figure 24 Wavelength dependencies of the ring resonator

103

SCATTERING DATA

References:
[1]

Okamoto, K., Fundamentals of Optical Waveguides. Academic Press, San Diego, 2000.

[2]

Doerr, C. R., Optical Fiber Telecommunications IV, Ch. 9 Planar Lightwave Devices for WDM.
Academic Press, San Diego, 2002.

[3]

Yee, K. S., Numerical Solution of Initial Boundary Value Problems Involving Maxwell's
Equations in Isotropic Media., IEEE Trans. Antennas and Prop. 17 (1966), 585-589.

[4]

Kashyap, R., Fibre Bragg Gratings. Academic Press, San Diego, 2000.

[5]

Verbeek, H. et al., Integrated Four-Channel Mach-Zehnder Multi/Demultiplexer Fabricated


with Phosphorous Doped SiO2 Waveguides on Si, J. Light. Techn. 6 (1988), 1011-1015.

104

NON-LINEAR BPM ALGORITHM

Non-linear BPM algorithm


A simple algorithm can be employed to simulate certain types of non-linearities. This
algorithm is currently implemented for 2D BPM and for scalar and semivectorial
isotropic 3D BPM simulations.
In non-linear simulations, the refractive index distribution is affected by the presence
of an optical field. The influence of the field on the refractive index is defined by some
function of the optical field. For example, in the case of the Kerr effect, the changes
in the refractive index are proportional to the optical field intensity, and the refractive
index distribution n ( r, E ) can be written as:

n ( r, E ) = n 0 + n Kerr EE*
Here, r is the position vector, n 0 is the constant part of the refractive index, n Kerr is
non-linear coefficient and E is the electric field intensity. Without an optical field, the
refractive index is equal to n 0 . Once the optical wave propagates within the material,
the refractive index is affected and the change of refractive index in turn influences
the optical wave. The non-linear algorithm attempts to solve the field propagation in
non-linear materials using linear BPM engine by looping the propagation within a
single propagation step into an iteration process.
A typical BPM simulation process is shown in Figure 25. The simulation engine is
called in every propagation step to propagate the optical field one step forward, i.e.
from slice i to slice i + 1 .
Figure 25 Standard BPM propagation (no iteration). The shaded boxes schematically
show optical field E being propagated through three consecutive slices - (i-1, i, i+1). The
top box shows initial optical field in slice i-1 and undefined field values in slices i and i+1
(field assigned to zero). With each propagation step, the field propagates to another
slice.

If a non-linear iteration process is used, the propagation engine advances the same
initial optical field several times within one propagation step, depending on specified
number of iterations, before the algorithm proceeds further. During this iteration

105

NON-LINEAR BPM ALGORITHM

process, the refractive index is updated through the function


iteration result.

n ( r, E ) , using the latest

The algorithm is symbolically depicted in Figure 26. First, the initial optical field is
propagated one step. Then the resulting optical field is used to calculate the new
refractive index distribution within the slice. Next, the original optical field is used
again as the starting field, and is propagated one step with the corrected refractive
index. The iteration process is repeated the required number of times, each time
using the latest iteration result to refine the refractive index value for the slice.
Figure 26 Nonlinear BPM propatation (number of iterations = 3). Before definitely
advancing by one propagation step to the next slice (shaded boxes), the engine
performs required number of iterations (denoted by upper index). In each of these
iterations, the refractive index is corrected according to a user-specified function n(E).
The index corrections are done using the previous iteration output. Notice that the initial
field in the iteration steps does not change.

When using the non-linear BPM feature the non-linear waveguides must use either a
User Function Profile or a User Dll Profile. Four system variables, which represent the
optical field, are available to define the non-linear refractive index function; field
amplitude (_Emod), field square (_EE), real and imaginary parts of the field variable
(_Ere, _Eim).
The non-linear algorithm does not guarantee convergence. You must experiment with
both the propagation steps and number of iterations to ensure results are converging.
Note: This feature has not yet been implemented for 3D isotropic full vector BPM
and 3D anisotropic BPM engine.

106

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

Appendix A: Technical background and manual


calculation method
Scattering data generates an *.s file that you can export to OptiSystem. For more
information on the *.s file and how to use it in OptiSystem, see the OptiBPM
component NxM in the OptiSystem Component Library.
OptiBPM uses scattering data when a small part of a larger photonic circuit is isolated
for characterization using BPM (see Figure 27). This smaller part has waveguides
entering on the left side and exiting on the right side. The inputs and the outputs are
assumed to have light in a modal configuration, although the input and output
waveguides may be tilted.
Figure 27 Small part of large photonic circuit to be characterized by BPM

Since the propagation is assumed to be in one direction only, knowledge of the phase
and amplitude of the two single mode input fields at the input is enough to predict the
fields found at the output. Since the governing differential equations are linear, the
relation between the a's and b's can be expressed by a matrix:

b1
S S a
= 11 21 1
b2
S 12 S 22 a 2

(6)

Or in a general form:

b1
b2

bM

S 11

S 21

S N1

a1

S 12

S 22

S N2

a2

S 1M

S 2M


S NM a N

Where N is the number of input waveguides (input ports) and


output waveguides (output ports).

M is the number of

Note: These matrices actually do not correspond to those mentioned in


Scattering Data. We preferred the classical notation known from the Scattering
Matrix frequently exploited in microwaves. This section shows the explicit
matrices as used in our approach.

107

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

Identification of the input ports


Waveguides crossing the input plane, numbered using integers starting from 1, in
order from bottom to top (increasing X).
Identification of the output ports
Same as the Power in Output waveguides (waveguides crossing the Z+ extent of the
wafer, numbered starting at 1 from bottom to top [increasing X]). The definition in
Equation 2 demonstrates that OptiBPM can find the S values. One BPM calculation
is performed for each wavelength and each input waveguide. The first wavelength is
selected, fixing the row index k . Next, the first input waveguide a 1 is set to 1.0, and
the other waveguides are set to 0.0. The BPM calculation proceeds until the end,
when the b values under these conditions can be determined. The b values in this
case are the same as in the first column of the matrix in Equation 2. In the next step,
another BPM calculation is performed, this time setting all inputs to 0 except for a 2 ,
which is set to 1. The b values in this case are the same as in the second column of
the matrix in Equation 2. All the values in the matrix can be found by making one BPM
calculation for each column in the matrix (or one BPM calculation for each input
waveguide). This calculates a complete row in the output file. To calculate the second
row for the next wavelength, the next wavelength is then selected, and the whole
process repeated.
The algorithm can be summarized as:
For each wavelength (index k)
{
For each Input waveguide (index i)
{
-Select input waveguide i
-Clear all input signals
-Apply input amplitude 1 and phase 0 to input waveguide i
-Simulate by BPM to the end of the wafer
For each Output waveguide (index j)
{
-Compute Power in Output Waveguide j
-Find the phase of Output Waveguide j
-Use the above to calculate bj
-Set Sij(k)=bj
}
}
}

The output is the number of input waveguides, number of output waveguides, the
wavelengths, and the array Sij(k) according to the description in OptiSystem
documentation.

108

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

Details of the calculation in the innermost loop


The first quantity needed is P , the Power in Output Waveguide. Calculate the
electric field amplitude, a complex number b . The modulus of this complex number
is just the square root of P ,

b =
The real and imaginary parts of

(7)

b are given by the optical phase as

b real = b cos

(8)

b imag = b sin
There are two terms contributing to
of the layout region

, one is from the phase delay due to the length

delay = kn 0 L

(9)

k = 2
-----

(10)

where

n 0 is the reference index, and L is the length of the region, the distance from the
input plane to the end of the wafer.
The other angle, wg , is from the waveguides themselves. You can observe this angle
in the output files of an OptiBPM calculation. The total angle needed to complete the
calculation is

= delay + wg

(11)

109

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

Central Wavelength Approximation


We can, however, employ an approximate solution which is much faster to compute.
Concerning the wavelength interval, we are mostly dealing with a very small vicinity
of a central wavelength. To save more simulation time, we can run the simulation just
for this wavelength to obtain the one set of matrix elements. Let us call the matrix S c
(the *.s file will then be just one line with the headings). In most practical
applications, the weighted power distribution coming from the power overlap integral
in an output port varies by a negligible amount. The phase change may be crucial, on
the other hand. We can then approximately derive the phase change with respect to
the wavelength. We can approximately write in the vicinity of a central wavelength c

S ( k ) S c exp { i ( k c k )n 0 L } ,
with k c = 2 c , while k = 2 where is the actual wavelength. The values
S c are the S-data obtained after the ordinary simulation for the central wavelength. In
conclusion, we may need just one wavelength simulation to describe the device
optical response. The limitation of the central wavelength approximation is obvious.
The accuracy is decreased with increasing propagation length as well as with the
broader wavelength interval. The approximation will be also suitable for lower values
of the reference refractive index.

110

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

Calculating delay
If the BPM calculation contains regions, the reference index n 0 might not have the
same value throughout the calculation (see Figure 28). In this case, you must make
a weighted sum of the regions.
Figure 28

BPM layout with regions having different reference indices

For the layout in Figure 28, the phase delay is taken from the sum of the optical
distances of the three regions

delay = k ( n 1 L 1 + n 2 L 2 + n 3 L 3 )

(12)

111

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

Calculating wg
This angle is available from the complex field at the end of a BPM calculation. It is
easiest to see this angle in a 2D calculation, because this information is always
displayed in 2D. For a layout like the one in Figure 27, the BPM calculation result in
2D is shown in Figure 29.
Figure 29 Optical Field Amplitude in X-Z plane

If you press the Ph key at the top of the display, the optical phase ( wg ) appears
(see Figure 30).
Figure 30 Optical Phase in X-Z plane

112

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

At the end of the calculation (z = 1000), the phase settles to a constant value in the
regions of the waveguides (a different value for each waveguide). You can see this
more clearly using the slice selector and setting the slice to the highest value (see
Figure 31).
Figure 31 Optical Phase at the end of propagation

The phase being constant in the region of each waveguide is not a coincidence. It
happens whenever the output waveguides are not tilted and the propagation has
developed into a modal pattern (radiation modes have radiated away). You can
calculate the S data for this example by using wg = 2.12 for the first output
waveguide and wg = 0.54 for the second waveguide.

113

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

Calculating wg for tilted waveguides


When the output waveguides are tilted, the phase becomes a sloped straight line. In
You must be careful which point you use to calculate wg . You must know exactly
which point was used to make the information consistent with definitions used in the
OptiSystem calculation.
Figure 32 illustrates a tilted waveguide. The BPM zone is connected to an external
waveguide outside. The other waveguide is characterized by another separate BPM
calculation, or (in the case of a straight isolated waveguide) by a user-supplied
manual calculation. The length of the external waveguide depends on the reference
point used in the definition. The reference point is the place where the optical phase
is taken from.
Figure 32 Define the length of the waveguide outside the BPM zone

It doesn't matter which of the three possible lengths shown is used, provided that the
length definition and the optical phase point are taken from the same place.
To avoid confusion, we recommend the following rules, broken down case by case
2D Calculation
For 2D calculations, use the mesh point closest to the centre of the waveguide where
it intersects the end of the calculation.

114

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

3D Channel
For the 3D Channel waveguide, the view from the layout in the x-z plane defines the
width of the entire channel. Use the midpoint of the channel in the x-z plane to define
the x coordinate of the optical phase point. This makes the definition consistent with
the 2D definition (see Figure 33).
Figure 33 Midpoints for 3D Channel

The channel consists of layers at a certain depth. Use the midpoints at the top of the
uppermost layer and the bottom of the lowest layer to define the y coordinate of the
optical phase point.
3D Fiber
The 3D fiber consists of concentric circular or elliptic layers. Use the common center
point of the layers (see Figure 34).
Figure 34 Midpoint for fiber

115

APPENDIX A: TECHNICAL BACKGROUND AND MANUAL CALCULATION METHOD

3D Diffused
The midpoint in x can be defined the same way as for the other midpoints. A good
nominal distance to move below the substrate is the diffusion length for the diffused
waveguide under consideration (see Figure 35).
Figure 35 Midpoint for diffused waveguide

116

Vectoral Beam Propagation for Anisotropic


Waveguides
Introduction
To rigorously evaluate the propagation characteristics of an inhomogeneous and/or
anisotropic waveguide, a Vectorial wave analysis is necessary, with at least two field
components. These formulations are fundamentally more accurate than scalar forms,
since they can represent true hybrid modes in a general dielectric waveguide. A
semi-vectorial Beam Propagation Method (BPM) can identify polarization
dependence; however, only a full Vectorial approach can calculate power coupling
between two polarization states.
OptiBPM includes a vector BPM based on the finite-difference schemes (FD-VBPM).
This versatile, efficient, and accurate numerical approach has the following main
features:

solves the vectorial modes of a z-invariant waveguide structure with arbitrary


index distribution in the cross section and takes both polarization dependence
and polarization coupling into consideration.

models the propagation of vectorial electromagnetic wave in a z-varying


waveguide structure with arbitrary cross section.

handles anisotropic material so that the polarization dependence and coupling


due to both materials and geometry can be considered.

perfectly matched Layers are included in order to effectively absorb the


nonphysical radiation waves.

Wide Angle BPM is implemented using high order Pade recursion, making it
possible to simulate multiple propagating modes traveling a widely different offaxis, with no need to accurately guess the "reference" index n 0 .

Formulations can be based on the electric or magnetic field components which


are naturally continuous across the dielectric interfaces.

The axial component is eliminated by using the zero divergence constraint


2
( n E ) = 0 (Gauss's Law) for E formulation or H = 0 for the formulation
based on magnetic field. Therefore, the transverse components are sufficient to
describe the full-vectorial natures of the electromagnetic field.
Note: The inclusion of divergent condition guarantees the complete elimination of
spurious modes.

117

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

The formulation is optimized by the use of efficient sparse techniques to solve the
resultant complex matrix equations.

Mathematical Formulations
We consider a longitudinal varying 3-D optical waveguide, as shown in Figure 1, and
the transverse cross-section of the optical waveguide surrounded by
PML regions I, II, and III with thickness d, as shown in Figure 2, where x and y are the
transverse directions and z is the propagation direction.
Figure 1 Longitudinally varying 3-D optical waveguide

Figure 2 Transverse cross-section of optical waveguide surrounded by PML.

For most anisotropic materials, such as LiNbO3, if the crystal axes of orientation and
the applied modulation fields are arranged properly, the dielectric tensor can take the
form [12]:

118

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

( x, y ) = ' ( x, y ) j' ( x, y ) = t ( x, y ) + zz ( x, y )zz

(13)

where t is an arbitrary 2x2 tensor given by:

' = xx e x e x + xy e x e y + yx e y e x + yy e y e y

(14)

The PML essentially achieves a reflectionless absorption of electromagnetic waves in


the continuum limit as the mesh discretization size gets to zero. The absorption inside
the PML operates through conductive losses, so that an exponential decay for the
field inside the PML is obtained. Therefore, when a PML region surrounds the
computational domain, the spurious reflection from the grid boundaries can be made
exponentially smaller. It is demonstrated that PML is extremely effective in absorbing
out-going traveling waves of a wide special spectrum [1]. Here we will use PML based
on the analytic continuation of Maxwell's equations to a complex variables domain [2].
Closed-form solutions for the fields inside a PML region can be obtained by noting that
closed-form solutions existing for Maxwellian fields in real space, map directly to the
complex space through this analytic continuation. The general effect of this analytical
continuation is to alter the eigenfunctions of MEs so that propagating modes are
mapped continuously to exponentially decaying modes, allowing for the reflectionless
absorption of electromagnetic waves.
In Cartesian coordinates, this analytical continuation is expressed by the following
transformation:

s ( ' ) d'
0

( ' )

d'
a ( ' ) + j -------

()
= b ( ) + ------

(15)

so that
1

---- ------ = ----s

(16)

Therefore, the modified source-free Maxwell's equations can be written as Maxwell's


equations in a complex space:

119

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

H = j E

(17)

E = j 0 H

(18)

H = j E

(19)

0 H = 0

(20)

with

= ----- e x + ----- e y + ----- e x

x
y
x

(21)

Using Equation 16 in Cartesian coordinate in Equation 20, we get:


1
1
1
---- ----e + ---- ----- e + ---- ----- e
s x x x s y y y s z z z

(22)

e x , e y , and e z are the unit vectors associated with x , y , and z directions


s x , s y , and s z are the parameters associated with the PML boundary condition.
Because Equation 17 - Equation 21 are formally the standard Maxwell's equations
except for the change of coordinates, their solutions will be the normal solutions to
Maxwell's equations but with a change of variable according to Equation 15.
Due to complex variables, ( ) are always continuous functions of the real variables
for bounded s according to Equation 15 (regardless of the continuity of s ). The
resultant fields inside the PML will be continuous everywhere if the original fields are
continuous (the composition of two continuous functions is a continuous function).
Boundary conditions, in particular, are preserved by this transformation. The
reflectionless property of a PML interface can be easily verified by writing down the

120

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

TE

TM

TE and TM reflection coefficients, R and R , for a planar interface and verifying


that they are zero. Note that, for a interface (half space problem), only one single
complex stretching variable is different from unity (the normal coordinate to the
interface). In the corner regions of the computation domain, two or three coordinates
need to be stretched simultaneously. The frequency-dependent complex stretching
variables s x ( x ) and s y ( x ) are summarized in Table 5.
Table 5 Values of s x and s y

Region

Sx

Sy

II

III

Note: See Figure 2 to identify PML regions I, II and III around computational
domain.
Since the waves are assumed to propagate in z direction, the parameter s z will be
set to unity, while the other PML parameters have to be determined such that the
wave impedance of the PML layer placed around the computational domain is exactly
the same as that of the adjacent medium inside the computation domain. Hence, the
PML medium will perfectly match the computational domain medium allowing the
unwanted radiations to leave the computation domain without any reflection.
This necessary condition can be derived as [1]:
e
m
s x, y = 1 j --------------- = 1 j ---------2
0
0 n

(23)

where is the angular frequency, 0 and 0 are the permittivity and permeability of
free space, respectively, n is the refractive index for axial anisotropic medium we can
2
chose zz = n ( z component of the permitivitty tensor) and e and m are the
electric and magnetic conductivities of PML.
The PML impedance matching condition defined by Equation 23 means that the wave
impedance of a PML medium equals that of the adjacent medium with refractive index
in the computational window
2

0 ( 0 n ) regardless of the angle of propagation or frequency.


In the PML medium, we assume an m th-power profile of electric conductivity as:

e = max ---
d

m
(24)

where is the distance inside the PML measured from the PML-computational
domain interface, and d is the width of PML (kept constant in all directions). Using the

121

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

theoretical reflection coefficient R t at the interface between the computational window


and the PML medium:
max d m
R t = exp 2 ------------ --- d
0 cn 0 d

(25)

The maximum conductivity max may be determined as


( m + 1 ) 0 cn
1
max = ------------------------------ ln ---
R
2d

(26)

where c is the light velocity of free space. The parameter s is written as


in non PML region
1

s =
1
( + 1 -)
--- ln ----- in PML region
1 j ------------------- Rt
4dn d

(27)

where = 2 ( c ) , d , x 0 , are the free-space wavelength, the PML thickness,


the position of the PML surface, and the theoretical reflection coefficient. The PML is
terminated with the perfect electric or magnetic conductor. The parameters s x and s y
are set in different regions as outlined in Table 6. Inside the orthodox computational
domain, both s x and s y are and are set to unit, while for PML regions faced normally
with x direction, s x is set as indicated in Equation 26 . With these PML arrangements
in different regions, any radiation wave will freely leave the computational domain
whatever the angle it hits the PML-computational domain boundaries.

122

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

Continuous Wave Equations for Anisotropic Media


Consider an anisotropic medium described by relative electric permittivity
xx xy 0
= yx yy 0

0 0 zz

(28)

Therefore, the propagation of the electromagnetic field is described by the curl-curl


equation

2
( p ) k 0 q = 0

(29)

where , p , and q are shown in Table 6.


Table 6 Definitions of , p , and q for full- vector wave analysis

Full E-vector Formulation


E-Formulation: The vector wave equation for the electric fields

2
E k0 Et = 0

(30)

On the transverse plane Equation (19) becomes:

t t E t ----- [ e z ( t E z e z ) ] + ----- e z ----- ( e z E t )


z

z
z

= k0 t Et

(31)

The solution of the wave equation Equation 31 can be separated as a slowly varying
envelope and a fast-oscillating phase term:
E t ( x, y, z ) = e t ( x, y, z ) exp ( jn 0 k 0 z )

(32)

Using Gauss' Law, ( E ) = 0 we get:

zz
E z

( E ) = t ( t E t ) + ---------- E z + zz --------z
z

(33)

If the refractive index varies slowly along the propagation direction z , which is valid
for must photonic guided-wave devices. Then the mentioned term above is much
smaller than the other ones in Equation 33. Thus one can derive:
E z

( E ) = t ( t E t ) + zz --------z

(34)

123

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

Therefore,

( t Et )
E z
--------- = --------------------- z
zz

(35)

If the transverse components of an electromagnetic field are known, longitudinal


component may be readily obtained by application of the zero divergence constraint

( E ) = 0 (Gauss' Law).

Therefore, the transverse components are sufficient to describe the full-vectorial


natures of the electromagnetic field.
Finally by using equations Equation 35 and Equation 32 into wave equation
Equation 31, we can write the following wave equation in terms of the transverse
components of electric field.

t ( t et )

t ( t e t ) e z t ---------------------- ez
zz

e t 2 e t

2 2
2
- ---------- = k 0 t e
+ k 0 n 0 e t + 2jk 0 n 0 -----2
z
z z

(36)

Note: The elimination of the axial component using the divergence condition,
D = 0 , guarantees the complete elimination of spurious modes. In addition
using just two components instead of three reduces computational efforts and
resource usage.
We can write Equation 36 in a operator form:

- e = Me
----- j2k 0 ---t
z
z t

124

(37)

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

where the operator is defined as

t ( t et )

t ( t e t ) + e z t ---------------------- ez
zz

2 2
2
k 0 n 0 e t + k 0 t e z = Me t

(38)

Matrix M can also be written in component:


M =

M xx M xy
M yx M yy

(39)

Differential operators definition:


2 2
2
1
1 1 e x
1 ( xx e x )
1 ( yx e x )
1
M xx e x = ---- ----- ---- -------- + ---- ----- ------------ --------------------- + ---- ----- ------------ --------------------- k 0 n 0 e x + k 0 xx e x

s x x s x zz x
s y y s y y
s x x s y zz y

(40)

2
1 1 e y
1
1 ( xy e y )
1 ( yy e y )
1
M xy e y = ---- ----- ---- -------- + ---- ----- ------------ --------------------- + ---- ----- ------------ --------------------- + k 0 xy e y

s y y s x x
s x x s x zz x
s x x s y zz y

(41)

2
1 1 e x
1
1 ( xx e x )
1 ( yx e x )
1
M yx e x = ---- ----- ---- -------- + ---- ----- ------------ --------------------- + ---- ----- ------------ --------------------- + k 0 xy e x

s x x s y y
s y y s x zz x
s y y s y zz y

(42)

2
2 2
1 1 e y
1
1 ( xy e y )
1 ( yy e y )
1
M yy e y = ---- ----- ---- -------- + ---- ----- ------------ --------------------- + ---- ----- ------------ --------------------- + k 0 yy e y k 0 n 0 e y (43)

s x x s x x
s y y s x zz x
s y y s y zz y

Equation 37 is a full-vectorial equation. The vectorial properties of the


electromagnetic are included. M xx M yy causes the polarization dependence.
M xx 0 and M yy 0 induces the polarization coupling between the two polarizations.
The discontinuities of the normal component of electric field at index interfaces, which
is responsible for the vectorial properties, have been considered in the formulations.
The discrete form of the differential operators in the governing equations
(Equation 40 - Equation 43) may be found in a straightforward way [8]. At the index
discontinuities, although the normal electric field are not continuous, the displacement
vectors D x are continuous across the index interfaces along the x - and y - axis,
respectively. Therefore, the central difference scheme can be applied directly. The

125

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

operator M does not change its sparsity with the introduction of the PML, except that
the matrix elements are modified according to the discretization of the transverse
operator in the PML region [7].

Wide Angle FD-VBPM


In paraxial formulation we make use of the slowly varying envelope approximation:
2

et
e
---------- 2n 0 k 0 -------t
2
z
z
The use of the paraxial approximation limits the method to structures where the beam
propagates in directions that makes a small angle with respect to the axis of
propagation. Wide angle BPM circumvents that restriction of the paraxial
approximation by retaining the second derivative of the envelope along z . Therefore
it is not necessary to have the phase variation along z almost constant and uniform
over the cross section. Neither is it required for field amplitude to change slowly along
z . This allows the simulation of multiple propagating modes traveling a widely
different off-axis angles, and there is no need to accurately guess the "reference"
index n 0 . Here we refer to the angle relative to the z -axis as an off-axis angle [7].
Equating operators on e t on the left and right sides of the Equation 37 gives the
recursion [8]:

M
----= ------------------------------z i + 1

j2n 0 k 0 ----z

(44)

which generates successively better approximations to the actual z . We refer to


this as a Pade recursion. It turns out that if the recursion is started assuming
z ] 0 = 0 , then the first recursion yields paraxial BPM. Therefore one can get
M e t
j 2n 0 k 0 + -------------- ------- = Me t

2n k z

(45)

0 0

for a paraxial propagator.


Equation 45 is capable of describing the propagation of continuous vectorial
electromagnetic waves in linear, isotropic, and inhomogeneous medias.
The solution to Equation 45 can be written in a exponential form:
e t ( x, y, z + z ) = exp ( jMz )e t ( x, y, z )

(46)

which can also be approximated by a weighted finite difference form:


( D + jzN )e t ( x, y, z + z ) = ( D jz ( 1 )N )e t ( x, y, z )

(47)

Here z is the longitudinal step size, is a weighting factor which controls the finitedifference scheme. For instance, = 1 , corresponds to the standard implicit scheme
and = 0 is explicit ; the Crank-Nicholson scheme corresponds to = 0.5 . The
choice of affects the stability, the numerical dissipation, and the numerical

126

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

dispersion of the scheme. Applying the Von Neumann Analysis, it is possible to prove
that the weighted finite-difference scheme is unconditionally stable for 0.5 , which
means that the stability criteria is independent of both longitudinal step size and
transverse mesh sizes [7].
We get.
D = 1,
M
N = ------------2k 0 n 0

(48)

for paraxial.
Using Pade recursion we get:
M D = 1 + ------------2 2
4k 0 n 0

(49)

M
N = -------------2k 0 n 0
for wide angle-Pade(1,1).

M - + ------------M N = ------------2k 0 n 0 4k 3 n 3
0 0

(50)

3M
M
D = 1 + -------------- + ----------------2 2
4 4
4k 0 n 0 16k 0 n 0
for wide angle-Pade(2, 2).
2

M
M
3M
N = -------------- + -------------- + ----------------2k 0 n 0 2k 3 n 3 32k 5 n 5
0 0

0 0

(51)

5M
3M
M
D = 1 + -------------- + ----------- + ----------------2 2
4 4
6 6
4k 0 n 0 k 0 n 0 64k 0 n 0
for wide angle-Pade(3, 3), and
2

0 0

0 0

M - + ------------3M - + ---------------5M - + ---------------M N = ------------2k 0 n 0 4k 3 n 3 16k 5 n 5 32k 7 n 7

(52)

0 0

for wide angle-Pade(4, 4).


As can been seen, successive recursions yield operator expressions of increasing
algebraic complexity, all of which can be reduced to a rational polynomial:
( M a 1 ) ( M a 2 ) ( M a q )
--- -----------------------------------------------------------------------z
( M d 1 ) ( M d 2 ) ( M d q )

(53)

127

VECTORAL BEAM PROPAGATION FOR ANISOTROPIC WAVEGUIDES

Applying this operator to e t and discretizing:


( M a 1 ) ( M a 2 ) ( M a q ) l
l+1
et
= ------------------------------------------------------------------------ e t
( M d 1 ) ( M d 2 ) ( M d q )

(54)

In order to solve Equation 54 we use the multistep method developed by Hadley [8].
The advantage of the multistep method is that the matrix equation to be solved in each
step is the same size as the Fresnel equation.
We can recast Equation 47 in the following form:
l+1

Ae t

(55)

= Be t
l

l+l

where { e t } and { e t }
are field vectors at two sequential steps l and l + 1 , A and
B are nonsymmetric complex band matrices.
The system in Equation 52 is solved efficiently by the well established sparse matrix
solver BiConjugate Gradients Stabilized method (bicgstab) [9].

128

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

Vectoral Modal Analysis for Anisotropic


Waveguide
Introduction
Modal analysis for optical waveguides is one of the most important area in modeling
and simulation of guided wave photonic devices. The problem of the numerical
boundary condition is expected to become much more accurate for the leaky modes,
as the modal fields at the edges of the computation window are traveling waves and
the modal leakage is extremely sensitive to the reflection from the artificial boundary.
Since Perfectly Matched Layer (PML) boundary condition is applied to the modal
analysis of optical waveguides it is possible to handle leaky modes. The PML will have
no effects on the evanescent fields of the guided modes, but will attenuate the
traveling field of the leaky modes. Thus, it is possible to simulate the leaky modes in
a ARROW waveguide structure [5].

Vectoral Mode Calculation


By imposing z = 0 in Eq. (33), one can cast the Helmholtz equation into the
following matrix form:
2

Ae t = e t

(56)

where = n 0 k 0
et =

ex

(57)

ey

and
A =

A xx A xy
A yx A yy

(58)

The differential operators are defined as:


2
1 1 e x
1 ( xx e x )
1 ( yx e x )
1
1
A xx e x = ---- ----- ---- -------- + ---- ----- ------------ --------------------- + ---- ----- ------------ --------------------- + k 0 xx e x
s y y s y y s x x s x zz x
s x x s y zz y

(59)

2
1 e y 1
1 - ( xy e y )
----------1 - ( yy e y )
1- ----1- -------- -------- + ---- ----- ------------------------------- + ----------------------- + k 0 xy e y
A xy e y = --

y
s
x
s
x
s
x
s

x
s
y
sy
x
x
x zz
x
y zz

(60)

2
1 e x 1
1 ( xx e x )
1 ( yx e x )
1
1- -------- -------- + ---- ----- ------------ -------------------- + ---- ----- ------------ -------------------- + k 0 yx e x
A yx e x = --

s y y s x zz x
s y y s y zz y
s y x s y y

(61)

129

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

2
1 ( xy e y )
1 ( yy e y )
1
1
1 1 e y
A yy e y = ---- ----- ---- -------- + ---- ----- ------------ --------------------- + ---- ----- ------------ --------------------- + k 0 yy e y
s y y s y zz y
s x x s x x s y y s x zz x

(62)

Equation 56 is a full-vectorial equation. The vectorial properties of the


electromagnetic are include. M xx M yy causes the polarization dependence. M xy 0
and M yx 0 induces the polarization coupling between the two propagations. The
discontinuities of the normal component of electric field at index interfaces, which is
responsible for vectorial properties, have been considered in the formulation.
The FD method is used in the numerical solution of the vectorial wave equation,
written in terms of the transverse components of the field. As a result, a conventional
egeinvalue problems obtained without the presence of spurious modes, due to the
implicit inclusion of the divergence conditions.
Equation 56 can be written as a conventional eigenvalue problem:
2

( A I )e t = 0

(63)

where , I is the unit matrix and e t is the eigenvector given by:


e t = ( e x1, 1, e x1, 2, , e xN, N, , e y1, 1, e y1, 2, , e yN, N )

(64)

The transverse electric field components e x and e y , at any mesh point ( i, j ) are
obtained from the eigenvector e t for each propagating mode. In order to solve
Equation 63, we use a solver that is based on Implicitly Restarted Arnold Method [10]
available in MatLab Software and in a public domain library ARPACK
(http://www.cacm.rice.edu/software/ARPACK). Using the Arnold Method, it is
possible to solve large sparse problems by finding only selected eigenvalues which
may be located in various parts of the spectrum. For instance, in waveguide problems
one is typically interested in a few dominant modes which correspond to the
eigenvalues with the largest real part. The most suitable technique for finding the
dominant modes involves the shift-invert strategy in which eigenproblem Equation 13
is converted to the eigenproblem:
1
1
( A I ) x = --------------- x
2

(65)

where is the shift. When an iterative solver is applied, the product of matrix operator
and some varying vector x is repeatedly calculated. In the modified eigenproblem
Equation 62, instead of calculating the inverse of matrix ( A I ) directly, a sparse
LU decomposition of the matrix is performed.
1

Consequently, when y = ( A I ) x product is required, a linear system of


equations ( A I )y = x is solved instead. The convergence rate in the shift-invert
mode in iterative method depends on the shift . In the waveguide analysis it is
convenient to choose the shift so that = max .
In this case, the dominant modes correspond to the eigenvalues of Equation 65
possessing the largest magnitude.

130

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

Appendix I
E-Formulation
The full vectorial wave equation is given by:

2
E k0 E = 0

Considering = t + ----- e z into Equation 1, we get:


z

(1)

t t E t + t t E z e z + t ----- ( e z E t ) + ----- [ e z ( t E t ) ]
z
z

+ ----- [ e z ( t E z e z ) ] + ----- e z ----- ( e z E t ) = k 0 t E t


z

z
z

The term ----- [ e z ( t E t ) ] is null.


z
We can separate Equation 2 into two equations, one for longitudinal terms and
another for transversal terms:

t t E z e z + t ----- ( e z E t ) = k 0 zz E z
z

(2)

(3)

for longitudinal terms and

t t E t + ----- [ e z ( t E z e z ) ] + ----- e z ----- ( e z E t )


z

z
z

= k0 t Et

(4)

for the transversal terms.


By substituting Equation 3 into the first right hand term of Equation 4, we get:

t t E t = t t e t exp ( jk 0 n 0 z )

(5)

We can write:
E t ( x, y, z ) = e t ( x, y, z ) exp ( jk 0 n 0 z )

(6)

By substituting Equation 6 into the second right hand term of Equation 4, we get:
e

----- [ e z ( t E z e z ) ] = e z t jk 0 n 0 e z + --------z exp ( jk 0 n 0 z )

z
z

(7)

The third term can be rewritten as:

---e ----- ( e E t )
z z z z

E
= -----------t
2
z

(8)

Now, by using Equation 5 in the left side of Equation 8, we get:


2

Et
e e
2 2
----------- = k 0 n 0 e t + 2jk 0 n 0 -------t ----------t exp ( jk 0 n 0 z )
2
z z 2

(9)

131

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

Full H-vector Formulation


The FD-VBPM based on the E and H fields are equivalent and yield almost identical
results [11].
Similar to the vector wave equation for the electric field, the equation for the magnetic
field considering transversely scaled version of PML is:

2
(1)
H k0 0 H = 0

here = .

The double-curl Equation 1 involves three vector components of the magnetic field,
while strictly only two are needed.

Incorporating the divergence-free condition B = 0 into Equation 1, we can


reduce the number of components in the field equation to the two transverse
components of the magnetic field h x and h y only. To achieve this purpose, we
separate the transverse and longitudinal components of Equation 1.
On the transverse plane, Equation 1 becomes:

t [ k zz H t ] + ----- [ e z ( t H z e z ) ]
z

(2)

Now, using an appropriate reference refractive index n 0 , and slowly varying envelope
approximation (SVEA), we assume the following form of the solution:
H t ( x, y, z ) = h t ( x, y, z ) exp ( jk 0 n 0 z )

(3)

By using Equation 3 into Equation 2, we can recast Equation 1 in the following form:
2

h t
ht
h

2 2
2
t [ k zz h t ] + e z t t --------z jk 0 n 0 h z e z 2jk 0 n 0 p -------- + k 0 n 0 ph t p ---------- = k 0 h t
z

2
z
z

(4)

with
p =

k yy k yx

(5)

k xy k xx
From divergence condition, we get:

( 0 Ht ) = 0

(6)

By using Equation 3 into Equation 6, we get:


h

t h t = --------z jk 0 n 0 h z
z

132

(7)

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

By substituting Equation 7 into Equation 4, we get the following vectorial wave


equation written in terms of the transverse components of magnetic field:
2

h t
ht

2 2
2
t [ k zz h t ] e z [ t t ( t h t )e z ] + 2jk 0 n 0 p -------- + k 0 n 0 ph t p ---------- = k 0 h t
2
z
z

(8)

or
2

h t
ht

2 2
2
2jk 0 n 0 p -------- p ---------- = t [ k zz h t ] + e z [ t t ( t h t )e z ] k 0 n 0 ph t + k 0 h t (9)
2
z
z
To obtain Equation 9, we assume that the permittivity along the propagation direction
is often slow, as is observed in real devices. Therefore, p z has been neglected.
Similiar to the E-formulation, the elimination of the axial component using the
divergence condition

( B = 0 ) guarantees the complete elimination of spurious modes, and drastically


reduced computation efforts and resources, compared to the formulation which uses
three field components.
We can rewrite Equation 9:

-
---2jk n p p ----- h t = Mh t
z
z 0 0

(10)

where the operator Mh t is defined as:

2 2
2
Mh t = t [ k zz h t ] + e z [ t t ( t h t )e z ] k 0 n 0 ph t + k 0 h t

Mh t =

(11)

M xx M xy h x
M yx M yy h y

(12)

Here, the matrix M can also be written in components:


M =

M xx M xy
M yx M yy

(13)

The differential operators are defined by the following equations:


k yy 1 h x
2 2
2
1 k zz h x k yx 1 h x
M xx h x = ---- ----- ------- -------- ------- ----- ---- -------- + ------- ----- ---- -------- k 0 n 0 k yy h x + k 0 h x
s y y s y y s y y s x x s x x s x x

(14)

2 2
k zz h y k yx 1 h y k yy 1 h y
1- ----------- -------- ------- ----- ---- -------- + ------- ----- ---- -------- k 0 n 0 k yx h x
M yy h y = --s y y s y x s y y s y y s x x s y y

(15)

133

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

k xx 1 h x
2 2
1 k zz h x k yx 1 h x
M yx h x = ---- ----- ------- -------- ------- ----- ---- -------- + ------- ----- ---- -------- k 0 n 0 k xy h x
s x x s y y s x x s x x s y y s x x

(16)

k xx 1 h y k xy 1 h y
2 2
2
1 k zz h y
M yy h y = ---- ----- ------- -------- + ------- ----- ---- -------- ------ ----- ---- -------- k 0 n 0 k xx h y + k 0 h y

s x x s x x
s y y s y x
s x x s y y

(17)

The discontinuities of h y x and h x y across the index interfaces along y and x


directions are responsible for the polarization dependence ( i. e. h xx h yy ) and
coupling ( i. e. h xy and h yx 0 ).
The solution to Equation 9 can be written in a exponential form
h t ( x, y, z + z ) = h t ( x, y, z ) exp ( jMz )

(18)

which can also be approximated by a weighed finite-difference form


( D + jzN )h t ( x, y, z + z ) = ( D j z ( 1 )N )h t ( x, y, z )

(19)

Here we get D = p
M N = ------------2k 0 n 0

(20)

for paraxial approximation and


M
D = p + -------------- ,
2 2
4k 0 n 0

(21)

M N = ------------2k 0 n 0
for wide angle-Pade(1,1).
As in the E-Formulation description, we can apply the Pad recursion formula
M
---= ------------------------------z i + 1
j2k 0 n 0 ---z

(22)

AS in E-formulation, we can derive wide-angle BPM considering high order Pad, as


the parameter a is introduced to control the schemes used to solve the finitedifference equations.
We can recast Equation 19 in the following form
l+1

Ah t

134

= Bh t

(23)

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

l+1

where h t and h t
are field vectors at two sequential steps l and l + 1 , A and B are
nonsymmetric complex band matrices. By solving Equation 23, we can simulate the
propagation of the beam in anisotropic materials, such as the polarization
dependence and coupling, due to both the material and geometrical effects.
The system in Equation 23 is solved efficiently by the well established sparse matrix
solver "bicgstab" (BiConjugate Gradients Stabilized method ).

H-Vectorial Modal Analysis for Anisotropic Waveguide


Assuming z = 0 and regarding n 0 as an effective refractive index, Equation 23
is reduced to a basic equation for the guided-mode analysis of anisotropic optical
waveguides. Hence, from (9) we get the following Helmholtz equation:

2
2 2
(24)
t [ k zz h t ] + e z [ t t ( t h t )e z ] + k 0 h t = k 0 n 0 ph t
One can cast the Helmholtz equation into the following matrix form:
2

Ah t = h t

(25)

where
= k0 n0
ht =

(26)

hx
hy

and
A =

A xx A xy
A yx A yy

(27)

The differential operators are defined as:


yy k zz h x
yx k zz h x yy k yx 1 h x
A xx h x = ------- ----- ------- -------- + ------- ----- ------- -------- -------------- ----- ---- --------

s y y s y y
s x x s y y
s y y s x x
(28)

yx k xy 1 h x
yy k yy 1 h x yx k xx 1 h x

2
+ --------------- ----- ---- -------- --------------- ----- ---- -------- + --------------- ----- ---- -------- + k 0 yy h x

s y y s x x
s x x s x x
s x x s x x

yy k zz h x
yx k zz h y yy k yx 1 h y
A xy h y = ------- ----- ------- -------- + ------- ----- ------- -------- -------------- ----- ---- --------

s y y s x y
s x x s y x
s y y s y x
(29)

yy k yy 1 h y yx k xx 1 h y
yx k xy 1 h y
2
+ --------------- ----- ---- -------- --------------- ----- ---- -------- + --------------- ----- ---- -------- k 0 yx h y

s x x s y y
s y y s y y
s x x s y x

135

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

xy k zz h x yx k zz h x xy k yx 1 h x
A yx h x = ------ ----- ------- -------- ------- ----- ------- -------- + --------------- ----- ---- -------s y y s x x
s x y s y y s x x s y y
xy k yy 1 h x
xx k xx 1 h x yx k 1 h x
xy ----- ---- -------- 2
+ --------------- ----- ---- -------- + --------------- ----- ---- -------- -------------k h

s x x s x y
s y y s x x
s x x s x x 0 xy x

(30)

xy k zz h y xx k zz h y 1 h y
A yy h y = ------ ----- ------- -------- + ------- ----- ------- -------- + ----- ---- -------s x y s x x s x x s x x y s y y
xy k yy 1 h y
xx k xx 1 h y xx k 1 h y
2
xy ----- ---- --------
+ k 0 xx h y .
----------------- ----- ---- -------- + --------------- ----- ---- -------- -------------

s x x s y y
s y y s y y
s x x s y y

(31)

It is noted that in Equations [28] - [31], both the material and the geometrical
properties of the waveguides contribute to the polarization dependence,
A xx A yy , and coupling:
A xy 0 and A yx 0 .
Like in E-Formulation Equation 25 can be solved by an efficient Arnodi method that
takes into account the sparsity under consideration and computes just a few number
of eigenvalues and eigenvectors that represent the propagation constants and fields
distributions for the wanted modes.

136

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

Appendix II
H-Formulation
The full vectorial wave equation for H is given by:

2
H k0 0 H = 0

By substituting = t + ----- e z into Equation 1 we get:


z

t ( k zz t H t ) + t ( t t H z e z ) + t t ----- ( e z H t )
z

+ ----- [ e z ( zz t H t ) ] + ----- [ e z ( t t H z e z ) ] + ----- e z t ----- ( e z H t )

z
z
z
z

(1)

(2)

= k 0 t H t + k 0 k zz H z e

The term ----- [ e z ( zz t H t ) ] is null.


z
We can separate Equation 2 into one for longitudinal terms and another one for
transversal terms:

t ( t t H z e z ) + t t ----- ( e z H t ) = k 0 k zz H z e z
z

(3)

for longitudinal terms, and

t ( k zz t H t ) + ----- [ e z ( t t H z e z ) ] + ----- e z t ----- ( e z H t )

z
z
z

= k0 t Ht

(4)

By substituting
H t ( x, y, z ) = h t ( x, y, z ) exp ( jk 0 n 0 z )

(5)

into the first right hand term of Equation 4, we get:

t ( k zz t H t ) = t ( k zz t h t ) exp ( jk 0 n 0 z )

(6)

By substituting Equation 5 into the second right hand term of Equation 4, we get:
h

---[ e ( t t H z e z ) ] = e z t t --------z jk 0 n 0 h z e z exp ( jk 0 n 0 z )

z z
z

(7)

The third term of Equation 4 can be rewritten as:

---e ----- ( e H t )

z z t z z

h t
= ----- p --------
z z

(8)

137

VECTORAL MODAL ANALYSIS FOR ANISOTROPIC WAVEGUIDE

By substituting Equation 5 into the second right hand term of Equation 4, we get:
2

h t
h t
2 2
h t
----- p -------- = k 0 n 0 h t + 2jk 0 n 0 p -------- p --------- exp ( jk 0 n 0 z )
2

z z
z

(9)

where
p =

k yy k yx

(10)

k xy k xx

References
[1]

[Berenger, 1994] J. P. Berenger, "A Perfectly Matched Layer for the Absorption of
Electromagnetic Waves," J. Comput. Phys., No. 114, 1994, pp. 185-200.

[2]

[Teixeira, 1998] F. L. Teixeira and W. C. Chew, " Systematic Derivation of Anisotropic PML
Absorbing Media in Cylindrical and Spherical Coordinates", IEEE Microwave and Guided Lett.,
vol. 8, No. 6, pp. 371-373, 1998.

[3]

[Huang, 1993] W. P. Huang, C. L. Xu, "Simulation of Three-Dimensional Optical Waveguides


by a Full-Vector Beam Propagation Method, IEEE J. Quant. Electron., vol. 29, No.10,
pp. 2639-2649, 1992.

[4]

[Huang, 1992 A] W. P. Huang, C. L. Xu, S. T. Chu and S. K. Chaudhuri, " The Finite-Difference
Vector Beam Propagation Method. Analysis and Assessment, IEEE J. Light. Techn., vol.10,
No.,3, pp. 295-305, 1992.

[5]

[Huang, 1996A] W. P. Huang, C. L. Xu, W. Lui, and K. Yokoyama, "The Perfectly Matched Layer
Boundary Condition for Modal Analysis of Optical Waveguides: Leaky Mode Calculations",
IEEE Photon. Techn. Lett., vol. 8, No. 5, pp. 652-654, May 1996.

[6]

[Huang, 1996] W. P. Huang, C. L. Xu, W. Lui, and K. Yokoyama, "The Perfectly Matched Layer
(PML) Boundary Condition for the Beam Propagation Method", IEEE Photon. Techn. Lett., vol.
8, No. 5, pp. 649-651, May 1996.

[7]

[Huang, 1992 B] W. P. Huang and C. L. Xu, "A Wide-Angle Vector Beam Propagation Method,
IEEE Photon. Techn. Lett., vol. 4, No. 10, pp. 1118-1120, 1992.

[8]

[Hadley, 1992] G. R. Hadley, "Wide-Angle Beam Propagation using Pad Approximant


Operators", Opt. Lett., vol. 17, No. 20, pp. 1426-1428, 1992.

[9]

[Van, 1992] H. A. Van Der Vorst, "Bi-CGSTAB: A Fast and Smooth Converging Variant of Bi-CG
for the Solution of Nonsymmetric Linear System, SIAM J. Sci. Statist. Comput., vol. 13,
pp. 631-644, 1992.

[10]

[Mielewski, 1998] J. Mielewski and M. Mrozowski, " Application of the Arnoldi Method in FEM
Analysis of Waveguides", IEEE Microwave and Guided Lett., vol. 8, No.1, pp. 7-9, 1998.

[11]

[Huang, 1991] W. P. Huang, C. L. Xu, and S. K. Chaudhuri, " A Finite-Difference Vector Beam
Propagation Method based on H-Fields, IEEE Photon. Tech. Lett., vol. 3, pp. 1117-1120, 1991.

[12]

[Huang, 1994] Xu, C. L., W. P. Huang, J. Chrostowski, and S. K. Chaudhuri, " A Full-Vectorial
Beam Propagation Methods for Anisotropic Waveguides, IEEE J. Lightwave Tech., vol.12,
No. 11, pp. 1926-1931.

138

Fiber Mode Solvers


Introduction
Many kinds of optical fiber can be described, or in the case of graded index fibers,
approximated by, a series of concentric layers of loss-less dielectric. When the index
contrast in the structure is small, it is common to use the scalar wave equation to
obtain the linearly-polarized modes (LP modes). However, when the index contrast
becomes larger, the LP approximation becomes inaccurate, and a full vector analysis
is necessary [1]. Within any one of the concentric layers, the field components are all
linear combinations of Ordinary and Modified Bessel functions, and the solution is a
matter of matching the tangential field components of adjacent layers, leading to the
solution of a linear system. There are some choices to make about the best way to
arrange the linear system (see Ref. [2] for a complete treatment) but probably the best
choice for a general, quick algorithm is the method of Yeh and Lindgren [3]. The
method has intuitive appeal in its similarity to the transfer matrix method used for the
analysis of planar waveguides [4]. Both methods use a matrix to express the fields at
one side of a layer given their values at the other side, and the whole structure is then
characterized by cascading the layers by matrix multiplication. For vector fields in
fibers, there is no natural separation into TE and TM polarization, so one must include
the two tangential components for both electric and magnetic field simultaneously. In
total there are four transverse components at the layer boundaries, so the transfer
matrix in fiber is a 4x4 matrix, instead of 2x2.
The method used by the Optiwave fiber mode solvers is different from the previous
works in three ways. The 4x4 matrix method for vector modes in fibers is
implemented with these improvements to make the algorithm faster in execution time,
and more reliable in the finding of modes, particularly in cases where the modes are
almost degenerate. The first improvement involves a reformulation of the basic
equations to make a real-valued numerical implementation. Since it is loss-less
modes on a fiber of loss-less material that is being sought, there is no reason to
include complex numbers in the formulation. Real-valued implementation uses less
computer resources. Second, the complete transfer across one layer boundary
requires a matrix inverse. It is better to find this inverse analytically, rather than rely
on numerical inversion at each stage. The layer matrix can be decomposed into two
4x4 matrices, and the new matrices are of a form where it is easy to find the inverse
by inspection, thereby finding the analytic solution to the original inversion problem.
Third, it is usual to construct the dispersion function (the zeros of which are located at
the modal indices) as the determinant of the 4x4 matrix system. While this is
theoretically correct, it is not the most intuitive prescription. Worse, the determinant

139

is not the most convenient construction for locating the zeros, particularly in the case
where two zeros are very close to each other. Optiwave uses an eigen-value analysis
that splits the dispersion function into two functions. This splitting resolves the almost
degenerate pairs and helps the simple-minded computer algorithms to find the zeros
of the dispersion function (i.e. the modes) more reliably.

Real-valued formulation
The time independent Maxwell curl equations with a positive time convention (
are

E = j 0 H

H = j 0E

e jt )
(1)

and the divergence equations are

( E ) = 0

H = 0

(2)

The factor j does not suit the current purpose, so make the substitution

h = j 0 H
where 0 =
units. Then

0 0

is the free space impedance, so that h and E have the same

E = kh
where

(3)

h = kE

(4)

k = 0 0 . Eliminating the h gives the electric wave equation


E k E = 0
2

(5)

Debye Potential
For finding electromagnetic fields in a cylindrical geometry it is convenient to use
cylindrical coordinates r, and z, and Debye potentials parallel to the axis of rotation,

z [2]
1
E = ( z ) + ----- ( z )
k

(6)

1
h = ( z ) + --- ( z )
k

(7)

FIBER MODE SOLVERS


It is supposed that the permittivity is constant in the region in which the above
equations apply. The fibers are defined as a series of concentric layers of constant
dielectric, so for the fiber mode solver, the region is the annulus between the layer
boundaries. Equation 6 and Equation 7 are applied in a piecemeal way. Strictly
speaking, the , and should have subscripts to indicate to which layer the
solution applies, but they are dropped here to simplify the representation. The
complete solution for the multilayer fiber will be constructed by using a separate pair
of functions for each layer, and by matching the tangential field components at the
layer boundaries
The divergence of the curl of any vector field is identically zero. Therefore the choice
of (6) and (7) to represent the electric and magnetic fields means that the divergence
equations (2) will automatically be satisfied. In the remainder of this section, we show
that if the two potentials and are solutions to the scalar Helmholtz equation, then
(6) will be a solution to the Maxwell wave equation (5), at least within any given layer.
In subsequent sections, the particular solution for the mode will be found by observing
the boundary conditions imposed by physical considerations on E and h.
Suppose is a continuous function of position that satisfies the Helmholtz equation
in 3 dimensions

+ k = 0
2

(8)

Consider the following equation, true for any satisfying (9) in a region of constant
permittivity.

2
2
[ ( z ) ] ( z ) k z = ------z

(9)

Associate the first two terms together and apply the vector identity

( ) =
2

(10)

2
( z ) k z = ------z

(11)

to get

The right hand side of (11) is a gradient of a scalar function, so the curl of the left hand
side must be zero. take the curl of (11)
2
( z ) k ( z ) = 0

(12)

141

FIBER MODE SOLVERS


and define E by the first term of (6). With E defined this way, the Maxwell electric
wave equation (5) follows, and therefore this E is a possible solution for electric field.
Solutions defined from the function solely (that is to say, solutions with
have electric fields of the form

= 0), will

E = ( z ) = -r- ------- ------r


r

(13)

from which we can see there is no longitudinal (z) component to the electric field, i.e.
these are transverse electric fields. The magnetic field associated with these
transverse electric fields is constructed from the first Maxwell curl equation in (4):

1
h = --- ( z )
k

(14)

which is the second term of (7).


The same sequence (7) - (11) can be applied to the function to give transverse
magnetic fields, and the electric components of these are given as the second term
of (6). A linear superposition of transverse magnetic and transverse electric fields will
give solutions that are neither transverse magnetic nor transverse electric. In fact,
most modes of the fiber are of this hybrid kind. In the hybrid case, equations (6) and
(7) are used as written, and the relative value of the and is now important, since
it is a specific linear combination that matches the boundary conditions at the layer
boundaries.

Separation of Variables
The potentials themselves are solutions of the scalar Helmholtz equation, and the
particular solution is found by observing the boundary conditions imposed by physical
considerations on E and h. The potentials are supposed to form modes, so a solution
where the variables are separated is appropriate

(r, , z) = (r) exp [ j ( z ) ]

(15)

and a similar expression applies for the other Debye potential, . The Helmholtz
equation (8) is expanded in cylindrical co-ordinates, and then (15) is substituted.For
regions where is constant, the radial functions follow the Ordinary or Modified
Bessel equation, and so the solutions are linear combinations of Bessel functions of
integer order v. In any given layer,

(r) = AJ ( ur ) + BY ( ur )

142

(r) = CJ ( ur ) + DY ( ur )

(16)

FIBER MODE SOLVERS

where u = k . In layers where the propagation constant squared is


2
larger than k , the Bessel functions J and Y are replaced by the Modified Bessel
functions I and K, respectively.,
2

(r) = AI ( wr ) + BK ( ur )

(r) = CI ( ur ) + DK ( ur )

(17)

where w = k . Equations (15), (16), and (17) are substituted in (6) and (7)
to find the electromagnetic fields. It is the tangential components and z that are
needed explicitly, since it is the tangential components of the electric and magnetic
fields that should match at layer boundaries. These field components are related to
the coefficients A, B, C, and D by a 4x4 matrix
2

Ez
h
f =
=
hz
E

u J ( ur ) k u Y ( ur ) k
0
0
uJ' ( ur )
uY' ( ur ) nJ ( ur ) r nY ( ur ) r
2

u J ( ur ) k
0
0
nJ ( ur ) r nY ( ur ) r uJ' ( ur )

u Y ( ur ) k
uY' ( ur )

A
B
C
D

(18)

where n = k is the modal index, and the common factor exp [ j ( z ) ] is


2
suppressed. In layers where the propagation constant squared is larger than k , the
Bessel functions J and Y are replaced by the Modified Bessel functions I and K,
respectively, and the u is replaced by w.
A similar equation to (18) applies in adjacent layers, with different constants A, B, C,
D. Given the constants in one layer, the constants in the adjacent layer can be found
by solving the linear system created by the field matching condition. The f found by
the two matrices should be the same field vector at the boundary between layers. The
difference between this formulation and that in Ref. [2] and [3] is that this formulation
uses real numbers only.

Solution of the linear system


The order of the components in the vector f is chosen to help factor the matrix in (9)
T
into two matrices as Ff = Dc where c = [ A, B, C, D ] ,

F =

0
0

1
0

nk ru
1

nk ru

0
2

0
0

(19)

143

FIBER MODE SOLVERS

u J k u Y k
uY'
uJ'
2

D =

0
0

0
0

0
0

0
0

(20)

u J k u Y k
uY'
uJ'
2

The advantage of this factoring is that it is easy to find the expressions for F and
1
1
1
D . F is found by two row reductions and D by inverting the 2x2 matrices in the
block diagonal. These matrices are required to find the coefficients in the next layer.
If c m are the coefficients in the m-th layer, then the coefficients in the next layer is
found from the matrix product,

c m + 1 = D m + 1 ( r m )F m + 1 ( r m )F m ( r m )D m ( r m )c m
1

(21)

The use of the factored matrix means four matrix multiplications instead of two are
required to cross the boundary, but it avoids having to find the matrix inverse
numerically.

Dispersion equation
The matrix to describe the whole multilayer can be written as one 4x4 matrix, the
product of all layers, one layer of which is shown in (21). The dispersion equation is
usually constructed by setting the determinant of this 4x4 matrix product to 0, but this
is not a good choice from the numerical point of view. In the limit of low index contrast,
the modal indices can be very close to each other, making them hard to find by
numerical methods, which tend to skip over closely spaced zeros. A more convenient
condition comes from using rectangular matrices at the first and last layers, which are
special cases. In the first layer, which contains r = 0, coefficients B 0 and D 0 must
be zero, so the first matrix, D 0 , is 4 x 2 consisting of the first and third columns of the
D matrix in (20). Similarly, in the last layer, it is the coefficients A M and C M that must
go to zero in (17), since those contain solutions I with unphysical growth. The last
1
1
matrix D M will be of size 2 x 4, and consist of the first and third rows of D . The
product of all these matrices will be of size 2x2, which we call S(n). (The dependence
on n is written explicitly since it is the modal index to be found). A mode is obtained
at a modal index n when a non-trivial solution is found to,

0 = S(n)

A0
C0

(22)

The condition det(S) = 0 is sufficient for a non-trivial solution. However this condition
can be inconvenient for the case of certain modes of the low index contrast fiber. For
example, consider a step index fiber with radius 2 m , having a core index of 1.46
and a cladding of 1.45. For order zero ( = 0 ), the determinant of S will vary with
the modal index n as shown in Figure 1.

144

FIBER MODE SOLVERS

Figure 1 The determinant of the system matrix vs. the modal index. Step index fiber with radius 2 m , core
index of 1.46, and a cladding of 1.45. The optical wavelength is 0.5 m , and the order = 0 .

It is difficult to find the zero for curves of this type. The position of the zero is easily
passed over in the initial search for zero crossings. The shape of the curve in the
region of the zero is very nearly quadratic, so the best solution is to split the
determinant function into a product of two functions. In that case, the zeros can be
found by looking for zero crossings of the two functions separately. Suitable functions
T
can be found by considering the vector [ A 0, C 0 ] , as an eigenvector of S with
eigenvalue, equal to 0. The eigenvalues of S(n) are ,

1(n) = T 2 + T 4 det ( S )
2

2(n) = T 2 T 4 det ( S )
2

(23)

Where T = S 11 + S 22 . The determinant of a matrix is equal to the product of its


eigenvalues, so the product det ( S ( n ) ) = 1 ( n ) 2 ( n ) is a factoring convenient for
the zero finding task. A mode exists when either 1 ( n ) = 0 or 2 ( n ) = 0 . The
advantage of searching for zeros of the two functions (23) is that the functions 1 ( n )
and 2 ( n ) have zeros that are widely spaced apart, and are more easily found than
the zeros of the single determinant function.

145

FIBER MODE SOLVERS

Figure 2 Plot of the eigenvalues and determinant vs modal index.

Figure 3 Expanded view of the zero crossing region

LP Modes
Linearly Polarized modes can be found with the same style of approach as above, by
a transfer matrix analysis of multilayer fibers.In the LP analysis, the initial excitation is
assumed to have a linear polarization, and so a modal analysis supporting only one
field component is used. It can be shown this is a good approximation for fibers with
low refractive index contrast, as shown below.

146

FIBER MODE SOLVERS

Consider again the wave equation of (5), but this time use the vector identity (10)
directly on the electric wave equation instead of introducing the Debye potential. The
result is
(24)

E ( E )E + k E = 0
2

From the Maxwell divergence equation (2)


(25)

0 = ( E ) = E + ( E )
so that

2
2
E + k E + E ------- = 0

(26)

In the case of low index contrast waveguides, such as are found in most optical fibers,
the last term in (26) is negligible. The last term is the only one that contributes to
coupling among the field components of the electric field, so if this term is neglected,
the model will be a polarization preserving model. If the excitation was a linear
polarization parallel to the X axis, the model could be further simplified by considering
only the X component of (26). This shows that for the LP model, the governing
equation for the field is the Helmholtz equation (8) applied to the field component E x .
The solution for LP modes is constructed in a similar way as for the vector modes.
The E x is constructed in each layer as a linear combnation of Bessel functions (16)
and (17), except this time only two coefficients, A 1 and B 1 , are required, since only
one function needs to be constructed. The physical consideration at the layer
boundaries is the continuity of E x and its derivative. The two conditions are related
to the two coefficients A and B for each layer by 2x2 matrices. The modes are found
by setting up a calculation that assumes A 1 = 1 and B 1 = 0 for the first (inner
most) layer, and then calculating the coefficients in each subsequent layer by matrix
manipulations. The last layer has the condition that the coefficient ( A M ) of the Bessel
function I must be zero, since this Bessel function is not bounded at infinity. This
last coefficient is a function of the order and the modal index n, so the modes are
found by finding the zeros of A M ( n ) .

147

FIBER MODE SOLVERS

References
[1]

K. Okamoto, Fundamentals of Optical Waveguides, (Academic Press, San Diego, 2000).

[2]

C. Tsao, Optical Fibre Waveguide Analysis, (Oxford University Press, 1992), Part III

[3]

C. Yeh and G. Lindgren, "Computing the propagation characteristics of radially stratified fibers:
an efficient method", Applied Optics 16(2) p483-493 (1977)

[4]

J. Chilwell and I. Hodgkinson, "Thin-films field-transfer matrix theory of planar multilayer


waveguides and reflection from prism-loaded waveguide", Journal of the Optical Society of
America A, 1 p742-753 (1984)

148

Finite Difference Mode Solver


Introduction
This mode solver uses a magnetic field based formulation of the difference equations
to convert the mode solving problem into a problem of finding eigenvectors of a large
system of linear equations. The formulation is due to Lsse [1]. Once the linear
system is found from this formulation, the modes can be found by finding
eigenvectors, and for this we use the Implicitly Restarted Arnoldi Method (IRAM), as
implemented by ARPACK [2]. In OptiMode, the boundary condition applied at the
edges of the calculation window can be of the Dirichlet type (magnetic field goes to
zero at the window boundaries), or the user can select Transparent Boundary
Conditions (TBC). In the TBC case, the algorithm will try to match the optical field at
the boundary to a plane wave with propagation constant constructed from the
approximate modal field available at intermediate stages of the simulation. This
propagation constant is complex, so it should be able to accommodate leaking
radiation as well as the more common exponential decay of the field.
The operation of the IRAM and the TBC are controlled from settings parameters in
OptiMode. These parameters are found in the FD tab of the Solver Parameters dialog
box (Fig. 2). The parameters for TBC are Fourier Limit and Change Limit. The
parameters that control the eigenvector solving are Tolerance, Max. Steps, Preview
Mode, Skip Value, and Dimension of the Krylov Subspace. This technical background
is intended to explain what these parameters mean and how they influence the mode
solving. The values of the parameters are pre-set to values that seem to work well for
most cases. However, there could be exceptional cases in which the user will need to
modify those parameters. This technical background is provided to help the user
understand what these parameters do and what might happen if they are changed.
We provide a summary of the Lsse formulation of the finite difference equations for
optical magnetic field. Then we show an overview of how the IRAM works, not in great
detail, but simply enough to show the meaning of the OptiMode Settings parameters.
Then we show how the TBC is constructed, so that the relevant OptiMode Settings
parameters can be understood.

149

Magnetic Formulation
Inside a dielectric, the time independent Maxwell curl equations with a positive time
convention ( e jt ) are

E = j 0 H

H = j 0E

(1)

and the divergence equations are

( E ) = 0

H = 0

(2)

In the magnetic formulation, the electric field is eliminated from (1) by taking the curl
of the second equation and substituting from the first. For regions of constant
permittivity , there are no gradients of , and the equation simplifies to

H = 0 0 H
2

In view of the vector identity A =


H having zero divergence, (3) becomes

2
( A ) A , and the property of

H + k H = 0
2

where

(3)

(4)

k = 0 0 is the free space wavenumber.

It is true that it is usually the electric field, and not the magnetic field, that is of interest
for applications. The motivation for solving the problem with a magnetic formulation is
that the waveguide structure is created by introducing discontinuities in electric
permittivity, , and not magnetic permeability, . When matching boundary
conditions at layer boundaries, the normal component of the electric field is
discontinuous, since it is the electric displacement, D = 0 E , and not the electric
field that is to be made continuous. Since the permeability is the vacuum level 0
everywhere, all components of the magnetic field are continuous at all boundaries.
The finite difference representation of continuous functions is more accurate than
discontinuous functions, and therefore a finite difference formulation based on the
magnetic field gives more accurate results than one based on electric fields.
The electric fields are still needed for applications. These fields can be calculated after
the fact by taking the curl of the magnetic field (using the second equation in (1)) by
finite differences. Explicitly,
2

1 Hx 1 Hy
E x = --------0 --+ --- 2 H y
k y x y

(5)

1 H 1 Hy
E y = -----0 --- 2 x + -- H x
x y
k x

(6)

FINITE DIFFERENCE MODE SOLVER

In the mode solving problem, the permittivity does not vary with z, and so the
solution for the magnetic field can be expected to be an harmonic function of z:

H ( x, y, z ) = h ( x, y )e

(7)

jz

and (7) in (4) gives

hx hx
2
2
---------2- + ---------2- + k h x = h x
x
y
2

(8)

hy hy
2
2
---------2- + ---------2- + k h y = h y
x
y
2

(9)

Since the is unknown, the mode solving problem is really an eigenvector problem
2
with as the eigenvalue, and the function h x ( x, y ) or h y ( x, y ) as the
eigenfunction.

Magnetic Finite Difference Equations


In order to reduce the partial differential equation into difference equations for solving,
a mesh needs to be defined and applied. The mesh used is shown in Fig. 1 below. It
shows a sample of the mesh at a point P that is not on one of the calculation window
boundaries. The magnetic fields are defined at the nodes (dots at the intersections),
and the permittivity is defined in the rectangular regions bounded by the nodes. The
permittivity inside the rectangular regions NE , NW , SE , and SW is taken to be
constant, so inside each of these regions, the equations (8) and (9) apply.

Figure 1 Mesh for the finite difference equation. The magnetic field is defined at points N, S, E, W, and P.
The permittivity is defined in the rectangular regions bounded by the nodes.

151

FINITE DIFFERENCE MODE SOLVER


The mesh is in the transverse plane, and (8) and (9) do not, by themselves, introduce
coupling between the field components h x ( x, y ) and h y ( x, y ) . The coupling
comes from matching the transverse components of electric and magnetic fields at
the boundaries.
In Ref [1], the magnetic fields inside the rectangular regions are expanded to the
second order in derivatives defined at the centre point, P. Those expansions are used
to estimate what the longitudinal components e z and h z will be at the horizontal
and vertical boundaries between the points N, S, E, W, and P. Once this is done, an
equation involving the magnetic field components at the nodes is eventually obtained:

h
SE
h xE h xW ------ SW
-------2 + --------2 + xN-2 -------------------- + --------------------x x y NE + SE NW + SW
h xS
NE
NW
-2 -------------------+ ------- + --------------------y NE + SE NW + SW
2
2
k NW SW k NE SE
2 - ------2+ h xP --------------------- + --------------------- ------2
NW + SW NE + SE y x 2
h 1 NW SW NE SE
2
+ -------y ------ --------------------- + --------------------- = h xP
x y NW + SW NE + SE

(10)

Equation (10) comes mostly from (8) for h x . In the matching of transverse
components of the fields, another term involving h y appears. This is the term that is
responsible for the coupling of h x and h y . In the finished finite difference
formulation, the derivative of h y with respect to x is replaced by a centred finite
difference. Note that if at this particular node, it happens that the permittivity is the
same on the north side of the boundary as on the south (i.e. it is a vertical boundary),
no coupling will occur, or at least there will be no contribution from the h y component
of this node.
This equation (and a similar one for h y ) is applied to each node in the mesh. Let the
number of nodes be n. It is the repeated application of this equation, and the
adjustment of the meaning of the N, S, W, E, and P designations, that generates a
large system of linear equations. The values of the x and y components of the
magnetic field are collected in a vector of dimension n x 1, called v , say. The
equations on the left form an n x n matrix Q that multiplies v , and the right hand
side has the original vector representing the magnetic field, multiplied by the
2
eigenvalue . In vector-matrix form, the problem looks like

Qv = v
2

and to find the modal indices ( n mod


a classical eigenvector problem.

= k ) and modes, v , is a matter of solving

Implicitly Restarted Arnoldi Method (IRAM)


The repeated application of (10) for every node, and the application of a similar
equation for h y leads to an eigenvector problem of a large system of linear

152

(11)

FINITE DIFFERENCE MODE SOLVER

equations. The Finite Difference Mode Solver uses the Implicitly Restarted Arnoldi
Method as described in Ref. [2] to find the eigenvectors of this system, and thereby
find the modes of the waveguide.
The Implicitly Restarted Arnoldi Method looks for the modes inside a Krylov
Subspace. This subspace is constructed from the mode operator, and from an
arbitrary (could be random) starting magnetic field, here described as a vector, v 1 .
The Krylov subspace K m ( Q, v 1 )is the space spanned by powers of the Q when
applied to the initial vector v 1 :

K m ( Q, v 1 ) = span { v 1, Qv 1, Q v 1, Q v 1, Q v 1 }
2

(12)

The IRAM constructs a basis for the m + 1 dimensional Krylov subspace by the
Gram-Schmidt process. For example, a basis for a 2 dimensional Krylov subspace,
K 1 ( Q, v 1 ) , can be constructed from v 1 and Qv 1 . A vector perpendicular to v 1
can be found by subtracting the v 1 component from Qv 1 :

w 2 = Qv 1 ( v 1 Qv 1 )v 1

(13)

This vector is parallel to the second basis vector, v 2 , which is found once
divided by its length, w T w . It is easy to show that this length is
2

w 2 is

(14)

w 2 w 2 = v 2 Qv 1
The above inner product
are defined

v of with Q occurs frequently, so the matrix components


(15)

h ij = v i Qv j
With this definition, the effect of including another power of
of the new basis vectors

Q can be written in terms


(16)

Qv 1 = h 11 v 1 + h 21 v 2
Following the Gram-Schmidt process, a vector in the Krylov subspace that is
perpendicular to both v 1 and v 2 can be constructed from subtracting the
projections of Qv 2 onto the first two basis vectors

(17)

w 3 = Qv 2 h 12 v 1 h 22 v 2

Normalizing w 3 as before, and rearranging terms shows how the space generated
2
from Q v 1 can be represented in terms of the basis vectors
(18)

Qv 2 = h 12 v 1 + h 22 v 2 + h 32 v 3

153

FINITE DIFFERENCE MODE SOLVER

The Gram-Schmidt process can be followed in as many steps as necessary to create


a basis for the Krylov subspace.
An important point to note is that the dimension of K m ( Q, v 1 ) , (and therefore the
number of basis vectors needed to span it), might be less than m + 1. Lets suppose
that the mode solving problem was asked to find the first k modes, where k < m. Let
us also suppose that the initial vector v 1 happened to be a linear combination of
these k modes. Modes are solutions to the eigenproblem of equation (11). Let the ith
mode field be represented by e i , and let its propagation constant (eigenvalue) be
2
i . Call the subspace spanned by those k modes S k , to represent a subspace of
k dimensions. Then

v1 = x1 e1 + x2 e2 + + xk ek Sk

(19)

When the second vector to span the Krylov subspace is calculated, it is apparent it is

Qv 1 = 1 x 1 e 1 + 2 x 2 e 2 + + k x k e k S k
2

(20)

also a linear combination of the k eigenvectors, and is therefore still in the subspace,
S k . It is easy to see that this situation is not changed by multiplying by Q again,
and so

Q v1 Sk
j

(21)

for any power of Q . ( j can be 1, 2, ... up to ). Therefore the dimension of this


Krylov subspace, K m ( Q, v 1 ) is fewer than the m + 1 vectors in the span (12). For
this choice of v 1 , the Krylov subspace has dimension k ( < m), and some of the
vectors in (12) have linear dependence on others.
When v 1 is a member of the subspace S k , the Gram-Schimdt process must
terminate at k, since having m basis vectors is not possible in S k . The termination
will be seen at the kth step of the process, in trying to calculate a vector perpendicular
to the previous k basis vectors. Equation (17) showed the generation of the 3rd vector,
the kth will be formed from

w k + 1 = Qv k h 1k v 1 h 2k v 2 h kk v k

(22)

When this is done with v 1 S k , the w k + 1 must be zero, and the Gram-Schmidt
process will terminate. Because of the termination, the search for modes will take
place in a space of dimension k ( 1, 2, maybe 10) rather than in the space of the
vectors themselves. The vectors have dimension equal to the number of nodes in the
mesh of Fig. 1. This is typically some number on the order of 105 or 106. This
termination greatly simplifies the problem!
Of course, a random choice of v 1 is unlikely to be a member of S k , but the IRAM
strategy is to use iterative processes that effectively change the initial choice of v 1
to a vector inside (or not far from) the subspace S k .

154

FINITE DIFFERENCE MODE SOLVER

In the FD tab of the Solver Parameters dialog box of OptiMode, both k and m are
defined as shown in Fig. 2.

Figure 2 Solver Parameter dialog box of OptiMode displaying the tab for the Finite Difference mode solver
(FD). Dimension of Krylov Subspace (m) and number of modes to find (k) are defined here. In the Auto
setting, m = 2k with m having a minimum of 4. m can be set by the user by unselecting the Auto check box.

Note that when the Dimension of Krylov Subspace is in its Auto setting, the dimension
of the Krylov subspace (m) will be made double the dimension of the number of
modes desired (k). In this example, the IRAM will construct a basis for a Krylov
subspace of dimension m. This will involve making m copies of the field initially found
on the defined mesh. If this mesh is already very large, there is a possibility to create
an out-of-memory error, because the mode solver requires at least m times the
storage required for a single mode.
The first choice of v 1 will probably not be anywhere near S k , so the IRAM begins
a process of shifted Q-R iteration to move away from unwanted eigenvalues and
closer to the desired ones. When the Q-R iteration process is finished, The algorithm
restarts (the R in IRAM). It reduces the dimension of the working space to k, but the
new subspace is different because the QR iterations indirectly change the starting
vector, v 1 . The result is usually movement toward the desired solution space S k .
This leaves a new set of vectors spanning a new k dimensional space, and the
algorithm starts the Arnoldi process again to build the dimension up to m. Then
another Q-R process will start to move closer to S k . See Ref [2] for details. If you
watch the computers Task Manager while the algorithm runs, you might see the used
RAM cycle as the dimension of the space cycles from k to m and back. After many
iterations the stopping condition will be met, and at this point the generalization of
equation (18) will appear as

Qv k = h 1k v 1 + h 22 v 2 + + h kk v k + h k + 1, k v k + 1

(23)

155

FINITE DIFFERENCE MODE SOLVER

If the v 1 is now inside S k , the last coefficient in the sum will be zero. This is evident
from the definition of h ij . If v 1 really is inside S k , Qv k is also inside S k and it
must be perpendicular to v k + 1 , making h k + 1, k = 0 . In the practical
implementation of the mode solving problem, h k + 1, k wont be exactly zero, but the
IRAM process finishes when it is small enough to be negligible. Once the problem is
in the form of (23) with the last term very small, it is easy to find the modes and
propagation constants.
To see this, make the following change in notation. Define an n x k matrix
columns of which are made from the k Arnoldi basis vectors of size n x 1,

V k = [ v 1, v 2, v 3, , v k ]

V k , the
vk
(24)

and form a k x k matrix from the h ij coefficients of equation (15). Now consider QV k .
Equations (16) and (18) show how the first two columns of QV k are formed in terms
of h ij and the v k found in the first three columns of V k . The reader can find the
following columns by following the Gram-Schmidt process further. Note that H k has
all zero elements for those below the first subdiagonal, because the ith column of
QV k is a linear combination of the first i + 1 basis vectors v k . (A matrix of this form
is called Hessian).

Hk =

h 1, k 1
h 2, k 1
h 3, k 1
h 4, k 1

h 1k
h 2k
h 3k
h 4k

0 0

0 h k, k 1 h kk

h 11
h 21
0
0

h 12
h 22
h 32
0

h 13
h 23
h 33
h 43

(25)

All of the columns of QV k , except for the last one, are calculated by V k H k . The last
column (kth column), according to (23) will need to include a term v k + 1 . This isnt
available in V k , so the relation is made complete by adding the last column explicitly:
T

QV k = V k H k + h k + 1, k v k + 1 e k

(26)

e k is the kth unit column vector in a k dimensional space, and the transpose is
T
e k = ( 0, 0, 0, , 1 ) . Putting this row vector after the column vector v k + 1 serves
to put v k + 1 in the last column of a k x k matrix with zeros elsewhere. The second
term on the right adds the missing column in the relation. From the above discussion,
the h k + 1, k is expected to be small, and it becomes a measure of the accuracy of the
solution.
The k modes we are looking for are inside S k . These modes can be found by finding
the eigenvectors of the matrix H k . This greatly simplifies the problem. The matrix
Q is n x n, where n is the number of nodes in the finite difference mesh. n is typically

156

FINITE DIFFERENCE MODE SOLVER

on the order of 105 or 106. On the other hand H k is k x k, and k is probably of order
of 10 or so. The reduction to (26) simplifies the problem by many orders of magnitude.
The k modes inside
vector, of size k x 1,

S k are a linear combination of the basis for that space. Let a


s , represent an arbitrary vector in this space
x = Vk s Sk

Now let

(27)

s be an eigenvector of H k , and let the corresponding eigenvalue be .


H k s = s

It is easy to show that, within an accuracy specified by


is an eigenvector of Q with eigenvalue :

(28)

h k + 1, k , the x defined in (27)

Qx x = QV k s V k s = QV k s V k H k s
= ( QV k V k H k ) s = h k + 1, k v

(29)

T
k+1 k

e s

If the last term in (23) is zero, then ( x, ) is an exact eigenpair solution for Q . If the
last term is not exactly zero, then the pair ( x, ) is called a Ritz Pair, and the norm of
(29) is a measure of how accurately the Ritz Pair approximates the true eigenvector.

Qx x = h k + 1, k v k + 1 e k s = h k + 1, k e k s
T

(30)

The number the above equation (30) evaluates to is called the Ritz estimate of the
Ritz Pair, ( x, ) .
The IRAM will stop when the user specified tolerance has been met, or the maximum
number of steps has been exceeded. The tolerance is calculated from the user
specified number in the Tolerance field of the Solver Parameters dialog box shown in
Fig. 2. The maximum number of steps is from the field called Max. Steps. Letting the
tolerance be t , the IRAM will stop when the following condition is met:
(31)

h k + 1, k e k s max ( M H k , t )
T

where

M is the machine precision, or when Max. Steps is exceeded.

When the mode solver is running, while the iterations are taking place, the value in
(31) is exceeded, but it is still informative to observe at least one of the Ritz vectors.
In a long calculation, the user can see if the mode solver is approaching a mode
solution or not. If not, the simulation can be stopped, and corrective action taken.
OptiMode calculates one of the Ritz vectors by (27) while the IRAM is going through
its iterations. This is the field displayed in the simulator while the calculation is taking
place. You can select which Ritz vector to view with the entry in the field Preview Mode
field in the Solver Parameters dialog box (Fig. 2). Selecting 0 in this field will calculate

157

FINITE DIFFERENCE MODE SOLVER

and display the first Ritz vector, the current approximation to the fundamental mode.
Entering 1 in this field will calculate and display the second Ritz vector, an
approximation to the next higher mode, and so on. The fields dont change very much
from one iteration to the next, so to save execution time you might not want to
calculate and view a Ritz vector for every iteration. If you want to observe every 10th
iteration, enter 10 in the Skip Value field.

Transparent Boundary Condition (TBC)


The equation (10) applies to nodes inside the mesh. Nodes on the boundaries need
a different formula because at least one of the N, S, E, or W nodes will be outside of
the mesh and therefore not included in the calculation. The situation for a node on the
South boundary is illustrated in Fig. 3.

Figure 3 South boundary. The S node is outside the mesh, and not part of the simulation.

One kind of boundary condition is to just take the value at S to be zero. This is the
Dirichlet boundary condition, where all field components are taken to be zero at (or
one mesh point beyond) the simulation window boundary. This boundary will be used
if the Use TBC checkbox is not selected in the Solver Parameters dialog box (Fig. 2).
If the Use TBC checkbox in the Solver Parameters dialog box is selected, the value
of the magnetic field at S will be estimated. When the mode solving starts, S will be
taken as 0 for the initial iterations of IRAM. After Skip Value steps (and after each
multiple of Skip Value iterations) the mode solver calculates and displays the Ritz pair
( x, ) , which is an approximation to the mode indicated in the Preview Mode field of
the Solver Parameters dialog box (Fig. 2). The x contains the values of the magnetic
field at the nodes of the mesh, and the is an approximation to the propagation
constant as found in equation (8) or (9). The region outside the calculation window

158

FINITE DIFFERENCE MODE SOLVER

boundary (south of P), is without feature, of constant permittivity, and so the magnetic
field (either x component or y) will approximately follow
2
h h
-------2- + -------2- + ( k )h = 0
x
y
2

(32)

the approximation being due to the being only an approximation to the


propagation constant. The value will approach the actual propagation constant as the
number of iterations of IRAM increase.
The solution of the magnetic field of a single mode in a region of constant permittivity
can be represented as a plane wave

h ( x, y ) = h P e
Here the origin of the coordinate system
desired value of the magnetic field at S is

(33)

( ax + by )

( x, y ) is at the point P. As such, the

hS = hP e

b y

(34)

and this value can be used for the node outside the calculation window when applying
finite difference equations like (10).
To calculate the appropriate value for the wavenumber,

b . Put (33) in (32)


(35)

a +b +k = 0
2

The Ritz pair estimate provides an estimate of the magnetic field at the nodes of the
2
2
mesh, and these values can be used to estimate the value of h x (and
therefore a ) at P along the South boundary. With the a estimated this way, the
b could be calculated as

b =

k a
2

(36)

where the branch cut of the square root is selected so as to have a positive real part,
so that the magnitude of h S is something smaller than h P .
It remains to estimate a . This can be done by finite differences of the three nodes
W, P, and E, but the values of the field at the window boundaries can be quite small,
with lots of error, and the results of second differences can be erratic. In this release
2
2
we chose a Fourier Series method to estimate h x , and the entire South
boundary is used. Let f ( x ) represent the magnetic field on the South

159

FINITE DIFFERENCE MODE SOLVER

boundary

f(x)

x [ 0, L ] , and let f n ( x ) be a Fourier Series based approximation of


n

fn ( x ) =

2jmx L

(37)

m = n

where

1- L
2jmx L
-F m = f ( x )e
dx
L 0

(38)

The fact that all of the points on the boundary are used to calculate the f n ( x ) helps
to stabilize it from numerical errors. The second derivative is calculated by changing
the series in the appropriate way
2

d f (x)
h --------------- n2 =
2
x
dx
2

2m 2 2jmx L
F m ----------- e
L

(39)

m = n

and from the definition (33)


2

1 h
a = ----- 2
hP x
P

(40)

When using TBC, the Fourier Series estimate of a is limited to 2n + 1 terms by


the parameter n . This parameter is set by the user from the Fourier Limit field of the
Solver Parameters dialog box (Fig. 2).
In view (34) and (36), it is necessary to have an estimate of the eigenvalue to
estimate h S . Because of this, OptiMode does not apply TBC in the early stages of
the IRAM process. Instead, OptiMode always starts with the Dirichlet form of the
problem. While the IRAM iterations progress, the Ritz Pairs ( x, ) are calculated and
displayed. At each iteration, the progression of the eigenvalue is noted. Once the
problem begins to show sufficient convergence on , the TBC is turned on. This
strategy helps the IRAM from getting lost in spurious solutions early in the iterations.
The point at which the boundary condition is switched from Dirichlet to TBC is user
controlled. In the Change Limit field of the FD tab of the Solver Parameters dialog box,
the user enters a number (see Fig. 2). The TBC will be switched on when the relative
change in becomes less than Change Limit. Note that this is an estimate of
the modal index of the mode displayed by OptiMode simulator during IRAM iterations.
Which mode to display is selected by the user from the Preview Mode field. This
selection means that the TBC will be better adapted to the mode selected in Preview
Mode. Therefore we recommend setting the Preview Mode to the mode of interest. It
permits viewing of that particular mode during the IRAM process, and the TBC will be
a better match at the calculation window boundaries.

160

FINITE DIFFERENCE MODE SOLVER

References
[1]

P. Lsse, P. Stuwe, J. Schle, H-G Unger, Analysis of Vectorial Mode Fields in Optical
Waveguides by a New Finite Difference Method, Journal of Lightwave Technology, 12(3), p
487-493 (1994)

[2]

R.B. Lehoucq, D.C. Sorensen, C. Yang, ARPACK Users Guide, SIAM (1998)

161

FINITE DIFFERENCE MODE SOLVER

162

FINITE DIFFERENCE MODE SOLVER

163

FINITE DIFFERENCE MODE SOLVER

164

Tutorials
This section contains lessons that will help you become familiar with OptiBPM.
The settings and values used in this tutorial are for these lessons only. When you perform reallife simulations, use the settings and values that you require.
The lessons in this section are:

Lesson 1: Getting Started

Lesson 2: Create a simple MMI coupler

Lesson 3: Create a single-bend device

Lesson 4: Create an MMI star coupler

Lesson 5: Wavelength scripting with VB Script

Lesson 6: Design a 3dB coupler using VB Script

Lesson 7: Applying predefined diffusion processes

Lesson 8: 3D OptiMode solver - COST project Waveguide

Lesson 9: Create a chip-to-fiber butt coupler

Lesson 10: Electro-Optic Modulator

Lesson 11: Integrated optical circuit simulation using OptiBPM and OptiSystem
Scattering data export

Lesson 12: Scan the refractive index (RI)

Lesson 13: Applying User-defined diffusion profiles

Lesson 14: Mach-Zehnder Interferometer switch

Lesson 15: Step index fiber modes

Lesson 16: Graded index fiber modes

Lesson 17: Modal analysis of an anisotropic buried waveguide

Lesson 18: BPM analysis of an anisotropic buried waveguide

165

TUTORIALS

166

LESSON 1: GETTING STARTED

Lesson 1: Getting Started


Installing OptiBPM
Before installing OptiBPM, ensure the system requirements described below are
available.

Hardware and software requirements


OptiBPM requires the following minimum system configuration:

Microsoft Windows Windows XP with Service Pack 3, Vista or Windows 7

PC with Pentium 4processor or equivalent

1 GBof RAM (recommended)

400 MB free hard disk space

1024 x 768 graphic resolution, minimum 256 colors

Internet Explorer 5.5

Protection key
A hardware protection key is supplied with the software.
Note: Please ensure that the hardware protection key is NOT connected during
the installation of OptiBPM.
To ensure that OptiBPM operates properly, verify the following:

The protection key is properly connected to the parallel/USB port of the computer.

If you use more than one protection key, ensure that there is no conflict between
the OptiBPM protection key and the other keys.
Note: Use a switch box to prevent protection key conflicts. Ensure that the cable
between the switch box and the computer is a maximum of one meter long.

167

LESSON 1: GETTING STARTED

OptiBPM directory
By default, the OptiBPM installer creates an OptiBPM directory on your hard disk. The
Opti BPM directory contains the following subdirectories:

\bin executable files, dynamic linked libraries, and help files

\bin_64 64 bit executatble files and DLLs.

\doc OptiBPM Manuals and OptiBPM User Guides

\samples OptiBPM examples

\UserDLLs default location of User Profile DLLs, also contains example code
(Visual Studio 6.0) for development of Profile DLLs

Installation
OptiBPM can be installed on Windows XP, Vista or Windows 7. We recommend that
you exit all Windows programs before running the setup program.

Installing OptiBPM on Windows XP, Vista or Windows 7


To install OptiOptiBPM on Windows XP, Vista or Windows 7, perform the following
procedure.

168

Step

Action

Log on as the Administrator, or log onto an account with Administrator


privileges.

Insert the OptiBPM installation CD into your CD ROM drive.

On the Taskbar, click Start and select Run.


The Run dialog box appears.

In the Run dialog box, type F:\setup.exe, where F is your CD ROM drive.

Click OK and follow the screen instructions and prompts.

When the installation is complete, remove the CD from the CD ROM drive
and reboot your computer.

LESSON 1: GETTING STARTED

Introduction to OptiBPM
What is OptiBPM?
OptiBPM is a powerful, user-friendly software system that enables you to create
designs for a variety of integrated and fiber optics guided wave problems on your
computer. Beam Propagation Method (BPM) is a step-by-step method of simulating
the passage of light through any waveguiding medium. An optical field can be tracked
at any point as it propagates along a guiding structure in integrated and fiber optics.
BPM allows computer-simulated observation of the light field distribution. You can
examine the radiation and the guided field simultaneously. OptiBPM provides easy
data entry for laying out waveguide devices. The layout environment contains
waveguide blocks called primitives. You can design devices easily and configure
various simulations. The graphical project layout is a user-friendly graphical interface
for designing photonic devices. Designing tools are provided in toolbars and menu
options. The tools include waveguide primitives, editing and manipulation tools, and
special layout regions.
The OptiBPM program simulates light propagation in two-dimensional (2D) and threedimensional (3D) waveguide devices.
The 2D dimensions are:

X-direction (vertical)Transverse

Z-direction (horizontal)Propagation

The 3D dimensions are:

X-direction (vertical)Transverse

Y-directionDepth

Z-direction (horizontal)Propagation
Note: The simulated devices have a step-like effective refractive index
distribution in the transverse dimension.

To obtain a 2D device from a real 3D device, apply the effective index method. The
reduction from 3D to 2D consists of replacing the two-dimensional transverse crosssection of the device with a one-dimensional cross-section. The actual index crosssection is replaced by a one-dimensional effective index distribution. Although the
effective index method is an approximate solution, it works for many devices.
BPM 3D provides all the tools you need for step-index waveguide design. In BPM 3D,
the entry modeling data consists of the refractive index distribution, the starting
propagation field, and a set of numerical parameters. The index of refraction
distribution is provided by the waveguide structure laid out in the project layout. The
starting field can be a waveguide mode, a Gaussian field, a rectangular field, or a
user-defined field supplied from a file. The starting field and other simulation
parameters are specified in the Global Data dialog box that is accessed through the
Simulation menu. Output data consists of different files that can be displayed or used
for other simulations.

169

LESSON 1: GETTING STARTED

Numerical Simulations
The OptiBPM processing environment contains the Beam Propagation Method (BPM)
as its core element, as well as mode solvers that are compatible with the BPM
algorithms. BPM is based on a numerical solution of equations that govern light
propagation in dielectric media. BPM considers monochromatic signals and is related
to solving the Helmholtz equation. Models of propagation based on approximations of
the Helmholtz equation are used to:

simplify the simulations

reduce the processing time

manage computer memory better

2D BPM
The 2D BPM simulator is based on the unconditionally stable finite difference method
algorithm of Crank-Nicolson. You can customize the following program options,
depending on the design:

Algorithms giving a choice between TE and TM polarization

Wide-angle propagation based on Pad approximants, Pad (1,1) and Pad (2,2)
up to Pad (4,4)

Starting field choice as a waveguide mode, a Gaussian field, a rectangular field,


or a user field

Starting field can be launched at an angle

Reference refractive index choice as modal, average, or user-defined

Simple or full transparent boundary condition (TBC)

3D BPM
The full 3D BPM simulator is based on:

The Alternating Direction Implicit (ADI) scheme

Scalar algorithms

SemiVector algorithms giving a choice between quasi-TE and quasi-TM


polarization

FullVector algorithms governing both transversal field components

Scan parameters automatically


The designer's goal is to achieve the optimum device performance. To find the
optimum conditions, you often need to repeat the simulations with different design
parameters. OptiBPM enables you to perform automatic, loop-like calculations called
parameter scan calculations. The program names the result data files sequentially
and saves the files.

Mode solvers
In OptiBPM, the mode solvers are compatible with the 2D and 3D BPM algorithm. The
solvers employ different methods:

170

LESSON 1: GETTING STARTED

Transfer Matrix Method (TMM) in 2D for multi-layer planar structures,

Alternating Direction Implicit (ADI) method in 3D

Correlation Function Method (CFM) in 2D and 3D

The program for planar structures is based on resolving multiple boundary conditions
at dielectric interfaces between layers. During propagation of a user-defined field, the
CFM calculates the correlation integral between the input field and the propagating
field at every point. This creates the field amplitude correlation function for the
waveguide. The correlation function provides all the information required for a
complete modal description of the fields, including:

propagation constants

weights of each mode

mode eigenfunctions

The ADI method separates the X and Y derivatives into two parts of one iteration step.
This method is superior to other finite-difference techniques because of its fast
convergence. The ADI method also provides all propagation constants and mode
eigenfunctions.

Graphics
OptiBPM has state-of-the-art graphics that enable you to view, manipulate, and print
field amplitude, phase, effective index distribution, and other calculated data.
The graphical features include:

Topographical view of the 3D graphs

Color height coding

Solid modeling in 3D graphics

Adding customizable colors

A monitoring window allows you to track the signal along selected multiple paths in
the waveguide circuit.

171

LESSON 1: GETTING STARTED

Introduction to optical waveguides


What are optical waveguides?
Optical waveguides are the key elements of photonic devices that perform guiding,
coupling, switching, splitting, multiplexing and demultiplexing of optical signals.
Passive waveguides, electrooptic components, transmitters, receivers, and driving
electronics can be integrated into one chip using planar technology, similar to
microelectronics. Although the operation of waveguide devices is well researched and
understood, their particular performance relies on many parametersgeometry,
wavelength and initial field distribution, material data, and electrooptic driving
conditions. These parameters must be optimized before fabricating a device. With
large-scale optoelectronic circuits, accurate modeling is predominant because of the
numerous resources required to fabricate a chip.
Optical waveguide design relies on simulating the propagation of light signals,
waveguide modes, mode coupling, and loss and gain. One part of the entry data
defines the waveguide device by its geometry, fabrication parameters, and material
constants. It is best to entered the waveguide data using software with a project layout
that can also handle fabrication parameters. Another part of entry data is for
configuring numerical calculations. Ideally, entry systems hide or limit the details of
the numerical calculation. However, because waveguide modeling often uses
sophisticated numerical algorithms, you must be familiar with some aspects of the
underlying numerics.
Waveguides are the building blocks of photonic circuits. The width of a waveguide
(constant or variable) is defined as perpendicular to the path along the waveguide
center.

172

LESSON 1: GETTING STARTED

Quick start
This section describes how to create a design, run a simulation, view the simulation
results, and save the design project. The settings and values used here are for this
quick start only. When you create real-life projects, use the settings and values that
you require.
OptiBPM consists of the following applications:

OptiBPM Layout Designer

Profile Designer

OptiBPM Simulator

OptiBPM Analyzer

To get started, you will create a design project in the Designer and save your project
as a .bpd file.
Next, you will simulate your project using the Simulator. The simulator displays the
results of the data that the simulation generates in a graph that you select:

Optical Field

Refractive Index

Cut View

Path Monitor (if you added a path to the design)

Finally, you will view the simulation results in the Analyzer. The Analyzer also enables
you to:

export data into ASCII formatted files

display the layout at any iteration step

review the optical field and refractive index distributions graphically

analyze the simulation results using a set of tools

For information on creating paths and writing scripts, see Lessons 3, 5, 6, and 12.

Starting OptiBPM
To start OptiBPM, perform the following procedure.
Step

Action

On the Taskbar, click Start.

Select Programs > Optiwave Software > OptiBPM 12> Waveguide Layout
Designer.
OptiBPM Layout Designer opens and the graphical user interface appears
(see Figure 1).

173

LESSON 1: GETTING STARTED

Figure 1 OptiBPM Layout Designer graphical user interface (GUI)

When you install OptiBPM for the first time, the toolbars are placed one after another
in a row. The length of the row is probably wider than the width of your screen, so you
should arrange the toolbars around the layout window so they are all displayed. Drag
and drop the toolbars into view; they can be arranged in more than a single line (see
Figure 1). You can also place the toolbars along the side of the layout window or at
the bottom.
Note: Toolbar positioning only needs to be done once, as the positions are saved
by Windows.

GUI main parts


The OptiBPM GUI consists of the following main parts (see Figure 2):
Main layout: Contains all of the menus and toolbars that you need to create a project.
Project layout: Opens in the main layout. You can add and edit waveguides, insert
the input plane, and adjust the look of the layout grid and the magnification of the
layout.
Notification/Error window: Displays notification and error messages. For example,
a message appears when you run a script advising you that scripts will undo and redo
stacks.

174

LESSON 1: GETTING STARTED

Figure 2 OptiBPM _Designer GUI main parts

175

LESSON 1: GETTING STARTED

How to use OptiBPM


You will learn how to use OptiBPM by:

Defining materials

Defining 2D and 3D channel profiles

Defining the layout settings

Creating a basic project

Inserting the input plane

Running the simulation


Note: A new option has been added with OptiBPM 10.0.1, called Auto define
example profiles and materials for a new project. With this option enabled (the
default setting), the Initial Properties dialog box is already loaded with a suitable
example. This allows you to skip the following steps that define material, profile,
and wafer settings. With this option enabled, you can skip the Initial Properties
definitions by clicking OK in the Initial Properties dialog box. Then go directly to
Creating a basic project on page 189.
To create a project from scratch, as shown in this tutorial, click OK in the Initial
Properties dialog box, and go to Preferences>>Layout Options. Then unselect
the Auto define example profiles and materials for a new project checkbox. The
next time you open a new project, there will be no predefined material or profile.
Set your own material definitions and profiles as shown in the following steps.

Defining materials
To define materials, perform the following procedure.
Step

Action

From the File menu, select New.


The Initial Properties dialog box appears (see Figure 3).
Figure 3 Initial Properties dialog box

176

LESSON 1: GETTING STARTED

Use the Initial Properties dialog box to specify basic parameters. These parameters
can be changed later in the session, but they are set at the beginning of the creation
of a project because they are expected to change less frequently. For example, it is
expected that a property such as the Refractive Index will change less frequently in
a design session than some other property that is to be engineered, such as layout
geometry. The Waveguide Profile is the specification of the waveguide geometry in
the transverse plane. Channel waveguides consist of layers, fibers have circular cross
section, and diffused waveguides have graded index. These definitions also change
less often in a design session than does layout geometry.
2

Click Profiles And Materials.


The Profile Designer window appears (see Figure 4).
Note: To ensure that you can view all information, maximize the Profile
Designer window.
Note: If you see the warning message Folder does not have write access rights.
Profile Designer is unable to continue unless you specify a new storage path,
then see Selecting the Master library path on page 203 of the Tutorials and
Technical Background manual to reset the Master.plb path.
Figure 4 Profile Designer window

177

LESSON 1: GETTING STARTED

There are two main branches in the tree at the left of the Profile Designer window,
Master and OptiBPM Designer1. OptiBPM Designer1 is the temporary name of the
project we are currently working with. When you save the project, you can give it a
more meaningful name.
The main branches have identical subbranches. The subbranches organize user
defined materials and waveguide profiles. You define new materials and profiles in the
Project branch. If you expect to use the definitions again, drag and drop them into the
Master branch. When you open OptiBPM again, the Material and Profile definitions
will appear in the Master branch. You can drag them to the new project branch rather
than having to create them again.
Note: As this is our first time using OptiBPM, we wont be using the Master
directory. Click on the
icon to close it now, so you dont use it by
mistake later in this lesson.
3

In the directory under OptiBPM_Designer1, under the Materials folder,


right-click the Dielectric folder.
A context menu appears.

Select New.
The Dielectric1 dialog box appears (see Figure 5).
Figure 5 Dielectric1 dialog box

Type the following information:


Name: Silica Core
Refractive index (Re:): 1.5

178

Click the 3D Isotropic tab and type Refractive index (Re:): 1.5

LESSON 1: GETTING STARTED

To save the material, click Store.


Silica Core appears in the Dielectric folder in the directory and in the dialog
box title bar.
Note: You can leave the dialog box open, or close the dialog box to prevent
the Profile Designer window from becoming cluttered.
There are two definitions of refractive index, because in 2D calculations, often
the refractive index is not a physical index but is an effective index. The 2D
tab is a place to hold an effective index; by placing the effective index in the
2D tab, the index will only be used when 2D simulations are performed. The
3D BPM and modesolvers will use the definition in the 3D tab (see Figure 6).
Figure 6 Created dielectric material

Click the 3D Anisotropic tab.


At some point in a project, another BPM simulator that can accept anisotropic
media might be used. Anisotropic media are characterized by the permittivity
tensor (see Figure 7 ). The Silica Core material may be used in this
environment (even though it is not itself anisotropic), and so by default,
OptiBPM
2 automatically sets up the appropriate diagonal permittivity matrix,
with n in the main diagonal. If you need to specify an anisotropic material,
unselect the default check box and input the appropriate constants
(see Figure 7).

179

LESSON 1: GETTING STARTED

Figure 7

3D Anisotropic tab

Repeat steps 3 to 6, and type the following information (see Figure 8)


Name: Silica Cladding
Refractive index (Re:): 1.48

10

180

To save the information, click Store.


Silica Cladding appears in the Dielectric folder in the directory and in the
dialog box title bar.

LESSON 1: GETTING STARTED

Figure 8 Cladding definition

Defining 2D and 3D channel profiles


To define channels for 2D and 3D profiles, perform the following procedure.
Step

Action

In the directory under OptiBPM_Designer1, under the Profiles folder, rightclick the Channel folder.
A context menu appears.

Select New.
The ChannelPro1 dialog box appears.
Note: To ensure that you can view all fields, maximize the ChannelPro1
dialog box.

Keep the default Profile name: ChannelPro1

To define the 2D profile definition:

Under 2D profile definition, in the Material list, click Silica Core.

By selecting Silica Core, if the 2D simulator is called, any point inside a


waveguide associated with the profile name ChannelPro1 will have the
refractive index as defined in Silica Core.

181

LESSON 1: GETTING STARTED

Figure 9 2D profile definition

Channel profiles consist of layers in the epitaxial direction, and these layers
are defined in the 3D profile panel.
5

To define the 3D profile definition:


a. Under 3D profile definition, type the following information:
Layer name: Channel
Width: 4.0
Thickness: 2
Offset: 0
b. In the Material list, click Silica Core.
c.

182

Click Add.
The information you typed appears in the 3D profile definition window.

To save the channel profile, click Store.


ChannelPro1 appears in the Channels folder in the directory, in the Profile
Designer title bar, and on the tab at the bottom of the layout (see Figure 10).

LESSON 1: GETTING STARTED

Figure 10 Defined Channel profile

In the directory under OptiBPM_Designer1, under the Profiles folder, rightclick the Fiber folder.
A context menu appears.

Select New.
The FiberPro1 dialog box appears.
Note: To ensure that you can view all fields, maximize the FiberPro1 dialog
box.

Keep the default Profile name: FiberPro1

10

To define the 2D profile definition:

11

Under 2D profile definition, in the Material list, click Silica Core.

For the 3D definition of the Fiber profile, the layers are now concentric layers
of an optical fiber. To define the 3D profile definition:
a. Under 3D profile definition, type the following information:
Layer name: Fiber Core

183

LESSON 1: GETTING STARTED

Rx: 2.0
Ry: 2.0
b. In the Material list, click Silica Core.
c.
12

Click Add.
The information you typed appears in the 3D profile definition window.

To save the fiber profile, click Store.


FiberPro1 appears in the Fiber folder in the directory, in the Profile Designer
title bar, and on the tab at the bottom of the layout (see Figure 11).
Figure 11 Defined fiber profile

13

To return to the OptiBPM Layout Designer window, minimize the Profile


Designer window.
The OptiBPM GUI and Initial Properties dialog box appear.

In the Waveguide Properties tab, the Profiles drop-down box, the two profiles we have
defined are available.

184

LESSON 1: GETTING STARTED

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

Click the Default Waveguide tab.

Type the following value:


Width: 4.0
Note: All waveguides will use this setting as the default thickness.

In the Profile list, click ChannelPro1 (see Figure 12).


Note: Both the default setting and the association of any individual
waveguide can be changed at any time (in the Waveguide Layout Designer,
select Edit > Default Waveguide).
Figure 12 Initial Properties dialog boxDefault Waveguide tab

To specify the size of the region of analysis in the planar view:


4

Click the Wafer Dimensions tab.


Type the following values (see Figure 13).
Length: 800
Width: 40

185

LESSON 1: GETTING STARTED

Figure 13 Initial Properties dialog boxWafer Dimensions tab

To specify what material to associate with any point that is not contained
inside a waveguide (for 2D calculations):
5

Click the 2D Wafer Properties tab.

In the Material list, click Silica Cladding.


In the case of 3D calculations, more information needs to be provided,
because in general, the material used for the substrate is not the same as the
material used for cladding. In addition, the thickness of the layers needs to be
specified. In this case, we will define a buried waveguide with the same
material in cladding as substrate. Note that this is not the actual thickness of
the substrate or the cladding. Instead, these numbers specify the boundary
of the calculation window. The ideal thickness for the substrate would be a
thickness large enough to contain the guided mode being analyzed, but not
so thick that the accuracy of the mesh is compromised. In practice, these
dimensions will need to be optimized later, as more experience with the
waveguide increases. However, these dimensions can be changed at a later
time (in the Waveguide Layout Designer, select Edit > Wafer Properties).
To specify the material to be associated with any point not inside any
waveguide for 3D calculations:

186

Click the 3D Wafer Properties tab.

In the Cladding panel, select Material: Silica Cladding, and type


Thickness: 17.

In the Substrate panel, select Material: Silica Cladding, and type


Thickness: 15.

LESSON 1: GETTING STARTED

Figure 14

10

Initial Properties dialog box3D Wafer Properties tab

To apply the settings to the layout, click OK.


The project layout window appears.
Note: Maximize the project layout window and adjust the magnification (+ buttons) so the layout appears as an appropriate size on your screen.

Save the project as GettingStarted.bpd, so the work done up to this point can be
recovered. If you want to keep files that record intermediate steps of this project, use
the SaveAs function. After you save the file, the name of the tree in the Profile
Designer is GettingStarted, the saved name replaces the temporary name
OptiBPMDesigner 1 (see Figure 11). Similiarly, if you open other projects in
OptiBPM, new tree branches will be created in the Profile Designer with the same
name as the newly created project.

187

LESSON 1: GETTING STARTED

Figure 15 Layout window

188

LESSON 1: GETTING STARTED

Creating a basic project


To create a basic project, perform the following procedure.
Step

Action

On the Tools toolbar, select Snap-to-Grid (see Figure 16).

From the Draw menu, select Linear Waveguide.


The cursor changes into a cross-hair when you move it into the project layout
window.

To draw the first waveguide, in the project layout window, click in the left side
of the project layout at Origin, drag the waveguide towards the right side of
the project layout, and release (see Figure 16).
Note: Click the Select button
to cancel waveguide creation mode.
Create other waveguide shapes by selecting them and placing them in the
layout as in steps 1 and 2. To delete a waveguide from the layout, select the
waveguide and press Delete. For more information about the features of the
waveguide designer, see the Users Reference manual.

To edit the waveguide properties, from the Edit menu, select Properties, or
double-click on the waveguide in the layout.
The Linear Waveguide Properties dialog box appears.

Use the steps illustrated above to create a layout similiar to the one seen in
Figure 16.
Figure 16 Layout design

189

LESSON 1: GETTING STARTED

Click the Ref. Index (n) 3D XY Plane View tab at the bottom of the layout
window.
The refractive index view appears.
This view shows the refractive index distribution in the transverse (XY) plane
at the position Z = 0. If your linear waveguide starts at Origin (see Figure 16),
you should see the Channel waveguide we specified in the Profile Designer
procedure Defining 2D and 3D channel profiles. Click on the Palette button to
see the refractive index scale (see the first button in the toolbar shown in
Figure 17). There are many other display options to choose from. Right-click
on the layout to see a list of additional features.
Figure 17

Palette button

You should also become familiar with the Z button found on the Refractive Index
View Type toolbar (see Figure 18). Use of this button allows you to move the Z
position of the XY plane. You can adjust the Z position until you are satisfied that the
refractive index is accurately portrayed in the 3D space. Ensure that you have created
the correct shape, as this is the shape that will be passed to the simulator.
Figure 18 Refractive Index View Type toolbar

Inserting the input plane


After the refractive index is specified, you must specify the initial optical excitation.
The BPM works on the premise that the light is known at some initial transverse (XY)
plane, and the BP method is used to calculate the light after propagation to the next
XY plane in the space. In OptiBPM, the initial excitation is specified with an input
plane, which appears as a vertical line in the planar view.
To insert the input plane, perform the following procedure.
Step

Action

From the Draw menu, select Input Plane, or click the Input Plane button
(see Figure 19).
The cursor changes into a cross-hair when you move it into the project layout
window.
Figure 19 Input Plane button

190

To insert the input plane, click as close to the left side of the layout window as
possible.
The input plane appears (see Figure 20). Propagation proceeds left to right,
as shown by the red arrow.

LESSON 1: GETTING STARTED

Figure 20 Input plane

To edit the input plane, from the Edit menu, select Properties or double-click
on the Input Plane.
The Input Plane dialog box appears (see Figure 21).
Figure 21 Input Plane dialog box

191

LESSON 1: GETTING STARTED

In the Input Field dialog box, you can specify if the Starting field is to be Modal,
Gaussian, Rectangular, or defined by the user (File).
4

Click the Input Fields 3D tab.

Click Edit.
The Input Field dialog box appears.

On the Input Fields 3D tab, there are two lists. The one on the right displays the list of
waveguides currently found crossing the input plane. In general, there will be more
than one. On the left is the list of optical fields placed on those waveguides. Any of
the waveguides crossing the input plane could have light in a fundamental mode of
arbitrary amplitude and phase.
In this example, we are illustrating the simplest case.
6

Click All.
Sends all waveguide crossing the input plane to the Fields list. The Amplitude
and Phase have values of 1.0 and 0.0 by default (see Figure 22).
Figure 22 Item in Waveguides/Fields window

At this point, we can solve for the mode on the selected waveguide.
7

192

Click Mode.
The Calculate Mode dialog box appears.

LESSON 1: GETTING STARTED

Figure 23 Calculate Mode dialog box

Click Calculate Mode.


The Global Data: ADI Method dialog box appears.
Figure 24

Global Data: ADI Method dialog box

Type the number of modes you want the modesolver to find in Number of
Modes, and click Calc. Mode.
The modesolver is started.

The modesolver first shows the refractive index it detects in the XY plane (the plane
where the Input Field marker was placed - see Figure 25).

193

LESSON 1: GETTING STARTED

Figure 25 Modesolver

Next, the modesolver finds the mode (or modes), and lists the modal index found in
the Modefound window. The modal field pattern of the mode selected in the
Modefound window is displayed in the Ex tab of the main window (see Figure 26). If
you ask the modesolver to find more than one mode, it will keep finding them and
listing them in the Notification window until it finds the number you asked for, or there
are no more modes on the waveguide (our example is a single mode waveguide).

194

LESSON 1: GETTING STARTED

Figure 26 Ex tab of Modesolver

10

To apply the settings and return to the Input Field dialog box, click OK.

11

To return to the Input Plane dialog box, click OK.

12

To return to the project layout window, click OK.


The position of the input plane changes according to the settings that you
selected.

13

To save the project, from the File menu, select Save.

You are now ready to run a simulation.

Running the simulation


To run the simulation, perform the following procedure.
Step

Action

From the Simulation menu, select Calculate 3D Isotropic Simulation


(see Figure 27 ).
The Simulation Parameters dialog box appears (see Figure 28).

195

LESSON 1: GETTING STARTED

Figure 27 Simulation Parameters selection

196

LESSON 1: GETTING STARTED

Figure 28 Simulation Parameters dialog box

To start the simulation, click Run.


A message appears and prompts you to save the project and launch the
simulator.

To save the project and start the simulation, click Yes.


The OptiBPM Simulator appears and the simulation starts.

By default, the optical field is shown in the tranverse plane. The progress of the
simulation is displayed on the progress bar along the bottom of the window.
4

Before the simulation is complete, click Pause.


The data in the simulator can be viewed in different planes. For example, a Y
Cut can be displayed by selection View > Optical Field Cut > XZ Cut to
display the progress of the field in the mask plane (XZ plane) (see Figure 29).

Click Resume to continue the simulation.

197

LESSON 1: GETTING STARTED

Figure 29 Y Cut view in Simulator

At the end of the simulation, a message appears and prompts you to open OptiBPM
Analyzer (see Figure 30). The Analyzer is a separate application dedicated to
postprocessing. When you perform a simulation, a file with the extension .bpa is
created. The analyzer reads any .bpa file and displays results and facilitates
postprocessing. You can review results of previous simulations using the analyzer.
There is a tree in the Navigator window you use to select and organize results. Initially,
a copy of the original layout is displayed (see Figure 31).
6

To open OptiBPM Analyzer, click Yes.


The OptiBPM Analyzer dialog box appears (see Figure 31).
Figure 30 OptiBPM Analyzer message

198

LESSON 1: GETTING STARTED

Figure 31 OptiBPM Analyzer

Click on the tree item Iteration > Optical Field Propagation > XZ Slice to
see the simulator display (see Figure 32).
Figure 32

Simulator display

199

LESSON 1: GETTING STARTED

At this point, it is a good idea to investigate an important consideration in the use of


the BP method.
8

Click the Ph button on the Data View toolbar (see Figure 33).
The phase distribution in the XZ plane is displayed in the window (see Figure
34).
Figure 33 Data View toolbar

Figure 34 XZ plane phase distribution

Since the BPM uses a slowly varying envelope approximation, it is a good idea to
check that the optical phase is not changing too quickly in the areas where most of
the optical power is found (compare Figure 34 to Figure 32). Rapid variations in
regions of high optical power indicate that the correct Reference Index has not been
used.
In the Refractive Index Propagation branch of the tree, there is a record of the
refractive index distribution that the simulator used for the calculation.
In the Simulation Parameters branch, there is important data about the simulation
that is generated automatically. This includes the type of starting field, optical
wavelength, Reference Index used by the simulator, propagation step, and other
display and mesh data that are likely to be needed when the results are reviewed (see
Figure 35).

200

LESSON 1: GETTING STARTED

Figure 35 Simulation results

The data displayed in this lesson are only the data recorded by default. If more
detailed results are needed, the OptiBPM Designer application (which this lesson
started with) can specify many other output options. You can view these by selecting
Simulation > Additional Output Data (see Figure 36) in the Waveguide Layout
Designer.

201

LESSON 1: GETTING STARTED

Figure 36 Additional Output Data

202

LESSON 1: GETTING STARTED

Selecting the Master library path


The Library Browser also contains a Master library (Master.plb). The Master.plb must
be installed in a folder to which the user has read-write access. You can select the
folder where you want to store the Master library. This enables users who have
restricted user permissions to access the Master library.
To select the Master library path, perform the following procedure.
Step

Action

From the Tools menu, select Options.


The Options dialog box appears (see Figure 37).
Figure 37

Options dialog box

To select the folder where you want to store the Master library, click
The Browse for Folder dialog box appears (see Figure 38)

203

LESSON 1: GETTING STARTED

Figure 38

204

Browse for Folder dialog box

Click OK.
A message appears and prompts you to verify the new Master library path.

Click OK.
The Profile Designer displays the Master library contents and teh OptiBPM
Designer Library contents of your layout in the Library Browser (see Figure
39)

LESSON 1: GETTING STARTED

Figure 39

Library Browser

205

LESSON 1: GETTING STARTED

206

LESSON 2: CREATE A SIMPLE MMI COUPLER

Lesson 2: Create a simple MMI coupler


This lesson describes how to create a simple MMI coupler. The procedures are:

Defining materials for the MMI coupler

Defining the layout settings

Creating an MMI coupler

Inserting the input plane

Running the simulation

Viewing the simulation results in OptiBPM_Analyzer

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Defining materials for the MMI coupler


To define the materials for the MMI coupler, perform the following procedure.
Step

Action

From the File menu, select New.


The Initial Properties dialog box appears (see Figure 1).
Figure 1 Initial Properties dialog box

Click Profiles And Materials.


The Profile Designer window appears (see Figure 2).
Note: To ensure that you can view all information, maximize the Profile
Designer window.

207

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 2 Profile Designer window

Create the following dielectric material:


Name: guide
Refractive index (Re:): 3.3

To save the material, click Store.

Create a second dielectric material:


Name: cladding
Refractive index (Re:): 3.27

To save the material, click Store.

Create the following channel:


Name: guide-channel
2D Profile definition material: guide

208

To save the channel, click Store.

Close the Profile Designer window.


The OptiBPM GUI with the open Initial Properties dialog box appears.

LESSON 2: CREATE A SIMPLE MMI COUPLER

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

Click the Default Waveguide tab.

Type the following value:


Width: 2.8
Note: All waveguides will use this setting as the default thickness.

In the Profile list, click channel.

Click the Wafer Dimensions tab.

Type the following values:


Length: 5300
Width: 60

Click the 2D Wafer Properties tab.

In the Material list, click cladding.

To apply the settings to the layout, click OK.


The layout window appears (see Figure 3).
Figure 3 Layout window

209

LESSON 2: CREATE A SIMPLE MMI COUPLER

To adjust the display ratio, from the Preferences menu, select Layout
Options.
The Layout Options dialog box appears (see Figure 4).
Figure 4

10

Layout Options dialog box

Under Display Ratio, type the following value:


Z: 40

11

210

To apply the new ratio, click OK.

LESSON 2: CREATE A SIMPLE MMI COUPLER

Creating an MMI coupler


To create an MMI coupler, perform the following procedure.
Step

Action

From the Draw menu, select Linear Waveguide.


The cursor changes into a cross-hair.

To draw the first waveguide, in the layout window, click in the left side of the
layout, drag the waveguide towards the right side of the layout window, and
release (see Figure 5).
Figure 5 Drawing the first linear waveguide

To edit the waveguide, from the Edit menu, select Properties


or
Double-click the waveguide.
The Linear Waveguide Properties dialog box appears (Figure 6).

211

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 6 Linear Waveguide Properties dialog box

Click the Start tab.

Under Offset, type the following values (see Figure 7):


Horizontal: 0
Vertical: 0
Figure 7

Start offset values first waveguide

Click the End tab.

Under Offset, type the following values (see Figure 8):


Horizontal: 200
Vertical: 0

212

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 8 End offset values first waveguide

To apply the settings, click OK.


The position and the size of the linear waveguide change according to the
settings that you selected (see Figure 9).
Figure 9 Modified linear waveguide first

To draw the second waveguide, in the layout window, click beside the first
waveguide, drag the second waveguide towards the right side of the layout
window, and release (see Figure 10).

213

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 10 Drawing the second linear waveguide

10

To edit the second waveguide, from the Edit menu, select Properties.
The Linear Waveguide Properties dialog box appears.

11

Click the Start tab.

12

Under Offset, type the following values (see Figure 11):


Horizontal: 200
Vertical: 0
Figure 11 Start offset values second waveguide

13

Click the End tab.

14

Under Offset, type the following values (see Figure 12):


Horizontal: 5300
Vertical: 0

214

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 12 End offset values second waveguide

15

Type the following value:


Width: 48

16

To apply the settings, click OK.

17

The position and the size of the second linear waveguide change according
to the settings that you selected (see Figure 13).
Figure 13 Modified linear waveguide second

215

LESSON 2: CREATE A SIMPLE MMI COUPLER

Inserting the input plane


To insert the input plane, perform the following procedure.
Step

Action

From the Draw menu, select Input Plane.

To insert the input plane, click as close to the left side of the layout window as
possible.
The input plane appears (see Figure 14).
Figure 14 Input plane

216

To edit the input plane, from the Edit menu, select Properties.
The Input Plane Properties dialog box appears (see Figure 15).

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 15

Input Plane Properties dialog box

To position the input plane more accurately, click the Global Data tab.

Under Z Position, type the following value:


Offset: 2.0
Note: The Z Position value should be slightly above 0.

Click the Input Fields 2D tab.

Click Edit.
The Input Field dialog box appears (see Figure 16).
Figure 16 Input Field dialog box

217

LESSON 2: CREATE A SIMPLE MMI COUPLER

In the window under Waveguides, select the check box (see Figure 17)
Figure 17 Item in Waveguides window

Click Add.
The item under Waveguides moves into the window under Fields.

10

In the window under Fields, select the item check box (see Figure 18).
Figure 18 Item in Fields window

11

218

To change the default amplitude (1.0) and phase (0.0), click Edit.
The Field Properties dialog box appears (see Figure 19).

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 19 Field Properties dialog box

12

Type the following values (or keep the default values):


Amplitude: 1.0
Phase: 0.0

13

To apply the settings and return to the Input Field dialog box, click OK.

14

To return to the Input Plane dialog box, click OK.


The item appears on the Input Fields 2D tab (see Figure 20).
Figure 20 Item on Input Fields 2D tab

15

To return to the layout window, click OK.

16

To save the project, from the File menu, select Save.


The SaveAs dialog box appears (see Figure 21).

219

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 21 SaveAs dialog box

17

220

Type a file name and click Save.


The file is saved and the SaveAs dialog box closes.

LESSON 2: CREATE A SIMPLE MMI COUPLER

Running the simulation


To run the simulation, perform the following procedure.
Step

Action

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears (see Figure 22).
Figure 22 Simulation Parameters dialog box

To start the simulation, click Run.


The OptiBPM_Simulator appears and the simulation starts.
Note: The simulation in this lesson is short, therefore it will finish quickly.
At the end of the simulation, a prompt box appears (see Figure 23).
Figure 23 Prompt box

To open the OptiBPM_Analyzer, click Yes.

221

LESSON 2: CREATE A SIMPLE MMI COUPLER

Note: While the simulation is running, to select the type of view for the simulation,
at the bottom of the simulation window, click one of the following tabs:

Layout

Optical Field (2D or 3D)

Refractive Index (2D or 3D)


Note: To display the 2D view, click the Image Map button

To return to the 3D views, click the Height Plot button

Cut View

When the simulation is finished, you are asked whether you want to launch the
OptiBPM_Analyzer. Click Yes to open the analyzer.
Note: You do not need to close the simulator in order to open the analyzer.
To leave the OptiBPM_Simulator open, click No when the dialog box appears asking
whether to exit (see Figure 24).
Figure 24 Exit simulator dialog box

Figure 25 Simulation Optical Field 3D

222

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 26

Simulation Refractive Index 3D

Figure 27

Simulation Cut View

223

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 28 Optical Field 2D view

Figure 29 Refractive Index 2D view

224

LESSON 2: CREATE A SIMPLE MMI COUPLER

Viewing the simulation results in OptiBPM_Analyzer


To view the simulation results in OptiBPM_Analyzer, perform the following
procedure.
Step

Action

To view and analyze the optical field view, in the directory in


OptiBPM_Analyzer, double-click Optical Field Propagation.

Click XZ Slice.
The optical field view of the simulation results appears (see Figure 30).
Figure 30 OptiBPM_Analyzer Optical Field Propagation

To view and analyze the refractive index view, in the directory in


OptiBPM_Analyzer, double-click Refractive Index Propagation.

Click XZ slice.
The refractive index view of the simulation results appears (see Figure 31).

225

LESSON 2: CREATE A SIMPLE MMI COUPLER

Figure 31 OptiBPM_Analyzer Refractive Index Propagation

226

LESSON 3: CREATE A SINGLE-BEND DEVICE

Lesson 3: Create a single-bend device


This lesson describes how to create a single-bend device. The procedures are:

Defining materials for the single-bend device

Defining the layout settings

Creating an arc waveguide

Inserting the input plane

Selecting output data files

Running the simulation

Viewing the simulation results in OptiBPM_Analyzer

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 2: Create a simple MMI


coupler.

Defining materials for the single-bend device


To define the materials for the single-bend device, perform the following procedure.
Step

Action

From the File menu, select New.


The Initial Properties dialog box appears (see Figure 1).
Figure 1 Initial Properties dialog box

227

LESSON 3: CREATE A SINGLE-BEND DEVICE

Click Profiles And Materials.


The Profile Designer window appears (see Figure 2).
Note: To ensure that you can view all information, maximize the Profile
Designer window.
Figure 2 Profile Designer window

Create the following dielectric material:


Name: cladding
Refractive index (Re:): 1.442

To save the material, click Store.

Create a second dielectric material:


Name: guide
Refractive index (Re:): 1.45

To save the material, click Store.

Create the following channel:


Profile name: channel
2D Profile definition material: guide

228

LESSON 3: CREATE A SINGLE-BEND DEVICE

To save the channel, click Store.

Close the Profile Designer window.


The OptiBPM GUI with the open Initial Properties dialog box appears.

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

Click the Default Waveguide tab.

In the Profile list, click channel.

Click the Wafer Dimensions tab.

Type the following values:


Length: 800
Width: 50

Click the 2D Wafer Properties tab.

In the Material list, click cladding.

To apply the settings to the layout, click OK.


The layout window appears (see Figure 3).

229

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 3 Layout window

Creating an arc waveguide


To create an arc waveguide, perform the following procedure.

230

Step

Action

From the Draw menu, select Arc Waveguide.


The cursor changes into a cross-hair.

LESSON 3: CREATE A SINGLE-BEND DEVICE

To draw the arc waveguide, in the layout window, click in the left side of the
layout, drag the arc towards the right side of the layout window, and release
to finish drawing the arc (see Figure 4).
Figure 4

Drawing an arc waveguide

Note: The arc waveguide can be at any position and can be any size.
3

Click

and then click the arc waveguide to select it.

To edit the arc waveguide, from the Edit menu, select Properties.
The Arc Waveguide Properties dialog box appears (see Figure 5).

231

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 5 Arc Waveguide Properties dialog box

Click the Start tab.

Under Offset, type the following values (see Figure 6):


Horizontal: 0
Vertical: 10
Figure 6 Start offset values

232

LESSON 3: CREATE A SINGLE-BEND DEVICE

Under Waveguide Radius, select the Fixed Radius check box.


The Expression box becomes active (see Figure 7).
Figure 7 Waveguide Radius

Type the following value:


Expression: 4000

Click the End tab.

10

Under Offset, type the following values (see Figure 8):


Horizontal: 800
Vertical: 8
Figure 8 End offset values

11

Type the following value:


Width: 4

12

Click OK.
The position and the size of the arc waveguide change according to the
settings that you selected (see Figure 9).

233

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 9 Modified arc waveguide

Inserting the input plane


To insert the input plane, perform the following procedure.

234

Step

Action

From the Draw menu, select Input Plane.

To insert the input plane, click at the left side of the layout window.
The input plane appears (see Figure 10).

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 10 Input plane

To edit the input plane, from the Edit menu, select Properties.
The Input Plane Properties dialog box appears (see Figure 11).
Figure 11 Input Plane Properties dialog box

235

LESSON 3: CREATE A SINGLE-BEND DEVICE

To position the input plane more accurately, click the Global Data tab.

Under Z Position, type the following value:


Offset: 2.0
Note: The Z Position value must be between 2.0 and 6.0.

Click the Input Fields 2D tab.

Click Edit.
The Input Field dialog box appears (see Figure 12).
Figure 12 Input Field dialog box

In the window under Waveguides, select the check box (see Figure 13)
Figure 13 Item in Waveguides window

236

Click Add.
The selected waveguide moves into the window under Fields.

LESSON 3: CREATE A SINGLE-BEND DEVICE

10

In the window under Fields, select the item check box (see Figure 14).
Figure 14 Item in Fields window

11

Click Edit.
The Field Properties dialog box appears (see Figure 15).
Note: The modal field is automatically selected under the pertinent angle
(tangential direction).
Figure 15 Field Properties dialog box

12

Type the following values:


Amplitude: 1.0
Phase: 0.0
Note: The modal field is automatically launched into the waveguide
under a pertinent angle, i.e. tangential direction.

13

To apply the settings and return to the Input Field dialog box, click OK.

14

To return to the Input Plane dialog box, click OK.


The item appears on the Input Fields 2D tab (see Figure 16).

237

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 16 Item on Input Fields 2D tab

15

238

To return to the layout window, click OK.

LESSON 3: CREATE A SINGLE-BEND DEVICE

Selecting output data files


To select output data files, perform the following procedure.
Step

Action

From the Simulation menu, select Additional Output Data.


The Additional Output Data dialog box appears (see Figure 17).
Figure 17 Additional Output Data dialog box

Click the 2D tab.

Select the Power In Output Waveguides check box.


The Normalization and Output Type are selected automatically.

To return to the layout window, click OK.

To save the project, from the File menu, select Save.


The SaveAs dialog box appears (see Figure 18).

239

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 18 SaveAs dialog box

240

Type a file name and click Save.


The file is saved and the SaveAs dialog box closes.

LESSON 3: CREATE A SINGLE-BEND DEVICE

Running the simulation


To run the simulation, perform the following procedure.
Step

Action

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears (see Figure 19).
Figure 19 Simulation Parameters dialog box

To start the simulation, click Run.


The OptiBPM_Simulator appears and the simulation starts.
Note: The simulation in this lesson is short, therefore it will finish quickly.
At the end of the simulation, a prompt box appears (see Figure 20).
Figure 20 Prompt box

241

LESSON 3: CREATE A SINGLE-BEND DEVICE

To open the OptiBPM_Analyzer, click Yes.


Note: While the simulation is running, to select the type of view for the simulation,
at the bottom of the simulation window, click one of the following tabs:

Layout

Optical Field (2D or 3D)

Refractive Index (2D or 3D)


Note: To display the 2D view, click the Image Map button

To return to the 3D views, click the Height Plot button

Cut View

When the simulation is finished, you are asked whether you want to launch the
OptiBPM_Analyzer. Click Yes to open the analyzer.
Note: You do not need to close the simulator in order to open the analyzer.
To leave the OptiBPM_Simulator open, click No when the dialog box appears asking
whether to exit (see Figure 21).
Figure 21 Exit simulator dialog box

Figure 22 Simulation Optical Field 3D

242

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 23

Simulation Refractive Index 3D

Figure 24

Simulation Cut View

243

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 25 Optical Field 2D view

Figure 26 Refractive Index 2D view

244

LESSON 3: CREATE A SINGLE-BEND DEVICE

Viewing the simulation results in OptiBPM_Analyzer


To view the simulation results in OptiBPM_Analyzer, perform the following
procedure.
Step

Action

To view and analyze the optical field view, in the directory in


OptiBPM_Analyzer, double-click Optical Field Propagation.

Click XZ Slice.
The optical field view of the simulation results appears (see Figure 27).
Figure 27 OptiBPM_Analyzer Optical Field Propagation

To view and analyze the refractive index view, in the directory in


OptiBPM_Analyzer, click Refractive Index Propagation.

Click XZ slice.
The refractive index view of the simulation results appears (see Figure 28).

245

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 28 OptiBPM_Analyzer Refractive Index Propagation

246

To view the graph of the power in the output waveguide, click Power in
output waveguides.
The graph appears in the layout window.

In the top left corner of the layout window, click the blue Graph Menu icon.
A context menu appears (see Figure 29).

LESSON 3: CREATE A SINGLE-BEND DEVICE

Figure 29 Export Data

Select Export Data.


The Data Export dialog box appears (see Figure 30).

Figure 30 Power in output waveguides Data Export dialog box

247

LESSON 3: CREATE A SINGLE-BEND DEVICE

Notes:

248

LESSON 4: CREATE AN MMI STAR COUPLER

Lesson 4: Create an MMI star coupler


Now that you have completed Lessons 1, 2, and 3, you are familiar with the basic
procedures to create projects using OptiBPM:

Creating materials

Inserting waveguides and input planes

Editing waveguide and input plane properties

Running a simulation

Viewing results and various numerical tools in OptiBPM_Analyzer

Lesson 4 and all proceeding lessons provide a high-level description of the


procedures you already know. If you require more detailed information, refer to the
procedures in the previous lessons.
This lesson describes how to create an MMI star coupler.The MMI star coupler further
develops the simple MMI coupler created in Lesson 2: Create a simple MMI coupler.
It consists of one input waveguide, an MMI coupler, and four output waveguides. The
procedures are:

Defining materials for the MMI star coupler

Defining the layout settings

Creating an MMI star coupler

Running the simulation

Viewing the maxima

Drawing the output waveguide

Assigning a path to the output waveguide

Viewing the simulation results in OptiBPM_Analyzer

Adding output waveguides and viewing the new simulation results

Viewing the new simulation results in OptiBPM_Analyzer

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 2: Create a simple MMI


coupler.

Familiarize yourself with the procedures in Lesson 3: Create a single-bend


device.

249

LESSON 4: CREATE AN MMI STAR COUPLER

Defining materials for the MMI star coupler


To define the materials for the MMI coupler, perform the following procedure.
Step

Action

Create the following dielectric material:


Name: guide
Refractive index (Re:): 3.3

Create a second dielectric material:


Name: cladding
Refractive index (Re:): 3.27

To save the material, click Store.

Create the following channel:


Name: channel
2D Profile definition material: guide

To save the material, click Store.

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

Type the following settings.


a. Waveguide Properties:
Width: 2.8
Profile: channel
b. Wafer Dimensions:
Length: 1420
Width: 60
c.

2D Wafer Properties:
Material: cladding

250

To apply the settings to the layout, click OK.

LESSON 4: CREATE AN MMI STAR COUPLER

Creating an MMI star coupler


Since there are four output channels in the MMI star coupler, it is necessary to find
where the simple MMI coupler in Lesson 2: Create a simple MMI coupler produces
four intensity maxima. As seen in Lesson 2: Create a simple MMI coupler, this
happens where the second waveguide in the MMI coupler is about 1180-1210m
long.
To create an MMI star coupler and find a pertinent coupler length for the desired
coupling, perform the following procedure.
Step

Action

Draw and edit the first waveguide.


a. Start offset:
Horizontal: 0
Vertical: 0
b. End Offset:
Horizontal: 100
Vertical: 0

Draw and edit the second waveguide.


a. Start Offset:
Horizontal: 100
Vertical: 0
b. End Offset:
Horizontal: 1420
Vertical: 0
c.

Width: 48

To apply the settings, click OK.

Inserting the input plane


To insert the input plane, perform the following procedure.
Step

Action

From the Draw menu, select Input Plane.

To insert the input plane, click as close to the left side of the layout window as
possible.
The input plane appears.

To edit the input plane, from the Edit menu, select Properties.
The Input Plane Properties dialog box appears (see Figure 1).

251

LESSON 4: CREATE AN MMI STAR COUPLER

Ensure that on the Global Data tab, Z position: Offset, the value is 2.000.
Figure 1 Input Plane Properties dialog box

252

Save the project.

LESSON 4: CREATE AN MMI STAR COUPLER

Running the simulation


To run the simulation, perform the following procedure.
Step

Action

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears.

On the Global Data tab, type 250 in Number of displays.

Click the 2D tab and ensure that the following settings are selected
(see Figure 3).
Polarization: TE
Mesh Number of points = 600
BPM solver: Pad(1,1)
Engine: Finite Difference
Scheme Parameter: 0.5
Propagation Step: 1.55
Boundary Condition: TBC
Note: For more information on simulation parameters, see the OptiBPM
Users Guide.
Figure 2 Simulation parameters dialog boxGlobal tab

253

LESSON 4: CREATE AN MMI STAR COUPLER

Figure 3 Simulation Parameters dialog box 2D tab

254

LESSON 4: CREATE AN MMI STAR COUPLER

To start the simulation, click Run.


The OptiBPM_Simulator window opens and runs the simulation.
Note: The simulation in this lesson is short, therefore it will finish quickly.
Do open the OptiBPM_Analyzer when you are asked.

Select the 2D Optical Field type view in the OptiBPM_Simulator.


Note: To display the 2D view, click the Image Map button

Figure 4 Simulation 2D Optical Field

Here we can review the results and decide where the coupling will be most
efficient and reasonable. As previously discussed, we are interested in the
four local intensity maxima and finding their precise horizontal positions.
Since we have 200 displays and the total length is 1420m, we recognize that
these maxima lay approximately within the interval 1400m from the origin.

255

LESSON 4: CREATE AN MMI STAR COUPLER

Viewing the maxima


To view the maxima, perform the following procedure.
Step

Action

In the simulator, right-click in the graph.


A context menu appears (see Figure 5).
Figure 5 Context menu

Select Data clamping settings.


The Data Clamping dialog box appears (see Figure 6).
Figure 6

Data Clamping dialog box

Under E - Axis, clear the Auto scale check box.


Scale Min and Scale Max become active.

Type the following values:


Scale Min: 0.4
Scale Max: 0.5
Note: The intensity is for the interval <0,1>.

256

To apply the settings to the graph, click OK.


The 2D Optical Field view changes to display the new data clamping settings
(see Figure 7).

LESSON 4: CREATE AN MMI STAR COUPLER

Figure 7 Simulation with new data clamping settings

To view these four points more accurately, right-click anywhere in the graph
to access the context menu.

Select Region of interest.


The Region of Interest dialog box appears (see Figure 8).
Figure 8 Region of Interest dialog box

257

LESSON 4: CREATE AN MMI STAR COUPLER

Type the following values:


Axis Z
Start: 0
End: 100
Axis X
Start: 0
End: 599
Note: The settings you type for the region of interest recalculate the length
and width of the graph in points instead of in m. Therefore, the length
changes from 1420m to 251 points, and the width changes from 60m to
600 points.

To apply settings, click OK.


The view of the simulation zooms into the region that you selected (see
Figure 9).
Note: Repeat this procedure until the view is satisfactory.
Figure 9 Simulation Region of interest

This view shows that the centers of the two points are at approximately
1399m on the axis.
Note: A procedure that describes this value more precisely is shown in a later
lesson that discusses scripting.
10

258

Close the simulation window and return to OptiBPM_Designer.

LESSON 4: CREATE AN MMI STAR COUPLER

11

To focus more precisely on the centers of the points, change the length of the
second waveguide.
a. Double-click on the waveguide.
The Linear Waveguide Properties dialog box appears.
b. Type the following value:
End offset
Horizontal: 1399

12

To apply the setting, click OK.

13

Change the length of the wafer.


a. From the Edit menu, select Wafer Properties.
The Wafer properties dialog box appears.
b. Type the following value:
Length: 1500 (estimated total device length)

14

To apply the setting, click OK.

15

Run the simulation (see Figure 10).

Figure 10 Simulation Revised waveguide and wafer lengths

Analogically to the procedures above, find a vertical position for the upper and
outermost intensity maxima. You will find that its approximately 19.6m.

259

LESSON 4: CREATE AN MMI STAR COUPLER

Drawing the output waveguide


The output waveguide must be on a line that connects the start point of the second
waveguide to the intensity maxima.
To draw the output waveguide, perform the following procedure.
Step

Action

Draw the waveguide on top of the second waveguide from 100um to 1500um
and at a slight upward angle (see Figure 11).
Figure 11

Drawing an output waveguide

To position the output waveguide accurately, double-click the output


waveguide to open the Waveguide Properties dialog box.

Type the following values.


Start offset
Horizontal: 100
Vertical: 0
End offset
Horizontal: 1500
Vertical: 19.6
The position of the output waveguide changes according to the setting that
you selected (see Figure 12).

260

LESSON 4: CREATE AN MMI STAR COUPLER

Figure 12 Modified output waveguide

Assigning a path to the output waveguide


To assign a path to the output waveguide, perform the following procedure.
Step

Action

From the Edit menu, select Edit Mode > Monitor Paths.
The Path Monitor dialog box appears (see Figure 13).
Figure 13 Path Monitor dialog box

Click New.
The buttons in the dialog box change (see Figure 14) and the cursor changes
into a link.
Figure 14 Path Monitor dialog box different buttons

261

LESSON 4: CREATE AN MMI STAR COUPLER

In the layout window, click the first waveguide and the output waveguide.
The defined path turns red (see Figure 15).
Figure 15 Red waveguides

To apply the path, click Finish.


Path1 appears in the drop-down list (see Figure 16)
Figure 16 Creating Path1

262

To return to the layout window, click OK.


The first waveguide and output waveguide change back to the original color
in the layout window.

LESSON 4: CREATE AN MMI STAR COUPLER

In the Layout Window, go to Simulation >> Path Monitor Type... and Select
Power overlap integral with fundamental mode with Global
Normalization.
Figure 17 Path Monitoring Type

Run the simulation and view the output waveguide in the simulator
(see Figure 18).
Figure 18 Simulation with output waveguide

263

LESSON 4: CREATE AN MMI STAR COUPLER

Viewing the simulation results in OptiBPM_Analyzer


To view the simulation results in OptiBPM_Analyzer, perform the following
procedure.
Step

Action

In the dialog box that appears after the simulation ends, click Yes.
OptiBPM_Analyzer opens.

In the OptiBPM_Analyzer, select Iteration > Path Monitor.


The Path Monitor view appears (see Figure 19).
Figure 19

Simulation results Path Monitor view (one path)

The goal is to maximize the coupling from the intensity maxima to the output
waveguide. The highlighted section of the graph must be at its maximum
level. This is done by precisely changing the vertical end point of the output
waveguide. After this iteration, you may find that the coupling is best when
the vertical end point value is 19.86m.

264

To return to the layout window, close OptiBPM_Analyzer, and then close


OptiBPM_Simulator.

In the Waveguide Properties dialog box, change the end offset value of the
output waveguide to 19.86m.

LESSON 4: CREATE AN MMI STAR COUPLER

Adding output waveguides and viewing the new simulation results


To add output waveguides and view the new simulation results, perform the following
procedure.
Step

Action

Draw three additional output waveguides (see Figure 20).


Note: Since the maxima are distributed symmetrically, a simple trigonometric
calculation provides the settings to use for the additional output waveguides.
Figure 20

Additional output waveguides

Position the additional output waveguides as follows:


a. Type the following values for Output waveguide 2.
Start offset
Horizontal: 100
Vertical: 0
End offset
Horizontal: 1500
Vertical: 6.62

265

LESSON 4: CREATE AN MMI STAR COUPLER

b. Type the following values for Output waveguide 3.


Start offset
Horizontal: 100
Vertical: 0
End offset
Horizontal: 1500
Vertical: 6.62
c.

Type the following values for Output waveguide 4.


Start offset
Horizontal: 100
Vertical: 0
End offset
Horizontal: 1500
Vertical: 19.86

The positions of the output waveguides change according to the settings that
you selected (see Figure 21).
Figure 21 FInal settings for output waveguides

266

To assign paths to waveguides 2, 3, and 4, refer to Assigning a path to the


output waveguide on page 261.

Run the simulation (see Figure 22).

LESSON 4: CREATE AN MMI STAR COUPLER

Figure 22 Simulation four output waveguides

Viewing the new simulation results in OptiBPM_Analyzer


To view the simulation results in OptiBPM_Analyzer, perform the following
procedure.
Step

Action

To open OptiBPM_Analyzer, in the prompt box that appears after the


simulation ends, click Yes.
OptiBPM_Analyzer opens.

In the OptiBPM_Analyzer directory, select Iteration > Path Monitor.


The Path Monitor view appears (see Figure 23).

267

LESSON 4: CREATE AN MMI STAR COUPLER

Figure 23 Simulation results Path Monitor view (four paths)

As you can see, the resulting paths are very similar. This means that the
power distribution in all four output waveguides is almost identical, which
reflects the desired result.

268

LESSON 4: CREATE AN MMI STAR COUPLER

Notes:

269

LESSON 4: CREATE AN MMI STAR COUPLER

270

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Lesson 5: Wavelength scripting with VB Script


This lesson describes how to scan a parameter using script. It demonstrates scripting
a wavelength for a simple 2D directional coupler. The procedures are:

Defining materials for the waveguide

Defining the layout settings

Creating the waveguides

Modifying the input plane

Assigning paths to the waveguides

Running the simulation

Viewing the simulation results in OptiBPM_Designer

Using VB Scripting for the simulation

Viewing the simulation results in OptiBPM_Analyzer

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 3: Create a single-bend


device.

Defining materials for the waveguide


To define the materials for the waveguide, perform the following procedure.
Step

Action

Create the following dielectric material:


Name: cladding
Refractive index (Re:): 1.442

To save the material, click Store.

Create a second dielectric material:


Name: guide
Refractive index (Re:): 1.45

To save the material, click Store.

Create the following channel:


Profile name: channel
2D Profile definition material: guide

To save the channel, click Store.

271

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Defining the layout settings


To define the layout settings, perform the following action.
Action

Type the following settings.


a. Waveguide Properties:
Width: 4
Profile: channel
b. Wafer Dimensions:
Length: 1200
Width: 34
c.

2D Wafer Properties:
Material: cladding

Creating the waveguides


To create the waveguides, perform the following procedure.
Step

Action

Draw and edit the first waveguide.


a. Start offset:
Horizontal: 0
Vertical: 4
b. End Offset:
Horizontal: 1200
Vertical: 4
c.

Width: 4

Draw and edit the second waveguide.


a. Start Offset:
Horizontal: 0
Vertical: -4
b. End Offset:
Horizontal: 1200
Vertical: -4
c.

272

Width: 4

To apply the settings, click OK.

Insert the input plane.

Save the project (see Figure 1)

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Figure 1 Drawing the waveguides

Modifying the input plane


To modify the input plane, perform the following procedure.
Step

Action

Double-click the input plane.


The Input Plane dialog box appears.

Type the following value:


Offset: 2.000000

Click the Input Fields 2D tab.

Click Edit.
The Input Field dialog box appears.

273

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

In the window under Waveguides, select the second check box with the Pos
setting of 4.000000 (see Figure 2).
Figure 2 Items in Waveguide window

Click Add.
The selected waveguide moves into the window under Fields.

To apply the setting and return to the Input Plane dialog box, click OK.

To return to the layout, click OK.

Assigning paths to the waveguides


To assign paths to the waveguides, perform the following procedure.
Step

Action

From the Edit menu, select Edit Mode > Monitor Paths.
The Path Monitor dialog box appears (see Figure 3).
Figure 3 Path Monitor dialog box

274

Click New.
The buttons in the dialog box change (see Figure 4) and the cursor changes
into a link.

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Figure 4 Path Monitor dialog box different buttons

In the layout window, click the first waveguide.


The defined path turns red (see Figure 5).
Figure 5 First red waveguide

To apply the path, click Finish.


Path 1 appears in the drop-down list (see Figure 6).
Figure 6 Creating Path1

Repeat steps 2 to 4 to assign a path to the second waveguide (see Figure 7).
Path 2 appears in the drop-down list.

275

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Figure 7

Second red waveguide

To return to the layout window, click OK.


The waveguides change back to the original color in the layout window.

In the Layout Window, go to Simulation >> Path Monitor Type... and select
Power overlap integral with fundamental mode with Global
Normalization.
Figure 8 Path Monitoring Type

Running the simulation


To run the simulation, perform the following procedure.

276

Step

Action

From the Simulation menu, select Additional Output Data.


The Additional Output Data dialog box appears.

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Click the 2D tab.

Select the Power Overlap Integral check box.


The Normalization and Overlap Integral With are selected automatically.

Select the Power In Output Waveguides check box.


The Normalization and Output Type are selected automatically (see
Figure 9)
Figure 9

Selections in Additional Output Data dialog box

277

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

To apply the settings and return to the layout window, click OK.

Re-save the project.

From the Simulation menu, select Calculate 2D Isotropic Simulation.

Ensure that the wavelength is 1.55m.

To start the simulation, click Run.


OptiBPM_Simulator opens and the simulation starts to run.
Note: At the end of the simulation, a prompt box appears. Do NOT open
OptiBPM_Analyzer.

Viewing the simulation results in OptiBPM_Designer


To view the simulation results, perform the following procedure.
Step

Action

In OptiBPM_Simulator, to view the optical field results, click the Optical


Field tab, and click the Image Map button
.
Figure 10 Optical Field First result

278

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

To select the Path Monitor view, click the Path Monitor tab (see Figure 11).
Figure 11 Path Monitor First path

Figure 10 and Figure 11 show that the energy is fully coupled into the second
waveguide. Now we will study the coupling phenomenon with respect to the
wavelength.
3

Close the simulation window.

To return to the layout, click OK.

279

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Using VB Scripting for the simulation


To use VB Scripting for the simulation, perform the following procedure.
Step

Action

At the bottom of the layout window, click the Scripting tab.

Type the following short script (see Figure 12):


Const NumIterations = 3
lambda = 1.55
For x=1 to NumIterations
ParamMGR.SetParam "wavelength", CStr(lambda)
ParamMGR.Simulate
WGMgr.Sleep(50)
lambda = lambda - 0.15
Next

Figure 12 Script

280

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Note: This script will perform 3 iterations with a 0.15m step-down from the
starting wavelength.

First wavelength = 1.55m

Second wavelength = 1.40m

Third wavelength = 1.25m

For more information on scripting, see the OptiBPM Users Guide.


3

From the Simulation menu, select Edit Parameters.


The Variables and Functions dialog box appears.

Type the following values:


Name: wavelength
Expression: 1.55

To set the value, click Verify.


The value is set automatically to 1.55 (Expression setting).

To apply the settings, click Add/Apply.


The wavelength settings appear under the User Variables tab (see
Figure 13).
Figure 13 Settings in Variables and Functions dialog box

281

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

To return to the layout, click OK.

Before running the simulation, test the script for errors by running the
scripting page (Simulation > Run Script, or press Play on the Script
toolbar).
If you have made a VB syntax error, a message with the line number and
description of the problem will appear in the Notification tab of the Output
Window. If you only get the message "Warning: Running of Script will clear
Undo Redo stacks", then all is well, and you should proceed. If you get error
messages in addition to the warning, check your spelling and typing of the
script before going to simulation.
Note: In later lessons, you will learn that many scripts can change the
layout. This is a desirable feature for advanced simulations, but keep in
mind that running these scripts will change the layout you have drawn.

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears.

10

Type the following setting:


Wavelength (m): wavelength

11

Under Simulation technique, click Simulate Using Script (see Figure 14).
Figure 14 Run simulation using the scripto

282

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

12

To start the simulation, click Run.


The OptiBPM_Simulator window opens and a VBScript prompt box
appears and displays the wavelength of Iteration 1.

13

To open OptiBPM_Analyzer and view the simulation results, in the prompt


box that appears at the end of the simulation, click Yes.
The OptiBPM_Analyzer window opens.

283

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Viewing the simulation results in OptiBPM_Analyzer


To view the simulation results for the field distribution and path monitor in
OptiBPM_Analyzer, perform the following procedure.
Step

Action

In the Iteration list, click Iteration 1.

To view the propagation optical field for Iteration 1, in the OptiBPM_Analyzer


directory, under Propagation Optical Field, click XZ Slice (see Figure 15).
Note: To view the 2D graph, click the Image Map button.

To view the path monitor for Iteration 1, in the OptiBPM_Analyzer directory,


click Path Monitor (see Figure 15).
Figure 15 Iteration 1

284

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

In the Iteration list, click Iteration 2.

To view the propagation optical field for iteration 2, in the OptiBPM_Analyzer


directory, under Propagation Optical Field, click XZ Slice (see Figure 16).
Note: To view the 2D graph, click the Image Map button.

To view the path monitor for Iteration 2, in the OptiBPM_Analyzer directory,


click Path Monitor (see Figure 16).
Figure 16 Iteration 2

285

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

In the Iteration list, click Iteration 3.

To view the propagation optical field for Iteration 3, in the OptiBPM_Analyzer


directory, under Propagation Optical Field, click XZ Slice (see Figure 17).
Note: To view the 2D graph, click the Image Map button.

To view the path monitor for Iteration 3, in the OptiBPM_Analyzer directory,


click Path Monitor (see Figure 17).
Figure 17 Iteration 3

286

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

Notes

287

LESSON 5: WAVELENGTH SCRIPTING WITH VB SCRIPT

288

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Lesson 6: Design a 3dB coupler using VB Script


This lesson describes how to design a 3dB coupler using VB Script. The procedures
are:

Defining the materials for the 3dB coupler

Defining the layout settings

Drawing and positioning the waveguides

Generating the layout script

Inserting and editing the input plane

Running the simulation

Modifying the layout script

Viewing simulation results in OptiBPM_Analyzer

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 2: Create a simple MMI


coupler.

Familiarize yourself with the procedures in Lesson 3: Create a single-bend


device.

Defining the materials for the 3dB coupler


To define the materials for the 3dB coupler, perform the following procedure.
Step

Action

Click File > New.


The Initial Properties dialog box appears (see Figure 1).

289

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 1 Initial Properties dialog box

Create the following dielectric material:


Name: CladEffInd
Refractive index (Re): 1.49

To save the material, click Store.

Create a second dielectric material:


Name: CoreEffInd
Refractive index (Re): 1.5

To save the material, click Store.

Create the following channel:


Name: WG1
2D Profile definition material: CoreEffInd (see Figure 2)

290

To save the channel, click Store.

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 2 Profile Designer WG1 Channel

Close the Profile Designer.

291

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

Type the following settings.


a. Waveguide Properties:
Width: 4
Profile: WG1 (see Figure 3)
Figure 3 Initial Properties dialog box

b. Wafer Dimensions:
Length: 1000
Width: 40 (see Figure 4).
c.

2D Wafer Properties:
Material: CladEffInd (see Figure 5)

292

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 4

Wafer Dimensions tab

Figure 5 2D Wafer Properties tab

293

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

To apply the settings to the layout, click OK.

Save the project (see Figure 6).


Figure 6 SaveAs dialog box

294

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Drawing and positioning the waveguides


To draw and position the waveguides, perform the following procedure (see Figure 8).
Step

Action

Adjust the zoom to fill the screen.

To snap to the grid and to the waveguide:


a. From the Preferences menu, select Layout Options.
The Layout Properties dialog box appears.
b. Under Grid, select the Snap to Grid and Snap to Waveguide check
boxes.
c.

To save the settings and return to the layout, click OK.

Draw and edit the linear waveguide (see Figure 8).


a. Start offset:
Horizontal: 0
Vertical: 7.5
b. End offset:
Horizontal: 100
Vertical: 7.5
Figure 7 Linear Waveguide Properties dialog box

295

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 8 Drawing the linear waveguide

To apply the settings, click OK.

Draw and edit an S-Bend Sine Waveguide (see Figure 9).


a. Start offset:
Horizontal: 100
Vertical: 7.5
b. End offset:
Horizontal: 470
Vertical: 3

296

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 9

Drawing the S-Bend Arc Waveguide

To create a mirror image of the waveguides, press Ctrl, click both


waveguides to select them, and click the Mirror to Right button on the Flip
and Mirror toolbar.

OR
Press Ctrl, click both waveguides to select them, and select Edit > Flip and
Mirror > Mirror to Right (see Figure 10).

297

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 10 Creating a mirror image of the waveguides

Deselect all waveguides and press Ctrl to select the two waveguides on the
right (see Figure 11).
Figure 11 Selecting the waveguides

298

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Click and drag the two waveguides so they line up with the right boundary of
the calculation window (see Figure 12).
Figure 12

Moving the selected waveguides

Draw a linear waveguide between the two S-Bend Arc waveguides (see
Figure 13).
Figure 13 Filling in the gap

299

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

10

To create a mirror image, select all the waveguides, and click the Mirror to
Bottom button on the Flip and Mirror toolbar (see Figure 14).

OR
Select all the waveguides, and select Edit > Flip and Mirror > Mirror to
Bottom (see Figure 14).
Figure 14 Creating a mirror image of the waveguides

11

300

Select all the bottom waveguides drag the waveguides down. Centre them so
the design is symmetric (see Figure 15).
The waveguide placement is complete.

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 15 Positioning the mirrored waveguides

12

Verify each waveguide and check that the co-ordinates are correct (see
Figure 16).
Note: If necessary, change the co-ordinates in the Waveguide Properties
dialog box.
Figure 16

Waveguide co-ordinates

301

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Generating the layout script


To generate the layout script, perform the following procedure.
Step

Action

Click the Scripting tab in the main project window (see Figure 17).
The Scripting window appears.
Figure 17 Scripting tab

From the Simulation menu, select Generate Layout Script.


A prompt message box appears (see Figure 18).
Figure 18 Prompt message box

To generate the layout script, click Yes.


A script that generates the coupler that you drew is written automatically.
Note: If you had just copied this text into this window and selected
Simulation > Run Script rather than drawing the coupler, the coupler would
have been drawn in the Layout tab. You may find drawing and then
Generating Script a convenient way to learn the script syntax.

Remove the following line from the script (see Figure 19):

InputPlaneMgr.DeleteAll

You will put the input plane in the layout instead.

302

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 19 Deleting lines from the script

Inserting and editing the input plane


To insert and edit the input plane, perform the following procedure.
Step

Action

From the Draw menu, select Input Plane.

To insert the input plane, click at the left side of the layout window.
The input plane appears.

To edit the input plane, from the Edit menu, select Properties.
The Input Plane properties dialog box appears (see Figure 20.

To position the input plane more accurately, click the Global Data tab and
type the following settings:
a. Starting Field: Mode
b. Z Position: 10.00000

Click the Input Fields 2D tab and click Edit.


The Input Field dialog box appears (see Figure 21).

303

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 20 Input Plane dialog box

Figure 21 Input Field dialog box

304

Select the second waveguide (at position 7.5) and click Add.
The selected waveguide appears in the Fields window and displays the
amplitude and phase (see Figure 22).

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 22

Waveguide in the Field window

To apply the selected waveguide and return to the Input Field dialog box,
click OK.

To return to the layout, click OK.

305

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Running the simulation


To run the simulation, perform the following procedure.
Step

Action

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears.

Under Simulation technique, click Simulate As Is (see Figure 23).


Figure 23 Simulation Parameters dialog box

The simulator output appears as shown in Figure 24.

306

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 24 Simulation results

As Figure 24 shows, this coupler is not an ideal 3dB coupler because more
power is transferred to the lower branch than to the upper branch. Moving the
waveguides farther apart would reduce the coupling. You can run many
simulations with various separations to find the best design.
3

Close the simulator and the analyzer.

In OptiBPM_Designer, from the Simulation menu, select Additional


Output Data.
The Additional Output Data dialog box appears (see Figure 25).

Select Power In Output Waveguides.


Note: The output power in the two output waveguides will be passed to the
Analyzer.

307

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 25 Additional Output Data dialog box

308

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Modifying the layout script


To modify the layout script, perform the following procedure.
Step

Action

Click the Scripting tab.


The Scripting window appears.

Type the following lines at the end of the layout script:


Const NumIterations = 10
Delta=1.0/(NumIterations-1)
For x = 1 to NumIterations
SBendSin1.SetPosition 100,

7.5,

470,

SBendSin2.SetPosition 900,

7.5,

530,

SBendSin3.SetPosition 900,

-7.5,

530,

-(3.0+Delta*(x-1))

SBendSin4.SetPosition 100,

-7.5,

470,

-(3.0+Delta*(x-1))

Linear3.SetPosition

470,

Linear6.SetPosition

470,

3.0+Delta*(x-1),
-(3.0+Delta*(x-1)),

530,
530,

3.0+Delta*(x-1)
3.0+Delta*(x-1)

3.0+Delta*(x-1)
-(3.0+Delta*(x-1))

ParamMgr.Simulate
Next

Note: The first lines draw the layout, and the above lines enter a loop. The
layout is adjusted to move the coupler waveguides farther apart in each
iteration. Each loop ends with a ParamMgr.Simulate command which calls
the simulator for the current layout.
3

Save the project.

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears (see Figure 26).

309

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 26 Simulation Parameters dialog box

310

Under Simulation technique, click Simulate Using Script.

Click Run.
The simulator runs 10 times and the progress is reported in the Notification
window (see Figure 27).

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 27 Simulation using script

At the end of simulation, a prompt box appears (see Figure 28).


Figure 28 Prompt box

To run the OptiBPM_Analyzer, click Yes.

311

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Viewing simulation results in OptiBPM_Analyzer


To view the simulation results in OptiBPM_Analyzer, perform the following procedure.
Step

Action

In the OptiBPM_Analyzer project directory, click Power In Output


Waveguides.
A graph appears and displays the power in each output waveguide as a
function of iteration number. It is clear the optimum design can be found
somewhere between the 3rd and 4th iteration (see Figure 29).
Figure 29

Power in output waveguides

Note: The Analyzer stores simulation data from each iteration.

312

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Open the Optical Field Propagation and Propagation Refractive Index


directories, and select the contents to view (see Figure 30).
Figure 30 Propagation Optical Field XZ slice

313

LESSON 6: DESIGN A 3DB COUPLER USING VB SCRIPT

Figure 31

314

Propagation Refractive Index XZ slice

To view the simulation result for the 3rd iteration, select Iteration 3 from the
Iteration drop-down list.

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Lesson 7: Applying predefined diffusion


processes
In this lesson, you will learn how to:

create a linear waveguide formed by the default process of Titanium diffusion in


the Lithium Niobate host and run the scalar simulator

apply the predefined Magnesium diffusion process to create a buried waveguide


and run the scalar simulator

The procedures are:

Creating a linear waveguide formed by the Titanium Diffusion in Lithium Niobate

Defining the layout settings

Designing the waveguide

Setting the simulation parameters

Running the simulation

Creating a buried waveguide formed by Titanium Diffusion in Lithium Niobate

Saving the template under a new name

Adding a new profile

Creating the top linear waveguide

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 2: Create a simple MMI


coupler.

Familiarize yourself with the procedures in Lesson 3: Create a single-bend


device.

Creating a linear waveguide formed by the Titanium Diffusion in Lithium


Niobate
To create a linear waveguide formed by the Titanium Diffusion in Lithium Niobate,
perform the following procedure.
Step

Action

Create the following dielectric material (see Figure 1):


Name: Cladding
Refractive index (Re:): 1

315

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Figure 1 Profile Designer Cladding

Create the following diffusion material (see Figure 2):


Name: LN1

316

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Figure 2 Profile Designer LN1

The substrate is defined as diffused material. The name 'diffused' in the


materials denotes substrates suitable for the diffusion process. By default,
the diffused materials have the structure and parameters of Lithium Niobate.
As a result, you must choose the desired orientation of the sample and
propagation direction. You can change the properties (such as refractive
indices and electrooptic coefficients) so that other materials can be modeled,
provided that Equation 21 applies and polarization coupling can be
neglected.
Once the necessary materials are defined, it is possible to define diffused
profiles. There are three predefined diffused processes (see Titanium
Diffusion in Lithium Niobate on page 71 for more information).
3

Create the following DiffusionTi:LiNb03 material (see Figure 3):


Name: Ti:LiNb03_1

317

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Figure 3 Profile Designer Ti:LiNb03

Note: You can use the default values, change the defaults, or apply functions.
You can change:

ordinary and extraordinary refractive index

electrooptic coefficients

crystal cut

propagation direction

polarization

The wavelength input in the profile determines the refractive index boxes in
the auto mode, but does not influence simulations. The wavelength of the
simulation process is set in Setting the simulation parameters on page 321.
4

Close the Profile Designer.

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

Type the following settings.


a. Waveguide Properties:
Width: 6
Profile: Ti:LiNb03_1
b. Wafer Dimensions:

318

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Length: 60
Width: 20
c.

2D Wafer Properties:
Material: LN1

d. 3D Wafer Properties
Cladding
Material: Cladding
Thickness: 2
Substrate
Material: LN1
Thickness: 10
2

To apply the settings to the layout, click OK.

Designing the waveguide


To design the waveguide, perform the following procedure.
Step

Action

Draw a linear waveguide in the layout.

To insert the input plane, from the Draw menu, select Input Plane and click at
the left side of the layout window.
The input plane appears.

To set up the excitation field properties, edit the input plane properties by
selecting Edit > Properties.
The Input Plane properties dialog box appears.

Select the Gaussian.

Click the Input Fields 3D tab.

Click Edit.
The Input Fields dialog box appears (see Figure 4).

319

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Figure 4 Input Field dialog box

Since the waveguide is formed by a Ti diffusion, it will be lying just below the
top of the substrate. We will therefore set the centre of the beam 3 microns
below the surface.
7

Click on User

Edit the Field Properties (see Figure 5).


Figure 5 Field Properties dialog box

320

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Close the Input Field and Input Plan dialog boxes to return to the Layout
Designer.

Setting the simulation parameters


Since we don't want to calculate the mode in the calculation, we will use the average
reference refractive index. The wavelength of the simulation is set to 1.55 microns in
the Global Data window.
The number of mesh points is set to 151 by 151, and a scalar propagation engine is
selected. The 3D Isotropic window provides the opportunity to set up the view cut
which will be used while running the simulator. We selected the view cut to go through
the centre of the waveguide in the x-direction and 3 microns below the
cladding/substrate interface, approximately in the middle of the input Gaussian beam.
To set the simulation parameters, perform the following procedure.
Step

Action

From the Simulation menu, select Simulation Parameters.


The Simulation Parameters dialog box appears.

Click the Global Data tab and type the following settings (see Figure 6):
a. Reference Index: Average
b. Wavelength: 1.550000
c.

Number of displays: 100

Click the 3D Isotropic tab and type the following settings:


a. Polarization: None(Scalar)
b. Number of points: 151 x 151
c.

View cut:
X Mesh Pt: 76 (x-position ~ 0.0)
Y Mesh Pt: 88 (y-position ~ -3.0)

d. Propagation Step: 1.5

321

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Figure 6 Simulation parameters dialog box

322

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Figure 7 Simulation parameters dialog box 3D Isotropic tab

Save the project with the file name PredefinedTi.

Running the simulation


To run the simulation, perform the following procedure:
Step

Action

From the Simulation menu, select Calculate 3D Isotropic Calculation.


The Simulation Parameters dialog box appears.

Click the 3D Isotropic tab and ensure that the following settings are selected
(see Figure 7):
Polarization: None(Scalar)
Number of points: 151 x 151
View cut:
X Mesh Pt: 76 (x-position ~ 0.0)
Y Mesh Pt: 88 (y-position ~ -3.0)
Propagation Step: 1.5

323

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Start the simulation.


The results appear in the layout. See Figure 8 and Figure 9 for result
examples.
Figure 8 Simulation results 2D

Figure 9 Simulation results 3D

324

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Creating a buried waveguide formed by Titanium Diffusion in Lithium


Niobate
You can create a buried waveguide using the template created in the first part of this
lesson. The diffusion of Magnesium in the Lithium Niobate leads to negative changes
in the refractive index that are approximately proportional to the Mg concentration.
Therefore, by diffusing Magnesium and Titanium, we can tailor the refractive index
distribution and create a buried waveguide.

Saving the template under a new name


To save the template under a new name, perform the following procedure:
Step

Action

From the File menu, select the template file (PredefinedTi.bpd) and click
Open.
The file opens in the Profile Designer.

From the File menu, select SaveAs.

Type PredefinedTiMg as the file name.

Click OK.

Adding a new profile


To add a new profile to the Profile Designer, perform the following procedure.
Step

Action

Double-click on the waveguide in the layout window.


The Linear Waveguide Properties dialog box appears.

Click Profiles in Use.


The Profile Designer opens.

Right-click on Diffusion profile Mg:LiNbO3 and create a new profile:


Name: Mg:LiNbO3_1
Stripe thickness before diffusion: 0.004
Diffusion length in depth: 2
Lateral diffusion length: 4.0

Return to the layout window.

325

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Creating the top linear waveguide


To draw a new linear waveguide of the same width (6 m) on top of the Ti diffused one,
perform the following procedure.
Step

Action

Copy (Ctrl-C) and paste (Ctrl-V) the original waveguide in the layout
window.
A second linear waveguide appears in the layout window on top of the original
one.

Double-click on the new waveguide to open the waveguide properties dialog


box.

Change the Profile in Use to Mg:LiNbO3_1 (see Figure 11).

Figure 10 Linear Waveguide Properties dialog boxnew waveguide

Note: Since the diffused processes are additive, the top waveguide is not
going to overwrite the bottom waveguide but both processes will contribute to
the final refractive index distribution. You can check the index distribution in
the designer by going to the Ref.Index tab (see Figure 12).
You can now run the 3D simulation (see Figure 13 and Figure 14 for 3D
results).

326

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Figure 11 Mg:LiNb03_1 profile

Figure 12

Refractive Index 3D view

327

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

In diffused waveguides, the refractive index is small. To view the diffusion, set the
scale manually:
Step

Action

Right-click on the graph.

Select Data Clamping Settings.

Unselect the Auto scale.

Enter Min = 2.137 and Max = 2.142

Click Apply.
Note: Auto scale will stay off until you turn it back on, so don't forget to turn
Auto scale back on when viewing other data.
Figure 13 Ex - XY results 3D

Figure 14 RIdx - XY results 3D

328

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

Notes

329

LESSON 7: APPLYING PREDEFINED DIFFUSION PROCESSES

330

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Lesson 8: 3D OptiMode solver - COST project


Waveguide
OptiMode is a suite of applications dedicated to mode solving. Introduced with the
OptiBPM 10 release, OptiMode has a Designer, Simulator, and Analyser application
for each of the three stages of the project definition and simulation. Projects in
OptiMode can be parameterized and executed in script in the same manner as
OptiBPM. This lesson describes how to use the 3D mode solvers of OptiMode. The
example follows the well-known COST project waveguide [1] (see Figure 1).

Figure 1 COST project waveguide

Step

Action

Open Cross Section Designer from the Start menu

Go to File >> New to open the Initial Properties dialog box

Click on Profiles and Materials to open the Profile Designer.

Defining the materials for the 3D Mode solver


To define the materials for the OptiMode 3D Mode Solver, perform the following
procedure. Note the Profile Designer has two directories, Master and the default
name for the new project. The Master is a storage place only, and does not participate
in the project. The materials for this project should be defined under the directory for
this project, so minimize the Master for now.
Step

Action

Create the following dielectric materials (see Figure 2):


a. Name: Film

331

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

3D Isotropic Refractive index (Re:): 3.44


Figure 2 Film Material

b. Name: Air
3D Isotropic Refractive index (Re:): 1
c.

Name: Substrate
3D Isotropic Refractive index (Re:): 3.40

Remember to click Store on each item when youre done.


2

Create the following channel (see Figure 3):


Name: RidgeWG
2D Profile definition material: Film
3D Profile definition material:
Name: Layer, Width = 3, Thickness = 1.0
Offset = 0.0
Material = Film

332

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Figure 3 Channel Profile Definition

After this step, minimize the Profile Designer and return to the OptiMode XS Designer.

333

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Defining the waveguide


To define the waveguide, perform the following procedure.
Step

Action

In the Initial Properties dialog box, type/select the following:


a. Default Waveguide:
Width: 3
Profile: RidgeWG
b. 3D Wafer Properties
Width: 10
c.

3D Wafer Properties (see Figure 4):


Cladding Material: Air
Thickness: 1.5
Substrate material: Substrate

d. Thickness: 3
Figure 4 Selecting 3D Wafer Properties

To apply the settings to the layout, click OK.


The Initial Properties dialog box closes.

The application will display the refractive index distribution of the transverse plane
with the cladding and substrate. Save the project. The name of the project will
replace the default name in the Profile Designer directory that defines this projects
profiles and materials.

334

To add the waveguide to the top of the substrate, click on the Waveguide icon
in the Layout Properties window. The refractive index contrast is low, but the

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

difference can be made more visible by using the Height Plot setting and
rotating the view to emphasize contrast. Both buttons are circled in red in
Figure 5.
Figure 5 Waveguide on top of Substrate

Double click on the Linear 1 Waveguide to confirm the following data.


X Position = 0.0
Width = 3.0
Y Position = 0.0
Height = 1.0 (a read-only value)
Label = Linear 1

335

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Profile = RidgeWG

Parameterize the Problem


In Figure 1, the thickness of the surrounding film is a variable. In fact the project is to
study the effect of the film thickness on the mode. Therefore this project should have
a parameter for the film thickness, and the software may change it to other values
during simulation.
To create a suitable parameter, follow these steps.
Step

Action

Go to Solving >> Edit Parameters ... to open the Variables and Functions
dialog box.

In the User Variable tab, enter the name of the variable,


EtchedFilmThickness

In the Expression field, enter a starting value, 0.4

Click Add/Apply to add the parameter to the User Variables list

Click OK

Add Substrate Layer


The EtchedFilmThickness will be used to define the thickness of the substrate layer.
To add the substrate layer to the layout, follow these steps
Step

Action

Click on the Add Substrate layers button, next to the Waveguide button of
Figure 5. Double click on the new item in the list to get the Substrate Region
dialog box

Click Add to get the Layers dialog box, and enter EtchedFilmThickness for
the Thickness.

Set the material to Film from the combo box.

leave both dialog boxes by Clicking OK.

The refractive index view will now show the film of thickness 0.4 microns covering all
the substrate.

336

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Figure 6 Ridge Waveguide

Note that the Substrate Layer is available in OptiBPM as well. Use this feature for
designing ridge waveguides or other waveguides that have a multilayer film on the
wafer between waveguides. The Layout in OptiBPM Designer will show the location
of the ridges, and is the appropriate picture for preparing the layout masks.

337

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Setting Simulation Parameters


Set the simulation parameters from Solving >> Solver Parameters to get the Solver
Parameters dialog box. In the General tab make the following entries
Step

Action

Set Wavelength to 1.15

Select the Real Solver

Select Straight Waveguide

Select Semi-Vector TE for Mode

Set Number of Points in Mesh to be 151 for both X and Y

Select Number of Modes as 1

Dont select Use Script

Click OK

Once the parameters have been set, the mode can be found from Solving >> Solve
ADI

338

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Figure 7 Guided Mode of Ridge Waveguide

When the mode solving is finished, youll be asked if you want to proceed to the
Analyzer, If so, the simulator will close and the Analyzer application for this project
will open.

339

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Modifying the Film Thickness


To modify the parameter EtchedFilmThickness, perform the following steps
Step

Action

Go to Solving >> Edit Parameters ... to open the Variables and Functions
dialog box.

Double click the entry EtchedFilmThickness in the User Variables list to


bring the information into the User Variable declaration panel.

Change value in Expression to a new value, 0.6

Click Add/Apply to update the value.

The picture in the refractive index view, as in Figure 6, will change to a film thickness
of 0.6 microns, and the simulator will solve the new structure.

Automatically modifying a parameter by script


Simulation of a structure with a range of parameter values can be done manually, one
simulation at a time. On the other hand, it is sometimes more convenient to have the
software scan parameters automatically, and use the Analyzer to collect all the
information.
In order to change the parameter by script, copy the following script into the Script
page of the OptiMode XS Designer.

Table 1: Script for scanning a parameter


For eft = 0.0 To 0.8 Step 0.2
ParamMgr.SetParam "EtchedFilmThickness", CStr( eft)
ParamMgr.Simulate()
Next
This is a loop that will be executed with the loop variable eft taking a different value in
each iteration. The eft will be set to 0.0, 0.2, 0.4, 0.6, and 0.8. The CStr function is a
standard function of Visual Basic. It converts a number into a character string. The
arguments of the ParamMgr.SetParam are to be character strings, making the CStr
conversion function necessary.
Before running any script that calls simulators, it is a good idea to run the script in the
designer instead. That way possible errors in the script can be found and corrected
before starting lengthy simulations. To run in the Designer, go to Solving >> Run
Script. If there are errors in the VB code, they will be listed in the Error or Notification
tab. If there are no errors, there will still be a warning about clearing stacks.
To actually run the scripted simulation, go to Solving >> Solve ADI to get the Solver
Parameters dialog box. Select the Use Script check box and click OK.
The results are summarized in both the Simulator and Analyzer. The Analyzer shows
the results together with simulator details by dropping each iteration from a combo
box

340

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

Figure 8 Scripted scanning of a parameter, Analyzer presentation

Table 2: Modal Index vs. Film thickness


Etched Film Thickness

Modal Index

0.0

3.41181111

0.2

3.41208921

0.4

3.41254107

0.6

3.41338269

0.8

3.41465381

341

LESSON 8: 3D OPTIMODE SOLVER - COST PROJECT WAVEGUIDE

342

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Lesson 9: Create a chip-to-fiber butt coupler


This lesson describes how to create a chip-to-fiber coupler. You will create a model of
a simple spot-size transformer based on lateral tapering, as reported in [1].
Highly efficient chip-to-fiber coupling with large alignment tolerances is important for
applications of optoelectronic integrated semiconductor devices. Such coupling
requires a low-loss change of the light beam spot from about 1m of the mode to the
8-10m range for the guided mode in the fiber.
A two-layer spot-size transformer is shown in Figure 1. The device consists of a
strongly guiding two-layer input waveguide and a weakly guiding output waveguide
with a two layer laterally tapered section between them. We will be considering
dimensions and materials as given in [1] (Table 7). Details of the production process
can also be found in the reference [1].
Figure 1

Two-layer spot-size transformer

343

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Table 7 Materials and parameters

Material

Parameter

nCladding (InP)

3.1662

nSubstrate (InP)

3.1662

nTopLayer (InGaAsP_top)

3.3832

nBottomLayer (InGaAsP_bottom)

3.2416

Ltaper

560m

WInputTop

1.2m

WInputBottom

2.4m

dCladding

5m

dBuffer

0.4m

dSubstrate

5m

dTopLayer

0.3m

dBottomLayer

0.11m

WOutputTop

0.08m

WOutputBottom

6.0m

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 2: Create a simple MMI


coupler.

Familiarize yourself with the procedures in Lesson 3: Create a single-bend device

The procedures include:

344

Defining materials and waveguides for the chip-to-fiber butt coupler

Defining the layout settings

Creating a chip-to-fiber butt coupler

Editing the Input plane

Setting the simulation parameters

Running the simulation

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Defining materials and waveguides for the chip-to-fiber butt coupler


To define the materials and channels for the chip-to-fiber butt coupler, perform the
following procedure.
Step

Action

Create the following dielectric material:


Name: InGaAs_bottom
2D Isotropic Refractive Index (Re): 3.2416
3D Isotropic Refractive Index (Re): 3.2416

Create a second dielectric material:


Name: InP
2D Isotropic Refractive Index (Re): 3.1662
3D Isotropic Refractive Index (Re): 3.1662

Create a third dielectric material:


Name: InGaAs_top
2D Isotropic Refractive Index (Re): 3.3832
3D Isotropic Refractive Index (Re): 3.3832

Create the following channel profiles:


Profile Name: InputWgChannel
Layer 1:
Layer Name: BottomLayer
Width: 2.4
Thickness: 0.11
Offset: 0.0
3D Profile definition material: InGaAs_bottom
Layer 2:
Layer Name: TopLayer
Width: 1.2
Thickness: 0.3
Offset: 0.0
3D Profile definition material: InGaAs_top
Profile Name: TopInGaAsChannel
Layer Name: top
Width: 1.0
Thickness: 0.3
Offset: 0.0
3D Profile definition material: InGaAs_top

345

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Profile Name: BottomInGaAsChannel


Layer Name: bottom
Width: 1.0
Thickness: 0.11
Offset: 0.0
3D Profile definition material: InGaAs_bottom
Note: The 2D parameters are not going to be used. The structure can be
clearly simulated only in 3D.

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

Type the following settings.


a. Wafer Dimensions:
Length: 700
Width: 20
Cladding:
Material: InP
Thickness: 5.4
Substrate:
Material: InP
Thickness: 5.0

To apply the settings to the layout, click OK.


Note: There is no need to make the simulation space too wide as there
should not be a large scattering within the domain.

346

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Creating a chip-to-fiber butt coupler


The input waveguide will be defined as a 2-layer single channel and the output
waveguide as a simple one layer channel. To model the tapered part of the coupler,
we will decompose it into 2 separate single layer channels positioned on top of each
other. Each one of the channels will be a linear taper waveguide with tapering in
opposite directions.
To create the chip-to-fiber butt coupler, perform the following procedure.
Step

Action

Draw and edit the straight input waveguide.


a. Start offset:
Horizontal: 0
Vertical: 0
b. End Offset:
Horizontal: 40
Vertical: 0
c.

Width: 2.4

d. Depth: 0.4
e. Label: Linear Input Waveguide
f.
2

Profile: InputWgChannel

Draw and edit the bottom tapered waveguide.


a. Start Offset:
Horizontal: 40
Vertical: 0
b. End Offset:
Horizontal: 600
Vertical: 0
c.

Start Width: 2.4

d. End Width: 6.0


e. Depth: 0.4
f.

Label: Taper Linear Bottom

g. Profile: BottomInGaAsChannel
3

Draw and edit the straight output waveguide.


a. Start Offset:
Horizontal: 600
Vertical: 0
b. End Offset:
Horizontal: 700

347

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Vertical: 0
c.

Width: 6.0

d. Depth: 0.4
e. Label: LinearOutput
f.

Profile: BottomInGaAsChannel

Note: Notice the Depth Parameter values are set to 0.4. This will place the
bottom of the waveguides 0.4 micrometers above the substrate, leaving a
space for the buffer layer. As the buffer is of the same material as the cladding
and substrate, there is no need for further concern.
The resulting layout should look similar to Figure 2.
Figure 2

Layout design

Draw and edit the top tapered waveguide.


Note: To ensure that the top waveguide is on top of the bottom one, make
sure the depth of the top waveguide is set to (buffer + bottom layer thickness)
0.4 + 0.11 = 0.51.
a. Start Offset:
Horizontal: 40
Vertical: 0
b. End Offset:
Horizontal: 600

348

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Vertical: 0
c.

Start Width: 1.2

d. End Width: 0.08


e. Depth: 0.51
f.

Label: Taper Linear Top

g. Profile: TopInGaAsChannel
5

Insert the input plane.

Editing the Input plane


To edit the input plane values, perform the following procedure.
Step

Action

Double-click the input plane.


The Input Plane dialog box appears (see Figure 3).

Type the following values:


a. Starting Field: Mode
b. Z Position: 0

Click the Input Fields 3D tab.

Click Edit.
The Input Field dialog box appears (see Figure 4).

In the window under Waveguides, select the check box (see Figure 4).

Click Add.
The item under Waveguides moves into the window under Fields.

349

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

To return to the Input Plane dialog box, click OK.

To return to the layout window, click OK.


Figure 3 Input Plane dialog box

Figure 4 Input Field dialog box

The resulting layout should be similar to the one found in Figure 5.

350

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Figure 5 Layout design with top waveguide

351

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Setting the simulation parameters


When setting the simulation parameters, adjust the number of mesh points so that the
resolution of the results is satisfactory (in this case, 201x201).You may also want to
adjust the View Cut coordinates so that you can observe cuts through the areas of
interest during the simulation. In this example, the viewing planes cross both the
waveguide in the vertical direction (x~0.0) and the bottom waveguide in the lateral
direction (y~0.5).
To set the simulation parameters, perform the following procedure.
Step

Action

From the Simulation menu, select Simulation Parameters.


The Simulation Parameters dialog box appears.

Click the Global Data tab and type the following settings:
a. Reference Index: Modal
b. Wavelength: 1.550000
c.

Number of displays: 100

Click the 3D Isotropic tab and type the following settings:


a. Polarization: Semi-Vectorial, TE
b. Number of points: 201 x 201
c.

View cut:
i.

X Mesh Pt: 101 (x-position ~ 0)

ii. Y Mesh Pt: 107 (y-position ~ 0)


d. Propagation Step: 1.55

Running the simulation


To run the simulation, perform the following procedure:

352

Step

Action

From the Simulation menu, select Calculate 3D Isotropic Calculation.


The Simulation Parameters dialog box appears.

Click the 3D tab and check the settings (see Figure 6).

Start the simulation.


The results appear in the layout. See Figure 7, Figure 8, and Figure 9 for
result examples.

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Figure 6 Simulation Parameters dialog box

353

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

354

Figure 7

X-Z Ex vs RIdx results

Figure 8

Y-Z Ex vs RIdx results

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Figure 9 Ex XY results 2D

Figure 10 RIdx-XY results 2D

References
[1]

R. Zengerle, O. Leminger, W. Weiershausen, K. Faltin, and B. Huebner: Laterally tapered InPInGaAsP waveguides for low-loss chip-to-fiber butt coupling: A comparison of different
configurations, IEEE Phot. Techn. Lett. 7, (May 1995): 532-534.

355

LESSON 9: CREATE A CHIP-TO-FIBER BUTT COUPLER

Notes:

356

LESSON 10: ELECTRO-OPTIC MODULATOR

Lesson 10: Electro-Optic Modulator


This lesson shows how to make a 3D simulation in a material modified by the linear
electro-optic effect (Pockels Effect). The waveguide design of Reference [1] is shown
in Figure 1 below. In this lesson, this waveguide is created, a potential is applied to
the electrodes, and the results are compared to Reference [1].
Figure 1 This is Fig.2 of Reference 1, drawn upside down. This waveguide is a Substrate-Removed
design, so the cladding is BCB, a polymer used to glue the waveguide to another substrate, not shown. This
mounting exposes the AlGaAs cladding layer to air, and the Backside electrode is evaporated there. All
lengths are in microns.

OptiBPM has another, older, electro-optic module. This legacy feature is specialized
to three coplanar electrodes when used on diffused electrodes in lithium niobate. See
Lesson 14: Mach-Zehnder Interferometer switch. If the system you want to model
conforms to this specific case, and information about electrode impedance is not
required, you might want to consider the Electrode Region feature described in
Lesson 14: Mach-Zehnder Interferometer switch. For all other electro-optic
simulations, the feature described in this tutorial should be used.

357

LESSON 10: ELECTRO-OPTIC MODULATOR

The material system for this example is AlGaAs. The ridge structure forms a
waveguide and supports TE and TM waves, although only the TE mode is excited in
our example. The electrodes are metal and do not significantly intersect the guided
mode. When the electrodes have a potential difference, a mostly vertical electric field
appears in the material that supports the optical mode. The refractive index of the
material is modified slightly by the electo-optic effect. The effect is small, but it can
make a significant difference in the phase of the optical wave after propagation over
a long distance, on the order of one cm. According to Ref [1], applying a potential
difference of 17.8 V between the Topside and Backside electrode should cause a
change in phase of Pi after 1cm of propagation in the fundamental mode of the
waveguide.
To make a project that simulates the voltage-dependent optical phase shift, follow
these steps. A finished project can be found in the Tutorial Samples directory, called
Lesson10_ElectroOptic.bpd.

It is recommended that you have already finished Lesson 1: Getting Started. It is also
a good idea to have already completed Lesson 9: Create a chip-to-fiber butt coupler
as well, in order to be familiar with issues in 3D BPM simulation without electro-optic
effects.

358

LESSON 10: ELECTRO-OPTIC MODULATOR

Define Dielectric Materials


Step

Action

In a new project, open the Profile Designer and create a new material for
GaAs in the branch Materials/Dielectric. Name the material GaAs155, and
enter a refractive index of 3.421076 in the 2D and 3D Isotropic tabs of the new
material. This value of refractive index is taken from Reference 2. The
electro-optic tensor for GaAs has non-zero components r41 = r52 = r63 in the
crystal coordinate system. However, for this device the waveguide axis is
rotated in the XZ plane by 45 relative to the crystal axis, so a vertical (parallel
to Y) electrostatic field affects the TE mode by an electro-optic coefficient
equal to r41. In this project we will simulate a TE mode, so enter the r41
coefficient as rV, the vertical electro-optic coefficient. (select the Electro Optic
Effects check box) The horizontal part of the electric field does not affect the
horizontally polarized TE mode, so the rH should be set to zero.

Figure 2 The refractive index and electro-optic coefficients of material GaAs at


rV = 1.42 x 10-12 [m/V]

= 1.55

m. n = 3.421076,

359

LESSON 10: ELECTRO-OPTIC MODULATOR

Click on the Static Permittivity tab and enter 13.18 for the XX and YY
component of the static permittivity tensor[3].
Figure 3 Static Permittivity of GaAs.

360

Click on Store to enter the new material into the project.

Repeat steps 1-3 for the other dielectric materials in the project. The names
and properties of all dielectric properties in the project are shown in Table 8
below.

LESSON 10: ELECTRO-OPTIC MODULATOR

Table 8 Properties of dielectric materials used in the waveguide of Fig. 1. Refractive


index of BCB taken from Ref. 4.

Name

rH

rV

EpsXX

EpsYY

GaAs155

3.421076

1.42e-12

13.18

13.18

A13Ga7As155

3.279933

1.42e-12

12.244

12.244

BCB

1.538

2.365444

2.365444

air

1.0

1.0

1.0

Define Electrode Materials


The definition of a material as an electrode is the way that electrodes are introduced
in OptiBPM. Profiles and Waveguides define optical waveguide geometry, and these
objects are filled with materials to define the optical refractive index within them. If a
material is defined as an electrode material, then the same Profiles and Waveguides
used for specifying waveguide geometry can be used for specifying electrode
geometry.

In OptiBPM, electrodes are assumed to be perfect conductors. Since there is no


electrostatic field inside a perfect conductor, the material properties rH, rV, EpsXX,
and EpsYY do not apply to electrodes, and are not found in the electrode material
dialog boxes.

The electrodes do have optical properties. This is to permit precise definition of


optical properties for devices that have transparent electrodes. In the case of metal
electrodes or other electrodes that are not transparent, the electrodes are usually
placed far from the optical field of the waveguide, and therefore the optical properties
of the electrode are not significant in the device function. In this case, the optical
properties of the electrode should not be set to the actual optical properties of
metal, but should be set to some value that will not cause numerical trouble with the
beam propagation method to be used for simulation. We recommend choosing a real
refractive index slightly smaller than the cladding index, or the refractive index of other
materials found in the vicinity. In effect, the electrode is made transparent to the beam
propagation simulator, and does not participate directly in the optical simulation. The
effect of the electrode material is through the electrooptic effect only, as desired in
electrooptic devices.
5

In branch Materials/Electrode of the Profile Designer, create a new material


called Electrode1 (the default name). Enter 2D and 3D refractive index of 1.6.
This material is for a metal electrode, and will be placed far from the optical

361

LESSON 10: ELECTRO-OPTIC MODULATOR

wave. The refractive index of 1.6 will prevent the electrode from disturbing
the beam propagation method of simulation. See comments in the paragraph
above.
6

Click on Store to enter the new material into the project.


Figure 4

362

The electrode material Electrode1, n = 1.6

Repeat step 5-6 for another material, called ground. Use the same refractive
index.

LESSON 10: ELECTRO-OPTIC MODULATOR

Define Profiles
8

Create a Channel profile called ridgeWG. This will be placed on top of the
epitaxial layers to create the ridge of Figure 1. Set the 2D profile definition to
Material Al3Ga7As155. Set the 3D profile definition with one layer of Material
Al3Ga7As155 with Width 3, Thickness 0.5, and Offset 0. Enable the Slanted
Walls feature, and enter 45 angles on the right and left sides.
Figure 5 Definition of the ridgeWG Channel Profile

Click on Store to enter the new profile into the project.

10

Repeat Steps 8-9 to create a profile for an electrode. Name the Profile
Electrode1Profile and enter the Material as Electrode1 for 2D and 3D profile
definitions. Set Width = 1.0, Thickness 0.2, and Offset 0.

363

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 6 Fig. 6, Definition of Electrode1Profile

11

364

Repeat Step 10, but name the new profile GroundElectrode. All properties
are the same as Electrode1Profile except the electrode material is ground
instead of Electrode1 material.

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 7 Definition of Ground Electrode Profile

12

Return to the Initial properties dialog box and enter the following choices:
Waveguide Properties tab
Width 4.0
Profile: ridgeWG
Wafer Dimensions tab
12000
Width 40
2D Wafer Properties tab
Material: BCB
3D Wafer Properties tab
Cladding Material: BCB, Thickness 4
Substrate Material: air, Thickness 0.5

365

LESSON 10: ELECTRO-OPTIC MODULATOR

13

Click OK

14

Save the project.

Draw the waveguide


15

Change the view to see the whole wafer by Preferences >> Layout Options
>> Display Ratio = 200.

16

Select Snap to Grid from the icon in Tools.


Figure 8 Snap to Grid icon

17

Select a linear waveguide and draw from ( 0, 0) to (12000, 0)


Figure 9 Layout with ridgeWG profile.

18

366

With the Select tool, right click in the waveguide to open the Linear
Waveguide Properties dialog box, and change the Depth to 3.05

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 10

19

Adjust Depth of waveguide Profile to 3.05

Open the Simulation Parameters dialog box from Simulation >> Simulation
Parameters. In the 3D Isotropic tab, enter Number of Points per micron in X
as 10 and 30 for Y. Set the View Cut in X to 201 and to 100 in Y. This box
also has a radio button to select which solver will be used to find the
electrostatic field. The default is SuperLU, which can be used if your system
has sufficient RAM. If there is trouble with this solver later in the project, the
solver can be changed to the alternative solver, Bi-Conjugate Gradient.

367

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 11 Simulation Parameters polarization, mesh, viewcut, and slover settings.

20

368

Look at the profile so far by clicking on the Ref. Index (n) 3D XY Plane View
tab. The Air substrate, the BCB cladding, and the semiconductor ridge
should already be there, as in Figure 12.

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 12 Transverse plane View (XY Plane)

21

The other dielectric layers are input by using the Region feature of OptiBPM.
In the Layout select Draw >> Regions >> Substrate Region, and drag and
drop the substrate region on the layout. With the Select tool, right click on the
new Region to get to the Substrate Region Dialog box. Enter 0 as the starting
offset, and 12000 as the end.

369

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 13 Substrate Region Start and End settings.

22

Go to the Substrate tab and click Add to add the first layer. Enter for the Start
and End Thickness 2.0, and select material Al3Ga7As155
Figure 14 Substrate Layer

23

370

Repeat step 22 to add the second layer. Enter for the Start and End
Thickness 0.73, and select material GaAs155.

LESSON 10: ELECTRO-OPTIC MODULATOR

24

Repeat step 22 to add the third layer. Enter for the Start and End Thickness
0.32, and select material Al3Ga7As155.

25

Look at the profile again by clicking on the Ref. Index (n) 3D XY Plane View
tab. The substrate layers should be there, to reproduce the waveguide part
of Figure 1
Figure 15 Waveguide of Fig. 1

371

LESSON 10: ELECTRO-OPTIC MODULATOR

Draw the electrodes

26

In the layout view, draw a second linear waveguide with the same coordinates
as the first waveguide. With the Select Tool, right click on the waveguide to
open the Linear Waveguide Properties dialog box. Change the Width to 2.0,
the Depth to 3.55, and the Profile to Electrode1Profile.
Figure 16 Electrode 1 layout definition

27

372

The different profiles appear as different shades by default. It might improve


the display to right click the graded scale on the right side of the layout and
select Properties. The Spectrum type Rainbow will make the profiles different
colours.

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 17 Layout Profile Spectrum

28

Repeat Step 26 to draw the ground electrode. Let the Width be 6.0, the
Depth be 0.2, and the Profile be GroundElectrode.

29

This waveguide is wider than the rest, so it covers the first two. Note that right
clicking the waveguide presents layout options such as Move To Back. Apply
this to this waveguide so that the other two can be seen in the layout.

373

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 18

Finished layout with Substrate Region, two electrodes, and ridge waveguide.

30

374

Look at the Ref. Index (n) 3D XY Plane View tab again. In certain angles
of the XY Plane view in the Height Plot mode, one can see the electrodes as
well as the waveguide.

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 19 Finished waveguide with electrodes.

375

LESSON 10: ELECTRO-OPTIC MODULATOR

Electrostatic Simulation
31

Go to Edit >> Edit Electrodes to get the Edit Electrode Connections dialog
box. Each Electrode Material has a combo box with a selection of electrode
Ids, there is one ID for each of the Electrode Materials.

Figure 20 Edit Electrode Connections dialog box, with combo selection of electrode ID.

376

32

The Electrode ID is used to accommodate the case where two different


Electrode Materials are electrically connected outside the layout, and need to
be considered as one if electrode capacitance or impedance is to be
calculated. In that case, the two Electrode Materials could be assigned the
same electrode ID. In this example, there are only two electrodes each with
different potential, so assign Electrode1 to Electrode ID 1, and ground to
Electrode ID 2.

33

Once the IDs are assigned, one can assign the potentials in the Electrode
Potential list box. Assign a potential of 17.8 V to Electrode ID 1, and 0 V to
Electrode ID 2.

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 21 Edit Electrode Connections dialog box, with potentials

34

Close the Edit Electrode Connections dialog box.

35

Run the Electrostatic simulation by Simulation >> Electro Optical Solver >>
Calculate. The Electro Optical Solver window will open, and the graph will
initially show the position and ID of the electrodes in this transverse plane.
(Position Z = 0 is the default, but this can be adjusted with the slider in the
Electro Optical View Option dialog box. ) Selecting Electrostatic Potential in
the tree will show equipotential contour lines superimposed on the
electrodes.

377

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 22 Electro Optic Solver. Selecting Electrode ID first and Electrostatic Potential second shows the
Electrode ID in colour and the Electrostatic Potential in contour lines. The picture can be more clear by
turning off the grid. (Right click and unselect Grid).

36

378

Selecting the Electrostatic Potential first, then RI real, and then Electrode ID
will show the potential in colour, and the electrode and waveguide boundaries
with superimposed lines.

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 23 E Electro Optic Solver.

37

Go to View >> Electrode Impedance to see the impedance calculated for


these electrodes. This data is available whenever the current Z slice has
exactly two electrode IDs with different potential. The Capacitance is from the
lumped circuit context, it is the capacitance found between these two
electrodes if the length is 1 mm. The impedance and Phase velocity come
from the transmission line context. Here it is assumed the two electrodes are
part of a balanced transmission line, and that the electrodes are perfect
conductors. The calculated wave impedance is given in ohms, and the phase
velocity is expressed as a fraction of the speed of light, c.

379

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 24 Electrode Impedance. Capacitance is for a lumped circuit. Impedance and Phase Velocity are
for the balanced transmission line case.

Electro-Optic Simulation
38

In the Layout view, add an Input Plane (see Lesson 1: Getting Started). Set
the Z Position to 0 and the Starting Field to Modal. In the Input Field dialog
box, select the waveguide with the ridgeWG profile to form the input field.
Figure 25 Input Field dialog

380

LESSON 10: ELECTRO-OPTIC MODULATOR

39

Exit all the input dialogs with the OK button.

40

Select Simulation >> Additional Output Data >> 3D Isotropic tab, and select
Relative Power vs. Distance and Electrode Impedance. In the Z Cut tab,
select Field, Refractive index, and Potential and Permittivity for various Z
positions. Exit the box with OK.

41

Start the simulation with Simulation >> Calculate 3D Isotropic Simulation


>> Run Adjust the simulator view by View >> Optical Field Cut >> XZ Cut,
and switch the display from Amplitude to Phase by View >> Complex Data
View >> Phase. You will observe a phase shift of over a distance of 1 mm,
in agreement with Ref. [1].

Figure 26 Simulation of Phase of the guided mode with electrode potential 17.8 V

42

When the simulation finishes, open the Analyser and observe the data in the
Electrode Impedance tree. Right click the graph to open the legend. If the
electrodes change position over the wafer, this graph will plot the changes vs.
Z. Numerical data is available from the Export Data option that drops down
from the blue icon at the top left corner of the graph.

381

LESSON 10: ELECTRO-OPTIC MODULATOR

Figure 27 Plot of electrode impedance vs propagation length, Z

43

Open the Z Cuts directory from the tree and select optical, refractive index,
permittivity, or Electrostatic Potential data for display. The Z value is then
selected from the combo box.
Figure 28

382

Fig. 27, Electrostatic Potential at position Z = 4000.

LESSON 10: ELECTRO-OPTIC MODULATOR

References
[1]

S.R. Sakamoto, A. Jackson, N. Dagli, "Substrate Removed GaAs-AlGaAs Electrooptic


modulators", IEEE Photonics Technology Letters 11(10), p1244 - 1246 (1999)

[2]

Adachi and Oe, J. Appl. Phys, 6620 54(11) (1983)

[3]

Y. Cui and P. Berini, Modeling and Design of GaAs Traveling-Wave Electrooptic Modulators
Based on the Planar Microstrip Structure, J. Lightwave Tech., 24(6) p2368-2379 (2006)

[4]

Kwon et al., Optics Express Vol. 11 No. 18 p2211- 2215 (2003)

383

LESSON 10: ELECTRO-OPTIC MODULATOR

384

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Lesson 11: Integrated optical circuit simulation


using OptiBPM and OptiSystem
Scattering data export
Scattering data is a new simulation feature in OptiBPM. OptiBPM uses scattering data
when a small part of a larger photonic circuit is isolated for characterization using
BPM. This smaller part has waveguides entering on the left side and exiting on the
right side. The N inputs and the M outputs are assumed to have light in a modal
configuration, although the input and output waveguides may be tilted.
You can export the scattering data matrix that OptiBPM produces to OptiSystem for
future analysis.
This lesson describes how to generate and export scattering data and the connection
between OptiBPM and OptiSystem simulators on a simple 2D directional coupler.
There are two sections:

Part I OptiBPM

Part II OptiSystem

Before you start this lesson

Complete Lesson 6: Design a 3dB coupler using VB Script.

Theoretical Background
We will analyze one of basic photonic circuits, the Mach-Zehnder Interferometer (MZI)
shown in Figure 1 . The device actually consists of four basic components/devices
and our goal is to divide the circuit into these primitive self-existing devices, or, in other
words, the 3dB coupler. They can be separately simulated by means of OptiBPM and
later analyzed as the entire device by OptiSystem.The device can be quite large, and
therefore, consume an extended simulation time. Any division to a subcomponent
decreases the time consumption drastically, because the simulation speed is
proportional to the area of the component (see Scattering Data in the Technical
Background for more information). At this point, we should emphasise the circuit
division criteria are case sensitive and the decision is dependent on the users
knowledge and experience, however the subcomponents (i.e. their boundaries ) are
often visible naturally. On the other hand, an improper subcomponental division can
cause false results. Moreover, the designer has already the principle of a given circuit
operation clearly in mind prior to enitiating any practical design. In this example, we
will design the MZI to have a maximum intensity for one wavelength and the minimum
intensity (in the same port) for another wavelength. This is the principal behaviour of
the MZI and it can be exploited as a basic switch, because the other output port
obviously behaves in a complementary fashion to the first one.
The functionality of the device is well known. The light is launched into one input (we
will select the upper input waveguide, marked input). The input 3dB coupler splits the
light into two equal parts. The 3dB coupler was previously optimised to split the light

385

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

OPTIBPM AND OPTISYSTEM SCATTERING

equally from one input port to the output ones. The light then propagates
independently through each arm. One of them is optically longer, what causes a
phase difference at the ends of these arms. This can be achieved in several ways, we
simply demonstrate this effect by increasing the core refractive index of the lower arm.
Finally, the light coming from both arms enters the output coupler, which recombines
the light depending on a magnitude of the phase difference. If there was no phase
difference, the light should ideally appear just in the lower (B) ouput port. However,
with the presence of a certain phase difference, the light distribution will vary with
changing wavelength. We will omit any theory here for the sake of brevity (you should
refer to any basic photonic literature, such as [1]). Since we are interested of the
wavelength dependence on the device bahaviour, the optical phase difference takes
the form:

n 1 ( ) n 2 ( )
( ) = 1 ( ) 2 ( ) = 2L -------------------------------

where is the wavelength, L is the arms length, n 1 ( ) and n 2 ( ) are the effective
indices of the upper and lower arm, respectively. The length of the arms in between
the couplers is 3 mm. Regarding the material configurations, the core refractive index
is 1.5, the cladding is 1.49 for all devices. The core refractive index of the lower arm
is increased to the value 1.52. The width of all particular waveguides is 4 microns. A
basic inspection of the effective indices shows, we should thus be interested to
analyze the wavelength interval from1.534 nm to 1.554 nm to reach desired
behaviour of the device (including couplers).
Obviously, we can see the following subcomponents in our case (see Figure 1):

the input coupler

the output coupler

the two arms connecting the coupler

One (the lower) of the arms causes the desired phase difference
Figure 1 Schematics of MZI

386

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Part I OptiBPM
This section describes the procedures required to generate scattering data in
OptiBPM. The procedures are:

Generating Scattering Data script

Exporting scattering data

To start designing the 3dB coupler, we will use the coupler created in Lesson 6, where
the influence of the distance between the coupling parts of the coupler was studied by
a script (see Figure 2). When you run the sample file, you can see the the optimal half
splitting power appearing somewhere between the 3rd and 4th iteration step (see
Figure 3).
Figure 2 Lesson6_3db_coupler layout

Figure 3 Power in output waveguides Lesson 6

387

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

OPTIBPM AND OPTISYSTEM SCATTERING

To use the data in Lesson 6 to generate scattering data, perform the following
procedure.
Step

Action

Open the Lesson6_3dB_coupler.BPD file (see Figure ). For more


information on creating this file, see Lesson 6: Design a 3dB coupler using
VB Script.
Note: You can use any complete 2D layout (including input modal field) to
generate scattering data.

Click the Scripting tab in the layout window.

We will derive the coordinates of the waveguides in the coupler from the script code
in Lesson 6. The end of the script code in Lesson 6 is:

It is obvious the vertical positions of the all SBends and the short central linear
waveguides (Linear6 and Linear3) have to be defined accordingly. Considering the
ideal coupling for x = 3.5 , the expressions from the script yield for the desired
vertical positions the value 3.278 and -3.278, respectively. However, let us
consider a slightly non-symmetric coupling (approximately 45% and 55% of the total
power to each waveguide) as a fictitious simulation of an inaccurate fabrication. We
will decrease the values slightly, to +/- 3.19. The easiest way to modify these
vertical waveguides is to simply modify manually the pertinent waveguide
coordinates. The coupler is saved as deriv_3dB.bpd for further exploitation.
To modify the waveguide properties for this lesson, perform the following procedure.
Step

Action

Open the Lesson6_3dB_coupler.BPD file. For more information on


creating this file, see Lesson 6: Design a 3dB coupler using VB Script.
Note: You can use any complete 2D layout (including input modal field) to
generate scattering data.

388

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Double-click on the horizontal waveguide labeled Linear3 (see Figure 4) to


open the Linear Waveguide Properties dialog box.

On the Start tab, type 3.19 in Vertical Offset.

On the End tab, type 3.19 in Vertical Offset.

Click OK.
The Linear Waveguide Properties dialog box closes.

Double-click on the horizontal waveguide labeled Linear6 (see Figure 4) to


open the Linear Waveguide Properties dialog box.

On the Start tab, type -3.19 in Vertical Offset.

On the End tab, type -3.19 in Vertical Offset.

Click OK.
The Linear Waveguide Properties dialog box closes.

The ends of the S-bend waveguides must also be modified to meet the ends of
Linear3 and Linear6.
Step

Action

Double-click on the S-bend waveguide labeled SBendSin1 (see Figure 4) to


open the S-Bend Sine Properties dialog box.

On the End tab, type 3.19 in Vertical Offset.

Click OK.
The S-Bend Sine Properties dialog box closes.

Double-click on the S-bend waveguide labeled SBendSin2 (see Figure 4) to


open the S-Bend Sine Properties dialog box.

On the End tab, type 3.19 in Vertical Offset.

Click OK.
The S-Bend Sine Properties dialog box closes.

Double-click on the S-bend waveguide labeled SBendSin3 (see Figure 4) to


open the S-Bend Sine Properties dialog box.

On the End tab, type -3.19 in Vertical Offset.

Click OK.
The S-Bend Sine Properties dialog box closes.

10

Double-click on the S-bend waveguide labeled SBendSin4 (see Figure 4) to


open the S-Bend Sine Properties dialog box.

11

On the End tab, type -3.19 in Vertical Offset.

12

Click OK.
The S-Bend Sine Properties dialog box closes.

13

Save Lesson 6 with the new name, deriv_3dB.bpd.


Note: Values in Figure 4 for Vertical Offset are shown as
these to 3.19 .

3.0 - you change

389

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT
Figure 4

OPTIBPM AND OPTISYSTEM SCATTERING

Lesson6_3db_coupler.BPD file

Generating Scattering Data script


To generate the scattering data script, perform the following procedure.
Step

Action

From the Simulation menu, select Generate Scattering Data Script


or
Click the Scattering Data Script button.

A message box opens and informs you that the scattering data script will
overwrite the current script (see Figure 5).
Figure 5 Scattering data script message box

390

Click Yes.
The Scattering Data Scripting dialog box appears.

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

From the Input Plane drop-down list, select InputPlane1 (refer to Figure 6).

To determine the scanning interval and the number of steps in the interval,
type the following wavelength values:
Initial: 1.534
Final: 1.554
Steps: 21
Note: The default number of steps is 3. When you select only one step,
the results are wavelength-independent for further analysis.
Figure 6 Scattering Data Scripting dialog box

Click OK.
The Scripting window opens and displays the generated scattering data
script (see Figure 7).

391

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT
Figure 7

OPTIBPM AND OPTISYSTEM SCATTERING

Scripting windowScattering data script

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears (see Figure 8).
Note: Under Simulation technique, Simulate Using Script and the
Simulation generates scattering data information check box are selected
automatically. SMatrixWavelength appears in the Wavelength box
automatically, instead of a numerical valuethe wavelength interval was set
in Step 4.

392

Click the 2D tab and ensure that the correct simulation parameters are set.

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Figure 8 Simulation Parameters dialog box

Click Run.
OptiBPM_Simulator opens and the simulation runs.

When the simulation is complete, open OptiBPM_Analyzer to view the


results.

393

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

OPTIBPM AND OPTISYSTEM SCATTERING

Exporting scattering data


There are two possibilities for the S-data export:

Scattering Data in Cartesian Coordinates (exports


each waveguide)

Scattering Data in Polar Coordinates (exports

P cos ( ) ; P sin ( ) for

P ; for each waveguide).

Obviously, both are mathematically equal. However, the polar coordinates export is
advantageous for relatively longer devices, because of further interpolation of slowly
varying cumulative phase in OptiSystem. Therefore, only a few iteration steps are
required. On the other hand, the Cartesian coordinates export is worth using in cases
of sudden phase changes in the device behaviour, but quite a number of iterations is
needed (i.e., frequently oscillating function is to be fitted in most cases).
To export the scattering data from OptiBPM_Analyzer to OptiSystem, perform the
following procedure.
Step

Action

From the Export menu, select Scattering Data in Polar Coordinates


(see Figure 9).
The Export Scattering Data dialog box appears (see Figure 10).

Save the data as an *.s file.


Figure 9 Export menuScattering Data

394

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Figure 10 Export Scattering Data dialog box

The procedure to generate and export scattering data is complete. The next
procedure describes how to generate, use, and analyze the scattering data *.s file
with OptiSystem.

Creating the arms


The layout consists of the straight linear waveguide. Use the following parameters:
Wafer size: 3000 x 30

Waveguide width: 4
Waveguide length: 3 mm
Refractive index of the cladding: 1.49
Refractive index of the core (upper arm): 1.50
Refractive index of the core (lower arm): 1.52
Scan the wavelength with:
Initial: 1.534
Final: 1.554
Steps: 14
Note: Since we are dealing with the single straight waveguide, 14 or less steps
should be accurate enough for the data export.
Following the procedure outlined for the 4 port coupler, generate the Sdata files for
both arms (L11_Arm.bpd and L11_Arm.s; L11_Arm_phase.bpd and
L11_Arm_phase.s, the latter one having a higher core refractive index).

395

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

OPTIBPM AND OPTISYSTEM SCATTERING

Figure 11 The layout of the arms of MZI

396

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Part II OptiSystem
This section describes how to analyze the scattering data *.s file generated from
OptiBPM in OptiSystem. The procedures are:

Loading the *.s file in OptiSystem

Loading the files for both Arms

Completing the layout in OptiSystem

Connecting the components

Running the calculation

Creating the graph to view the results

Loading the *.s file in OptiSystem


To load the *.s file into the OptiBPM Component NxM in OptiSystem, perform the
following procedure.
Step

Action

From the Start menu on the task bar, select Programs > Optiwave Software
> OptiSystem > OptiSystem.
OptiSystem opens.

To open a new project, from the File menu, select New.


The main layout opens (see Figure 12).

397

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

OPTIBPM AND OPTISYSTEM SCATTERING

Figure 12 OptiSystemNew project

In the Component Library, double-click the Default folder, and then doubleclick the Optiwave Software Tools folder.
The Optiwave Software Tools folder opens and displays the available
components. This is where the OptiBPM Component NxM is located.

Select and drag the OptiBPM Component NxM into the main layout (see
Figure 13).
Figure 13 OptiBPM Component NxM

398

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

To load the scattering data into the OptiBPM Component NxM, in the main
layout, double-click OptiBPM Component NxM.
The OptiBPM Component NxM Properties dialog box appears
(see Figure 14).

You must select the type of data (Cartesian (Real Imag) or Polar coordinates
(Amplitude Phase). The choice must correspond to the data style exported from
OptiBPM (Polar in this case).
6

In the OptiBPM Component NxM Properties dialog box, File Format row,
select Value > Amplitude Phase.
Figure 14 OptiBPM Component NxM Properties dialog box

To open the s_data.s file, under Value, click


The Open dialog box appears (see Figure 15).

399

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

OPTIBPM AND OPTISYSTEM SCATTERING

Figure 15 Open dialog box

Select the deriv_3dB.s file and click Open.


The deriv_3dB.s file path appears under Value.

In Label, describe the device according to the simulation in OptiBPM (in this
case we use 4 port coupler (3dB)) (see Figure 16).

10

Click OK.
The OptiBPM Component NxM becomes a 2x2 elementtwo inputs and
two outputs (see Figure 17) and the label changes.
Figure 16 Final step of loading *.s file

400

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Figure 17 Loaded 2x2 OptiBPM Component NxM4 port coupler (3dB)

Loading the files for both Arms


To load the arm files, perform the following procedure.
Note: There are options available in OptiSystem that save time when
loading/copying files into layouts. Moreover, Optisystem keeps recently used
files under the identically called folder. You can simply open the folder and drag
the OptiBPM component, if recently used.
Step

Action

Select the 4 port coupler (3dB) in the layout and right-click.


A context menu appears.

Select Copy, place the cursor in the layout, right-click and select Paste.
A copy of the 4 port coupler (3dB) appears in the layout.
or

Select the Recently Used icon in the Component Library browser of


OptiSystem.
A list of recently used components appears in the Component Library
browser (see Figure 18).

Select the OptiBPM Component NxM and drag the component into the
layout.
An OptiBPM Component NxM appears in the layout.

Load and label Arm I and Arm II (see Figure 20).

401

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

OPTIBPM AND OPTISYSTEM SCATTERING

Figure 18 OptiBPM Component NxM in Recently Used list (OptiBPM Component NxM selected)

Having introduced the input coupler and the both arms, the OptiSystem layout should
look like Figure 19.
Figure 19 OptiSystem layout after introduction of arms

402

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Completing the layout in OptiSystem


To finish the layout, simply copy and paste the input coupler and move to the right (the
*.s file has already been loaded as previously described). Arrange (clicking and
moving) the icons to follow the schematics from Figure 1 approximately (see
Figure 20).
Figure 20 Components in OptiSystem layout

To add light power to the inputs and detectors of the OptiBPM Component NxM
outputs, perform the following procedure.
Note: Because we are studying wavelength response, we will use the Optical
Filter Analyzer, which mutually transmits and receives the light from a given
interval. The component extracts the frequency response of an optical
component by comparing a reference optical signal before and after the
calculation.
Step

Action

To locate the analyzer, double-click on the Default folder, Filters


Library\Filter Analyzer, and select Optical Filter Analyzer.

Disable Autoconnect on Drop in the Layout Operations toolbar.

Select Optical Filter Analyzer, drag the component into the main layout and
position it close to the first OptiBPM Component NxM (4 port coupler 3dB)
input port .

Double-click on the Optical Filter Analyzer to open the properties dialog


box.

In the Frequency unit row, click on Units and select nm (nanometers).


Note: This setting is selected to correspond to the OptiBPM simulation units.

403

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT
6

OPTIBPM AND OPTISYSTEM SCATTERING

On the Main tab, in the Frequency row, type 1544.


Note: This is the central frequency of the filter analyzer.

In the Bandwidth row, type 20, click on Units, and select nm(nanometers).
Note: This is selected to ensure that the filter runs inside the desired interval
1544 nm +/- 10 nm.

Select Linear scale.


Note: The results will use a linear scale on the axes. Default is logarithmic
(see Figure 21).

Click OK to save the settings and close the dialog box.


Figure 21 Optical Filter Analyzer Properties dialog box

404

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Connecting the components


Step

Action

To connect the ports, click on the output (upper port) of the Analyzer and
connect it to the upper input port of the 4 port coupler(3dB).
The components are connected by a green line (see Figure 22).

Figure 22 Connecting Optical Filter Analyzer to 4 port coupler (3dB)

Connect the ports of the arms in the layout as detailed in Figure 23 (follow
schematics as shown in Figure 1).
Figure 23 Inner part of layout connected

405

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT
3

OPTIBPM AND OPTISYSTEM SCATTERING

Connect the upper output port of the right (output) coupler with the input port
of the Optical Filter Analyzer (see Figure 24).

The remaining input port must be assigned to have no input field. This is
accomplished by using the Optical Null component.
4

To locate the Optical Null component, in the Component Library browser,


double-click on the Default folder, Tools Library, and select Optical Null.

Drag the Optical Null component into the main layout and connect it to the
input port of the 4 port coupler (3dB) (see Figure 24).
Figure 24 The complete layout in OptiSystem environment

406

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Running the calculation


To run the calculation, perform the following procedure.
Step

Action

From the File menu, select Calculate


or
Click Calculate
on the Standard toolbar
The OptiSystem Calculations dialog box appears (see Figure 25).
Figure 25 OptiSystem Calculations dialog box

Click the calculation button


.
After the run is complete, the component internal parameters appear in the
layout.
Note: To hide the parameters, click the View Port Signal Data (see
Figure 26) on the Layout Operations toolbar.
Figure 26

View Port Signal Data button

Creating the graph to view the results


When the simulation is complete, to create graphs to view the results, perform the
following procedure.
Step

Action

Select the Graphs tab in the layout window.


Four empty graph views appear in the layout window.

407

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT
2

OPTIBPM AND OPTISYSTEM SCATTERING

In the Project Browser, select the Optical Filter Analyzer icon.


Two available graph view titles appear, the power and the optical phase
(Transmission Function and Transmission Phase X) (see Figure 27).
Figure 27 Optical Filter Analyzer under Project Browser

Click on the Transmission Function graph icon and move it into one of the
graph view quadrants (upper left, for example).
The graph appears in the Graph view window (see Figure 28) and the Graph
View Type dialog box appears.

Select Current Iteration and click OK.


Values for the current iteration are displayed in the graph view.
Note: Once the graphs are defined, any changes made in the layout will
automatically appear after the calculation is run.

408

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING OPTIBPM AND OPTISYSTEM SCATTERING
DATA EXPORT

Figure 28 Graphs

The power response can be seen in the upper graph. As expected, the power
decreases from the maximum (relative units normalized to one as for maximum)
value to no power at the other end of wavelength spectra.
The lower graph depicts the optical phase as the function of the increasing
wavelength within the mentioned interval.

Reference:
[1]

Okamoto, K., Fundamentals of Optical Waveguides. Academic Press, San Diego, 2000,
Chap. 4.5.

409

LESSON 11: INTEGRATED OPTICAL CIRCUIT SIMULATION USING


DATA EXPORT

Notes

410

OPTIBPM AND OPTISYSTEM SCATTERING

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Lesson 12: Scan the refractive index (RI)


This lesson describes how to modify the refractive index of a waveguide by using the
script. The script runs the simulation four times. The refractive index of the waveguide
in the first iteration has the StartValue of 1.47. It is increased in later simulations to
1.48, 1.49, and 1.50.
The procedures are:

Defining the materials and the channel

Defining the layout settings

Drawing the Linear Waveguide

Inserting the Input Plane

Creating the script

Running the simulation

Viewing the simulation results in OptiBPM_Analyzer

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 5: Wavelength scripting with


VB Script.

Defining the materials and the channel


To define the materials and the channel, perform the following procedure.
Step

Action

From the File menu, select New.


The Initial Properties dialog box appears.

Click Profiles And Materials.


The Profile Designer opens and displays the Options dialog box.

Change the Master library path if required, and then click OK to close
the Options dialog box.

Under OptiBPM Designer 1, in the Materials folder, right-click the Dielectric


folder.
A context menu appears.

Select New (see Figure 1).


The Dielectric1 dialog box appears.

411

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 1 Create a new dielectric material

Type the following information (see Figure 2):


Name: Guide
3D Isotropic Refractive Index (Re:): 1.5

412

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 2

New dielectric material

Click the 2D Isotropic tab, and unselect the Use Default check box. (The
script will change the 2D Index value, so it should not be linked to the 3D
value by a default definition.
Click Store.

Repeat steps 3 to 6 to create a second material. Type the following


information:
Name: Clad
2D Isotropic Refractive Index (Re:) 1.45

Under OptiBPM Designer 1, in the Profiles folder, right-click the Channel


folder.
A context menu appears.

Select New.
The ChannelPro1 dialog box appears.

10

Under 2D profile definition, from the Material drop-down list, select Guide
(see Figure 3).

413

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 3 2D profile definition materialGuide

11

To save the setting, click Store.

12

Close the Profile Designer to return to OptiBPM_Designer.

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

In the Initial Properties dialog box, click the Waveguide Properties tab.

Type the following value:


Width (um): 4.0

414

In the Profile list, click ChannelPro1 (see Figure 4).

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 4 Waveguide Properties tab

Click the Wafer Dimensions tab.

Type the following values (see Figure 5):


Length: 50
Width: 20
Figure 5

Wafer Dimensions tab

Click the 2D Wafer Properties tab.

In the Material list, click Clad (see Figure 6).

415

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 6 2D Wafer Properties

To apply the settings to the layout, click OK.


The layout window appears.

From the Preferences menu, select Layout Options.


The Layout Properties dialog box appears (see Figure 7).
Figure 7 Layout Properties dialog box

10

Under Display Ratio, type the following value:


Z=1

416

11

Under Grid, select the Snap to Grid check box.

12

To apply the settings and return to the main layout, click OK.

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Drawing the Linear Waveguide


To draw the Linear Waveguide, perform the following procedure.
Step

Action

From the Draw menu, select Linear Waveguide.

Draw the waveguide in the center of the wafer and covering the length of the
wafer (see Figure 8).
Figure 8 Draw Linear Waveguide

417

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Inserting the Input Plane


To insert the Input Plane, perform the following procedure.
Step

Action

From the Draw menu, select Input Plane.

Click in the layout and position the Input Plane at 10 microns (see Figure 9).
Figure 9 Insert Input Plane

418

Double-click the Input Plane.


The Input Plane dialog box appears.

Click the Input Fields 2D tab, and then click Edit.


The Input Field dialog box appears.

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Click All to move the waveguide for input from the Waveguides window to
the Fields window (see Figure 10).
Figure 10

Input Field dialog boxmove waveguide

To save the setting and return to the Input Plane dialog box, click OK.

To return to the main layout, click OK.

Creating the script


To create the script, perform the following procedure.
Step

Action

Click the Scripting tab and type the following script:


' Change the 2D refractive index
StartValue = 1.47
EndValue = 1.5
' RIofWaveguide is the name representing the material
' to be manipulated. It can be any other name.
Dim RIofWaveguide
' Here, "Guide" must be the name of an existing material in the profile
Set RIofWaveguide = MaterialMgr.GetObjFromID( "Guide" )
For n = 1 to 4
RI = StartValue + (n-1)*( EndValue - StartValue ) / 3
' Reset the 2D refractive index of the material
RIofWaveguide.Set2DRefractiveIndex RI, 0.0
' Simulate and record the results in Analyser
ParamMgr.Simulate
Next

419

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

From the Simulation menu, select Simulation Parameters.


The Simulation Parameters dialog box appears.

Click the 2D tab.

Under Mesh, change the Number of points/m to 10 (see Figure 11).

Figure 11 Simulation Parameters dialog boxNumber of points/m

420

Click the Global Data tab.

Under Simulation technique, select Simulate Using Script (see


Figure 12).

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 12 Global Data tabSimulate Using Script

To apply the settings and return to the main layout, click OK.

Running the simulation


To run the simulation, perform the following procedure.
Step

Action

Save the project as a *.bpd file.

From the Simulation menu, select Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears.

To start the simulation, click Run.


A message box appears and prompts you to save the project and run the
simulation.

Click Yes.
OptiBPM_Simulator opens and runs four iterations, changing the refractive
index of the waveguide each time (see Figure 13).

421

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 13 Run the simulation

At the end of the simulation, a message appears and prompts you to open
OptiBPM_Analyzer.
5

422

Click Yes, and then click No to leave OptiBPM_Simulator open.


OptiBPM_Analyzer opens.

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Viewing the simulation results in OptiBPM_Analyzer


To view the simulation results in OptiBPM_Analyzer, perform the following
procedure.
Step

Action

In the OptiBPM_Analyzer project directory, double-click Optical Field


Propagation and Refractive Index Propagation.

Under Refractive Index Propagation , click XZ Slice.


The graph appears in the main layout (see Figure 14).
Figure 14 Refractive Propagation IndexXZ Slice

In the Iteration drop-down list, select another iteration to view (for example,
Iteration 3).
The graph of the refractive index profile for the selected iteration appears in
the main layout.

To view the optical field graph for this iteration, under Optical Field
Propagation, click XZ Slice (see Figure 15).

423

LESSON 12: SCAN THE REFRACTIVE INDEX (RI)

Figure 15 Optical Field PropagationXZ Slice

424

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Lesson 13: Applying User-defined diffusion


profiles
This lesson describes how to define user-defined diffused profiles.
In some instances, the predefined diffused profiles available in OptiBPM may not
satisfy your requirements. For example, you may want to introduce additional
parameters into the equation for a refractive index, or introduce additional
dependencies into existing parameters. This lesson details how to create a userdefined diffused waveguide that uses the expressions for the extraordinary refractive
index distribution described in Diffusion in Lithium Niobate, Equation 1 to Equation 7,
in the Technical Background. In addition, the diffusion length parameter will be made
dependent on the z-position.
The procedures are:

Defining the materials

Creating the reference profile

Defining the layout settings

Defining variables

Defining functions

Defining the user defined profile

Checking the user defined profile against the reference profile

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 4: Create an MMI star coupler.

Familiarize yourself with the procedures in Lesson 7: Applying predefined


diffusion processes.

425

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Developing the user defined profile


As in every project, we start with creating materials of the wafer. Assume Lithium
Niobate substrate and air cladding:

Defining the materials


Step

Action

From the File menu, select New.


The Initial Properties dialog box appears.

Click Profiles And Materials.


The Profile Designer opens.

Under OptiBPM Designer 1, in the Materials folder, right-click the Dielectric


folder and select New.
The Dielectric1 dialog box appears.

Create the following dielectric material :


Name: air
Refractive index (Re:): 1

Click Store.
The Dielectric material air is saved in the Materials folder.

Under OptiBPM Designer 1, in the Materials folder, right-click the Diffused


folder and select New.
The Diffused1 dialog box appears.

Create the following dielectric material :


Name: Lithium niobate_1

426

Click Store.
The Diffused material Lithium niobate_1 is saved in the Materials folder.

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Creating the reference profile


While in Profile Designer, create a new Ti:LiNb03 (default) profile. This new
predefined profile will serve as a reference, and will be used for comparison with the
user defined profile we are going to design.
Step

Action

Under OptiBPM Designer 1, right-click the Diffusion-Ti:LiNb03 folder, and


select New.

Type the following Profile name:


Ti:LiNb03 Profile

Use the following (default) values:


Lateral diffusion length: 4.0
Diffusion length in depth: 3.5

Click Store.

Close the Profile Designer.

Defining the layout settings


Coming back to the layout designer setup the layout settings as follows:
Step

Action

Type/select the following:


Waveguide Properties
Width (m): 4.0
Profile: Ti:LiNb03

Profile

Wafer Dimensions
Length (m): 100
Width (m): 30
2D Wafer Properties
Material: Lithium

niobate_1

3D Wafer Properties
Cladding
Material: air
Thickness: 3
Substrate
Material: Lithium

niobate_1

Thickness: 8
2

To apply the settings to the layout, click OK.


The layout window appears.

427

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

User defined profile


Based on the information found in the Technical Background, the extraordinary
refractive index, n e , of Ti:Lithium Niobate diffused waveguide have the following
profile:

(0)

n e ( x, y, z ) = n e ( )

w
w
2x
2x
+ d e ( ) F e c 0 erf ------------------ 1 + ------ + erf ------------------ 1 ------

2D
(
z
)
2D
(
z
)
w
w
H
H

y2
exp --------------
D 2 ( z )
v

The symbols, variables, and functions are explained in Table 9, Table 10, and in the
Technical Background.
As the equation for refractive index is exceedingly long, we rewrite the equation with
the help of auxiliary functions fxProf and fyProf in a form suitable for
implementation:
(0)

n e ( x, y, z ) = n e ( ) + d e ( ) F e c 0 fxProf ( x, z ) fyProf ( y, z )
All the definitions of auxiliary functions can be found in Table 10.
Note: The z-dependencies of the vertical and horizontal diffusion constants are
defined by function1 and function2, which were chosen arbitrarily to be the
sin functions of the z-position.
Table 9 Functions and Variables

Variable

Symbol

Value

(0)

Refractive index of LiNbO3 (extraordinary)

ne

428

Meaning

lambda

1.55

Wavelength

de ( )

fde(x )

function

Dispersion factor (extraordinary)

Fe

Fe

1.2e-23

Distribution constant (extraordinary)

c0

fC0(t,z)

function

Concentration profile constant

gamma e

Distribution power factor (extraordinary)

wdth

Width of the stripe before diffusion

thickness

0.05

Thickness of the stripe before diffusion

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Variable

Symbol

Value

Meaning

D H0

Dx0

Horizontal diffusion length constant

D V0

Dy0

3.5

Vertical diffusion length constant

DH ( z )

fDx(z)

function

Horizontal diffusion length function

DV ( z )

fDy(z)

function

Vertical diffusion length function

Horizontal distance from the waveguide centre

Vertical distance from the top of substrate top

Propagation distance

Table 10 Function Definitions

Function definitions

d e ( x ) = 0.839x ( x 0.0645 )
2

D H ( z ) = D H0 + function1 ( z )
D V ( z ) = D V0 + function2 ( z )
c 0 ( t, z ) = t 5.67e22 ( D V ( z ) )
w
w
fxProf ( x, z ) = erf ------------------ 1 + 2x
------ + erf ------------------ 1 2x
------
2D H ( z )
2D H ( z )
w
w
fyProf ( y, z ) = exp ( y D V ( z ) )
2

function1 ( z ) = 2 sin ( z 10 )
function2 ( z ) = 2 sin ( z 10 )

429

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

User Variables and Functions


Once you have the expression for refractive index in a suitable form, start defining all
the variables identified within the equation (Table 9).

Defining variables
Step

Action

In the Layout Designer, from the Simulation menu, select


Edit Parameters.
The Variables and Functions dialog box appears.

Click the User Variables tab.

For example, to define a variable thickness, type the following:


Name: thickness
Expression: 0.05

Click Verify.

Click Add/Apply.
The thickness variable appears in the User Variable table.

Defining functions
With all the variables defined, continue with defining functions in Table 10. This order
is necessary since the variables are used within the functions. If not defined, you will
get an error trying to use them in other functions definitions. For a list of internally
predefined constants and functions ( , e, ), which can be used, see Appendix D:
Parser supported functions.
To define a function, perform the following procedure.
Step

Action

In the Layout Designer, from the Simulation menu, select


Edit Parameters.
The Variables and Functions dialog box appears.

Click the User Functions/DLLs tab.

For example, to define fDx(z), type the following:


Function specification: fDx(z)
Expression: Dx0+2*sin(z/10)

430

Click Verify.

Click Add/Apply.
The fDx(z) variable appears in the User Function table.

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Defining the user defined profile


By now, all the variables and auxiliary functions necessary for the profile are prepared.
Proceed creating the user defined profile as follows:
Step

Action

In the Profile Designer, right-click the Profiles folder, select User Function
Profile, and select New.

Type the Profile name: TiUsrProf_Dv_exordinary.

Select Function is additive.


Note: When the function is additive, the value of the defined function is
automatically added to the refractive index of the substrate. Using this option we
(0)
have addressed the first term in the equation, n e . You must ensure that you
select the orientation of the substrate material, propagation direction, and
polarization so that the extraordinary index is actually used in the simulation. An
(0)
alternative approach would be to define the constant n e and to use it in the nonadditive profile definition (non-additive profiles overwrite the substrate refractive
index).

Type/enter the following:


a. Function specification: dn_e(x,y,z)
Note: The specification defines the name of the function and number of
input parameters. In this case, we need three position parameters (x,y,z).
b. Function body:
fde(lambda)*fC0(thickness,z)*Fe*fxProf(x,z)*fyProf(y,z)
c.

Material: LithiumNiobate_1

Click the Profile function tab.

Click in the Association cells and make the following selections from the dropdown list (see ):
Argument

Association

_dx

horizontal distance from the centre of the


waveguide

_dy

vertical distance from the centre of the waveguide

_z

propagation distance, taken from the beginning of


the layout

Click Verify.

Click Store.

Close the Profile Designer.

Definition

Now we can check the profile of the newly created user defined profile against a
predefined Ti:LiNbO3 diffused profile.

431

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Checking the user defined profile against the reference profile


Step

Action

Create a new Diffusion-Ti:LiNbO3 profile with the same parameters.

In the Waveguide Layout Designer, define two straight linear waveguides in


the layout:
Waveguide 1
Start: Horizontal Offset: 0
Vertical Offset: -6
End: Horizontal Offset: 100
Vertical Offset: -6
Width: wdth
Profile: TiUsrProf_Dv_exordinary
Waveguide 2
Start: Horizontal Offset: 0
Vertical Offset: 6
End: Horizontal Offset: 100
Vertical Offset: 6
Width: wdth
Profile: Ti:LiNbO3

In the 3D refractive index view, you can check that the two profiles are the same for
z = 0, due to the fact that the Diffusion length at z=0 is equal to the predefined
variables Dx0 and Dy0. If you view the refractive index at different positions, you will
see differences. The predefined waveguide does not change its profile along the
z-coordinates, whereas the user defined waveguide has non-constant diffusion
lengths which are functions of z-coordinates (see Table 10).

432

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Figure 16 Refractive index profiles at z=0 (picture at left) and z=80 (picture at right). The predefined diffused
waveguide,on the left of each picture, does not change. The user defined waveguide (the right profile in each
picture) depends on the z-coordinate as expected.

In this lesson, we added an additional feature compared to the predefined diffusion


profiles - we allowed the horizontal and vertical diffusion lengths to be functions of the
z -coordinate (note the sinusoidal modulation of the fDy(z) and fDx(z).
Both profiles can be used in 2D and 3D simulations. Compared to the predefined
diffusion profiles (Ti:LiNbO3, Mg:LiNbO3, PE:LiNbO3) there will be no effective
index calculation to get 2D refractive index distribution. Instead, when using the
user defined diffusion profiles, the 2D refractive index distribution will be defined by
the slice of 3D refractive index at the top of the substrate, i.e. y=0.0.
Also note that the user function profiles can only be defined within the substrate. If
your function is not already limited within the substrate by using the limits, it will simply
be ignored within the cladding region.
The variable lambda should be input into the wavelength input field within the
simulation parameters so that the chromatic dispersion factor is obtained for the
correct wavelength.
Finally, the simulation will run slower than a normal predefined diffused waveguide
due to the fact the refractive index formula needs to be 'translated' and calculated in
every slice (z-dependence of the Dv and Dh).

433

LESSON 13: APPLYING USER-DEFINED DIFFUSION PROFILES

Notes

434

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Lesson 14: Mach-Zehnder Interferometer switch


This lesson outlines the design process of an electro-optic 2x2 switch based on
integrated Mach-Zehnder interferometer.
An electro-optic switch is a device used in integrated fibre optics. The device is based
on Mach-Zehnder interferometer made by Titanium diffusion in Lithium Niobate
substrate. The switching between the ports is achieved by an electro-optic effect
within such structure. Voltage, applied to the electrodes deposited on the integrated
Mach-Zehnder interferometer, creates an electric field distribution within the
substrate, which consequently changes its refractive index. If properly designed, the
induced change in the refractive index leads to different coupling between individual
ports.

Design steps

CAD design of the circuit layout

Definition of an electrode region

Definition of an input field and simulation run

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

The procedures are:

Defining the materials

Creating the Ti-diffused profile

Defining the Wafer

Creating the device

Defining the electrode region

Defining the input plane and simulation parameters

Running the simulation

Creating a script

435

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

CAD design of the circuit


We assume that the integrated switch is created on a z-cut wafer of Lithium Niobate
and is surrounded by air cladding. The device is oriented along the Y-optical axis of
the Lithium Niobate. Therefore, we need to define a diffused material for the substrate
and a dielectric material for cladding.

Defining the materials


Step

Action

Open a new project in the Layout Designer.


The Initial Properties dialog box appears.

Click Profiles and Materials.


The Profile Designer opens.

In the Profile Designer, create the following diffused material:


Crystal name: Lithium_Niobate
Crystal cut: Z
Propagation direction: y

Create the following dielectric material:


Name: air
Refractive index (Re): 1.0

Creating the Ti-diffused profile


The waveguides of Mach-Zehnder interferometer are created by diffusion of Titanium
in Lithium Niobate substrate. We will need only one Ti-diffused profile :
Step

Action

In the Profile Designer, create the following Profile:


Profile name: TiLiNbO3 Pro1

Select the Group I panel


For Lateral Diffusion length D H , enter 3.5
For Diffusion Lenght in depth D V , enter 4.2

436

Close the Profile Designer


The Layout Design appears.

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Figure 1 Ti:LiNb03 Pro1 Profile

437

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Defining the Wafer


The whole switch device will be about 33 mm long and will not be more than
100 microns wide.
Define the following parameters for the wafer in the Layout Designer:
Step

Action

In the Initial Properties dialog box, Waveguide Properties tab, type/select


the following:
Width [ m ]: 8.0
Profile: TiLiNbO3 Pro1

Select the Wafer Dimensions tab and type the following:


Wafer Length: 33000
Wafer Width: 100

Select the 2D Wafer Properties tab and select the following:


Wafer Refractive IndexMaterial: Lithium_Niobate

Select the 3D Wafer Properties tab and type/select the following:


CladdingMaterial: air
CladdingThickness: 2
SubstrateMaterial: Lithium_Niobate
SubstrateThickness: 10

438

Click OK to save the settings.

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Creating the device


Tip: to view the whole substrate, it can be useful to change the setting of the Display
ratio (Z/X). To do this, select Preferences > Layout Options > Display ratio, and
type 200.
We start by laying down the basic waveguide elements necessary for the construction
of the switch.
Step

Action

In the Layout Designer, create the waveguides listed below (see ):


Waveguide name

Start position

End position

SBendSin1

Horizontal: 0

Horizontal: 5750

Vertical: -20

Vertical: -7.25

Horizontal: 5750

Horizontal: 9000

Vertical: -7.25

Vertical: -7.25

Horizontal: 9000

Horizontal: 11500

Vertical: -7.25

Vertical: -16

Horizontal: 11500

Horizontal: 21500

Vertical: -16

Vertical: -16

Horizontal: 21500

Horizontal: 24000

Vertical: -16

Vertical: -7.25

Horizontal: 24000

Horizontal: 27250

Vertical: -7.25

Vertical: -7.25

Horizontal: 27250

Horizontal: 33000

Vertical: -7.25

Vertical: -20

Linear1

SBendSin2

Linear2

SBendSin3

Linear3

SBendSin4

Note: You can use the mirror and flip operations in Edit > Flip and Mirror menu
to build the design.
To build the top waveguides by using the mirror options, perform the following
procedure steps for each waveguide in the layout.
2

Select the waveguide on the layout.

Select Edit > Flip and Mirror > Mirror to top.


The waveguide is duplicated directly above the selected one.

Double-click on the new waveguide.


The properties dialog box appears.

Type the x-coordinates in the horizontal and vertical fields.


Note: In order to make the mirror image symmetrical, each vertical
coordinate value must be the opposite sign to its counterpart in the original
waveguide.

439

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Example
Waveguide name

Start position

End position

SBendSin1

Horizontal: 0

Horizontal: 5750

(bottom waveguide)

Vertical: -20

Vertical: -7.25

SBendSin5

Horizontal: 30

Horizontal: 5750

(top waveguide)

Vertical: 20

Vertical: 7.25

Linear1

Horizontal: 5750

Horizontal: 9000

(bottom waveguide)

Vertical: -7.25

Vertical: -7.25

Linear4

Horizontal: 5750

Horizontal: 9000

(top waveguide)

Vertical: 7.25

Vertical: 7.25

Figure 2 Flip and mirror example

440

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Figure 3 Waveguides created before flip and mirror

Figure 4 Completed waveguide design

441

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

You can check the refractive index profile of different slices through the device.

Checking the RI profile of the x-y slice


To select the z-distance of the x-y slice, perform the following procedure.
Step

Action

On the Layout Designer, select the Ref. Index (n) - 3D XY Plane View tab
located at the bottom of the layout designer window.

On the RI Data toolbar, click the Select Z distance button.


The X-Y Ref. Idx View Option dialog box appears (see Figure 5).
OR

Select Preferences > Refractive Index View > 3D Slice (XY Plane) >
Select Z Distance (see Figure 6).
The X-Y Ref. Idx View Option dialog box appears (see Figure 5).

In the X-Y Ref. Idx View Option dialog box, type the value for Z Distance
and click View.
The Ref. Index (n) - 3D XY Plane View is updated to reflect the Z Distance
(see Figure 7).

Figure 5 Z plane selectorRI Data toolbar, X-Y Ref. Idx View Option dialog box

Figure 6 Preferences menu

442

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Figure 7 Refractive Index profile

Defining the electrode region


Step

Action

Click the Layout tab.

Click the Electrode Region tool.

Click on the layout where you want to place the beginning of the region and
move the mouse to the point where the region should end.
The electrode region appears in the layout.

Double-click on the electrode region.


The Electrode Region dialog box appears (see Figure 8).

In the Electrode Region dialog box, you can edit the start and end position of the
region (Z Position tab), change the reference refractive index and propagation step
in the region (Calculation tab), change material properties of the cladding, substrate,
and substrate layers (Substrate tab). The Electrode tab allows you to define the
electrodes on the substrate. The electrode region in this lesson starts at 11500 m
and ends at 21500 m .

443

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Figure 8 Electrode Region dialog box

In this example, we want to build electrodes on the top of a buffer layer. The properties
of the buffer layer can be defined under the Electrode tab (see Figure 9). As we did
not define a buffer material when we began the lesson, we have to do so now.
Figure 9 Electrode tab

444

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

To define the buffer material, perform the following procedure.


Step

Action

On the Electrode tab, select All sets > Electrode with buffer layer.
The Buffer Layer panel is activated.

Click Materials in Use.


The Profile Designer appears.

Create a new dielectric material.

Type/select the following:


Name: buffer
Refractive index: 1.47

Close the Profile Designer.

On the Electrode tab, type/select the following Buffer Layer properties:


Buffer layer
Thickness m

0.3

Horizontal permittivity

Vertical permittivity

Material

buffer

Electrode thickness m

Under Electrode sets table, click Add.


The Electrode Set dialog box appears.

Define the electrode sets as listed below.


Electrode 1
Width

50

Voltage

0.0

Electrode 2
Width

26

Voltage

0.0

Electrode 3
Width

50

Voltage

0.0

Gap 1-2

6.0

Gap 2-3

6.0

Electrode 2
Center Position

5.5

445

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Click OK to close the Electrode Set dialog box.


The electrode data appears in the Electrode set table (see Figure 10).

10

Click OK to close the Electrode Region dialog box.


Figure 10 Electrode tabElectrode set table data

We have specified an electrode region with three electrodes, all with zero voltage,
positioned slightly off the symmetry axis of the Mach-Zehnder interferometer.

446

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Defining the input plane and simulation parameters


Step

Action

Select Draw > Input Plane and place the Input Plane in the layout.

Double-click on the Input Plane on the layout to open the Input Plane
properties dialog box.

Type/select the following:


Starting field: Mode
Z Position Offset: 0.0

Click the Input Fields 2D tab.

Click Edit.
The Input Fields dialog box appears.

In the Waveguides table, select the second waveguide and click Add.
The entry is added to the Fields table.

Click OK to close the Input Fields dialog box.

Click OK to close the Input Plane dialog box.

To set the simulation parameters, select Simulation > Simulation Parameters, and
perform the following procedure.
Step

Action

In the Simulation Parameters dialog box, Global Data tab, type/select the
following:
Reference Index: Modal
Wavelength m: 1.3

Select the 2D tab and type/select the following:


Polarization: TM
MeshNumber of points: 500
BPM solver: Paraxial
Engine: Finite Difference
Scheme Parameter: 0.5
Propagation Step: 1.3
Boundary Condition: TBC

Click OK.

447

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Running the simulation


Run the simulation for zero voltage at the central electrode and for 6.75V at the central
electrode. You should observe full switching at 6.75V.
To run the simulation, perform the following procedure.
Step

Action

Select Simulation > Calculate 2D Isotropic Simulation.


The Simulation Parameters dialog box appears.

Click Run.
The OptiBPM Simulator 2D appears.

To change the voltage of the central electrode, in the Electrode Region dialog box,
Electrode tab, select the electrode set in the Electrode sets table, and click Edit.
Type 6.75 in Electrode 2Voltage (V).
Figure 11 Switching voltage of 0.0V

Figure 12 Switching voltage of 6.75V

You can perform more detailed investigations of the electro-optic switch using
scripting language. For example, we can scan the voltage on the central electrode
and observe the overlap integral of the output ports with the waveguide mode.

448

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

To run the optimization, perform the following procedure.


Step

Action

Select Simulation > Edit Parameters.


The Variables and Functions dialog box appears.

To define the variable, type V2 in Name.

Click Verify and click Add.


The variable appears in the User Variable table (see Figure 13).

Double-click on the Electrode region in the layout.


The Electrode Region dialog box appears.

In the Electrode Region dialog box, Electrode tab, select the electrode set
in the Electrode sets table, and click Edit.
The Electrode Sets dialog box appears.

Type V2 in Electrode 2Voltage (V) and click OK to close the Electrode


Sets dialog box.

Click OK to close the Electrode Region dialog box.


Figure 13 User variable V2

Select Simulations > Additional Output Data


The Additional Output Data dialog box appears.

On the 2D tab, select Power In Output Waveguides, Normalization


Global, and Output TypePower Overlap With Fundamental Mode.

Then we create a simple script, which runs 10 loops increasing voltage V2 from 0.0
to 7.2 V by 0.8V.

449

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Creating a script
To create the script, perform the following procedure.
Step

Action

Select the Scripting tab at the bottom of the layout window.

Type the following in the scripting window:

Note: You can also first generate a template script by selecting


Simulation > Generate Scanning Script and then edit it as shown above.
3

Before running the simulation, in the Simulation Parameters dialog box,


select Simulate Using Script.

When we run the simple scanning script, we obtain a graph of the optical field overlap
versus the number of iterations. It then becomes clear that the electro-optic switch is
fully switching the input signal from one output port to another for the second
electrode voltage between 6.4 and 7.2V.

450

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

Figure 14

Optical field overlap vs iteration

451

LESSON 14: MACH-ZEHNDER INTERFEROMETER SWITCH

452

LESSON 15: STEP INDEX FIBER MODES

Lesson 15: Step index fiber modes


Optical fiber is an important component of a device used for making fiber directional
couplers and for launching and receiving light from an integrated optical waveguide
In a device where a small length of fiber is used, the only characteristics needed to
simulate for a fiber are the effective mode indices and mode field profiles.
This lesson describes how to use the 3D Mode Solver to design and characterize step
index optical fibers.

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

The procedures are:

Defining the materials

Creating the SMF-28 fiber profile

Defining the layout settings

Creating the linear waveguide

Setting the simulation parameters

Viewing the refractive index distribution (X-Y cut)

Calculating the mode

453

LESSON 15: STEP INDEX FIBER MODES

Step index fiber


This is the most widely used fiber for constructing optical devices. We will
demonstrate the design for SMF-28, a commercially available fiber from Corning.
We will also compare the results of 3D mode solver with Finite Difference method of
OptiFiber from Optiwave Corporation.

Fiber parameters of SMF-28


Core radius: 4.07 m
Refractive index of core: 1.45205
Refractive index of cladding: 1.44681
Wavelength: 1.3 m
Figure 1 Refractive index profile of SMF-28 fiber

454

LESSON 15: STEP INDEX FIBER MODES

Defining the materials


To define the materials for the SMF-28 fiber, perform the following procedure.
Step

Action

In the Profile Designer, create the following dielectric materials:


Name: core
2D Isotropic tab
Refractive index (Re): 1.45204
3D Isotropic tab
Refractive index (Re): 1.45204
Name: cladding
2D Isotropic tab
Refractive index (Re): 1.44681
3D Isotropic tab
Refractive index (Re): 1.44681

Creating the SMF-28 fiber profile


To create the SMF-28 fiber profile, perform the following procedure.
Step

Action

In the Profile Designer, create the following Fiber Profile (see Figure 2):
Profile name: SMF-28
2D profile definition tab
Material: core
3D profile definition tab
Layer name: core
Rx: 4.07
Ry: 4.07
Material: core

455

LESSON 15: STEP INDEX FIBER MODES

Figure 2 Defining the fiber profile

456

LESSON 15: STEP INDEX FIBER MODES

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

In the Layout Designer, select Edit > Wafer Properties.

Type/select the following:


Wafer Dimensions tab
Length (m): 1000
Width (m): 60
2D Wafer Properties tab
Cladding
Material: cladding
3D Wafer Properties tab
Cladding
Material: cladding
Thickness: 30
Substrate
Material: cladding
Thickness: 30

Click OK to apply the layout settings.

457

LESSON 15: STEP INDEX FIBER MODES

Creating the linear waveguide


To create the linear waveguide, perform the following procedure.
Step

Action

In the layout, draw a linear waveguide.

To open the properties dialog box for the waveguide, double-click on the
waveguide.
The Linear Waveguide Properties dialog box appears.

In the Linear Waveguide Properties dialog box, type/enter the following:


Start offset:
Horizontal: 1000
Vertical: 0
End offset:
Horizontal: 0
Vertical: 0
Width: 8.14
Profile: SMF-28

458

Click OK.

Insert the input plane.

Save the project.

LESSON 15: STEP INDEX FIBER MODES

Figure 3 Linear waveguide propertiesStart

459

LESSON 15: STEP INDEX FIBER MODES

Setting the simulation parameters


To set the simulation parameters, perform the following procedure.
Step

Action

In the Simulation Parameters dialog box, click the 3D Isotropic tab.

Type/select the following:


Number of points in mesh
Number of points/ m
X: 5
Y: 5
View cut
X Mesh Pt: 151
Y Mesh Pt: 151

Click OK.
Figure 4 Simulation Parameters dialog box3D Isotropic tab

460

LESSON 15: STEP INDEX FIBER MODES

Viewing the refractive index distribution (X-Y cut)


To view the refractive index distribution, perform the following procedure.
Step

Action

In the Layout Designer, click the Ref. Index (n) - 3D XY Plane View tab
(see Figure 5).
Note: To view the color palette, select View > 3D Graph Items > Palette.
Figure 5 Refractive index distribution

Click the Plane View buttons (see Plane View buttons on 3D Graph toolbar
in Figure 6) to see the 2D Refractive Index distributions in X and Y directions
(see Figure 7 and Figure 8).

Right-click on the graph view and select Show Slice Selector.


Figure 6 Plane View buttons on 3D Graph toolbar

Figure 7 Refractive Index2D X-direction

461

LESSON 15: STEP INDEX FIBER MODES

Figure 8 Refractive Index2D Y-direction

462

LESSON 15: STEP INDEX FIBER MODES

Calculating the mode


To calculate the mode, perform the following procedure.
Step

Action

In the Layout Designer, select Simulation > Simulation Parameters.


The Simulations Parameters dialog box appears.

On the Global Data tab, type/select the following:


Starting Field: Modal
Wavelength: 1.30
Reference Index: Modal

Open the Input Plane.

Select the Input Fields 3D tab.

Click Edit to open the Input Field dialog box.

Click All.
The information from the Waveguides list appears in the Fields list.

Click Mode.
The Calculate Mode dialog box appears.

Click Calculate Mode.


The Global Data:ADI Method dialog box appears (see Figure 9).

Type/select the following:


Solver: Real
Mode: Scalar

463

LESSON 15: STEP INDEX FIBER MODES

Figure 9 Global Data:ADI Method dialog box

10

On the Settings tab, select the following and click Properties.


Boundary Condition: Neumann
Starting Field: Gaussian
The Gauss Field Parameters dialog box appears (see Figure 10).

11

In the Gauss Field Parameters dialog box, select Type: Auto and click OK.
Figure 10 Gauss Field Parameters dialog box

12

Click Calc. Mode.


The OptiBPM_M3Dsim window appears (see Figure 11).
Note: The modal index for Mode 1 is: 1.44961742. You can also view the electric
field distribution in the simulation window.

464

LESSON 15: STEP INDEX FIBER MODES

Figure 11 Calculated modal index and modal field of SMF-28

465

LESSON 15: STEP INDEX FIBER MODES

Comparing results with Finite Difference Method of OptiFiber


Change the Polarization to SemiVector TE.
In the Simulation Parameters dialog box, Global Data tab, edit the Wavelength
from 1.30 to 1.65, and then re-calculate the modal indices.
Compare the results to the modal indices generated with the Finite Difference Method
of OptiFiber shown in Table 11.
Table 11 Comparison of Modal Indices for SMF-28: OptiBPM vs OptiFiber

Modal Indices
(Fundamental Mode)
Wavelength

OptiBPM

OptiFiber

(microns)

(ADI Method)

(FD Method)

1.30

1.449613

1.449613

1.35

1.449495

1.449495

1.40

1.449379

1.449374

1.45

1.449264

1.449264

1.50

1.449151

1.449152

1.55

1.449041

1.449042

1.60

1.448933

1.448934

1.65

1.448828

1.448829

These results agree well.

466

LESSON 16: GRADED INDEX FIBER MODES

Lesson 16: Graded index fiber modes


Optical fiber is an important component of any device used for making fiber directional
couplers and for launching and receiving light from an integrated optical waveguide
In a device where a small length of fiber is used, the only characteristics needed to
simulate for a fiber are the effective mode indices and mode field profiles.
This lesson describes how to use the 3D Mode Solver to design and characterize
graded index optical fibers.

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Graded Index - Core fiber


Graded Index Core fibers with - refractive index profile in the core are often desired
for several applications in telecommunications, such as shifting zero dispersion
wavelength to 1.55 microns.We will demonstrate the design for a triangular core fiber
( = 1 ). We will also compare the results of the 3D Mode Solver with the Finite
Difference Method of OptiFiber.

Fiber parameters and refractive index profile of triangular core fiber


Core radius: 3.00 m
Refractive index of core: 1.48
Refractive index of cladding: 1.444
Wavelength: 1.55 m

467

LESSON 16: GRADED INDEX FIBER MODES

Figure 1

Refractive index profile of a triangular core fiber

The procedures are:

468

Creating the material

Defining user variables

Defining user functions

Defining the User defined profile

Defining the layout settings

Creating the linear waveguide fiber

Setting the simulation parameters

Viewing the refractive index distribution (X-Y cut)

Calculating the mode

LESSON 16: GRADED INDEX FIBER MODES

User Function profile


The Triangular core fiber can be defined as:

fgr ( x, y ) n ( r ) = n core sqrt [ 1 2 ( r a ) ] core


clad

= n clad

To implement the above equation in User Function Profile, we will first explain the
User Variables and User Functions (see Table 12).
Table 12 User Variables and User Functions

Variable

Symbol

Value

n core

n_core

1.48

n clad

n_cl

1.444

radius

Delta(n_core,n_cl)

(n_core*n_core-n_cl*n_cl)/ 2/ (n_core*n_core)

r(x,y)

sqrt(x*x+(y-y0)*(y-y0))

y0

y0

-15

Transverse coordinate in x-direction

Transverse coordinate in y-direction

Therefore, Triangular Core Fiber equation can be defined as follows:

fgr(x,y) = n_core*sqrt(1-2*Delta(n_core,n_cl)*(pow((r(x,y)/radius),1)))

(1)

with the limits as follows:

x*x+(y-y0)*(y-y0) < radius*radius

(2)

469

LESSON 16: GRADED INDEX FIBER MODES

Developing the User Defined profile


In order to define the profile, perform the following procedures.

Creating the material


Step

Action

From the File menu, select New.


The Initial Properties dialog box appears.

Click Profiles and Materials.


The Profile Designer opens.

In the Materials folder, right-click the Dielectric folder and select New.
The Dielectric dialog box appears.

Create the following dielectric material:


Name: cladding
2D Isotropic tab
Refractive index (Re): 1.444
3D Isotropic tab
Refractive index (Re): 1.444

Click Store.
The new dielectric material is stored in the Materials folder.

Defining user variables


To define the user variables identified within Table 12 and in Equation 1 and
Equation 2, perform the following procedure.
Step

Action

In the Profile Designer, select Tools > Edit Variables and Functions.
The Variables and Functions dialog box appears.

On the User Variable tab, type the following:


Name: n_core
Expression: 1.48

Click Verify to make sure expression is accurate.


The variable appears in the Value field (see Figure 2).

Click Add/Apply.
The variable appears under the User Variables tab in the table below
(see Figure 2).

After defining all the variables, the User Variables table appears as in Figure 2.

470

LESSON 16: GRADED INDEX FIBER MODES

Figure 2

Defined User Variables

Defining user functions


To define the user functions identified within Table 12 and in Equation 1 and
Equation 2, perform the following procedure.
Step

Action

In the Profile Designer, select Tools > Edit Variables and Functions.
The Variables and Functions dialog box appears.

On the User Function tab, type the following:


Function specification: Delta(n_core,n_cl)
Expression: (n_core*n_core-n_cl*n_cl)/ 2/ (n_core*n_core)

Click Verify to make sure the expression is accurate.

Click Add/Apply.
The function appears under the User Functions/DLLs tab in the table below
(see Figure 3).

After defining all the variables, the User Variables table appears as in Figure 3.

471

LESSON 16: GRADED INDEX FIBER MODES

Figure 3

472

Defined User Functions

LESSON 16: GRADED INDEX FIBER MODES

Defining the User defined profile


Step

Action

In the Profile Designer, right-click the Profiles folder, and select


User Function Profile > New.
The User Function Profile dialog box appears.

Type/select the following:


Profile name: GradedFibre
Function specification: fgr(x,y)
Function body:
n_core*sqrt(1-2*Delta(n_core,n_cl)*(pow((r(x,y)/radius),1)))

Select Use limits and type the following:


Use limits: x*x+(y-y0)*(y-y0)<radius*radius

Make the following associations on the Profile Function tab by clicking in the
corresponding Association cells:
Argument: x
Association: _dx
Argument: y
Association: _y

Click Verify.

Click Store.
The associations are stored in the fiber profile (see Figure 4).

Close the Profile Designer.

473

LESSON 16: GRADED INDEX FIBER MODES

Figure 4 User Function Profile dialog box

474

LESSON 16: GRADED INDEX FIBER MODES

Defining the layout settings


Step

Action

In the Layout Designer, select Edit > Wafer Properties.

Type/select the following:


Wafer Dimensions tab
Length (m): 100
Width (m): 30
2D Wafer Properties tab
Material: cladding
3D Wafer Properties tab
Cladding
Material: cladding
Thickness: 0.1
Substrate
Material: cladding
Thickness: 30

Click OK to apply the layout settings.

475

LESSON 16: GRADED INDEX FIBER MODES

Creating the linear waveguide fiber


To create the linear waveguide fiber, perform the following procedure.
Step

Action

In the layout, draw a linear waveguide.

To open the properties dialog box for the waveguide, double-click on the
waveguide.
The Linear Waveguide Properties dialog box appears.

In the Linear Waveguide Properties dialog box, type/enter the following:


Start offset:
Horizontal: 0
Vertical: 0
End offset:
Horizontal: 100
Vertical: 0
Width: 6.0
Profile: GradedFibre

476

Click OK.

Insert the input plane.

Save the project.

LESSON 16: GRADED INDEX FIBER MODES

Setting the simulation parameters


To set the simulation parameters, perform the following procedure.
Step

Action

In the Simulation Parameters dialog box, click the 3D Isotropic tab.

Type/select the following:


Number of points in mesh
Number of points/ m
X: 10
Y: 10
View cut
X Mesh Pt: 151
Y Mesh Pt: 151

Click OK.

Viewing the refractive index distribution (X-Y cut)


To view the refractive index distribution, perform the following procedure.
Step

Action

From the Layout Designer, select the Refractive Index tab.

Click the Ref. Index (n) - 3D XY Plane View tab (see Figure 5).
Note: To view the color palette, click the Palette button.

To increase the contrast, right-click in the graph. Select Data Clamping Settings,
deselect Auto Scale, and type the following settings:
Scale Min: 1.443
Scale Max: 1.481
Click OK.

477

LESSON 16: GRADED INDEX FIBER MODES

Figure 5 Refractive index - 3D XY Plane view

Click the Plane View buttons (see Plane View buttons on 3D Graph toolbar,
Figure 6) to see the 2D Refractive Index distributions in X and Y directions
(see Figure 7 and Figure 8).

Right-click on the graph and select Show Slice Selector.


Figure 6 Plane View buttons on 3D Graph toolbar

Figure 7 Refractive Index2D X-direction

478

LESSON 16: GRADED INDEX FIBER MODES

Figure 8 Refractive Index2D Y-direction

Calculating the mode


To calculate the mode, perform the following procedure.
Step

Action

Put an Input Plane in the layout.

Double click on the Input Plane to get the Input Plane dialog box.

Select the Mode starting field.

Select the Input Fields 3D tab.

Click Edit.
The Edit Input Field dialog box appears.

Click All.
The information from the Waveguides list appears in the Fields list.

Click Mode.
The Calculate Mode dialog box appears.

Click Calculate Mode.


The Global Data:ADI Method dialog box appears (see Figure 9).

Type/select the following:


Solver: Real
Mode: Semi-vector TE

479

LESSON 16: GRADED INDEX FIBER MODES

Figure 9 Global Data:ADI Method dialog box

10

On the Settings tab, select Boundary Condition: Neumann.

11

Select Starting Field: Gaussian and click Properties.


The Gauss Field Parameters dialog box appears (see Figure 10).

12

In the Gauss Field Parameters dialog box, select Type: User defined.

13

Type the following:


Center X [ m ]: 0
Center Y [ m ]: -15
Halfwidth X [ m ]: 3
Halfwidth Y [ m ]: 3
Figure 10 Gauss Field Parameters dialog box

14

Click OK.

15

Click Calc. Mode.


The OptiBPM_M3Dsim window appears (see Figure 11).
Note: The modal index for Mode 1 is: 1.45524303. You can also view the electric
field distribution in the simulation window.

480

LESSON 16: GRADED INDEX FIBER MODES

Figure 11 Calculated modal index and modal field of triangular core fiber

The table below compares the above results to the modal indices generated with the
Finite Difference Method of OptiFiber.
Modal Index (ADI Method)

1.45524303

Finite Difference (OptiFiber)

1.4552448

The results agree well. The difference is in the order of 10-6.

481

LESSON 16: GRADED INDEX FIBER MODES

Notes

482

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Lesson 17: Modal analysis of an anisotropic


buried waveguide
This lesson simulates the effect of anisotropy by considering a buried guide.
The core has an anisotropy relative permittivity tensor with components
xx = zz = 2.31 and yy = 2.19 .
It is buried in a cladding and substrate of permittivity 2
Figure 1

= 2.05 .

Cross section of anisotropic buried rectangular optical waveguide

The procedures are:

Defining the materials

Defining the layout settings

Creating the linear waveguide

Creating the linear waveguide

Setting the simulation parameters - 3D Anisotropic tab

Viewing the elements of the permittivity (XY cut)

Calculating the mode

Computing the magnetic field

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Familiarize yourself with the procedures in Lesson 3: Create a single-bend


device.

483

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Defining the materials


To define the materials for the Anisotropic 3D Mode solver, perform the following
procedure.
Step

Action

In the Layout Designer, from the File menu, select New.


The Initial Properties dialog box appears.

Click Profiles And Materials.


The Profile Designer opens.

Under OptiBPM Designer 1, in the Materials folder, right-click the Dielectric


folder and select New.
The Dielectric1 dialog box appears.

Click the 3D Anisotropic tab and deselect Use default.

Create the following dielectric material (see Figure 2):


Name: AnisoEps
Permittivity tensor (Re) of the core:

xx
yy
zz
xy

= 2.31
= 2.19
= 2.31

= yx = 0

Click Store.
The Dielectric material AnisoEps is saved in the Materials folder.

Create the following second dialectric material (see Figure 3):


Name: Eps
Permittivity tensor (Re) of cladding and substrate:

xx = yy = zz = 2.05
xy = yx = 0

484

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Click Store.
Figure 2 Relative Permittivity tensor of the anisotropic core

Figure 3 Permittivity tensor of the cladding and substrate

485

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Creating the profile


To create the rectangular buried waveguide profile, perform the following procedure.
Step

Action

Under OptiBPM Designer 1, Profiles folder, right-click on Channel, and


select New (see Figure 4).

Type the following Profile name:


BuriedAniso

Type/select the following values:


a. 2D profile definition
Material: AnisoEps
b. 3D profile definition
Layer name: Layer0
Width: 2
Thickness: 1
Offset: 0
Material: AnisoEps

486

Click Add.

Click Store.

Close the Profile Designer.

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 4 Defining a new Buried anisotropic waveguide profile

487

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Defining the layout settings


To define the layout settings, perform the following procedure.
Step

Action

In the Initial Properties dialog box, type/select the following (see Figure 7):
a. Default Waveguide tab
Profile: BuriedAniso
b. Wafer Dimensions tab
Length (m): 200
Width (m): 6
c.

3D Wafer Properties tab


Cladding
Material: Eps
Thickness: 3
Substrate
Material: Eps
Thickness: 2

To apply the settings to the layout, click OK.


The layout window appears.
Figure 5 Defining Layout settings - Wafer Dimensions

488

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 6 Defining Layout settings - 3D Wafer Properties

489

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Creating the linear waveguide


To create the linear waveguide, perform the following procedure.
Step

Action

In the layout, draw a linear waveguide.

To open the properties dialog box for the waveguide, double-click on the
waveguide.
The Linear Waveguide Properties dialog box appears.

In the Linear Waveguide Properties dialog box, type/enter the following


(see Figure 7):
a. Start offset:
Horizontal: 0
Vertical: 0
b. End offset:
Horizontal: 200
Vertical: 0
c.

Width: 2

Note: The length of the waveguide does not have any affect on the mode solver.
4

Click OK.
The waveguide is drawn in the layout according to the properties entered.
Figure 7 Linear Waveguide Properties dialog box

490

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

In the Layout Designer, select Draw > Input Plane.


The cursor becomes a crosshatch.

Click in the waveguide to create the input plane.


The input plane is inserted into the waveguide layout (see Figure 8).
Figure 8 Drawing the linear waveguide

To save the project, select File > Save As.


The SaveAs dialog box appears.

Type the name of the project (Lesson17Aniso.bpd) and click Save.

Setting the simulation parameters


To set the simulation parameters perform the following procedure.
Step

Action

In the Layout Designer, select Simulation > Simulation Parameters.


The Simulation Parameters dialog box appears.

Click the Global Data tab.

Type 1.0 in Wavelength.

Click the 3D Anisotropic tab (see Figure 9).

In BPM solver, select Pade(1,1).

In Mesh size, click Points/m and enter the following:


a. X = 16
b. Y = 16

In View cut, enter the following:


X Mesh Pt: 1
Y Mesh Pt: 1

491

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

In Propagation Step, enter 0.5.

In PML, type/select the following:


Layers: 5
Theoretical Reflection Coefficient: 0.0001

10

Click OK.
The Simulation Parameters dialog box closes.

Figure 9 Setting the simulation parameters - 3D Anisotropic tab

492

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Viewing the elements of the permittivity (XY cut)


To view the permittivity distribution, perform the following procedure.
Step

Action

In the Layout Designer, click the Permittivity XX - 3D XY Plane View tab


(see Figure 10).

Select Preferences > Refractive Index View > 3D Slice XY Plane.


The label of the tab changes to Permittivity XX - 3D XY Plane View.

Select one of the permittivity element tensors from the menu.

Repeat this procedure to view other elements of the permittivity tensor.


Figure 10

Permittivity tensor distribution

493

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Calculating the mode


To calculate the mode, perform the following procedure.
Step

Action

In the layout, double-click the input plane.


The Input Plane dialog box appears (see Figure 11).

Click the Input Fields 3D tab.


Figure 11 Input Field dialog box

494

Click Edit.
The Input Field dialog box appears.

Click the All button.

Select the item in the Fields window (see Figure 12), and click Aniso.
The Calculate Mode dialog box appears (see Figure 13).

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 12

Edit Input Field dialog box

Figure 13 Calculate Mode dialog box

Click Calculate Mode.


The Global Data: FD Method dialog box appears (see Figure 14)

495

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 14 Global Data: FD Method dialog box

Type the following:


a. Number of Modes: 3

To calculate the mode, click Calc. Mode.


The OptiBPM_M3Dsim window appears (see Figure 15).
Note: If you want to change the wavelength, do so in the Simulation
Parameters dialog box, Global Data tab.

496

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 15 OptiBPM_M3Dsim window

497

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 16 Amplitude of the major component field Hy for the fundamental mode

H 11

Figure 17 Amplitude of the minor component field Hx for the fundamental mode

H 11

498

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

In addition to the mode, E 11 , we can view the transversal electric field components
y
y
and mode indexes for the modes E 11 and E 21 .

499

LESSON 17: MODAL ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Computing the magnetic field


Step

Action

Open the Global Data: ADI Method dialog box and select the Advanced tab
(see Figure 18).

Figure 18 Advanced settings for the Anisotropic 3D Mode solver

In the Engine window, select H Formulation (Magnetic).

To start calculating the modes, click Run.


The OptiBPM_M3Dsim window appears.
x

In addition to the mode H 11 , we can view the transversal magnet field components
y
y
and mode indexes for the modes H 11 and H 21 .
After running the simulation, you can open the Analyzer and check the power in
output waveguides, field components, power overlap integral, notes, and simulation
parameters.
As expected, the mode indexes computed using H Formulation (Magnetic) are
equal to the ones computed by using the E Formulation (Electric).
The results are comparable to those obtained by Ohtaka, using a variational method
and cylindrical harmonic function expansions. His results have been used frequently
as a standard for comparison. See [1] for more detail.

References:
[1]

M. Ohtaka, "Analysis of the guided modes in the anisotropic dielectric rectangular


waveguides", Trans. Inst. Electron. Commun. Eng. Japan, Vol J64-C, pp. 674-681, Oct 1981.

[2]

Yilong Lu and F. Anibal Fernandez, "An Efficient Finite Element Solution of Inhomogeneous
Anisotropic and Lossy Dielectric Waveguides", IEEE Trans. Microwave Theory Tech., vol. MTT41, pp. 1215-1223, June/July. 1993.

500

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Lesson 18: BPM analysis of an anisotropic


buried waveguide
This lesson outlines how to use the 3D vectorial BPM simulator for the Anisotropic
medium.
We simulate the waveguide defined in Lesson 17: Modal analysis of an anisotropic
buried waveguide, the propagation of the beam in an anisotropic buried rectangular
optical waveguide. The waveguide will be excited by launching an input field with Ex
defined by a Gaussian and the Ey component is null.
The procedures are:

Setting the simulation parameters

Viewing the elements of the permittivity (XY cut)

Before you start this lesson

Familiarize yourself with the procedures in Lesson 1: Getting Started.

Complete the procedures in Lesson 17: Modal analysis of an anisotropic buried


waveguide in order to create the project file.

To continue from where Lesson 17 finished, open the project file: Lesson17Aniso.bpd.

501

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Setting the simulation parameters


To set the simulation parameters, perform the following procedure.
Step

Action

In the Layout Designer, select Simulation > Simulation Parameters.


The Simulation Parameters dialog box appears.

Click the Global Data tab.

In Starting Field, click Select and select Gaussian (see Figure 1).

In Reference Index, select User and enter 1.47762628 this is the modal
index of the fundamental mode calculated in Lesson 17.
Figure 1 Simulation Parameters dialog box Global Data tab

Click the 3D Anisotropic tab.

In BPM solver Method, select Alternating Direction Implicit (ADI)

In Polarization, select Quasi-TE

In Mesh size, click Points/ m and enter the following:


X = 30
Y = 30

In View cut, type the following:


X Mesh Pt: 91
Y Mesh Pt: 76

502

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

10

In Propagation Step, type 0.5.

11

In PML, type/select the following values:


Layers: 5
Theoretical Reflection Coefficient: 1.e-12

Figure 2 Simulation Parameters dialog box 3D Anisotropic tab

Viewing the elements of the permittivity (XY cut)


To view the permittivity distribution, perform the following procedure.
Step

Action

In the Layout Designer, click the Ref. Index (n) - 3D XY Plane View tab (see
Figure 3).

Select Preferences > Refractive Index View > 3D Slice XY Plane.

Select one of the permittivity element tensors from the menu.

Repeat this procedure to view other elements of the permittivity tensor.

503

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 3 Permittivity tensor distribution

504

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Setting the field in the input plane


In this step, the field in the input plane will be set to a Gaussian distribution.
Step

Action

In the layout, double click the input plane.


The Input Plane dialog box appears (see Figure 4).
Figure 4 Input Plafne dialog box Global Data tab

Set the Starting Field to Gaussian. The polarization in Figure 2 was selected
as quasi-TE. Therefore the Gaussian field is applied to Ex. The other
component, Ey, is set to zero.

Set the Z position offset to 30.

Click the Input Fields 3D tab

Click Edit...

The Input Field dialog box appears.

505

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 5 Input Field dialog box

Select the waveguide in the Waveguides list on the right hand side and click
Add

Select the item in the Fields table on the left and click Edit.
The Field Properties dialog box appears (see Figure 6).
Figure 6 Field Properties

Check the fields have the following data


a. Centre X: 0.0
b. Center Y: 0.0
c.

Halfwidth X: 1.0

d. Halfwidth Y: 0.5

506

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Click OK.

Click OK to close the Input Field dialog box.

10

Click OK to close the Input Plane dialog box.

11

Save the project.

12

In the Layout Designer, select Simulation > Calculate 3D anisotropic


Simulation...

Anisotropic Simulation.
The Simulation Parameters dialog box appears.
Figure 7

13

Simulation Parameters

Click Run... to start the anisotropic BPM simulator

507

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 8

Major field component, Ex, after 200 mm of propagation

Note: The Gaussian beam launched in the waveguide changes and reaches a
stable configuration equal to that of one of the fundamental modes evaluated
using the mode solver (refer to Lesson 17: Modal analysis of an anisotropic buried
waveguide).

508

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

Figure 9 Minor Field component Ey after 200 m of propagation

References:
[1]

M. Ohtaka, "Analysis of the guided modes in the anisotropic dielectric rectangular waveguides",
Trans. Inst. Electron. Commun. Eng. Japan, Vol J64-C, pp. 674-681, Oct 1981.

[2]

[Y. Lu and F. Anibal Fernandez, "An Efficient Finite Element Solution of Inhomogeneous
Anisotropic and Lossy Dielectric Waveguides", IEEE Trans. Microwave Theory Tech., Vol. MTT41, pp. 1215-1223, June/July 1993

509

LESSON 18: BPM ANALYSIS OF AN ANISOTROPIC BURIED WAVEGUIDE

510

Optiwave
7 Capella Court
Ottawa, Ontario, K2E 8A7, Canada
Tel.: 1.613.224.4700
Fax: 1.613.224.4706
E-mail: support@optiwave.com
URL: www.optiwave.com

Você também pode gostar