In this example we show how to use the FEEM to study a step-index fiber. Using the built-in analysis tools, we will calculate the field distributions and effective indices of some of the modes supported by the fiber. The simulation results are then compared with a semianalytical calculation done with a MATLAB script.
Requirements
Lumerical products R2018b or newer
Learning objectives
The user will learn to:
- Create optical materials and assign them to geometrical objects in FEEM.
- Create a simple fiber geometry using primitive structures in FEEM.
- Use the FEEM to find the supported modes, their effective indices and modal fields.
- Benchmark simulation results by comparison with reference semianalytical calculations.
Modeling instructions
This page contains detailed instructions on how to create the project file in the FEEM. Alternatively the project file provided in this example can be used to go through the steps in the Results and Discussion section.
Material Database
Open a blank simulation file in the FEEM. Under the Material section of the Design tab of the tabbed toolbar, click on the Optical button
to open the optical material database. The material database contains more than 40 different optical models for common materials. The user can also add new material models to the database using the "New Material" button. Additionally, material models can be imported from other FEEM, FDTD, or MODE project files using the "Import material" button.
Materials
For this simulation we will use two simple dielectric materials, "core_material" and "cladding_material", created from the Dielectric material in the Optical Material Database and added to materials in the Objects Tree. To do this you have two options:
1. Under the Materials section of the Design tab, click on New Material button
Then right click on recently added New Material under the Material Group in Objects Tree and click on Add optical properties. This will automatically open Optical Material Database. Scroll down to find Dielectric from Material List, modify the Refractive index value to 1.44 and then click on the Select button. This will add the material along with its optical properties to the objects tree.
2. Click on the Optical button
to open the optical material database. Select Dielectric, modify the Refractive index value to 1.44 and then click on Create button as is shown below:
This will add the optical properties of the core material into the Objects Tree. After adding the properties, you can rename the new material by double clicking on its name or right click and then select rename. For convenience, rename the material object to "core_material". The same procedure can be followed to create "cladding_material", which will be a simple dielectric with refractive index 1.4. For visualization purposes, pick a different color for the cladding material so that the two different materials can be easily recognized.
Geometry
The Structures section of the Design tab
can be used to introduce various types of structures into the simulation space. The available options vary from simple rectangles and spheres to complex waveguides and planar solids. In this example, we will use two overlapping cylinders to define the fiber core and the surrounding fiber cladding.
core
From the Structures section of the Design tab, select a CIRCLE to be added to the Objects Tree. Select the circle in the Objects Tree and click on the "Edit Properties" button
to edit the properties of the circle according to the following table.
tab |
property |
value |
---|---|---|
name |
core |
|
Geometry |
x (um) |
0 |
y (um) |
0 |
|
z (um) / z span (um) |
0 / 1.1 |
|
radius (um) |
10 |
|
Material |
material |
core_material |
cladding
From the Structures section of the Design tab, select another CIRCLE to be added to the Objects Tree. Select the circle in the Objects Tree and click on the "Edit Properties" button
to edit the properties of the circle according to the following table. Note the mesh order is set to 5 (a higher number than the default 2) so that the "cladding" structure will not fill the volume where it overlaps with the "core" structure. The z span of the "cladding" is set to be slightly smaller than that of the "core" so that the latter is not hidden by the former in the viewport; alternatively, you can use an alpha value less than 1 in the Graphical rendering tab of the "cladding" properties to make the object semi-transparent.
tab |
property |
value |
---|---|---|
name |
cladding |
|
Geometry |
x (um) |
0 |
y (um) |
0 |
|
z (um) / z span (um) |
0 / 1 |
|
radius (um) |
17.5 |
|
Material |
material |
cladding_material |
mesh order |
5 |
|
Graphical rendering |
alpha |
0.5 |
Simulation Region
Click on
in the Objects Tree and click on the
button (on the left of the Objects Tree) to edit its properties according to the following table. Note that the simulation region size is such that the cladding cylinder is completely inside and the simulation region boundaries are all set to open. The purpose is to assign the simulation boundary conditions to the outer surface of the cladding circle (see Boundary Conditions).
tab |
property |
value |
---|---|---|
General |
dimension |
2D Z-Normal |
x min boundary |
open |
|
x max boundary |
open |
|
y min boundary |
open |
|
y max boundary |
open |
|
Material |
background material |
None |
Geometry |
x (um) / x span (um) |
0 / 35 |
y (um) / y span (um) |
0 /35 |
|
z (um) |
0 |
FEEM Solver Region
In the Solvers section of the Design tab select the "FEEM" button to place an FEEM solver in the simulation environment. Note that once the solver is selected, all the simulation objects (i.e. constraints, boundary conditions, etc.) belonging to the solver become available under a new tab named FEEM. Select the FEEM object from the Objects Tree and click on the "Edit Properties" button
to edit the properties according to the following table.
tab |
property |
value |
---|---|---|
General |
simulation region |
simulation region |
Mesh |
edges per wavelength |
0.4 |
refine based on material properties |
disabled |
|
polynomial order |
3 |
|
Modal Analysis |
sweep type |
single > wavelength |
wavelength (um) |
1.55 |
|
number of trial modes |
20 |
|
use max index |
enabled |
Check Partitioned Volume
The basic simulation setup is ready. Next, click on the "Partition simulation region" button
to view the partitioned volume (see figure below). The partitioned volume mode shows the entire simulation volume and identifies the different domains and surfaces. Each domain and surface has a unique identifier and they are listed under the "simulation region" in the Objects Tree. As you select different domains and surfaces in the Objects Tree the corresponding volume or surface gets highlighted in the partitioned volume. In the figure below "domain 2" is highlighted in the partitioned volume.
Mesh Constraint
In Solver section under the FEEM tab, press on the CONSTRAINT button
to add a Mesh Constraint to the objects tree. Select it from the Objects Tree (under FEEM) and click on the "Edit Properties" button
to edit the properties according to the following table.
section |
property |
value |
---|---|---|
name |
fiber_mesh |
|
General |
Maximum edge length (um) |
0.8 |
Geometry |
geometry type |
surface |
surface type |
solid |
|
solid |
core |
|
outer surface only |
enabled |
Boundary Conditions
The last step in setting up the simulation is to add the boundary conditions at the simulation boundaries. In most FEEM simulations, the boundaries are defined as perfect electrical conductors using the PEC boundary condition (which is also the default option).
Click on the PEC button in the Boundary Conditions section under the FEEM tab in the tabbed toolstrip and add a PEC object in the objects tree. Click on the "Edit Properties" button
to edit the properties according to the following table.
tab |
property |
value |
---|---|---|
name |
PEC |
|
Geometry |
surface type |
solid |
solid |
cladding |
|
outer surface only |
enabled |
Error Check
The project file is now set up. As a final step, you can use the "Check"
button to identify potential issues in your simulation. This will open up the "Error Checking and Diagnostics" window that shows any error in the simulation setup as well information about the different simulation objects. There should be no warnings. Finally, save the file using the "File" menu and run it by following the instructions provided in the next section.
Results and Discussion
The figure below shows the step-index fiber geometry and index profile, together with a screenshot of the top XY plane view in Layout mode in FEEM after the simulation has been set up.
|
|
(Left) Index profile of the step-index fiber. (Right) XY top plane view of the simulation setup in FEEM.
Note that the cladding radius used in the simulation setup is much smaller than the actual physical value. This is justified by the fact that the modes of interest are mostly confined in the core so it is not necessary to simulate the entire cladding. As explained in the Modeling Instructions section, we assign PEC boundary conditions to the outer boundary of the cladding circle so this becomes the boundary of the simulated region.
Run Simulation
Open the step_index_fiber.ldev project file and run the simulation by clicking the "Run" button
in the "FEEM" tab of the tabbed toolbar.
Results
The settings specified under FEEM Solver Region in the Modeling Instructions section have been chosen so that the solver will find the first twenty modes supported by the fiber for a wavelength of \(\lambda=1.55\mu\text{m}\). Here we will analyze those results and validate them with a semianalytical calculation for the TM modes.
Semianalytical Solutions
It is possible to find the effective indices of the TE, TM and mixed modes (EH and HE) supported by the step-index fiber by solving transcendental equations numerically (see Related references). Here we only consider the semianalytical solutions for TM modes, which are calculated in the MATLAB script step_index_fiber.m. You can download the text file step_index_fiber.txt, which contains the calculated results for the first couple of TM modes (this file and the MATLAB script were also used in this example). The MATLAB script uses a root finder to solve the characteristic equation for the effective index \( n \):
$$ \frac{J_1(h \; a)}{h \; a \; J_0(h \; a)} + \bigg( \frac{n_2}{n_1}\bigg)^2\frac{K_1(q \; a)}{q \; a \; K_0(q \; a)}=0 $$
where \( n_1 = 1.44 \) and \( n_2 = 1.4 \) are the material index values for the core and cladding, respectively. The core radius is denoted by \( a = 10 \mu \text{m} \). \( J_{\nu}(x) \) and \( K_{\nu}(x) \) are the Bessel function of first and second kind, with
$$ h \equiv k_0 \sqrt{n_1^2 - n ^2}, \quad q \equiv k_0 \sqrt{n^2 - n_2 ^2}, \quad k_o = \frac{2 \pi}{\lambda}. $$
FEEM results
The effective index can be visualized by selecting the FEEM in the Objects Tree, right clicking on the "modeproperties" result in "Result View - FEEM" and selecting Visualize>New Visualizer. The plot of effective index versus mode number will look like the one below. Note that the loss is exactly zero since we only used simple dielectric materials with real-valued refractive index. The staircase shape of the effective index plot is due to mode degeneracy in this fiber.
Effective index of the first twenty modes supported by the step-index fiber calculated with FEEM.
According to the semianalytical solution described above, the first TM mode, TM01, has effective index 1.43729 (up to five decimal figures). We can use this values to search for this mode and compare the FEEM and semianalytical results. To modify the mode search:
- Switch to Layout mode and go to the Modal Analysis tab in the Edit properties window of the FEEM.
- Disable the option "use max index" and provide the new target value for the effective index, n.
- It is also convenient to reduce the number of trial modes to 1 so that only the mode with the closest effective index will be reported in the results.
After running the new simulation, we find that the FEEM and semianalytical results are very close. A careful comparison reveals that the relative error is less than 0.001%, which confirms the validity of the FEEM results. For a more detailed discussion of convergence testing in FEEM, see the Graded-index fiber example here.
The modal fields can be visualized by selecting the FEEM in the Objects Tree, right clicking on the "fields" result in "Result View - FEEM" and selecting Visualize>New Visualizer. The results for the magnetic field of the TM01 mode are shown below. We confirm that the polarization of this mode is indeed TM by comparing the amplitude of Hz with those of Hx and Hy. We find that the longitudinal component of the magnetic field is negligible compared to the transverse components.
Magnetic field intensity |
|Hx| |
|Hy| |
Modal field profile for TM01 mode. The Hz field component (not shown) is negligible for this mode.
Related references
A. W. Snyder and J. D. Love, "Optical Waveguide Theory". London: Kluwer Academic Publishers (1983).