LCML - Waveguide Bragg grating | lcml_bragg_strip_1550



This waveguide Bragg grating model is built based on the primitive Bragg grating element, and it uses analytical functions to describe the key characteristics of the Bragg grating such as the Bragg wavelength and coupling coefficient.

Example Test File

bragg_grating_analytical.icp (205.0 KB)

User Guide

lcml_bragg_strip_1550 (wbg)

LCML: strip waveguide Bragg gratings.


Name Type
opt_1 Optical Signal
opt_2 Optical Signal


Name Default value Default unit Range
grating_period 0.318 um [0.3, 0.33]
misalignment 0 um [0, 0.165]
number_of_periods 300 -- [0, 10000]
corrugation_width 0.04 um [0.01, 0.1]


X. Wang, et al., "Precise control of the coupling coefficient through destructive interference in silicon waveguide Bragg gratings", Opt. Lett. 39, 5519-5522 (2014).

Model Development

This waveguide Bragg grating model is based on the primitive “Waveguide Bragg Grating” element and has the following building structure.

The following properties are added to this compact model to define the Bragg grating’s analytical function.

Name Kind Type Value (default) Unit Category
grating period Distance Number 0.318 μm Bragg
misalignment Distance Number 0 μm Bragg
number_of_period FixedUnit Number 300 Bragg
Corrugation_width Distance Number 0.04 μm Bragg

The setup scripts that define the Bragg grating’s analytical function are listed below. The “BraggWavelength” and “Kappa” are set as the output results. Note that these results are calculated even before running the simulation, and will give you a good predication of the grating performance. They will be shown in the “Result view” window once the element is added to the schematic editor.

temp = round(number_of_periods);
if (almostequal(number_of_periods,temp)!=1) {
    msg = name + ': nunber_of_periods is not an integer. The model will round the number to the nearest integer: ' + num2str(temp) + '.';
    number_of_periods = temp;

neff = 2.44695;
ng = 4.20818;
? bragg_wavelength = 1570e-9 + (grating_period-324e-9)/324e-9*neff/ng*1570e-9;
? kappa= (1392.7887 * corrugation_width * 1e9 + 11271.6719) * cos(misalignment/grating_period*pi);
? grating_length = grating_period * number_of_periods;
setnamed("WBG_1", "bragg frequency", c/bragg_wavelength);
setnamed("WBG_1", "grating coupling coefficient", kappa);
setnamed("WBG_1", "length", grating_length);
setnamed("WBG_1", "loss 1", 300);
setnamed("WBG_1", "group index 1", ng);

setresult("BraggWavelength", bragg_wavelength);
setresult("Kappa", kappa);

For more details on the Bragg grating’s analytical function, please refer to the reference paper listed on the top of this page.


Download the simulation file bragg_grating_analytical.icp from the top of this page. In this simulation file, the compact model of the analytical waveguide Bragg grating is connected to and measured by an Optical Network Analyzer (ONA). Click on the “run” button and the ONA will be populated with measurement data. To view the simulation results, user can right click on the results and select “Visualize”. The following figure plots the transmission spectrum of the Bragg grating, where the stop band is clearly shown.

Lumerical Compact Model Library (LCML)
Stop band Brag grating at 400 nm