Analytic solutions Graphics Important modifications Installation and running MMP solver New features PFD solver System requirements
In 2015, the structure of movie directives was generalized by adding the new directives LOOp, LABel, GOTo, IF>, IF<, IF=. The original structure with two nested loops is no longer supported. Therefore, the values of Outer loop and Inner loop in the Movie dialog are obsolete. When reading old projects or directive files, the syntax is automatically adapted, i.e., LOOp directives are inserted and adapted automatically. In the old version, an error was detected from time to time when reading directives: When saving directives to a file the OS sometimes closed the file before the entire string containing the directives was written. Now, reading directives stops without any notification. It is assumed that the end of the file is reached when no further directives may be red.
Aytac Alparslan implemented 2D and 3D multilayer expansions based on Sommerfeld integrals. The following is a short explanation by Aytac.
Analysis of structures built in a layered geometry
In the analysis of structures built in a layered geometry by OpenMaXwell, first, the layered medium information should be provided. e.g. for a sphere in an N-layered geometry the first N domain data and the N-1 boundary data should be given for the layered geometry. Then, starting with the domain no N+1 and the boundary no N, the user can build arbitrary structure(s) in the layered geometry to be analyzed.
2D multilayer and 3D multilayer expansion descriptions:
Generates monopole (2D multilayer) and dipole (3D multilayer) fields in a given layered geometry. 2D multilayer can also have a complex k_gamma value (normalized wavenumber in the out-of-screen (z) direction, defined in Project dialog box as in the case of classical eigenvalue analysis by OpenMaXwell), which makes it possible to perform the eigenvalue analysis of waveguides in layered geometries. The k_gamma value also makes it possible to perform scattering calculations when the incident field has a constant k_gamma value, e.g. when the incident field is a plane wave with a nonzero k component in the out-of-screen direction. The constants used to control these expansions are as follows:
a. Sommerfeld k: [recommended first choice: (-1.1e-4 ~ -1.1e-6)] This constant is used to tune the Sommerfeld Integration path. In general, the path should not cross the singularities (lateral wave singularities at kmin and kmax and surface wave singularities in between kmin and kmax (guided wave modes of finite-thick dielectric layers) or greater than k_max (surface plasmon polaritons when one or more of the layers are metal in optics)). In general two constants (aadint and aakmax in the OpenMaXwell source code) are enough to control the path, as shown in Fig.1.

Fig1. The description of constants for the Sommerfeld integration path implemented in OpenMaXwell.
In Fig. 1, kmax is the maximum value of the wavenumbers for the given layered geometries. The two constants aadint and aakmax are obtained by the Sommerfeld k constant in OpenMaXwell, by the following statements:
aadint=0.0
if (Sommerfeldk.lt.0.0) then
aadint=floor(dlog10(dabs(Sommerfeldk)))
aadint=10**aadint
aakmax=dabs(Sommerfeldk)/aadint
endif
if (dreal(aadint).gt.0.0) then
aadint=km
else
aadint=1d-3
endif
Examples:
Sommerfeld k= -1.1e-9 à aadint=1e-9 aakmax=1.1
Sommerfeld k= 1.5 à aadint=1e-3 aakmax=1.5
IMPORTANT: The user should be careful when setting these constants, since a good choice leads to highly efficient results, but choosing a path which is very close to the singularities can destroy the integrands and therefore the fields can be some noisy data. A good starting choice of the Sommerfeld k would be (-1.1e-4 ~ -1.1e-6), then depending on the accuracy/time (smaller the aadint, longer the integration time) ratio the user can decide.
b. Integration acc.: [recommended first choice: (1e-7)] The relative accuracy of the integrator (Simultaneous adaptive Gauss–Kronrod quadrature is used.)
c. Imaginary x, y, z: [recommended first choice: (some value on the order of the wavelength)]: Constants used to steer the beam generated by the complex origin expansions.
d. N layers: [the exact number of layers should be given]: Number of layers in the layered geometry.
e. Bottom / Top layer type: [0: read from Domain dialog box, 1: PEC, 2: PMC ] The constant to control the top and bottom layers, in case they are perfect conductors.
f. Hor/vert/both: 0/1/2: [3d only, should be set to 2 in the general analysis] constant that is used to determine the direction of the point source in 3D. 0: Horizontal (x and z directed), 1: Vertical (y directed) and 2: Both (x, y and z directed).
Responsible for this web page: Ch. Hafner, Computational Optics Group, IEF, ETH, 8092 Zurich, Switzerland
Last update 28.10.2015