Please enable JavaScript to view this site.

Application Gallery

Navigation: » No topics above this level «

Zemax Interoperability - Planar OLED

Scroll Prev Top Next More

cover_picture_zemax-interoperability-planar-oled_zoom33Optimize the dipole position in a planar OLED geometry using stackfield script command. Then calculate the power per unit solid angle as a function of angle for red, green, and blue light using stackdipole script command and export the ray results. Finally, import the results into Zemax OpticStudio and visualize the farfield results of an arbitrary array of OLED sources.

Files and Required Products




STACK Zemax Interoperability


Minimum product version: 2019a r1



Run and results

Important model settings

Updating the model with your parameters

Taking the model further

Additional resources


Understand the simulation workflow and key results


While some OLED designs use scattering structures to improve the extraction efficiency, optimizing such devices are computationally expensive and not recommended as the initial step. A more efficient approach is to start with a planar OLED or a multilayer stack using the Stack optical solver.

We show how to use the Lumerical's Stack Optical Solver for planar OLEDs. Using stackfield, we can optimize the position of a dipole inside OLED design. The farfield raysets then can be generated using stackdipole script command. Finally results will be imported into Zemax OpticStudio as raysets that can be used to study the incoherent emission from a macroscopic device. A Zemax OpticStudio Interoperability license is required to run the provided script used for generating raysets.

Step 1: Determine dipole position within active layer 

The electric field profile inside a multilayer stack injected by a plane wave can be obtained using stackfield script command. An optimal dipole position is the maximum of electric filed in the active layer region to enhance the rate of spontaneous emission. 

Step 2: Calculate power per unit solid angle

The stackdipole script command is used to calculate the far field power density of the OLED stack for red, green and blue emission spectrums. The results are saved into a .dat file that can be imported into OpticStudio.

Step 3: Ray tracing in OpticStudio

Import the results into OpticStudio using the Source File to propagate the rays. The incoherent superposition of the far fields from three sources are calculated for a 30×1 array.

Run and results

Instructions for running the model and discussion of key results

Step 1: Determine dipole position within active layer 

1.Copy and paste the script below in your script file editor and run it:


clear; closeall;

f_red = c/625e-9;

f_green = c/525e-9;

f_blue = c/460e-9;

f = [f_blue; f_green; f_red];


n = [1.5; 2.13; 1.87; 1.94; 1.75; 0.644+5.28i]; # define the layer indices

d = [0; 0.09; 0.177; 0.048; 0.029; 0]*1e-6; # define the layer thickness

theta = 0;


field = stackfield(n,d,f,theta); # calculate the field profile in the stack layer

Es = pinch(field.Es,6,2); #extracting the y-component of Es. This value might be different for other polarizations

plot(field.z*1e6,abs(pinch(pinch(Es,4,1))),abs(pinch(pinch(Es,4,2))),abs(pinch(pinch(Es,4,3))),"z (um)","E","Electric field within stack");

legend("460 nm","525 nm", "625 nm");

The dielectric stack geometry in ref. [1] consists of six layers with n = 1.5 : 2.13 : 1.87 : 1.94 : 1.75 : 0.644+5.28i is shown below. While both FDTD simulations and the stackfield command can be used to calculate the electric field distribution inside this geometry, stackfield is much more efficient for multilayer geometries, especially when a large number of simulations are required.


To calculate electric field distribution using the stackfield command, the refractive index and thickness of these layers as well as source wavelength and injection angles are given as input to stackfield. This is equivalent to running a 1D simulation (with one mesh cell along the x- and z-axis) with a plane wave source traveling along y-axis.


Step 2:  Calculate power per unit solid angle

1.Download the zemax_rayset_write_v1.lsfx and Zemax-interoperability-planar-OLED.lsf in the same directory.

2.Open Zemax-interoperability-planar-OLED.lsf and run it.

The script will use the stackdipole script command to calculate the far field power density of the OLED stack for red, green and blue emission spectrums (see image below). We use a single unpolarized dipole that is located at the center of active region to extract power density for all three light frequencies. This result is used to generate 3 raysets and saved into a format that can be imported into OpticStudio. As can be seen in the image below, the red pixel shows a large power per unit solid angle at steep angles.


 Step 3: Ray tracing in OpticStudio

1.Place the .dat files containing the raysets in the Zemax\Objects\Sources\Source Files folder

2.Inside of the Non-Sequential component editor, use three Source File objects and select the corresponding raysets for each of the three exported sources from Lumerical

3.From the object properties of the Source File, navigate to the sources tab and choose a rectangular array type, specifying a 30 x 1 array. This must be done individually for each Source File

4. Set the randomize parameter for each Source File in the Non-Sequential component editor to 1, in order to randomize the rays and set the number of analysis rays to 50,000 for each source

5.Run a ray trace using ray splitting, say scattering, polarization, and having errors ignored.

Once the ray trace is run, looking at the detector viewer shows the illuminance on the detector as seen by the human eye. In this case the three different sources used mix to form white light. Additionally, in the shaded model of the entire device, layout rays can be added to view a smaller number of rays from the source file.



Important model settings

Description of important objects and settings used in this model

Layer thickness: In stack script commands, Z=0 means the bottom of the stack layer, and for the top and bottom layers we consider a thickness of 0. If a larger value is used, the results will be calculated further from the interface. For non-lossy materials, this will not affect the reflected and transmitted power, but it will change phase of the complex coefficients.


Dipole position: We can use more than one dipole in single simulations, and thus the dipole position can be a size of Ndipoles.


Dipole orientation: Orientation of a dipole can be set to be unpolarized or polarized. The size is Ndipoles and thus a combination of polarizations can be set for different dipoles.

Updating the model with your parameters

Instructions for updating the model based on your device parameters

Geometry update: The OLED geometry can be easily updated for new designs. The changes have to be made in first and second steps to optimize the dipole position and extract raysets for the new geometry.

Taking the model further

Information and tips for users that want to further customize the model

Patterned OLED: Once the optimal stack geometry is determined, one can further optimize the device by introducing scattering structures like gratings and performing FDTD simulations as shown in the patterned OLED examples. The farfield results of patterned OLED then can be imported into Zemax.

Additional resources

Additional documentation, examples and training material

Related KB page: Zemax

Related KX page

Zemax Knowledgebase article containing base LED geometry and setup

Related publication: Seung Hwan Ko, "Organic Light Emitting Diode - Material, Process and Devices", (2011), DOI: 10.5772/19292. see chapter 10,  "Micro-cavity in organic light-emitting diode" by Young-Gu Ju.

Lumerical University courses:


Copyright Lumerical Inc. | Privacy | Site Map