In this example we demonstrate optical fiber to photonic chip coupling with a microlens and edge coupler. We introduce Zemax OpticStudio as a necessary addition to account for propagation through the micro-optical elements under realistic misalignment. The workflow includes optional steps allowing users to consider more complex configurations. As a demonstration we look at power loss through the various steps under nominal conditions and then consider non-idealized cases, customization options and complex tolerancing studies. There will be a discussion on important model settings for simulation accuracy; followed by a guide on how to analyze different alignment scenarios or employ custom optical components.
Overview
Understand the simulation workflow and key results
In photonics, coupling your signal onto and off the chip presents a unique challenge that requires precise alignment and complex packaging. Given that coupling performance is critical to the chip’s functionality, it may not be surprising that this design problem represents a significant portion of the technology cost through lost yield, overengineering and additional processing/packaging expenses. With industry trends pushing towards co-packaged optics within 3D integrated circuits, it becomes imperative to develop workflows to accurately model reliability and make economically viable design decisions.
While industry standards do not yet exist, coupling is achieved through standard devices like a grating coupler, evanescent coupler or edge coupler. Edge couplers are fabricated at the edge of the chip with an optical fiber brought into proximity and a large footprint spot size converter (SSC) to adiabatically transform the larger fiber modes into the modes of the photonic waveguides. Although there are limitations on the placement, and the size is prohibitive, these devices can offer broadband capabilities, polarization insensitivity and low insertion loss (IL). Eigenmode expansion (EME) is an efficient and accurate method to analyze guided mode optics along a consistent propagation axis and is perfectly suited for efficiently simulating SSC devices, which are often too large for FDTD.
The previous edge coupler example ( Edge coupler – Ansys Optics ) assumed perfect contact and alignment between the fiber and SSC, which is reasonable when looking at nominal IL; however, this doesn’t help understand the tolerance to misalignment or help design systems that are robust under manufacturing/packaging variations. For this reason, we have generalized the approach incorporating Zemax’s physical optics propagation (POP) tool to reliably model misalignment and analyze more complex optical systems.
Step 1: Fiber Optical Analysis in Lumerical MODE (Optional)
Solve for the modes of the fiber using FDE solver and export the fields to OpticStudio via the .ZBF format.
Step 2: Microlens Alignment in Zemax OpticStudio
In this step, we model the microlens and propagate the fields from the fiber to the edge of the chip using POP analysis tool in OpticStudio. We define the translation offset (vertical, horizontal, defocus) and rotational misalignment through parameters in lens data editor. The fields and alignment parameters are then exported for further analysis.
Step 3: Free Space to Guided Modes in Lumerical FDTD
Next, we import the fields into Lumerical FDTD and use the alignment parameters to setup a custom source. This FDTD slice allows us to define the source very generally and seamlessly move from the free space to the guided mode regime. The transmitted power is calculated, and electromagnetic fields are saved as input for the final step.
Step 4: Spot Size Converter in Lumerical MODE
EME solver is used to simulate the mode conversion process in the SSC, using the fields from FDTD, and to return final power coupling.
Run and results
Instructions for running the model and discussion of key results
Step 1: Fiber Optical Analysis in FDE
- Open the file “Step1_Fiber_Device.lms”.
- Open the script file “Step1_run_FDE_EC.lsf” and change the path in the variable “file_path” to your Zemax POP folder.
- Run the script
The file contains a FDE model of a single mode (SMF-28 ) optical fiber.
This fiber is parameterized via structure group where core radius can be defined (note that additional parameters like core/cladding index can also be added). Additional fibers can be accessed via the object library, defined via object primitives or imported CAD objects.
In the “Script File Editor” tab, we have set the file path to the project folder "./POP/BEAMFILES/" which will not exist if you have not yet extracted the Zemax Project in step 2. Alternatively, you could use the global beam files folder, typically “Documents\\Zemax\\POP\\BEAMFILES\\”. We recommend keeping the file path within either of these so that Zemax POP can read the results.
The script file will run the FDE solver and find the modes of this fiber for 1.55um wavelength. The first mode displayed in the mode list corresponds to the TE mode.
The script file exports this mode as a ZBF file. The exported file name and path can be defined by the variables “file_name” and “file_path” respectively.
For the SMF-28, the Gaussian Source in Zemax POP is comparable to the fiber modes with given mode field diameter MFD. Therefore, the FDE model in this case is an optional step; however, it is critical to solve for the modes in more exotic fibers where the modes become quite different from a standard Gaussian.
Step 2: Microlens Alignment in Zemax OpticStudio Physical Optics Propagation (POP)
- Open the file Step2_FiberEC_Misalignment.zprj with Ansys Zemax OpticStudio.
- Save the file edgecoup_zbf_mode.zbf using POP's analysis window setting "Save Output Beam To:"
This article assumes some understanding of the operation of POP. For newer users of the analysis, they are encouraged to refer to the article Exploring Physical Optics Propagation (POP) in OpticStudio – Knowledgebase (zemax.com) .
This Zemax project file will extract the OpticStudio session. By default, the restoration will use the project folder as the file source. In Lumerical script we assumed this to be the case so simply click OK through the restoration window, or update according to your preferences.
The Lens Data Editor (LDE) of the attached OpticStudio model is set up to define:
- The fiber emission surface (Surface 1)
- A virtual surface close to the fiber emission plane (Surface 2), which has been defined through the Surface Properties to perform a resampling of the .ZBF data array. This helps to create a guard band around the electric field from FDE solver. For additional discussion on this setting, refer to the Important model settings section.
- The microlens, applied to the face of the fiber (Surfaces 3-4)
- Misalignment for the decenter of the combined fiber and microlens (Surfaces 6-7)
Note: These surfaces also supports tip/tilt misalignment of the fiber. The fiber and microlens assembly in this embodiment applies the tip/tilt misalignment to pivot about the surface vertex (surface’s center point) of the fiber emission plane. Use of this misalignment is not leveraged in these steps, but some discussion can be found in the Taking the model further section.
- A final propagation from the rear vertex of the microlens to the SSC plane (Surface 9)
The decenter translational misalignment of fiber+microlens is defined through Surface 7, Parameters Decenter X and Decenter Y. The defocus (microlens-chip distance) of the fiber+microlens to the SSC plane is captured with the Surface 9 Parameter Thickness .
Now, we verify the settings of the Physical Optics Propagation (POP) analysis. The POP analysis can read arbitrary .ZBF files as input beams to propagate through a lens system. This is done by going to the POP settings and selecting in the Beam Definition tab:
- Beam Type: “File”
- File: [FileName.ZBF] (“fiber_ZBF_mode.zbf” for this example)
Alternatively, one could specify the Beam Type as Gaussian Waist with known waist or use one of the other options.
The beam is propagated starting from the POP…General tab…Start Surface through …End Surface.
In order to provide the beam file back to Lumerical for Step 3, a new .ZBF file must be saved at the End Surface position. This is accomplished by the setting POP…Display tab…Save Output Beam To:. This setting must be checked on, and then the user can input a file name. The saved .ZBF file representing the electric field at the SSC plane will be stored in the {Zemax}\POP\BEAMFILES\ folder.
Note that depending on your preferences saved under ‘OpticStudio Preferences’, the POP folder can be in the same folder as the project file or in the default location in ‘Documents’ irrespective of what option you chose when extracting the OpticStudio project.
Re-run the open POP window. Each time the POP analysis is executed, it will store the .ZBF file as defined in your Display tab . Note that it will always save to the name as dictated in the text box for Save Output Beam To: , so users will either need to change the name in this text box or the name in your Windows File Explorer if intending to hand-off .ZBF information from unique setups, such as from different misalignments.
It is good practice to evaluate propagation data to ensure accurate results. One approach is to open the Prop Report tab in the Physical Optics Propagation analysis window. This tab provides text-based, surface-by-surface information regarding the propagation of the field itself as well as generates warning messages for reference of the user. For instance, the below image shows a warning where the transfer function at a surface in a POP analysis has “too many waves of phase,” meaning there may be significant aberrations present in the model which would limit the accuracy of the POP routine.
Users can also look directly at the surface-specific data array representing the electric field of the beam through the propagation run. This functionality is enabled when ticking on POP…Display Tab…Save Beam At All Surfaces:
After the completion of a POP analysis, .ZBF files are created for each surface, and they can be opened via the Analyze tab…Beam File Viewer tool. In the settings of the tool, users can select their .ZBF file of interest, which will have the syntax [edgecoup_zbf_mode]_nnnn_1.zbf , where the name in ‘[]’ is based on the textbox prior to this setting, and nnnn refers to the surface number where the .ZBF data was stored.
For further details on troubleshooting POP results, please refer to the following Knowledgebase article series covering the tool in detail:
- Using Physical Optics Propagation (POP), Part 1: Inspecting the beams
- Using Physical Optics Propagation (POP), Part 2: Inspecting the beam intensities
- Using Physical Optics Propagation (POP), Part 3: Inspecting the beam phases
To summarize relevant data needed for the next step in the workflow within the OpticStudio user interface, the Merit Function Editor (MFE) is pre-defined with operands to report specific data about the beam intercept at the final plane, transmission of the beam through the optical system, and k-vectors of the central ray of the beam.
MFE for a system with Surface 6 ‘Tilt About X’ = 2 degrees and ‘Tilt About Y’ = 1 degree.
- Rows 1-2 REAX/REAY operands report the central ray’s X/Y intercept at the SSC plane (Image surface)
- Rows 3-4 POPD operands report the input and output power (in watts) of the injected mode
> It should be noted that the input power was set to 1 W in the POP analysis. - Rows 5-6 POPD operands report the X and Y beam width of the field at the SSC plane as measured by POP
- Row 7 DIVI operand takes the ratio of the input and output power rows
- Rows 8-9 ZPLM operands uses a ZPL (Zemax Programming Language) macro written for this article to report the central ray’s kx and ky vectors to enable projection calculations of this beam
To export these results copy the FiberToEdge_OpticStudioResults.zpl file to either your project or systems MACROS folder. From the Programming tab open the Macro List and run the above ZPL file, you may need to refresh this list after copying the file. After a few second you should receive an update that the text file was written to the project folder.
Step 3: Free Space to Guided Modes FDTD
- Open the file “Step3_Coupling_FDTD.fsp”.
- In the “Script File Editor” tab, open the script file “Step3_run_FDTD_EC.lsf” and set the path in the variable “file_path” to your Zemax POP folder, usually in “User\\Documents\\Zemax\\POP\\BEAMFILES\\”. Note: if you are copying the path to your POP folder into the script, make sure to replace ‘\’ with ‘\\’ to ensure that the script works properly without error.
- Run the script file.
The file contains the FDTD model of the interface spot size converter, after propagation through free space.
The geometric set-up consists of a large oxide ridge, with some nitride layers, and single mode mode silicon waveguide on insulator.
The script will import the ZBF fields from Zemax OpticStudio, as well as the important alignment parameters from the text file written in step 2. These arrays and values are used to define an equivalent source to the fields at the output of POP simulation.
It is important to note that the Lumerical and Zemax use different coordinate systems. The variables “x_off” and “y_off” in the script file will displace the FDTD import source in horizontal and vertical sense respectively and correspond to “Decenter X” and “Decenter Y” from “Surface 8” in OpticStudio. The small angle tilt parameters kx and ky are discussed in taking the model further section, but are not used here.
After building the source the script then will run the FDTD file and propagate from free space to just inside the edge of the chip. The fields are captured by the monitor “T”, and the script will save the E, and H fields in a MAT file for the next step.
Step 4: Spot Size Converter in EME
- Open the file “Step4_EdgeCoupler.lms”.
- Run Step4_run_EME_EC.lsf
The file contains the same geometry as the FDTD simulation which was taken from the Edge coupler spot size converter example. We have made a few modifications to make it more general which comes at the cost of additional computational overhead. For more information see the EME convergence in EME.
This script will load the fields from the last step in port 1, plot them for validation and then run the simulation. The simulation has been modified to be accurate under most alignment inputs, at the expense of being less computationally efficient. This may take an hour to run. Once it has run it will print the power loss in the lens system, at the interface and the loss in the SSC, as well as the total combined power loss.
Important model settings
Description of important objects and settings used in this model
POP Sampling :
The workflow involves importing and exporting ZBF data of the electric field. When the ZBF file is exported from Lumerical there is a resampling since POP requires
- arrays with uniform spatial sampling
- size (n,n), n is a power of 2
- center point at 0.5*n+1
In FDE, the optical fiber modes are found using metal boundary conditions which are sufficiently far away to not affect the mode profile; however, this separation does not provide enough of a guard band for POP. We pre-emptively define a surface in the LDE to resample the injected mode using the LDE…Surface Properties and create a guard band around the beam (Surface 2) to avoid any diffraction artifacts this may produce. For more information, please check the article ZBF Import/Export .
FDTD Modelling of the Interface :
FDTD is a general implementation of Maxwells equation and is used in this workflow to avoid challenges EME has in non-normal free space propagation calculations. Given that in most cases the input light will not necessarily have a k vector perfectly aligned with propagation axis, we included FDTD to help model the physics at the interface.
EME Settings and Convergence Testing :
In most cases the light will not be symmetric about SSC’s axis of symmetry, so we have disabled the symmetry boundary conditions. Enforcing symmetry is helpful in EME to reduce the number of modes in the basis and the overall simulation volume. This means we need to double the number of modes in all cell groups, and each calculation will be 2x longer. This adds some unavoidable additional computational requirements, and this step will take about 1 hour depending on the computer you use.
To avoid further computational requirements and convergence challenges, we have removed the silicon substrate, that would be present in most SOI wafers. In many cases, light scattered into the Si substrate would be a significant loss channel and should be considered.
For EME simulations, there are several factors that can affect convergence:
- The number of cells used
- The resolution of the transverse mesh
- The number of modes used
Ideally, we want to get to the point where increasing any of these properties has negligible impact on results. A script can be used to loop over different number of modes, cells or transverse mesh in an automated way. Also, it can be useful to look at the coefficients of forward propagating modes. This will show which higher order modes are used when propagating.
Updating the model with your parameters
Instructions for updating the model based on your device parameters.
- Updating the workflow for different fibers and optical modes: To use the workflow with a different fiber, update the Step1_Fiber_Device.lms file and replace the ‘SMF-28’ structure group with the geometry of the intended fiber. Note that you may need to update the geometry and properties of the ‘FDE’ solver object as well as the ‘mesh’ object. To record the desired mode into the ZBF file, edit the Step1_run_FDE_EC.lsf script file to collect the electric field profile (E_p1 or E_p2) from the right mode.
- Designing with different lenses or with a combination of lenses: The OpticStudio project file, Step2_fiber_to_edgecoup.zmx can be updated to include a different type of lens or a combination of lenses. This can be done by adding or editing surfaces in the lens data editor (LDE). For example, the radius of curvature of the microlens can be edited via the ‘Radius’ value of Surface 5.
- Updating the design of the Spot Size Converter: To use the workflow with a different spot size converter, edit the Step4_Edge_Coupler_No_Substrate.lms project file and replace the ‘taper’ structure group with the geometry of your own spot size converter. Note that the geometry and properties of the ‘EME’ solver object and its Ports (port_1, port_2) may need to be updated accordingly.
Taking the model further
Information and tips for users that want to further customize the model
Modeling misalignment of tip/tilt of fiber
While the projects files in this workflow have been set up to model misalignments of the interconnect system through offsets in the X, Y, and Z axes, the files are also set up to support misalignment due to tilt. The tilt misalignment of the fiber+microlens about the X and Y axes are captured through Surface 6, via Parameters Tilt About X and Tilt About Y. When introducing tilt error into this workflow, there are additional considerations the user should keep in mind.
The operation of POP is such that when a beam is saved on the End Surface of the POP Settings, the plane that the data array is saved on is orthogonal to the central (chief) ray of the field point used to propagate the beam. Due to the tilt errors, this means that the angle of incidence of this chief ray on the final SSC plane is non-zero.
For misalignments involving a beam arriving tilted on the SSC plane, there is a need to project this array’s orientation (now at a tilt relative to the SSC plane) to be coplanar with the SSC face to facilitate the data handoff to Lumerical FDTD. This is accomplished, for small angles, by adding additional phase factor kx, and ky to the fields, based on the projection of the Chief central ray k onto n the normal vector of the edge of the chip. For larger angles a proper coordinate transformation may be required.
Workflow automation
Both Ansys OpticStudio and Ansys Lumerical solvers have integration with Ansys optiSLang , a tool specifically designed for workflow automation and design optimization. We can use these integrations to automate the workflow presented above. By using the Parameteric System in optiSLang, we can add necessary Lumerical and OpticStudio modules one after another and set up the flow of data between them.
Design parameters defined in the individual project files can then be accessed by optiSLang and used as parameters of a parametric system which can be encapsulated in subsequent sensitivity analysis and optimization modules. Sophisticated design campaigns will likely consider many possible designs, alignment scenarios and various complex metrics like total yield under standard distributions. Optislang methods would help in these cases through more efficient simulation analysis using machine learning, intelligent design of experiments using statistical methods and multi-objective optimization. For relevant examples see:
- Optimizing Traveling Wave MZM - optiSLang Interoperability – Ansys Optics
- Optimization of an Exit Pupil Expander with 1D gratings – Ansys Optics
Additional Resources
Additional documentation, examples and training material
Related Publications
- Martin Papes, Pavel Cheben, Daniel Benedikovic, Jens H. Schmid, James Pond, Robert Halir, Alejandro Ortega-Moñux, Gonzalo Wangüemert-Pérez, Winnie N. Ye, Dan-Xia Xu, Siegfried Janz, Milan Dado, and Vladimír Vašinek, “Fiber-chip edge coupler with large mode size for silicon photonic wire waveguides”, Optics Express, Vol. 24, Issue 5, pp. 5026-5038, (2016)
See Also
- Grating coupler – Ansys Optics
- Edge coupler – Ansys Optics
- Coupling between PC and SMF fibers using Zemax interoperability
- ZBF Import\Export – Ansys Optics
- Integrated microlens and grating coupler for photonic integrated circuits