As of 2025R1, the RCWA solver in Ansys Lumerical FDTD™ supports repeated layers for efficient simulations of large periodic structures such as volume holographic gratings. When layer repetition is enabled, the solver exploits periodic properties of the layers internally, enabling fast simulations. This page describes the process of setting up layer repetitions and its current limitations. For a detailed example on the application of the layer repetition functionality, see the volume holographic grating example.
Layer Repetition
When the layer repetition function is enabled, the solver will repeat a defined geometric entity, either a fixed number of times, or automatically calculated based on thickness. Both integer and non-integer multiples of layer repetition is allowed. In the case of a non-integer multiple, the layer will be sliced appropriately. The unit cell of repetition can be any geometric object with arbitrary definition of refractive index grading, allowing you to define a large range of periodic structures based on your simulation needs.
In addition, non-repeating layers can be defined surrounding the repeated section, and multiple repeating patterns can be defined as needed by your simulation.
A diagram is shown below illustrating the repetition of a single graded index layer, repeated N+0.5 times, and with two non-repeating layers on the top and bottom of the structure. Colors in the layer represent the refractive index of the material.
Setup and Properties
To set up layer repetition:
- Create geometric objects for simulation, all geometric objects support repetition.
Note: The repetition will be on the propagation axis selected in the “General” tab.
- In the “Interfaces” Tab of the RCWA Simulation Object, select “interface reference positions”, and select the layer repetition type. The meaning of each type can be found in the RCWA Simulation Object Knowledge Base Article and is repeated below. The selected type will apply to all layers.
Note: Layer repetition is not available for the “absolute reference positions” mode.
The layer repetition types are as follows:
- NONE: Disable layer repetition.
- MULTIPLE: Define the number of times the select object is to be repeated, both integer and decimal are supported.
- THICKNESS: Define the total thickness of the layer.
- Set repetition parameter (either multiple or thickness) in the table depending on the repetition type, the other parameter is automatically calculated.
Layer repetition settings have now been applied to the structure, and you can proceed with simulation.
Note: Viewport will not show this repetition visually, see the section below on simulation and display thicknesses for more information
Script Access
The layer repetition options can be accessed via script similarly to other options in the interface menu.
To access the layer repetition options in the table, a structure with fields “multiple” and “thickness” is needed. The fields are both optional, and fields not in use by the current repetition mode, e.g., “thickness” while “Multiple” is used as the repetition mode, will be ignored.
Example
setnamed("RCWA","layer repetition","multiple"); # set the layer repetition mode to multiple
interfaces = {{"::model::rectangle","max",10, {"multiple":20, "thickness": 20}},{"::model::rectangle","min",1,{"multiple":1}}}; #Here, the first “thickness” value will be ignored, because the mode is set to multiple
setnamed("RCWA","interface reference positions",interfaces);
Simulation and Display Thicknesses
When repetition is turned on, the simulation is conducted in a different domain than what is displayed in the view port and the object properties. While the simulation is conducted for the entirety of the repeated structure, the view port and the object properties will only display graphics and values corresponding to the single geometric object defined to be repeated.
To differentiate these two domains, the term “simulation z-span” and “simulation z-max” is used. Note that while the term “z” is used, the simulation span always refers to the axis of repetition and propagation, see example below.
Example
Consider a rectangular structure with a length of 1 μm in x, 2 μm in y, and 0.5 μm in z, repeated 10 times. The RCWA simulation domain is made to be bounding exactly the rectangle.
The simulation and display thicknesses are as follows:
Axis of Propagation | Simulation Spans | Display Spans |
z |
x: 1 μm y: 2 μm z: 5 μm |
x: 1 μm y: 2 μm z: 0.5 μm |
x |
x:10 μm y: 2 μm z: 0.5 μm |
x: 1 μm y: 2 μm z: 0.5 μm |
y |
x: 10 μm y: 2 μm z: 0.5 μm |
x: 1 μm y: 2 μm z: 0.5 μm |
The simulation thickness of the RCWA object can be found under the geometry tab, if the repetition mode is set to an option other than “none”. This property can also be obtained from script using the getnamed command.
Note: Attempting to get “simulation z span” and “simulation z max” while layer repetition is set to “none” will give erroneous values.
Current Limitations
When repetition is turned on, i.e., when the layer repetition option set to anything except for “none”, the following features are not supported and will result in an error:
- RCWA field monitors.
- Reporting of refractive index from RCWA object.
- Using or reporting of tangent vector field from RCWA object.
- Non-orthogonal lattice vectors – if “lattice angle” is set to anything except for 90 degrees.
- LI factorization functionality in the RCWA object.
See Also
RCWA Solver - Simulation Object, Application Gallery - Volume Holographic Grating