Introduction
In this example, we use Ansys Lumerical RCWA to model a diffusive scattering film and export Bidirectional Scattering Distribution Function (BSDF) data to Speos BSDF data file format. Because the RCWA solver is significantly faster than FDTD for this type of periodic structure, it provides an efficient alternative for generating BSDF data. The results will be compared with the results calculated using Ansys Lumerical FDTD solver in Diffuse Scattering Film for Automotive Display – Ansys Optics.
Although the workflow is primarily intended for describing scattering from rough or irregular surfaces, a one-dimensional (1D) grating example is also presented for BSDF export. Moreover, for symmetric gratings, it is sufficient to simulate a single quadrant, as the results can be reconstructed and extended to the remaining quadrants for export.
Settings for the BSDF export from RCWA
To export the BSDF data, we need to enable the “report grating orders” result and disable the “return theta and phi as separate parameters when possible” before running the simulation.
Furthermore, the "propagation direction" needs to be set to "both" and the "backward definition" to "mirror k vector":
Speos BSDF export from a scattering surface
In this example, a rough surface is used to represent a scattering film, and a “super-cell” approach is applied to compute the BSDF. Since RCWA solver uses by default periodic boundary conditions and plane-wave illumination, the angular distribution of reflected and transmitted light is evaluated only for directions corresponding to the grating orders of the periodic structure. Provided that the period is sufficiently large, this approach yields adequate angular resolution.
| Note: The number of grating orders for which the results will be calculated depends on the number of k-vectors defined in the RCWA solver. Higher number of k-vectors will increase the simulation time. |
The simulation file bsdf_surface_roughness_RCWA.fsp includes a nested parameter sweep over the following parameters:
- Seed (used to reset the random number generator of the rough surface – see randreset - Script command)
- Rotation of the rough surface structure group (0 and 90 degrees)
Furthermore, the following parameters are directly set in the RCWA solver:
- Direction: forward (from the substrate to air), backward (from air to substrate)
- Angle of incidence (theta) and anisotropy (phi)
- Wavelength
- Polarization (S and P)
| Note: The script might require several minutes to run depending on the number of wavelengths and incident angles. |
The excitation parameters used are:
- Open [[bsdf_surface_roughness_RCWA.fsp]].
- Open and run [[bsdf_surface_roughness_RCWA_to_Speos.lsf]] script file.
The transmission and reflection results from RCWA are compared with the FDTD results from Diffuse Scattering Film for Automotive Display – Ansys Optics:
Reflection for backward propagation and incident θ=0°. The wavelength is λ=400nm.
Transmission for forward propagation and incident θ=60°. The wavelength is λ=400nm.
Transmission for backward propagation and incident θ=30°. The wavelength is λ=400nm.
To obtain the results presented here, the RCWA solver required significantly less computation time than FDTD. In addition, exporting results for different beam widths is more straightforward with RCWA, as the beam width is defined directly in the export script. In contrast, for FDTD, the beam width is specified in the analysis script and must be updated individually in each sweep file.
| Note: By default, FDTD accounts for all grating orders supported by the chosen simulation settings. In contrast, for RCWA, the number of grating orders computed is determined by the number of k-vectors specified in the solver. Increasing the number of k-vectors improves accuracy but also leads to longer simulation times. |
Speos BSDF export from a 1D grating
The dimensions and the refractive indices of the simulated 1D grating used as an example in this article are presented below:
To export the BSDF data we need to calculate the power in each supported grating order for the following parameters:
- Direction: forward (from bottom to top) and backward (from top to bottom) propagation
- Angle of incidence (theta) and anisotropy (phi)
- Polarization (S and P)
- Wavelength
| Note: The script might require several minutes to run depending on the number of wavelengths and incident angles. |
To export the BSDF we use the following excitation settings:
- Open and run [[1D_grating_RCWA.fsp]].
- Open and run [[1D_grating_RCWA.lsf]] script file.
An FDTD file for BSDF export of the 1D grating is also included. A comparison between the RCWA and FDTD results is shown below:
Reflection for backward propagation and incident θ=30° and φ=225°. The wavelength is λ=800nm.
Reflection for forward propagation and incident θ=10° and φ=270°. The wavelength is λ=800nm.
Since the grating is symmetric, we can simulate a single quadrant. In this case the minimum and maximum phi angle must be set to 0° and 90°, respectively:
- Open and run [[1D_grating_RCWA_symmetry.fsp]].
- Open and run [[1D_grating_RCWA_symmetry.lsf]] script file.
The results from the first quadrant are used to reconstruct the results for the other three quadrants. The results are the same as the ones retrieved from the full simulation:
Reflection for backward propagation and incident θ=30° and φ=225°. The wavelength is λ=800nm.
Reflection for forward propagation and incident θ=10° and φ=270°. The wavelength is λ=800nm.
Important model settings
Description of important objects and settings used in this model
Number of RCWA layers
A sufficient number of layers should be used to properly resolve the rough surface in RCWA and obtain accurate results. In this example 20 layers have been used, and the layer interfaces are directly defined in the top model object.
Beam width option
The export scripts process the grating simulation results by extracting angular transmission and reflection data, identifying the individual diffraction orders, and applying a Gaussian envelope to each order. This procedure introduces angular broadening and ensures that the optical energy is distributed over a finite angular range rather than being concentrated at discrete angular points.
In the script flags, a parameter named “broadening_factor” can be set to either “true” or “false”:
- Set to “false” to get the same broadening as in Diffuse Scattering Film for Automotive Display – Ansys Optics for the same “beam_width” setting.
- Set to “true” to get a gaussian broadening matching the far-field projection from periodic structures as explained in the “Important model settings” in Zemax OpticStudio Tabular BSDF data file export from Lumerical – Ansys Optics.
Additional Resources
Additional documentation, examples and training material