Frequently, the permittivity of an integrated optical waveguide splits into the contribution n2 of an isotropic lossless refractive index n, and a residual. For piecewise constant, rectangular profiles, the former part can be handled adequately by the WMM mode solver as presented on the previous pages. Assuming the modes and propagation constants belonging to the profile n to be known, perturbation theory allows to estimate the effect of the permittivity residual.
First order theory predicts light propagation based on the original unperturbed mode profiles as output from the mode solver, but with shifted propagation constants. The functions introduced on this page calculate these phaseshifts due to permittivity perturbations. The program smpert.cpp exemplifies the use of these routines. For an illustration of the perturbed light propagation, the functions concerned with mode interference and mode interference visualization have been prepared to take the perturbational phase shifts as additional arguments.
Reasonable results of this approximate approach can be expected for small deviations of the permittivity from isotropy only. Additionally, mode coupling effects are neglected. This is justified, if either the permittivity perturbation does not induce such effects, i.e. if the coupling coefficients vanish, or if the propagation constants of the relevant modes are sufficiently far apart. While at present the WMM library does not include functions for general coupled mode theory regarding mode conversion, the example of the unidirectional polarization converters shows how to solve this kind of problem in the framework of the WMM.
The source files
maxweq.h and
maxweq.cpp define a class Perturbation
which is to represent the permittivity residual. Its members are
r |
The region where the perturbation is present, a rectangle Rect as
declared in waveg.h. Regions of a more complicated
shape must be decomposed into rectangular areas, i.e. described by
more than one separate Perturbation s.
|
e |
The permittivity perturbation, a 3x3 Matrix of type Complex , as
defined in complex.h,
complex.cpp. If different perturbations are
present in an actual geometry, they must be encoded by separate
Perturbation objects. The corresponding regions need not to
be distinct.
|
Additionally, there are several constructors, varying in the amount of directly specified information, and member functions for reading and writing the perturbations from/to files.
Given a Perturbation
, the WMM_Mode
member function
phaseshift
,
defined in mode.h, mode.cpp, computes the propagation constant shift for the underlying mode. The function evaluates the expression
,
where p
is the Perturbation
supplied as an argument to
phaseshift
.
omega and epsilon0 denote the light frequency and the vacuum permittivity.
In general the phase shift is a complex quantity.
Note that the correspondence between the permitivity residual and the propagation constant shift is linear, i.e. separately calculated phaseshifts belonging to different contributions of a total perturbation simply add. This applies both to contributions from different regions on the waveguide cross section and to contributions from different types of perturbations.
Assume a part of the waveguide to be made of an absorbing material with refractive index n that attenuates the intensity of a plane wave according to ~exp(- alpha z) with a small attenuation constant alpha. Its effect is described by an isotropic but imaginary permittivity perturbation -i n alpha / k0. The function
attenuation
converts the material parameters, the wavelength, and a rectangle, which
specifies the absorbing region, to a Perturbation
. The function
is declared in
maxweq.h, maxweq.cpp.
Running this perturbation through the phaseshift
procedure
yields an imaginary propagation constant shift
- i alpham / 2,
where alpham is the mode attenuation.
The waveguide damps the intensity of the underlying mode by
~exp(- alpham z).
smpert.cpp computes the damping
constants of the the fundamental TE and TM modes of a raised strip waveguide
(cf. the stderr output of the program).
With the imaginary phase shifts
supplied to WMM_ModeArray.prop
for a visualization of the
propagation of the single modes, one obtains the following pictures
for the TE ...
... and for the TM mode:
The attenuation mechanism results in larger attenuation for the TE mode. Note that the guided mode attenuation is polarization dependent, and that it may exceed the bulk value. With inverted signs, the perturbation theory obviously gives access to the calculation of mode gain in active regions as well.
In a region with static or quasistatic magnetization, the permittivity tensor must be assumed to depend on the magnetization M. If restricted to cubic crystals, to contributions linear in the magnetization, and to low loss materials, the permittivity contribution p related to this first order magnetooptic effect reads
p = sin(theta) cos(phi) px
+ sin(theta) sin(phi) py + cos(theta) pz ,
where the angles phi and theta parametrize the direction of the magnetization as
M = M (sin(theta) cos(phi), sin(theta) sin(phi), cos(theta))
(cf. the orientation of the coordinate system). px, py, and pz denote the permittivity contributions related to the x-, y-, and z-components of the magnetization:
px =
py =
pz = .
The absolute value xi of the imaginary off-diagonal elements is related to the phenomenological constant of the specific Faraday-rotation ThetaF by
xi = n lambda ThetaF / pi ,
where n and lambda are the refractive index of the magnetooptic material and the free space wavelength.
maxweq.h and maxweq.cpp
define functions which generate the corresponding Perturbation
objects:
magopt |
The magnetooptic permittivity contribution for an arbitrary orientation of the magnetization. Accepts the arguments ThetaF, n, and lambda to assemble xi, the two angles theta and phi, and a rectangle to specify the magnetooptic region. |
magopt_polar
magopt_equat
magopt_long
|
The perturbations px (polar configuration), py (equatorial configuration), and pz (longitudinal configuration) for an orientation of the magnetization along the coordinate axes. |
Besides
smpert.cpp, the example programs
tephs.cpp and
tmphs.cpp show how to apply these
functions together with the phaseshift
procedure to calculate the nonreciprocal effects for multiple-domain ribs or double
layer waveguides, respectively, which are intended as nonreciprocal phase
shifters.
Note that in general all three types of magnetooptic perturbations may cause
phase shifts as well as polarization conversion. A classification of these
effects is possible, if the modes obey certain symmetries.
Details can be found in the
survey.
A longitudinal orientation of the magnetization drives the nonreciprocal polarization conversion known as the Faraday-effect. Its modeling cannot be kept in the framework of single mode perturbations but requires e.g. coupled mode theory, as exemplified for unidirectional polarization conversion in upcv.cpp.
For a waveguide with piecewise constant permittivity profile, alteration of a dimensional parameter can be regarded as changing the refractive index in a thin layer along a dielectric discontinuity line. Similar to the expression for general permittivity perturbations, the change in the propagation constant can be related to the thickness of this perturbed layer (where the perturbation inside the layer may be a significant one, thus the formula from above cannot be applied directly). In the case of the rectangular geometries considered here, the limit of zero layer thickness leads to expressions for the derivative of the propagation constant with respect to the boundary position. See the paper on geometry tolerancing for details.
The following functions,
implemented as WMM_Mode
member functions
in mode.h and mode.cpp,
evaluate these geometrical propagation constant gradients. Both functions
take a pair of rectangle indices as arguments:
horgeovar |
Propagation constant shift due to the relocation of a horizontal boundary segment. The arguments specify the rectangle below the relevant boundary. |
vergeovar |
Propagation constant shift due to the relocation of a vertical boundary segment. The arguments specify the rectangle on the left side of the relevant boundary. |
The functions return a double value, which is the derivative of the propagation constant with respect to the position of the boundary segment. Note that these are perturbational expressions, which are naturally not more accurate than the underlying mode profile. Usually, for computing the derivative of the propagation constant with respect to a general geometry paremter the above functions have to be applied more than once, with the results added. Additionally, there may be several ways to obtain a specific result.
smpert.cpp includes the application of these expressions to a simple raised strip waveguide. A rib waveguide shall serve as a more advanced example:
Three parameters h, w, t describe the waveguide geometry.
Given a WMM_Mode
m of the waveguide, the statements
grad_w = m.vergeovar(2, 1);
or alternatively
grad_w = -m.vergeovar(2, 0);
compute the gradient of its propagation constant with respect to the width parameter. The derivative with respect to the rib height can be calculated by
grad_h = m.horgeovar(2, 1);
or by
grad_h = -m.horgeovar(1, 0)
-= m.horgeovar(1, 2)
-= m.horgeovar(0, 0)
-= m.horgeovar(0, 1)
-= m.horgeovar(0, 2);
Likewise, there are two alternative ways to compute the derivative with respect to the lateral film thickness:
grad_t = m.horgeovar(1, 0)
+= m.horgeovar(2, 1)
+= m.horgeovar(1, 2);
or
grad_t = -m.horgeovar(0, 0)
-= m.horgeovar(0, 1)
-= m.horgeovar(0, 2);
While for the width w the two results are exactly equal due to the waveguide symmetry, for the parameters h and t one should prefer the second versions, where the field is evaluated along the boundaries with the larger field strength (with larger relative accuracy).
In first order perturbation theory, the geometry alterations influence
the propagation constants only, without afflicting the mode profiles.
Therefore the propagation constant gradients, if multiplied by a small
displacement and inserted into the pert
argument of the
interference procedures, give access to the geometry dependences
of the
power transfer
and the
mode interference figures
as well.