This example demonstrates how Lumerical STACK and optiSLang can be combined to optimize the geometry of a planar OLED structure against multiple figures of merit (FOMs). The thicknesses of the OLED layers are optimized to maximize the optical efficiency, color coverage, and minimize the color shift with viewing angle.
This example is based on the simulation shown in the webinar “Optimize Your Display with Ansys optiSLang, Lumerical and Speos”, available for free on our website. Please see that webinar for more details on this simulation workflow. The SPEOS portion of the workflow is not included in this example at the moment.
The OLED design is from [1]. This OLED design is also used in the Planar OLED Microcavities - Color Shift and Extraction Efficiency example.
A step-by-step walkthrough for setting up this optiSLang workflow from scratch can be found in the Ansys Learning Hub here: Tutorial: Optimization of a planar OLED using Ansys optiSLang and Ansys Lumerical .
Overview
Understand the simulation workflow and key results
In this example, Lumerical STACK is used for the simulation of the light emission from the OLED stack and optiSLang is used for the optimization of the structure. The STACK simulation results are also exported in a format that can be imported by Ansys SPEOS for device visualization and photometric analysis.
First, a STACK simulation is created that calculates the emission from an OLED stack over visible wavelengths and all emission angles. From the emission properties returned by STACK, the performance metrics are calculated as a function of the layer thickness parameters.
Next, optiSLang runs many iterations of this scripted calculation while varying the parameters. Sensitivity analysis is performed to determine the most important parameters and a metamodel is created with a reduced number of input parameters. Last, optiSLang runs an optimization to determine a range of optimum parameter sets.
Step 1: Run STACK Simulation
To demonstrate the results of the STACK simulation, an individual simulation is run from Lumerical FDTD and the results are plotted.
Step 2: Generate Metamodel in optiSLang
The optiSLang optimization file consists of three main modules. First, there is the Parametric solver system which relates the parameters to the FOMs. In this example, this is done by providing the STACK simulation script and an FDTD file with the material data.
Afterward, a sensitivity wizard is applied to the system to create the metamodel module (here named "AMOP"). Running this module will run the STACK simulation as many times as specified in its settings and will obtain the results for the corresponding inputs.
Step 3: Optimization in optiSLang
Finally, the optimization wizard is used to find the best results as a function of chosen inputs. In this example, optimization is done with the STACK simulation files due to the large nonlinearities in the metamodel. Here the corresponding optimization module is named "global_dir_Evolutionary Algorithm".
Additional tips for working with the project files and handling the prompts in optiSLang is provided in the Appendix.
Run and Results
Instructions for running the model and discussion of key results
Step 1: Run STACK Simulation
- Open the file oled_simulation.fsp in Lumerical FDTD.
- Run the script file oled_simulation_script.lsf .
The script file defines helper functions for running the STACK simulation, calculating the FOMs, and converting the rayset results into a format suitable for import into Ansys SPEOS.
The parameters and results used by optiSLang are defined with the
listScriptParameters
and the
listScriptResults
functions, respectively. The FOMs are calculated from the input parameters in the
computeScriptResults
function. These exact function signatures must be used for the interoperability between Lumerical and optiSLang. For more information on the optiSLang-Lumerical integration see the
integration documentation
.
When the script is run, the FOMs are calculated for the specified design inputs and printed to the Script Prompt. In this optimization we have defined performance metrics for the extraction efficiency (EQE), color representation (CGC), and viewing angle color distortion (MCS). For more information on the definition of these FOMs please see the Appendix.
The CGC and MCS can be visualized in a CIE 1976 chromaticity diagram. The CGC is the gamut coverage or color span for these RGB pixels at normal incidence relative to a standard display gamut:
From this plot we can see that the color gamut of the initial OLED design has fairly poor overlap with the target D65-P3 gamut.
The MCS is the shift in color coordinate of each pixel as the viewing angle is rotated up to 60 degrees:
In this plot, we can see a significant shift in the red and green pixels for this initial design.
Step 2: Generate Metamodel in optiSLang
- Open the file oled_optimization.opf in optiSLang.
- Double click the "AMOP" module to view its settings. This is the metamodel sampler which specifies settings such as optimization parameters, criteria, and the number of samples.
- Go back to Scenery, right-click on the "AMOP" module, and select Show Postprocessing . The file already contains the results for this metamodel.
In the postprocessing results of the AMOP module the model quality is reported in the CoP matrix:
We can see that the D1, D2, and D3 layer thicknesses are the most critical parameters for the three FOMs. Parameters D4, D5, D6, D8, and D10 have a negligible effect on the FOMs and can be neglected in the optimization.
Clicking on each of these values also updates the 3D surface plot, representing the dependency of the metamodel outputs on the specified inputs. For example, clicking on the EQE Total value in the middle row of the "Total" column displays this plot:
The linear correlation matrix of the various parameters and results is also shown in the postprocessing results:
We can see that there is a very high negative correlation of -0.75 between the MCS and CGC results. Due to this high correlation, these FOMs can be combined into a single FOM, equal to (MCS - CGC)/10. This new FOM will be minimized along with the EQE FOM in the optimization step.
Step 3: Run Optimization in optiSLang
- Double click on the "global_dir_Evolutionary Algorithm" module. The settings for this module including the optimization method, maximum number of samples, and criteria are set up for this module.
- Go back to Scenery, right-click on the module, and select Show Postprocessing . The simulation file is already populated with the optimization results. The overview of all individual designs is shown in a Pareto plot (2D or 3D). The best designs with their input values can be selected here.
Due to the large nonlinearities in the metamodel results and the relatively fast STACK simulations, it is best to use actual simulations rather than the metamodel for the optimization. The "global_dir_Evolutionary Algorithm" module optimizes the FOMs by calling the STACK script to obtain the FOM for a given set of parameters. As mentioned in step 2, the MCS and CGC results are combined into one FOM, so there are two FOMs in total for this optimization.
The FOM values for the designs are shown in the Pareto plot. You can click and drag to zoom in on the Pareto front representing the optimum designs:
As there are two FOMs there is no single best design, so a range best designs are returned as the Pareto front. The user can then select the best design from the Pareto front. Clicking on the points in the Pareto plot updates the other figures with the parameter and result values for that design:
Updating the Model With Your Parameters
Instructions for updating the model based on your device parameters
Using New Input Parameters
The input parameters for optiSLang are defined in the script file
oled_optislang.lsf
in the function
listScriptParameters
. See the Scripting section of the
optiSLang-Lumerical interoperability documentation
for more information on how to use this function to define the optiSLang parameters.
Optimizing for Other Results
The results used by optiSLang are defined in the script file
oled_optislang.lsf
in the function
listScriptResults
. How the results are computed from the parameters is defined in the function
computeScriptResults
. See the Scripting section of the
optiSLang-Lumerical interoperability documentation
for more information on how to use these functions to define the optiSLang results. The optimization FOMs are defined from the simulation results in the
Criteria
tab of the evolutionary algorithm module.
Running the Project
Currently in optiSLang, the metamodel and optimization results for the given settings are stored in the project file. To apply any changes you make and obtain new optimization results, click on the run button located at top.
Additional Resources
Additional documentation, examples and training material
Related Publications
- Guanjun Tan, Jiun-Haw Lee, Sheng-Chieh Lin, Ruidong Zhu, Sang-Hun Choi, and Shin-Tson Wu, "Analysis and optimization on the angular color shift of RGB OLED displays," Opt. Express 25, 33629-33642 (2017)
See Also
- STACK GUI - OLED Device Introduction
- OLED Methodology
- Planar OLED Microcavities - Color Shift and Extraction Efficiency
- Optimizing Traveling Wave MZM - optiSLang Interoperability
- Optimizing Wire Grid Polarizer - optiSLang Interoperability
Appendix
Additional background information and theory
optiSLang Project Files
This section provides additional information about working with the OptiSLang project files, including some of the prompts when opening the project.
Updating the Launcher Directories
The directory for the Lumerical launcher can be different for each user for example depending on the installed version. For the Lumerical block in the "AMOP" module make sure the directory is selected correctly. For this go to the Settings tab and check the executable path.
Relocating the Files
When opening optiSLang you might get a prompt related to finding the associated files from other simulations. You might decide to use one of the three options (e.g. automatic or custom relocating) depending on your preferences.
Referenced Values
If the initial input values are different between the saved component level simulation and the one specified in optiSLang, you will get a prompt asking you to choose the value of interest. Choose either of the two options depending on which values you want to proceed with.
Newer Versions
You might receive a prompt stating the file has been created with a former version of optiSLang. This shouldn't pose any issues as long as you keep using the newer release of the software.
Figure of Merit Definitions
The figures of merit used in the example are defined in this section.
External Quantum Efficiency
The External Quantum Efficiency (EQE) measure of the efficiency of the device and is defined as the ratio of injected charge carriers to output photons over all viewing angles. It is defined as:
$$EQE = \int_{400nm}^{800nm}\frac{\eta(\lambda)}{I_{AlQ_3}(\lambda)}d\lambda$$
where \(\eta\) is the extraction efficiency and \(I_{AlQ_3}\) is the emission spectrum of the emitting layer. Technically EQE would include the electrical efficiency; however, we have ignored this source of loss and assumed a 25% electro-optic conversion, due to other allowed transitions that are not radiative. This is reasonable as we have used bounds to enforce layers thicknesses that would not affect charge transport significantly.
Color Gamut Coverage
The Color Gamut Coverage (CGC) is a measure of the possible range of colors that can be emitted by the OLED. The gamut of the device is the area inside the triangle with corners located at the three pixel colors in RGB u' v' coordinates in the CIE 1976 color space. We want this gamut to match an industry standard gamut, DCI-P3, as closely as possible. The CGC is defined as:
$$CGC = \frac{A_{display} \cap A_{standard}}{A_{standard}}$$
Where \(A_{display}\) is the area of the gamut of the simulated device and \(A_{standard}\) is the industry standard reference gamut DCI-P3.
Maximum Color Shift
The maximum color shift (MCS) is a measure of how much the pixel colors change as a function of the viewing angle. It is defined as the maximum Euclidean distance between the pixel color coordinates in the CIE 1976 color space as the viewing angle changes from 0 to 60 degrees.