2D MMP, Complex Eigenvalue, AL Wire at Optical Frequencies, SNOM

Ch. Hafner, Computational Optics Group, IFH, ETH, 8092 Zurich, Switzerland

Back to MaX-1, MaX-1 Examples Overview

Download ZIP file containing the MaX-1 projects described here

Wires are frequently used for guiding waves at not extremely high frequencies. Even on a single, circular wire, one can have at least one propagating wave (TM01) with a relatively small attenuation. This mode had already been studied by Arnold Sommerfeld. At optical frequencies, metal looses its conductivity. Within some frequency range, metal can then be described by a complex permittivity with a negative real part and a high imaginary part. As a consequence, the modes are lossy. Depending on the material properties and radius of the wires, one can observe not only the TM01 mode, but also higher order modes. An Aluminum wire at optical frequencies was studied by Lukas Novotny. Currently, such wires may be of interest for Scanning Nearfield Optical Microscopes (SNOM).

The analysis of a circular Al wire is essentially the same as the analysis of a circular optical fiber: The field inside the core is defined by a Bessel type expansion of order n and the field outside is defined by a standard multipole of the same order n. For n=0 one either obtains TM0m or TE0m modes, where m counts the modes, i.e., m=1,2,3,… These modes are characterized by 2 by 2 matrices, whereas the higher order modes (n>0) are characterized by 4 by 4 matrices. With the MMP feature of MaX-1, one can easily obtain these matrices by placing the appropriate Bessel type expansion and the appropriate multipole in the center of the wire. For details, see the MaX-1 Tutorial.

When losses cannot be neglected, the propagation constants (gamma) of all modes become complex and must be searched in the complex gamma plane, which is much more time-consuming than the search along the real axis of the gamma plane in the loss-free case.

Standard algorithms for computing the fiber modes search for the zeros of the determinant of the system matrix. The determinant is a function of the propagation constant and each zero of the determinant defines the propagation constant of at least one mode. Since this technique may exhibit numerical problems and because MMP users usually prefer overdetermined systems of equations, MMP contains several additional techniques – leading to different search functions that are defined on the complex gamma plane - for finding the propagation constants of the modes.

The ALWxxx projects demonstrate how movies can be generated that show the frequency dependence of the MMP search functions for different modes of a circular AL wire at optical frequencies. The main problem for MaX-1 is the following: For each point in the complex gamma plane, a matrix equation must be solved. From this, the residual must be computed. Furthermore (depending o the eigenvalue search method), the field in several points must be computed and integrated. For doing this, the original field must be a complex (time-harmonic) field containing all components of the E and H vectors. Finally, the eigenvalue search function is saved on a *.FLD file exactly as the scalar potential of a static problem. To plot the eigenvalue search function, the graphic window must be correctly set (different from the size it has for displaying the field of the wire) and the *.FLD must be read. When this is done, MaX-1 will automatically assume that the project is static and that the original field contains only the real valued, V field. After this, you can draw the window, draw the V field, etc. Finally, you will modify the frequency and repeat this procedure in a loop. When you do this, you should know that MaX-1 still considers the original field to be the static scalar potential. Therefore, MMP would fail. In order to avoid this, you must read a dummy FLD file that defines the original field correctly (all six, complex components of E and H are present) before you run MMP. The following is an appropriate DIR file that contains all directives required:

read mmp alw000.mmp  ! Read the data of the MMP dialog
set variable .2e8    ! The variable will be used for printing text on the frames
set frequency .2e8   ! Set the frequency for the first frame (equal to the variable)
write avi alw000.avi ! Write the header of the AVI file and define the file name
end pre processing directives
end outer loop pre directives
read field alw000.fld ! Read the complex field data to make sure that the original
                      ! field is complex and contains all E and H components
set cfk max000.fld    ! Define the file name for saving the search function data
mmp solve
read field alwsrch1.fld repres ! Read the representation data of an auxiliary file that contains
                               ! a real V field and appropriate data for a nice plot of the
                               ! search function in the complex gamma plane
read field max000.fld values   ! Read the search function, i.e., the values stored in the file
draw window                    ! Draw the current graphic window
draw field                     ! Draw the field, i.e., the search function
draw text 10 10 4 "f="         ! Draw some text
draw variable 25 10 4 variable ! Draw the value of the variable that is the same as the frequency
write avi /                    ! Add the current bitmap of the current window to the AVI file
mul frequency 1.1              ! Increase the frequency – multiply it with 1.1
mul variable 1.1               ! Increase the variable – multiply it with 1.1
end inner loop directives
end outer loop post directives
write avi !             ! Close the AVI file
read project ! Read and execute the next project
end post processing directives

Note that the definition of the variable that has the same values as the frequency is not necessary here, because you could also let MaX-1 draw the frequency directly. The method with a separate definition of a variable would be helpful, when you would like to draw the frequency values, for example, in GHz rather than in Hz.

The directives shown above can be used for all types of modes and all kind of complex eigenvalue problems, not only for the simple case of a circular wire.

It is important to know that the material properties in the optical regime exhibit strong frequency dependence. In order to take the frequency dependence into account, one can insert an appropriate formula in the Domain dialog. If no such formula is known, one must define a DOM file for each frequency to be evaluated and one must add a directive for reading the correct DOM file before one runs MMP.

In SNOM applications, one usually works at a fixed frequency. Therefore, one is not interested in the frequency dependence. Since one uses conical rather than cylindrical wires, one is interested in the dependence of the modes on the radius of the wires. You can easily modify the directives above in such a way that MMP computes the dependence of the search function on the radius of the wire. However, both animations (frequency dependence and radius dependence) will be essentially the same because increasing the frequency has the same effect as increasing the radius.

