Wguide17M Slab Waveguide/Reflectance Solver
July 06, 2017
Wguide17M is a Java console application for solving the complex N-layer optical slab-waveguide
problem with arbitrary N-layer real facet coatings. This application does not solve for 3D waveguide
configurations such as ridge or buried heterostructure waveguides which are typically computed using
fully numerical methods. However, Wguide17M does provide a fairly
thorough and reliable limiting benchmark capability by which to help validate 3D structure results through
the inspection of limiting-behaviour slab waveguide results. Although Wguide17M has units optimized for optical
waveguides in the visible and infrared regions of the spectrum, this application can be used for slab waveguide
calculation at any frequency/wavelength, provided of course that appropriate waveguide and coating refractive
indices are used.
Wguide17M numerically searches for a TE and/or a TM guided waveguide mode
over a specified complex mode-index search range and with a specified precision. The mode found may be any of the
supported guided modes of the waveguide. Arbitrary complex refractive indices for the layers,
substrate and superstrate are supported. Negative imaginary parts of layer indices correspond
to loss. All data is read from a command-line specified text input data file and optionally output
files can be written which contain the results along with intensity and transverse field profiles.
The console output displays all the waveguide, coating and computation-configuration data and the results.
Wguide17M provides options that assist with establishing proper mode-index search ranges for multimoded waveguides
and for more complex multi-layer waveguide configurations.
Wguide17M also calculates the multilayer waveguide Fourier Transform (FT) and modal reflectance
for TE and TM modes for waveguides with multi-layer lossless facet coatings using the Kendall 1993
Free Space Radiation Modes (FSRM) approach and two methods based on Vassallo's fictitious
layer equivalent index/Fresnel method. The FSRM method is the most accurate and has been shown to be very accurate
for waveguide layer index variation of up to about 10% although results for larger index variation are
useful. The facet-coating index step and variation is however arbitrary. The mode-solutions, waveguide fields, FTs, modal reflectances and
far-field patterns computed with Wguide17M are all valid for the complex N-layer slab waveguide.
The N-layer waveguide mode solver functionality can be used independently of the mode-facet reflection solver.
The waveguide mode complex FT can optionally be output to a file for plotting with applications such as Excel.
Models Accuracy and Computation Precision:
The mode-solver calculation solves for the complex waveguide mode index nmode.
It is based on numerical iteration using rigorous field matching of exact piecewise Ey and
Hy field profiles in the complex waveguide layers, and assuming a mode is found, nmode is accurate
to over 10 significant figures. The Fourier transforms for the multilayer TE and TM modes are computed
to the same precision as nmode using piecewise analytical integration through the waveguide layers. Similarly, the
fictitious-layer equivalent index, neq (Vassallo 1988) is calculated exactly (within the precision of nmode).
The computationally intensive mode and total reflectance integrals are
computed numerically with adjustable range and increment Fourier S parameters from the input data file.
However, the intrinsic accuracy of the FSRM and the Vassallo fictitious
layer Fresnel MODELS are both much less. Based on comparison with some of Vassallo's exact
integral-equation numerical solutions for some benchmark scenarios, for waveguide-layer index
steps < ~ 10%, reflectance results obtained with FSRM are typically within ~ 1% of the true values except
for cases with extremely low-reflectance coatings of less than 1e-5 (the default data file demonstrates this).
All the approximate reflectance models contain a difference term in the integration numerator
which will limit the computation accuracy, particularly for very low reflectance cases. As a rough guide, the digits of precision
of the computed modal reflectance value will worst case be the order of the square of the FT parameter increment (deltaS/beta).
For example, with the default FT increment value of deltaS/beta = 0.001, the absolute worst case computation precision of Rmode will be in the 1e-6 range (typically
the accuracy is one or two figures better or 1e-7 to 1e-8 in this case). In cases of R < 1e-6, the deltaS/beta variable can be reduced to check
convergence of R (with consequent slower execution time). One of the command-line invocations conveniently allows quickly
changing the FT integration increment without editing the data input file.
However, in extremely low R cases, true minimum reflectance values are extremely sensitive to exact waveguide and coating indices
and thicknesses which from a practical control perspective may not be realistically achievable (Details).
Therefore in these cases, high computational precision is often not required, but rather simply establishing that the R value
is lower than a required threshold (e.g. 1e-5 for typical travelling wave laser amplifier waveguides).
All the Wguide17M parameter variation calculations use the FSRM method for reflectance calculation.
With the default FT range parameters of Wguide17M, the FSRM calculation produces
sufficiently converged results for reflectance to well within the intrinsic model-accuracy of the FSRM model.
The Vassallo fictitious-layer method using the "optimum" neq value produces results that are usually slightly
less accurate than the FSRM results, based on a few sample comparisons. The displayed results for reflectance
are shown to many more figures to facilitate possible comparison of more rigorous calculations/benchmarks and to
confirm proper convergence as discussed above. To this end, the FT integration range parameters can be changed (data input file or
This also can provide faster computation for compute-intensive
parameter variation studies with some loss in accuracy of the results (within limitations of the FSRM model).
Wguide17M first reads the data input file specified on the command line.
Two examples are:
Multi-layer Coated Data File, Uncoated Lossy Waveguide Data File.
Wguide17M parses the input file and based on parameters read from the file:
(1) Performs a 2 dimensional (real and imaginary parts of mode index) meshed iterative search for a single TE and/or TM slab mode. If more than
one mode exists in the specified search range, any one of these supported modes might be found. Wguide17M uses
the classic Rouard iterative approach for the optical "reflectivity" of a 3 region (single layer)
sequence, working from the lowest waveguide layer (substrate) up to the topmost interface.
The "topmost" region is the first region specified in the data input file.
The application searches for an absolute minimum of rinverse=1/"reflectance", over the specified
search range. Maximum values of "reflectance" correspond to the guided wave condition
(finite "outbound" wave for zero "inbound" wave). For waveguides that support multiple
guided waves, the mode found will depend on the search range parameters. Wguide17M
has an invocation which displays rinverse for a range of variation of n.re. This can be used
to quickly inspect the search range for the number of guided modes, and hence to narrow the
mode-search range parameters for a specific mode in cases of multiple supported modes.
(2) The data input file specifies if TE, TM or both mode polarizations are searched for.
If the command line specifies output files, they are created (overwriting existing
files with duplicate names) depending on the mode selection setting in the data file.
If no apparent mode is found (based on convergence to a very low rinverse value),
no output file is created and a complex nmode value of (0,0) is shown. In this case,
the mode-search range and resolution and the convergence parameter can be changed
(in the data input file).
(3) Status of the mode(s) found for the selected search range is displayed and optionally written
to output data file(s). The Poynting vector profile Sz(x) and Ey(x) for TE and Hy(x)
for TM modes are written out next as tab delimited data. This data can be read directly
as plotable data files by programs like Excel. If the multiplot parameter value is greater
than 1, multiple E(y) or H(y) profiles are output to the file, each plot being an equal
time increment over a full optical cycle and each time value represented by a single
column of data. The first column of data is the x coordinate value in microns. The second
column of data is the Sz(x) profile. Remaining columns are the field profiles. Visual
inspection of simple plots from this data will reveal the mode order, for multimoded guides.
(4) If the leakymode switch is enabled in the data input file, leaky modes are sought with
INBOUND evanescent decay from the two outer layers. For most "normal" waveguide
guided mode situations, the leakymode switch should be set to 0.
(5) The data input file must specify ALL parameters described in the sample input data file.
The data must include numeric values for:
Regions (N min=3)
Mode type (0, 1 or 2)
Wavelength (in um)
Complex refractive index data for N regions: (real and imag parts; neg imag parts for lossy media)
Layer thicknesses (N-2 values in um)
Mode index search range for real part (realmin realmax)
Mode index search range for imag part (imagmin imagmax)
Mode search iterations
Mesh points in search (Npointsreal Npointsimag)
Display range for fields (xmin xmax dx) in um
Leaky mode parameter ( 0 or 1)
Multiplot number (1 or greater)
Calculate Rmode parameter (0 (none), 1 (TE), 2(TM), 3 (both))
Facet coating regions (M=1 or greater; 1 means no coating)
Facet region refractive indices (M values)
Facet region thickesses (M values in um)
Save FT file parameter (0 or 1)
Range and increment of FT variable S (um-1)
Mode-solver convergence parameter
Numeric data items must be separated by white space (spaces or tabs). Data input files
with insufficient or over specified data terminate the program before execution of the search.
No extra data is permitted, but extra textual information may be added if commented out
with C-style comment lines. The format required for the data input parameters is described
in the "defaultdata.txt" file. If no data file is specified in the command line, a default structure
with 3 lossless waveguide layers and 3 coating layers is loaded internally and executed demonstrating
the mode index and modal reflectance computation for both TE and TM modes.
This default structure is identical to that contained in the distribution file "defaultdata.txt".
(6) The iterative search for a probable mode continues for the number of iterations specified.
The result is then determined to be a probable mode IF rinverse at the absolute minimum is
sufficiently small < 1e-20 by default. If a probable mode isn't found in the searched range, the mode index
value shown is set to (0,0). Changing the mode index search range (both real and imag parts)
and search mesh size usually is recommended in this case. In addition, the mode-solver convergence
parameter can be increased after inspecting the rinverse value reported in a failed mode search.
In some unusual cases, an apparent mode solution with very low rinverse value
may NOT be a true mode solution. This can usually be determined by examining the field profiles.
In all cases with lossless or lossy waveguide layers, with the field sign-convention used here,
the complex part of the guided mode index, n_mode_im must be negative. In rare cases, n_mode_im
may be > 0 which may indicate an incorrect solution and is flagged in the output following the mode iteration.
(7) For lossless waveguide configurations, set imagmin=imagmax=0 and meshpointsim = 1 for faster searching
This results in a mode search using only the real part of the mode index. In many cases
with waveguide layer loss, the imaginary part of the layer refractive index is quite low and the mode
reflection value with lossy layers will be similar to that calculated assuming lossless layers. This can be useful
for narrowing search range parameters in cases where a mode search for a lossy waveguide fails, but the corresponding lossless case is successful.
(8) Wguide17M has many command options to calculate mode index alone or including facet modal reflectance for a specified range
of a varied parameter for any of (1) wavelength, (2) refractive index of any waveguide layer or coating layer,
(3) thickness of any waveguide layer or coating layer. Some of the variations require recalculation of the mode indices
for each value of the varied parameter and naturally are slower. These variation calculations all use the Kendall FSRM method for
mode reflectance computation.
Results are displayed for both TE and TM and the minimum reflectance values in the displayed range are shown.
The command-line output is displayed as a formatted list of reflectance for both TE and TM versus the
varied parameter and can easily be exported for plotting with external applications. Parameter variations do not
provide field/power or Fourier transform file-output capability (only available for the single configuration invocations).
Another command provides for automatic calculation of a "perfect" single-layer antireflection coating for both
TE and TM modes using a search range within +/- 10% of the index/thickness values for the corresponding simple plane wave values using the
Vassallo neq equivalent index for the plane wave incident medium. A more advanced 2D search option provides for complete control of
all parameters in cases where the simple single-layer AR coating search fails to find a suitably low (<1e-10) mode reflectance value.
(9) The simplest use of Wguide17M specifies a single argument: a data input file and specifies mode and optionally reflectance
calculation for one fixed configuration (no parameter varied). In this case, the detailed console output (sample below) is
presented. The first section displays all the waveguide and coating parameters and computation parameters as read from
the data input file. Next, the TE and TM complex mode indices
nmode, the convergence parameter rinverse achieved and, if the waveguide has any loss, the modal power attenuation
rate alpha is shown in units of cm-1.
If the "Calculate Rmode" parameter is set in the data input file, modal reflectance is calculated and the following results are additionally shown:
First, the Vassallo "optimum" complex equivalent index neq for both
polarizations is listed. Next, the modal reflectance results are shown as calculated 3 different ways using:
- Kendall FSRM method (1993 (9))
- Fresnel method with the Vassallo "fictitious layer" optimum index neq (Kendall 1993 (11))
- Vassallo's first approximation (1988 (19c) (32c)) to the exact integral-equation solution using the same optimum neq
Each result shows the modal power reflectance and complex field amplitude reflection coefficient. As mentioned above the
Kendall/FSRM result in most cases tested is closest to the exact (Vassallo) benchmark published data. Differences
in the modal reflectance values for the three model results are more noticeable for very low reflectance coating configurations as demonstrated below.
Next, the TOTAL facet reflectance (modal plus reflected waveguide radiation modes) using the Fresnel method (Schimpe 1992)
and the same Vassallo "fictitious layer" neq index is listed. Next, the full width at half maximum power (FWHM) of the radiated
far field pattern, including the obliquity factor, is shown for several different approximate models. All FWHM values are for uncoated facets (but with the specified
final exit medium index) except for the "VassCoat" TE result. The FWHM value with a multilayer coating
changes slightly from the uncoated FWHM value. For higher order modes which have a peak FF intensity at nonzero angle, the
FWHM value corresponds to the half-intensity value at angles larger than the peak intensity angle found. Finally, the mode power confinement factors
(fractional power carried in each waveguide region) in layer order is displayed.
----------------- REQUIREMENTS --------------------
(1) Requires an installed JRT (Java Runtime Environment).
Tested against Java version 1.8.0_131
(2) This application is computation intensive. Recommended configuration:
+ 1 GHz cpu with 2 Gb RAM and 50 Gb HD
------------------ Using Wguide17M -----------------------
(1) Create the data input file describing the slab waveguide problem to be solved, and place
it in the same directory as the distribution class files or the JAR file described next.
(2) Shell to a command prompt in the directory containing the compiled Java application class files or JAR file.
The following 3 compiled class files, and a data input file should be in the invocation directory:
wguide17M.class Num.class cMath.class
Alternately, if the archive wguide17M.jar is provided, only the JAR file is required.
(3) Wguide17M has several command-line sets of parameters. A summary of all functionality is
java wguide17M H
or java -jar Wguide17M.jar H
All command arguments are optional. Any output files by default are created in
the same directory as the data input file. A typical simple command is:
java wguide17M [name of data-input file] [output TE file] [ output TM file]
or java -jar wguide17M.jar [name of data-input file] [output TE file] [ output TM file]
Download Evaluation Wguide17M.jar
(This fully-functional Java console application is provided as is with no support.
Any feedback regarding functionality, errors or clarifications are always welcomed and appreciated. )
"Semiconductor laser facet reflectivities using free-space radiation modes"
P.C. Kendall, D.A. Roberts, P.N. Robson, M.J. Adams and M.J. Robertson
IEE Proceedings-J, Vol. 140, #1, Feb. 1993 p. 49
"Reflectivity of multidielectric coatings deposited on the end facet of a weakly guiding dielectric slab waveguide"
J. Opt. Soc. Am. A/Vol. 5, #11, Nov. 1988 p. 1918
"Theory and practical calculation of antireflection coatings on semiconductor laser diode optical amplifiers"
IEE Proc. Vol. 137, Pt. J. #4, Aug. 1990 p. 193
"Antireflection-coated angled facet design"
M. Reed, T.M. Benson, P.C. Kendall and P. Sewell
IEE Proc.-Optoelectron. Vol 143, #4 Aug. 1996 p. 214
"Approximate methods for modal reflectivity at optical waveguide facets"
J. Xu, D. Yevick and M. Gallant
J. Opt. Soc. Am. A/Vol. 12, #4, Apr. 1995 p. 725
"Theory of Reflection at the Facet of a Semiconductor Laser"
AEU, Vol. 46, #2, 1992 p. 80
"Radiation Fields of GaAs-(AlGa)As Injection Lasers"
J. Butler and J. Zoroofchi, IEEE J. Quantum Electronics, V10, Oct 1974 p. 809
"Optical Properties of Thin Solid Films", O. S. Heavens, Dover 1965 p. 63.
"An Introduction to Optical Waveguides", M. J. Adams, Wiley 1981 p. 67.
"Physics of Semiconductor Laser Devices", G. H. B. Thompson, 1985 p. 324.
"Principles of Optics", M. Born and E. Wolf, Pergamon 5th Edn. 1975 p. 611.