Liquid crystals (LCs) are widely used in LCD TVs and displays because their molecular orientation can be electrically controlled to modulate light. Accurate simulation of LC behavior is therefore important for predicting display performance.
In this work, we use Lumerical STACK solver to simulate an LC with spatially varying orientations and export the results. This allows each pixel to have a unique LC state. The results are imported into Speos to validate the optical response.
Overview
Understand the simulation workflow and key results
In this example we will use Lumerical Sub-Wavelength Model: How to Simulate a Grating with Spatial Variations – Ansys Optics to simulate the liquid crystal (LC) state at the pixel level by constructing a spatial map in which each pixel is assigned a specific LC rotation angle. This rotation directly controls the transmitted brightness, with 0° corresponding to black (no light transmission), 90° corresponding to maximum brightness, and intermediate angles producing proportional brightness levels.
Within this framework, such binary spatial mask is constructed to form an “LCD” logo across a 120mm*60mm display. All pixels belonging to the logo are set to 0° LC rotation, ensuring they appear black regardless of their position or color pixel.
In addition to the logo, the display incorporates horizontal brightness gradients that vary differently for each color pixel. Moving from left to right, red pixels gradually increase in brightness, starting from black on the left (0° LC rotation) and reaching maximum brightness on the right (90° LC rotation). Green pixels follow a symmetric profile: their brightness increases from black on the left to a maximum at the center of the screen, and then decreases back to black toward the right, corresponding to an LC rotation that increases to 90° at mid-screen and then decreases again. Blue pixels exhibit the opposite behavior of red, starting at maximum brightness on the left (90° LC rotation) and decreasing linearly to black on the right (0° LC rotation).
The final result can be represented as a 2D map, as shown in the following figure, where each pixel is assigned to a value describing its LC state. In this map, a value of 1 corresponds to 0° LC rotation (black), while the maximum value corresponds to 90° LC rotation (maximum brightness), with intermediate values representing the full range of LC orientations in between.
Step 1. Run and export results of the LC map
In this step, we first generate the spatial map defining the different LC rotation states for each pixel. Based on these states, we perform simulations using STACK solver to compute the corresponding transmission and reflection for each LC configuration, evaluating multiple wavelength points as well as different θ and φ angles of incidence. The results are exported to a JSON file format for use in Speos.
Step 2. Validate and visualize results in Speos
In this step, the exported JSON file is imported into Speos and mapped to a defined surface using the Lumerical Sub-Wavelength Plugin. Since the JSON file only controls the transmittance of the liquid crystal layer beneath the display panel, an additional pigment-based RGB display layer is constructed above it to enable full-color visualization. Consequently, liquid crystal pixels oriented at 90°, corresponding to maximum brightness, illuminate the associated RGB pixels in the upper display layer.
Run and Results
Instructions for running the model and discussion of key results
Step 1: Run and export results of the LC map
- Open and run the Generate_JSON_XY_map_gradual_LCD.lsf script file. The script will create the LC map and will run STACK solver for all combinations of incident theta and phi angles and for all specified frequency points.
| Note: The script might require several minutes to run depending on the number of wavelengths and incident angles. |
To illustrate the polarization conversion, we present two representative cases corresponding to 0° and 90° LC rotation. The analysis is based on the complex transmission coefficients obtained from the STACK solver. For an incident p-polarized wave, the transmitted field is described by the co-polarized component t pp and the cross-polarized component t ps , with the transmitted power given by | t pp | 2 and | t ps | 2 , respectively.
For the 0° LC rotation case, | t ps | 2 remains negligible, indicating that no polarization conversion occurs and the transmitted light largely preserves its initial p-polarization (| t pp | 2 ≈ 1).
In contrast, for the 90° LC rotation case, a significant | t ps | 2 component is observed, demonstrating efficient conversion from p- to s-polarization. This clearly highlights the polarization-rotating effect introduced by the twisted LC configuration at higher rotation angles.
The LC data and map are exported to a JSON file format for use in the next step.
Step 2: Validate and visualize results in Speos
- Open the LCD_Display.scdocx project file and create a material with the volume optical property set to None. Enable the texture option and assign the surface optical property as Plugin. Then, import the JSON file generated in Step 1 and link it to the surface body named LC. Finally, run the direct simulation.
Each display pixel consists of three or more subpixels, typically red, green, and blue (RGB). In the resulting image, the left side of the screen shows a brighter blue subpixel compared to the red and green ones. This occurs because the liquid crystal beneath the blue subpixel is fully open, while those under the red and green subpixels are closed. In contrast, at the center of the screen, all three subpixels have equal brightness, producing a mixed color.
Important model settings
Description of important objects and settings used in this model
Lumerical model setting
Number of LC layers
One critical parameter is the number of layers used in the STACK solver to represent the LC medium. Since the LC director rotates continuously from one orientation (e.g., aligned with the x-axis) at the bottom of the layer to another (e.g., y-axis) at the top, a sufficiently large number of layers is required to accurately approximate this gradual rotation of the permittivity tensor. Using too few layers would result in a coarse, step-like approximation, reducing the accuracy of the polarization and transmission calculations.
Pixel Refinement
A key consideration arises from how the effective grating region is constructed from the sampled grid points. If the distance between two sampling points is D , each point represents a rectangular region of size D centered around it. However, for grid points located at the boundaries, these regions are effectively truncated, as part of the rectangle falls outside the defined domain. This results in edge pixels covering only half (or a fraction) of their intended area, as illustrated in the figure below.
To mitigate this issue, a refinement approach is introduced. While the LC map is initially defined using the actual display pixel resolution, each pixel is subsequently subdivided into a finer set of sub-points (e.g., using a refinement factor of 50). All sub-points retain the same LC state as the original pixel, but this finer discretization significantly reduces the impact of edge truncation and improves the accuracy of the effective LC representation.
| Note: Increasing the refinement factor will also increase the size of the exported JSON file. |
Permittivity rotation
The STACK solver assumes that the plane of incidence is fixed in the xz plane (i.e., φ = 0). To evaluate the response of anisotropic layers for light incident at a non-zero azimuthal angle φ , an equivalent transformation is applied by rotating the optic axis - i.e., the permittivity tensor - of the material by an angle of − φ .
Speos model setting
Sensor colorimetric and spectral sampling
It is important to ensure that the sensor colorimetric or spectral sampling settings match those defined in STACK. Consistent sampling is essential for accurate simulation results.
Material property UV mapping
UV mapping must be enabled on the surface to which the plugin is assigned. UV mapping information is used to determine the upward and downward directions when applying the JSON file. Note that the spatial distribution of the JSON data is defined internally within the JSON file itself. Therefore, the scale factor applied in Speos UV mapping does not affect the spatial distribution of the JSON mapping.
Display color-filter/pigment layout
Each subpixel is illuminated as an effect of combing the liquid crystal and color filter, it is important to align the liquid crystal and color filter in the spatial position. If liquid crystal is not perfectly aligned with the color filter pixel, color leakage is caused.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
Customized materials
The model uses non-dispersive materials by default. Users can define additional materials with either dispersive or non-dispersive properties. Furthermore, new materials can be added to the material database, which supports only diagonal permittivity tensors. More information can be found in Creating anisotropic optical materials in FDTD and MODE – Ansys Optics.
Polarizer Modeling
Although built-in linear polarizers from Speos are used in this model, users can alternatively simulate realistic linear polarizers using Lumerical STACK solver. The resulting transmission characteristics can then be exported and integrated into Speos, enabling a more physically accurate representation of polarizer behavior.
Additional Resources
Additional documentation, examples and training material
See Also
- Polarization properties of twisted nematic liquid crystal – Ansys Optics
- STACK Optical Solver Overview
- stackrt - Script command
- Lumerical Sub-Wavelength Model: How to Simulate a Grating with Spatial Variations – Ansys Optics
- High-Resolution OLED Modeling with 2D Spatially Varying RGB Intensity