Circular Al wire, TM0x modes

Project ALW000.PRO

All TM0x modes of a circular Al wire are described by a single search function. Note that physical modes can only be described with a complex propagation constant in the first or third quadrant. Since the solutions in the first and third quadrant are identical, you must only consider the first quadrant. Although this reduces the search area, it is still infinite. For wires with strong losses, one can obtain modes with almost arbitrary propagation constants, i.e., the search space in the complex gamma plane is infinite. However, big imaginary parts of the propagation constants mean big losses and such modes are not interesting from the practical point of view. Moreover, modes with large real parts of gamma have also large imaginary parts. Therefore, we can focus our search on a limited area in the first quadrant.

Since you still don’t know precisely how to set the search area in the complex gamma plane, you need some guide lines. First of all, MaX-1 uses the normalized propagation constant gamma/k0, where k0 is the wave number in free space. This simplifies the definition of the search area considerably. First, you compute the refraction index (square root of the relative permittivity times the relative permeability) of all media. For the free space outside the wire, the refraction index is 1. For Al at 488nm wavelength, you have a relative permittivity of –34.5+8.5i and a relative permeability of 1. Therefore, you obtain a complex refraction index of about 0.7+5.9i. Assume that a mode would have the field almost entirely outside the wire and that it would propagate along its axis. Its normalized propagation constant would then be close to 1, whereas a mode with the field almost entirely inside the wire would have a normalized propagation constant close to 0.7+5.9i. Therefore, it is reasonable to search in a rectangular area of the normalized gamma plane with real part between 0 and 2 (twice the biggest real part of the refraction indexes) and imaginary part between 0 and 10 (almost twice the biggest real part of the refraction indexes).

Depending on the definition of the search function, it may happen that numerical problems occur when the real part of the propagation constant is zero. In order to avoid such problems, it is reasonable to set a very small value instead of 0 for the lower bound of the real part.

In addition to the (rough) search area, you must also specify a grid for the rough search in the Project dialog. Note that the numerical effort increases with the number of grid lines. Therefore, you usually try to keep these numbers small. At the same time, some or all modes might become invisible, when you select a rough discretization. This especially holds at relatively high frequencies, where the number of modes is high as well. Therefore, you best start at a low frequency with a moderate number of grid lines, increase the frequency and watch what happens.

You will see an increasing number of spots that essentially move from the top toward the bottom and one spot that moves almost from the right to the left hand side. The latter corresponds to the TM01 mode, whereas the other modes are very lossy modes that move toward a fixed point in the complex plane. Note that also the TM01 moves toward a fixed point in the complex plane.

Remarks on the MMP modeling

Both TE and TM modes are described by the same (zero order) Bessel and Hankel (multipole) expansions in the Expansion dialog. When you specify HE type in the Filter group, you obtain both modes at the same time. Thus, you will obtain two parameters for the Bessel expansion (in the wire) and two parameters for the Hankel expansion (outside). In order to only obtain TM modes, i.e., E waves, you can select E type in the Filter group you then will obtain only one parameter for each of the two expansions. Instead of this, you can also specify HE type and define the correct symmetry numbers in the Project dialog ( XZ and YZ symmetry numbers equal to 1).

Since the TM modes are described by only 2 parameters, you only need two boundary conditions in a single matching point. You can use the same boundary conditions that are also used in the analytic solution of optical fibers. Instead of this, you can work with a slightly overdetermined system of equations and select the Usual boundary conditions in the Boundary dialog. In order to make sure that only one matching point is generated, set the appropriate parameters in the MMP dialog.

When MaX-1 generates a single matching point on a circle with center at X=0, Y=0, the matching point will be on the x axis. For higher order modes, this may be an extraordinary point, where not all of the field components exist. Therefore, it is reasonable to set the symmetry numbers in the Project dialog as mentioned above and to define the boundary only in the first quadrant of the xy plane.

MMP offers several different eigenvalue search functions to be defined in the MMP dialog. Some of them require the definition of a fictitious excitation, i.e., the definition of a third expansion (with a single parameter) to be defined in the Expansion dialog. Some of them require the definition of an amplitude, which requires the definition of an appropriate integral in the Integral dialog. Note that the latter will considerably increase the computation time, but you should try all methods for getting experience.

Circular Al wire, TE0x modes

Project ALW500.PRO

Once you have inspected the TM0x modes, you can easily do the same for the TE0x modes. All what is different are the symmetry numbers in the Project dialog or the wave type in the Filter group of the Expansion dialog.

Circular Al wire, hybrid modes

Projects ALW100.PRO, ALW200.PRO, ALW300.PRO

When you want to inspect higher order modes, you must select hybrid (HE) type waves in the Expansion dialog for both expansions and increase the number of parameters for both expansions from 1 to 2. Furthermore, you must adapt the minimum and maximum orders of the two expansions to the order of the mode you would like to analyze. When you worked with non-zero symmetry numbers in the Project dialog, you must also adapt them. When you worked with Usual boundary conditions, everything should be OK (provided that the matching point is not on the x axis). Otherwise, make sure that you impose at least 4 boundary conditions.


Figure 1: Frequency dependence of the eigenvalue search function for TM0x modes (left), TE0x modes (center) and Hybrid1x modes (right) in the complex, normalized gamma plane. Dark spots (minims) correspond to modes. Projects: ALW000.PRO, ALW500.PRO, ALW100.PRO

Once you have obtained an overview over the existing modes, run the fine search, the MMP eigenvalue tracing, and the MMP field plots for more information on the modes.