FDTD tutorial: 1D Bragg mirror simulation
1. Introduction
A Bragg mirror is one of the simplest and most useful structures in optics. It is made by stacking layers of high-index and low-index materials on top of each other.
The key idea is shown in ??. When light hits the structure, each interface reflects a small amount. These reflected waves can add together coherently, producing a strong overall reflection. A real structure looks like the multilayer stack shown in ??. Although each individual reflection is weak, the repeated layering allows the reflections to build up.
To make this work, the layer thicknesses are chosen carefully. In a standard quarter-wave design, each layer has an optical thickness of one quarter of a target wavelength \(\lambda_0\), so that \(n_1 d_1 = \lambda_0/4\) and \(n_2 d_2 = \lambda_0/4\). This ensures that reflections from successive layers return in phase and reinforce each other. The result is very clear in the simulation outputs. Over a certain wavelength range, the structure reflects almost all the incoming light (see ??), while very little light is transmitted through the stack (see ??).
In this tutorial, we use the Finite-Difference Time-Domain (FDTD) method to simulate a simple 1D system with the layout PML | air | Bragg stack | air | PML. A broadband pulse is launched at normal incidence, and we measure how much light is reflected and transmitted. The key takeaway is simple: a Bragg mirror is not just “many reflections”. It is a periodic optical structure in which certain wavelengths cannot propagate efficiently. This is the simplest example of a 1D photonic crystal.
2. Making a new simulation
Open the New simulation window and select the FDTD examples category (??). Then choose the 1D Bragg mirror example (??). This loads the main interface shown in ??.
3. Orienting yourself in the main window
The structure appears in the 3D view in the Device structure tab (??). In this tutorial the important part of the geometry is the 1D layering sequence: an input air region, a periodic stack of alternating dielectrics, an output air region, and absorbing PML boundaries at both ends.
For a Bragg-mirror simulation, the key parameters are the refractive indices \(n_1\) and \(n_2\), the layer thicknesses \(d_1\) and \(d_2\), the number of periods \(N\), and the free-space spacing before and after the multilayer. If the stack is designed as a quarter-wave mirror, you should expect the strongest reflection near the chosen design wavelength \(\lambda_0\).
For this example you will mainly use:
- Run simulation (▶) to start the FDTD calculation.
- Terminal tab to confirm grid spacing, timestep, wavelength range, and OpenCL device selection.
- Output tab to open snapshots, monitor files, and spectral data extracted from the time-domain run.
4. Running the simulation
snapshots/ folder and monitor outputs from here.
5. Viewing power density snapshots
Open the snapshots/ output directory (from the Output tab) to launch the snapshot viewer. Plot
the electric-field or power-density output and use the slider to step through time.
Representative snapshots are shown in
??–
??.
The first result you should look for is simple and very visual. A broadband pulse travels through the input air region, reaches the multilayer, and then reflects strongly. Only a much smaller field penetrates into the periodic structure. This already shows the transition from “single reflection” to “many coherent reflections” in a way that is easy to see directly in the time domain.
6. Viewing detector outputs
This example uses monitors placed before and after the Bragg stack. One monitor is used to reconstruct the incident and reflected field on the input side, and the other records the transmitted field on the output side. Open each monitor file from the Output tab (see ??) and plot the recorded signal versus time. The two outputs are represented in ?? and ??.
In a well-designed quarter-wave stack, the reflected signal should dominate near the design wavelength, while the transmitted signal becomes small across the stop band. That is the central numerical result of the tutorial. The monitors convert the visual time-domain behaviour into quantitative spectra.
7. Editing the light source: CW vs pulsed excitation
Open the light source editor for the simulation and locate the excitation waveform settings (??). For this tutorial you should use a broadband pulse rather than a pure CW source (??). A pulse contains a range of wavelengths, so one run can be Fourier transformed to recover both the reflection and transmission spectra of the mirror.
Once the pulse is launched at normal incidence, rerun the simulation and compare the field snapshots and monitor outputs. The pulse-based approach gives the whole tutorial its intended progression: first you see one packet reflect strongly, then you inspect how the field decays inside the periodic structure, and finally you transform the monitor data into a stop-band spectrum.
8. Quick checks and common failure modes
- No clear stop band: check that the multilayer is actually periodic and that the thicknesses are close to the quarter-wave condition for your chosen design wavelength.
- Strong artificial transmission: verify that the spatial step resolves the thinnest layer adequately and that the refractive-index contrast is defined correctly.
- Unstable growth: timestep too large (CFL). Reduce
dtor increase spatial resolution consistently. - Unexpected reflections from the ends: verify PML thickness and ensure the source and monitors are not placed too close to the absorbing boundaries.
👉 Next step: Once you are happy with the reflection and transmission spectra, the natural extension is to compare several stacks with different refractive-index contrast or different numbers of periods, and then relate the change in mirror behaviour directly to photonic stop-band engineering.
6. Viewing detector outputs
After the run completes, open the Output tab and locate power.csv
(??).
Double-clicking this file opens the detector power viewer for the selected monitor.
power.csv, which opens the detector power viewer.
Compare ?? and ??. The input-side detector shows that a large fraction of the pulse energy is returned toward the source, while the downstream detector shows that the transmitted energy is strongly suppressed over the stop-band range.
7. Switching the excitation to a pulse
The source parameters are edited from the Optical ribbon (??). Click Light Sources to open the light source editor, shown in ??.
In the light source editor, open the FDTD tab and set the waveform to Gaussian sine pulse. This is the recommended choice for the Bragg-mirror tutorial because it contains a finite spectral width and therefore gives access to the stop-band spectrum from a single simulation.
Rerun the simulation and then reopen the detector plots (??, ??). With a pulse, the full story becomes visible: the wave packet approaches the mirror, reflects strongly, penetrates only weakly into the periodic medium, and yields spectra with a clear transmission dip and corresponding reflection band.