Professional Documents
Culture Documents
Phone: 1•914•923•2164
Fax: 1•914•923•2169
info@rsoftdesign.com
www.rsoftdesign.com
Chapter 1: Introduction 3
1.A. Background........................................................................................................................ 3
1.B. References.......................................................................................................................... 3
Index 53
The AWG utility is included with BeamPROP, and provides an automated way to design Array Waveguide Gratings.
Notices
This section has a list of legal and other miscellainous information pertaining to the software.
Limited Warranty
RSoft Design Group, Inc. warrants that under normal use, the physical media (diskette and documentation) will be free
of material defects for a period of thirty days from the date of purchase. Upon written notice, RSoft Design Group, Inc.
will replace any defective media. No other warranty of any sort, either expressed or implied, is provided with this
software. No liability for damage to equipment or data, or any other liability, is assumed by RSoft Design Group, Inc.
Copyright Notice
Copyright © 1997-2008 RSoft Design Group, Inc. All Rights Reserved.
Copyright is claimed for both this manual and the software described in it.
Acknowledgments
IBM is a registered trademark and IBM PC, PS/2, and OS/2 are trademarks of International Business Machines
Corporation. Intel is a trademark of Intel Corporation. Microsoft and MS- DOS are registered trademarks and Windows
is a trademark of Microsoft Corporation. Unix and Motif are registered trademarks and X Windows is a trademark of
The Open Group. Linux is a registered trademark of Linus Torvolds. Xfree86 is a registered trademark of the The
Xfree86 Project. All other product names referred to in this document are trademarks or registered trademarks of their
respective manufacturers.
Conventions
A number of typeface and layout conventions are followed in this manual.
• Actions to be performed in the BeamPROP or CAD interfaces are usually indented in bulleted or numbered
lists.
• The names of fields and controls in the GUI dialogs are written in boldface Courier
• The values of pull-down menus and radio button controls are written in Roman italics.
• Symbol table variables and formulas, and expressions to be typed into the GUI edit fields are written in
Courier.
• In referring to example CAD files, the installation directory for the RSoft Photonics Suite is specified as
<rsoft _dir>, and should be replaced with the correct value for your installation. On Windows
machines this is typically c:\rsoft.
This chapter provides background information and references for the AWG utility.
1.A. Background
This document is the BeamPROP AWG Utility manual. The AWG Utility is intended to allow the users of BeamPROP
to more easily set up the design and simulation of arrayed waveguide grating (AWG) devices which are also known as
PHASAR’s. AWG devices function typically as multiplexers, demultiplexers, and routers for wavelength division
multiplexing (WDM) systems. The purpose of this document is to discuss the operation and underlying principles of the
AWG utility.
The assumption is made that the user is familiar with BeamPROP and the tools contained within. Note that this
document only discusses the AWG Utility. Since this utility uses the beam propagation method to calculate the
transmission characteristics of the devices, general beam propagation techniques and familiarities should be utilized.
Some familiarity of WDM and AWG design is assumed as well.
The outline of this document is as follows. Chapter 2 summarizes the underlying principles of AWG’s. Chapter 3
describes the details of the AWG design employed in the utility. Chapter 4 is a step-by-step tutorial on the operation of
the utility. Finally, several appendices give supplementary information.
Note that the tutorial has been design to be self contained as much as possible, so readers having familiarity with AWG
design and wishing to begin learning the operation of the utility can go directly to the tutorial. However, it is suggested
the user read through this entire document before serious work is attempted, so that the design process from the utility’s
perspective is understood.
Please also note that the old BeamPROP AWG Utility documentation is still included in the c:\beamprop\router
directory for those users more familiar with those documents. However, this document is the combination of the two.
Finally, any questions or issues that arise regarding the use of this utility can always be directed to RSoft.
1.B. References
The following references are meant to give the reader familiarity with AWG design and use. They are not meant to be a
comprehensive list but merely a starting point to understand the design and use of the AWG router and the utility. A
reference on the simulation techniques in BeamPROP is also given.
[1] H. Takahashi, K. Oda, H. Toba, Y. Inoue, “Transmission Characteristics of Arrayed Waveguide N x N Wavelength
Multiplexer,” J. of Lightw. Techn., 13, 447 (1995).
[2] M. Smit, “PHASAR-Based WDM-Devices: Principles, Design and Applications,” IEEE J. of Select. Topics in
Quantum Elec. 2, 236 (1996).
This chapter deals with the fundamental concepts of AWG design. The basic construction and formulation of the
equations that define AWG functionality will be solved for here.
This chapter is not mean to be a comprehensive collection of AWG concepts. It is only intended to be used in the scope
of the BeamPROP AWG Utility and the method it uses to design the router. This chapter will give the user the
methodology of AWG design from the perspective of this utility.
The user can go directly to Chapter 4 for a tutorial on how to use the AWG design if this background information is not
desired.
The essential components are the free propagation regions (FPR), i.e. the two star couplers, and the arrayed waveguides.
The basic concept of the operation of this device is as follows. First, the incoming source propagates into the free
propagation region in the slab waveguide. In this larger waveguide, the beam diverges. Then, the input beam propagates
to the input aperture of the arrayed waveguides, and is collected by, and propagates independently, in each arm of the
array. Each array waveguide is chosen to have a path length greater than the adjacent waveguide by an integer multiple
of the center operating wavelength of the device in the effective medium of the waveguide. Thus, the array has a path
length difference between each successive waveguide equal to
mλ0
ΔL =
na
(1)
where:
m the order of the array
λ0 the center operating wavelength of the device
At the center wavelength, the wave in each arm of the array will arrive with the same relative phase, producing a mirror
image at the second star coupler of the field in the first coupler. Thus, when it propagates into the second slab
waveguide, it becomes convergent and will be focused into the center of the output side of the second star coupler.
However, at other wavelengths, as the field propagates along the arrays, the path length differences will cause the phase
front to tilt. As a result, these wavelengths will be focused at an angle to path of the center wavelength. At the output of
the second free propagation region, receiver waveguides are placed so that these focused fields can be properly confined
and guided out.
These free propagation areas are designed in the context of star-couplers. The star couplers in the AWG are based on a
Rowland circle geometry and are further discussed in the next section The geometry of these star couplers is shown in
Fig. 2 below.
It can be seen that the central phase matching equation as a result of this system is shown in equation (2) as given in [3].
n s d sin (θ i ) + na ΔL + n s d sin (θ o ) = mλ
(2)
∂θ o ∂n a mλ0
m = ns d +
∂λ ∂λ n a
(6)
∂θ o m ⎛ λ0 ∂n a ⎞
= ⎜1 − ⎟
∂λ dn s ⎜⎝ na ∂λ ⎟⎠
(7)
∂θ o mn g
=
∂λ dn s na
(8)
where
∂n a
n g = n a − λ0
∂λ
(9)
and since
−c
∂f = ∂λ
λ2
∂θ o mλ2 n g
=−
∂f cdn s na
(11)
Thus, Eq.’s (8) and (11) give us the dispersion relations in terms of wavelength and frequency.
Next, we solve for the channel spacing in terms of wavelength and frequency.
Δx ∂λ Δxdn s n a
Δλ = =
L f ∂θ 0 L f mn g
λ = λ0
(12)
Δx ∂f Δxdcns na
Δf = =
L f ∂θ 0 L f mn g λ2
λ = λ0
(13)
We now calculate the free spectral range (FSR). The FSR is the determining factor in the allowed number of channels.
As shown in [2], the free spectral range can be solved by using Eq. (2) for the order m+1 channel. Thus, for:
FSR = N Δf [Hz]
(14)
where N is the number of channels, we have:
∂nc c ∂n
Δnc = FSR = − 2 c FSR
∂f f ∂λ
(16a)
∂n s c ∂n
Δn s = FSR = − 2 s FSR
∂f f ∂λ
(16b)
2
Finally, solving for Eq. (15) using Eq.’s (16a), (16b), (2), the assumption that f(f+FSR) = f , and
∂n s
n g ≈ ns − λ for ΔL >> d (sin θ i + sin θ o )
∂λ
(17)
we get the relation
FSR =
c
[HZ ]
n g (ΔL + d sin θ i + d sin θ o )
FSR =
c
[HZ ]
n g ΔL
(19)
Using (10) and solving for the FSR in terms of wavelength,
λ na
FSR = [m]
m ng
(20)
Figure 3: Rowland Circle Geometry of the Star- The body of the star coupler is formed between ARC Line BC, ARC CD, and line
Zlensis between the center of the outer Rowland Circle and the center (reference point) of the part of the coupler body. Lsep is
between the centers of the inner and outer circles.
Figure 2 of the previous section shows the design of one of the star couplers. The tapered waveguides of this structure
which connect to the arrayed waveguides allow low loss coupling to take place.
This chapter discusses the BeamPROP AWG Design Utility. The utility is broken up into two parts: The WDM Router
Layout Utility and the WDM Router Simulation Utility. The Router Layout Utility designs the input and output star
couplers for the simulation. It also designs two comprehensive layouts for mask exporting purposes only. The Router
Simulation Utility actually sets up the simulation of the AWG including the two star couplers by creating a series of
script files to run the simulations. First, the input star coupler is simulated by BPM. Next, a program called PHASECOR
simulates the phase differences that each array arm induces. Finally, the output star coupler is simulated by BPM with
the inputs from each of the arrays. A data file and a plot file are then created to show the wavelength response of the
AWG.
This chapter will go through all of the steps and functions of each of these parts of the BeamPROP AWG design process.
Other issues such as making your own changes to the files, 3D simulations, and additional modifications will also be
discussed.
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 13
SCRIPGEN.C source code for SCRIPGEN
These documents and executables are the ones that are used to create and simulate an AWG device using BeamPROP.
14 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Figure 5: WDM Router Layout Window
# Input Ports
This box defines the total number of input ports into the device.
# Output Ports
This box defines the total number of output waveguides coming out of the device.
# Wavelength Channels
This box sets the number of channels the user wants to base the design of the AWG on.
# Arrayed Waveguides
This is the number of arrays that the device will have.
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 15
Allow 3D Simulation
The basic AWG simulation is done in 2D, however some users may want to utilize BeamPROP’s 3D capabilities when
simulating the router. The Allow 3D Simulation makes it easier to set up this 3D simulation. This will be further talked
about in Chapter 3.F.6.
<meta- prefix>full.ind full layout with "round" array turn; see Section 3.C.4
<meta- prefix>flat.ind full layout with "flat" array turn; see Section 3.C.4
These files can then be opened from within the CAD via the File/Open... menu item or corresponding icon. Parameters
such as waveguide width, refractive indices, etc. should be changed in these files to match the parameters for your
waveguide process. The input star coupler should be simulated as usual, and simulation parameters set as appropriate.
These parameters should be set to be the same in both the input and output star coupler before performing the simulation.
For self-consistency purposes and for most basic AWG design, most design parameters in the input and output star
couplers should be identical. In other words, by default, the two star couplers should be symmetric (except for the
number of input and output ports). As it is now, the AWG Utility allows a certain degree of asymmetry as long as the
output end of the input star coupler has the same waveguide geometry including ending width, position, and absolute
angle as that of the input end of the output star coupler.
In principle, arbitrary AWG asymmetric design can be simulated by BeamPROP while it may be not be simulated
directly by the current version of the AWG Utility. For this situation, please consult RSoft directly for your design
needs.
16 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Figure 6: Input and Output Star Coupler Design Created by STARGEN – Wim and Wom are perpendicular to z. The waveguides
extend into the coupler body to insure overlap (so no gaps are in mask). An (inactive) refernce waveguide begins at (0,0) and has a
length equal to the variable Lsep. It is Segment #2 be default.
In order to create these designs, we will need to put many of these parameters into the symbol table of the design files.
Here are some of the symbols in terms of previous variables as found in Chapter 2 for reference:
Lambda λ
Ro Lf
Nslab ns
GratingOrder m
Do d
Di/Ro Ao (Δθ)
Dlambda Δλ
Lambda0 λ0
chan N
Di Δx
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 17
In order to design the star couplers, the parameters are set based on equation (8).
∂θ o mn g
=
∂λ dns na
(8)
However, currently the utility assumes that ng = na so that:
∂θ o m
=
∂λ dn s
(21)
Using the fact that:
Δx
θ=
Lf
(3),(4)
The radius of the outer Rowland Circle can then be solved for.
Ro = (Nslab/GratingOrder) * ((Di*Do)/Dlambda)
(22)
Next, since the group index is set so that ng = na, according to Eq. (20):
FSR = Lambda / m
(23)
Since the FSR in terms of wavelength from eq. (14) is also equal to:
FSR = N * DLamda [m]
(24)
The grating order can now be solved in terms of the other design parameters Eq. (23) and (24):
GratingOrder = Lambda0/(Nchan*DLamda)
(25)
Thus, the central design parameters have been solved for. All of these parameters can be found in the symbol table of
the design created by the layout utility. These parameters can be changed to alter the design of your structures and
simulations.
A complete list of the symbols found in the *.ind files can be found in Appendix B.
In order to change the design of either the input and output star coupler, first open the desired file. Then make the
desired changes and then save the file. Remember that changes made in the input star file will not be automatically made
in the output star design file. If you wish to keep the coupler symmetric with each other, you must change both the input
and output star couplers and save them. Using the Import Symbols feature (under the Options menu in the CAD), you
can import the symbols from one star coupler to another. Thus, the user can make changes to one star coupler, and then
easily implement all the changes in the other.
Finally, BeamPROP currently requires that the field that is outputted from the input star coupler is able to be inputted
into the output star coupler. Thus, you must make sure that the arms for the respective waveguides that lead to the arrays
line up with each other.
18 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
3.C.3. Freely and Non-Freely Changeable Parameters
The CAD files generated in the above process contain many variables to define the geometry. Some of these variables
are freely selectable, while others are determined via formulas to ensure self-consistency of the design. Here we
document the key design variables that are freely selectable. We also document several variables that are not freely
selectable for reference. Finally, some variables fall in a gray area. Theoretically they are given by a formula, however
they can be tweaked to alter the design without destroying the self-consistency of the CAD layout. Unless explicitly
noted, variables in the CAD layout should not be changed.
First, the normal waveguide parameters (index and dimensions) should of course be considered design variables and are
freely selectable.
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 19
definition of Nguide and Nslab, which, in turn, and along with the desired filter characteristics, determine key
geometric parameters of the star coupler design such as Ro (see below).
20 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Lg length along z of arrayed waveguide structure
Lextra additional length added to Lg
Lin/Lout straight length of input/output waveguides
Sin/Sout lateral separation if input/output waveguides
In the current version, for some parameters the CAD layout can sometimes have a discontinuity between the star
couplers and the arrayed waveguides. In this case, it is helpful to add some length to the design (e.g. a few 1000 um).
For example, you can do this by changing the variable Lextra (default = 0 um) or you could also do this by increasing
Rz.
These layouts are shown schematically, in Fig. 7. Note that Li, Sin, Rin, Lin have corresponding output parameters Lo,
Sout, Rout, Lout that may be specified independently.
Figures 8 & 9 below are of the input star coupler and the bottom half of the array; only the first and the ith WG’s in the
array are shown for clarity. Also, the variable definitions are spread between the figures. The key function of the WG
array is to progressively increase the path length of each WG by dL from the previous WG. The first WG has a radius of
Rz (=zR1) and an initial angle of A0 (=zAa1). Each subsequent WG (M of them), has a radius zRi and an initial angle
zAai, where i denotes the ith WG in the array. The path length difference between WG(i) and WG(1) is,
zLi + (zAai*zRi) - (A0*Rz) = (i-1)*dL/2
(1)
where the 2 is because we are dealing with just the bottom half of the array. This is enforced in the layout by noting that
the distance from Z=0 to the half-way point of the array must be the same for all the WG’s in the array. This is reflected
in the following equation,
zRi*sin(zAai) + (Rend + zLi)*cos(zAai) = Rz*sin(A0) + Rend*cos(A0)
(2)
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 21
where Rend = Ro + Lo. Since Rz is a design variable and A0 is based on the design variables Do and M, and also on Ro,
which is calculated from design variables, the right-hand side of Eq. (2) is known. From Eq.’s (1) and (2), expressions
can be generated for zLi and zRi.
Some algebraic manipulation is needed to get the final forms of these expressions that are used in the router layouts
generated. The following intermediate variables are used to facilitate these manipulations.
C = dL/(2*Ao)
where Ao (NOT A0) is the angle, in radians, subtended by the waveguide separation, Do. Also, note that
(i-1)*dL/2 = C*(zAai – A0)
(3)
where the angles are in radians. The parameter, P, is used to convert between degrees and radians. Equations (1)-(3),
plus the intermediate parameters, B, CC, and Lg, should be sufficient to reproduce the expressions generated by
BeamPROP. The parameter, Lextra, added separation between the couplers, is incorporated via Lg. Lextra has been
taken as 0 in Equations (1)-(3) but can be easily added back in by adding Lextra/cos(zAai) to the path length of
WG(i). The #’s in Fig. 9, indicate segment # (associated with the first WG in the array) in the layout.
22 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Figure 8: Array Design for Full Layout
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 23
Figure 9: Array Design for Full Layout
24 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
5. The output star coupler is simulated.
6. The last line of the monitor file is extracted by TAILMON.
7. This piece of data is appended onto a data file.
WinPLOT is called at the end of a wavelength scan and the data file is plotted and displayed.
This window is for the user to select which AWG system is to be simulated. The user should select the CAD file for the
input star coupler generated using the WDM Layout Utility (i.e. <prefix>in.ind).
Once this file is selected and the OK button is pressed, the window in Fig. 11 comes up.
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 25
Figure 11: The WDM Router Script File Generator Window
This window gathers the information that is used to generate the simulation scripts required to run the design file
simulations at the set parameters.
The previously chosen layout parameters will be visible, but grayed out; they are provided here for reference only. The
other options are as follows:
Phase Error
This field allows the user to include the effect of random phase errors as would be generated by imperfections in the
fabrication process. Each waveguides phase is changed by a random number uniformly distributed from 0 to the phase
error entered in this field.
26 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
# Points per Channel
Starting ChannelEnding Channel
These parameters control the sweep over wavelength. They are essentially, the starting wavelength, ending wavelength,
and number of wavelength points.
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 27
The rest of the lines except for the last one call the associated <prefix2>out<number>.scr file. Then, it takes a
number, in each case the wavelength, and passes it to the <prefix2>out<number>.scr script.
The last line calls that plotting script that will be used to create the WinPLOT chart.
28 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
3.D.5. The Plot Script Files
The last line in the scan script files reads:
WinPLOT /v @testscan2.pcs &
This calls the plotting program, WinPLOT.exe. and then executes it according to the parameters as defined by the
<prefix>scan<number>.pcs file. An example of one of these files is shown below. Please refer to the WinPLOT
manual for more information as to what this file means.
/tt"$IBeamPROP$N Simulation of AWG WDM Router (Input Port \#2)"
/xl"Wavelength (nm)"
/yl"Transmission (dB)"
/l/lh"Output Port:"
/lts0.6
/ls1
/lcm9,10,12,11,13,1,2,4
/logy
/sy10
/sx1000
/w,,,0
testscan2.dat
/lt"\#1"
/lt"\#2"
/lt"\#3"
/lt"\#4"
/lt"\#5"
/lt"\#6"
/lt"\#7"
/lt”\#8”
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 29
Figure 12: Script File Menu in BeamPROP
Next, the user should either enter the file name and press OK or press the Files… button. In either case, the user should
select the scan script file for the desired input port.
Figure 13: Selecting the Script File to Run from Within BeamPROP
Next, the user must press the OK button to run the script and thus the simulation of the AWG router.
30 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
bsimw32 @testout2.scr 1.5436
bsimw32 @testout2.scr 1.5438
This will tell the program to run the executable bsimw32 and the following characteristics. It will then run the other
scripts as usual.
The first three lines refer to the script, subscan1.scr. For example, the first line calls subscan1.scr and two
variables: 10 and scan_10.dat. These variable will be talked about and dealt with when we talk about the next script.
All we have to know now, is that they are passed on as variables. The final line in this takes the resulting files,
scan_10.dat, scan_20.dat, and scan_40.dat, and calls the program WinPLOT. Thus, WinPLOT will use these
data files and make the appropriate plots.
Next, these are the contents subscan1.scr:
* testin prefix=port1 launch_pathway=1 Di=$1
del $2
@subout1.scr 1.5484 $1 $2
@subout1.scr 1.5486 $1 $2
@subout1.scr 1.5488 $1 $2
@subout1.scr 1.549 $1 $2
@subout1.scr 1.5492 $1 $2
@subout1.scr 1.5494 $1 $2
@subout1.scr 1.5496 $1 $2
@subout1.scr 1.5498 $1 $2
@subout1.scr 1.55 $1 $2
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 31
Figure 15: Contents of Subscan1.scr
This is the script that is called by master.scr. Let us first talk about the first line. The * means that the program that
is running it will take in the file. Remember that these script files are called within the CAD. Hence, as part of the
scripting language, this * refers to the BeamPROP simulation executable. Next, the prefix refers to what the name of
the file is going to be saved as after the first start coupler. Thus, port1.mls is going to be a data file created as a result.
The launch_pathway is input waveguide that is being simulated as a result of this. Finally, the variable Di, the
separation width, is being set to $1. Di has already been predefined in the drawings. The $1 is the first variable that is
sent in by the script that calls Subscan1.scr. So, for example, if the line “@subscan1.scr 10 scan_10.dat“ is
called, $1 is equal to 10 and $2 is scan_10.dat. Finally, the next line deletes the previous file because otherwise, any
old versions of the data files would be appended to and not overwritten. So, in this part, the separation width, Di, is set.
In the next part, subout1.scr is called and three variables are passed on. In the case of “@subscan1.scr 10
scan_10.dat”, you would find in subout1.scr that $1=1.5484 (or other wavelengths), $2 =10, and
$3=scan_10.dat. So, here is where all the wavelengths are set. If the user wants to add more wavelengths to be
scanned over, or remove some as well, here is where the wavelengths are defined.
Now, let us take a look at the next script:
phasecor -l$1 -c1.55 -o121 -n1.451293777 -s0 <port1.mls >input.mls
fieldgen <input.mls >input.fld
* testout prefix=temp slice_display_mode=0 lambda=$1 scan_variable=lambda Di=$2
tailmon -v$1 <temp.mon >>$3
Figure 16: Contents of Subout1.scr
The first line in subout1.scr calls the program PHASECOR. The operation of this program is talked about earlier in this
document. Here, it takes port1.mls, which was generated earlier in this script, and outputs input.mls. Next, the
next line calls FIELDGEN, which is also talked about earlier in this document, and outputs input.fld. Just as a note, if
you wish to scan over the phase error, you would change the appropriate variables in the earlier scripts, and put the
variable with the phase in the –s switch after PHASECOR.
Anyway, the next file, calls the BeamPROP simulator again and simulates the output star coupler. Note that the last line
saves the file to $3, which in our case is the file name.
As a general overlook to this whole process, you can think of the scripts acting like nested loops in a software program:
Master: (Di=10, filename=scan_10.dat)
Subscan1: (Wavelength1, Di1, filename1)
Subout1: (output for wavelength1, Di1, filename1)
Subscan2: (Wavelength2,Di1, filename1)
Subout1: (output for Wavelength2,Di1, filename1)
:
:
:
Master: (Di=20, filename=scan_20.dat)
Subscan1: (Wavelength1, Di2, filename2)
Subout1: (output for wavelength1, Di2, filename2)
Subscan2: (Wavelength2,Di2, filename2)
Subout1: (output for Wavelength2,Di2, filename2)
:
:
:
Master: (Di=40, filename=scan_40.dat)
32 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Subscan1: (Wavelength1, Di3, filename3)
Subout1: (output for wavelength1, Di3, filename3)
Subscan2: (Wavelength2,Di3, filename3)
Subout1: (output for Wavelength2,Di3, filename3)
:
:
:
WinPLOT (filename1, filename2, filename3)
Figure 17: Conceptual View of Scanning over Multiple Variables
After generating these scripts, you can run master.scr from within the CAD, or simply from the simulation command
in the DOS prompt.
It is suggested that the user first generate the set of scripts that are created when the AWG Utility is normally run from
the BeamPROP menu and take a look at those to gain familiarity with the process.
BeamPROP AWG Utility v2.1 Chapter 3: The BeamPROP AWG Design Utility • 33
3.F.6. Performing 3D Simulations
With BeamPROP 4.0, RSoft has extended the WDM router design package to function in 3D. By enabling 3D when
generating the CAD files, 3D simulation of the AWG is now possible. Before performing the simulation, however, the
user must calculate the mode corresponding to the desired 3D geometry, and store the results of that mode calculation
with the prefix 'mode'. The file mode.m00 is required by the CAD files that are generated. In addition, the variable
Nguide in the CAD files should be adjusted to the actual effective index resulting from the mode calculation (the
formula in the CAD files is only an approximation using the effective index method).
The default 3D index files create three new symbols. These symbols are Nguide, Nside, and Nslab. The formulas for
each of each are as follows:
Nside slabneff(Design_pol,0,Lambda0,N0,NC,N0+Design_delta,Design_slab_height)
Nslab slabneff(Design_pol,0,Lambda0,N0,NC,N0+Design_delta,Design_height)
Nguide slabneff(Design_pol,0,Lambda0,Nside,Nside,Nslab,Design_width)
Each uses the slabneff function which can be found in the appendices of the BeamPROP manual. The value of
Nguide is extracted when creating the script files and is used for the effective index of the arrayed waveguides when
PHASECOR is called. This should be very accurate for channel type waveguides. For other waveguides, it is suggested
that after creating the design files, the user inserts their own information into these three symbols based on modal
calculations that can be done with BeamPROP. Then the script files can be generated. In addition, for a 3D AWG
simulation, the wavelength dependence of the effective index is considered through a 2D approximation.
34 • Chapter 3: The BeamPROP AWG Design Utility BeamPROP AWG Utility v2.1
Chapter 4: BeamPROP AWG
Tutorial
This tutorial describes a step by step procedure on how to use the AWG Router Utility provided with BeamPROP. This
utility is composed of two parts, one for laying out the router and the other for simulating it. Since AWG routers tend to
be large structures, the simulation process of these devices has been partitioned into three stages. The first stage is a
BPM simulation of the input star coupler at the center wavelength. The second, is a simulation of the effect of the WG
array via an external command line routine. The final stage is a BPM simulation of the output star. The simulation
portion of the utility generates a script that automates the execution of these stages over a range of wavelengths. Use of
the utility entails running WDM Router Layout… and then WDM Router Simulation…, both from the Utility Pull-down
Menu, and finally, launching the simulation script from the Run Pull-down Menu.
You must enter a prefix for the script files. It may be the same or different from the layout prefix. We entered “test”
into our prefix box.
After selecting the above options, click OK. The following files will be generated:
After clicking OK in the above dialog, the series of simulations begins. When complete, the result is the following
spectrum:
This Appendix outlines the executables and associated options of the AWG Utility.
A.1. STARGEN
While the menu option to create the layouts is very useful, it in fact utilizes an executable that some users may wish to
use. The program STARGEN is included with the BeamPROP software and is used to generate the CAD files used in the
simulations. Also included in the directory is stargen.c which is the source code for STARGEN.
The STARGEN utility is used to generate a CAD file for the input and output star couplers, as well as the two full router
layouts. This executable can be used from a MS-DOS prompt or the run line in MS Windows.
The format to use the executable is:
stargen <options> indfile
The options for STARGEN are as follows:
-m number of array arms
-n number of input/output arms
-no number of output arms for full layout
-nc number of channels
-c center wavelength
-d channel spacing (um)
-wi input waveguide taper type
-wo output waveguide taper type
-o create output star coupler
-f# creates entire router layout (0=full, 1=flat)
-3 creates files for 3D simulation
For example, to generate an input star coupler with 8 input waveguides and 80 output waveguides, type the following at
a command prompt:
stargen -n8 -m80 starin.ind
Similarly, to generate the output coupler use the following command:
stargen -n8 -m80 -o starout.ind
A.2. TAILMON
This is the executable used to extract the final line from a monitor file.
The format to use TAILMON is:
tailmon <options> <input-file >output-file
The options for TAILMON are as follows:
-v# replace the value in the first column with #
A.3. PHASECOR
This is the executable used to update a mode list file accounting for the induced phase changes by the array.
Since the simulation of the first star coupler in BeamPROP ends at a constant Z position, the phase in the mode list file is
not calculated at the same distance from the coupler for each waveguide in the array. To correct this, the PHASECOR
utility automatically adjusts the phase so that it equals the phase at the start of each waveguide of the array. For a
particular output array waveguide with x coordinate X1 and angle A, an extra length correction, in addition to the phase
change from the constant path length difference DL, is used: deltaL=X1*(1-cos(A))/sin(A).
A.4. FIELDGEN.exe
This is the executable used to create an input field from a mode list.
The format to use FIELDGEN is:
fieldgen <modelistfile> fieldfile
A.5. SCRIPGEN
This is the executable used to create the script files for a wavelength scan.
This Appendix outlines the Symbols which can be found in the AWG Design Files created by the AWG Utility.
BeamPROP AWG Utility v2.1 Appendix B: Symbols Found in the Design Files • 47
Do 18.5 waveguide separation at output circle
Dz 0 displacement of foci from standard Rowland construction
Grating Order Lambda0/Nchan*DLambda) grating order – determined by equation and is not user selectable
Lambda0 1.55 center wavelength
Lextra 0 Extra length used in Lg and can be adjusted when necessary to
generate a working layout
Lg Lextra+Rend*cos(A0)+Rz*sin(A0) internal parameter (half length of WG array)
Li 2*Lit length of input waveguide(incl. taper)
Lim (Wit/2)*tan(zAi8)+1 internal (geometric parameter)
Lin 100 length of input section on full layout
Lit 500 length of input taper
Lo 2*Lot length of output waveguide(incl. taper)
Lom (Wot/2)*tan(zAo80)+1 internal (geometric parameter)
Lot 500 length of output taper
Lsep Ri+Dz sep bet. centers of Rowland circles
Lstar (Ri+Ro)-(Sagi+Sago)-Lsep length of straight part of coupler body
M 80 # of waveguides in array
Marray Wspan/Do # of waveguides in array
N 1 The number of input ports
N0 Design_background_index design parameter
Nchan 8 Number of wavelength channels
Nguide slabneff(Design_pol,0,Lambda0,N0 Effective index of the waveguide
,N0,N0+Design_delta,Design_widt
h)
Nout 8 The number of output ports
Nslab Design_background_index + index of the free space region
Design_delta
(coupler body)
P Pi/180 internal (convert degrees to radians)
Rbeg Ri+ Li internal (geometric parameter)
Rend Ro+Lo internal (geometric parameter)
Ri Ro/2 radius of inner rowland circle
Rin 5000 radius of input waveguide bends
Ro (Nslab/GratingOrder)*((Di*Do)/DL radius of outer rowland circle(length of star region) (Dz=0)
ambda)
Rz 5000 radius of first arrayed waveguide bend
(radius of all arrayed WG bends in …flat.ind)
Sagi Ri-Sqrt(Ri2-(Wstar/2)2) internal (geometric parameter)
2 2
Sago Ro-Sqrt(Ro -(Wstar/2) ) internal (geometric parameter)
48 • Appendix B: Symbols Found in the Design Files BeamPROP AWG Utility v2.1
W Width (untapered) waveguide width
Wim W+(Wit-W)*(Lit+Lim)/Lit internal (geometric parameter)
Wit 2*W waveguide width at input circle
Wom W+(Wot-W)*(Lot+Lim)/Lot internal (geometric parameter)
Wot Do waveguide width at the output circle of star coupler
Wspan 3*(Ro/Wit)*(Lambda0/Nslab) internal (geometric parameter)
Wstar (M+4)*Do width of star region
Zlens Lsep+(Sagi-Ri)+Lstar/2 reference point for star coupler
zAa1 (1-Asa)*Ao angle of innermost WG in array
zAi1 180-(1-Asi)*Ai angle of 1st input waveguide (at coupler)
zAi8 180-(8-Asi)*Ai angle of 8th input waveguide (at coupler)
zAo1 (1-Aso)*Ao angle of 1st arrayed waveguide (at coupler)
zAo80 (80-Aso)*Ao angle of 80th arrayed waveguide (at coupler)
zL1 (C-zR1)*P*zAa1+B Extra length needed to reach arc section in array
zR1 (Lg/cos(zAa1)- radius of first innermost WG bend in array
(Rend+C*P*zAa1+B))/(tan(zAa1)-
P*zAa1)
BeamPROP AWG Utility v2.1 Appendix B: Symbols Found in the Design Files • 49
Appendix C: AWG File Formats
This Appendix outlines both the AWG Design Info file format and the mode list file format.
Index S
Script File Meta Prefix 27
Simulate Both Stars 26, 27, 33
Starting ChannelEnding Channel 27
U
Use Seg-Axis Feature 16
User 1 33
User 2 33
#
# Arrayed Waveguides 15
# Input Ports 15
# of Output Ports 36
# of Wavelength Channels 36
# Output Ports 15
# Points per Channel 27
# Wavelength Channels 15
A
Allow 3D Simulation 16
Allow User Tapers 15
B
boldface Courier 2
C
Center Wavelength (um) 15
Channel Spacing (um) 15
D
Design Info File 26
F
Files… 30, 40
L
Layout File Meta Prefix 16
O
OK 16, 25, 27, 30, 36, 39, 40
Open 39