Lumerical Fdtd Tutorial //top\\ Jun 2026
Use or Bloch for repeating patterns like photonic crystals.
Sources excite the electromagnetic fields in the simulation. In Lumerical FDTD, you have several options:
Use (Perfecting Matching Layer) to absorb outgoing waves (simulating open space). lumerical fdtd tutorial
Right-click the block, select , and configure the substrate: Name: Substrate_SiO2 Material: SiO2 (Glass) - Palik Geometry: Add a second Block for the silicon core waveguide: Name: Si_Core Material: Si (Silicon) - Palik Geometry: (500 nm width, 220 nm height). Step 3: Add the FDTD Simulation Domain Click the Simulation button and choose FDTD . Configure the simulation geometry properties: Span: Open the Boundary Conditions tab: boundaries to PML . Step 4: Configure the Mode Source Click Sources and select Mode .
Open the tab and set the wavelength span from Click Select Mode →right arrow Use or Bloch for repeating patterns like photonic crystals
This public link is valid for 7 days and shares a thread, including any personal information you added. This link or copies made by others cannot be deleted. If you share with third parties, their policies apply. Can’t copy the link right now. Try again later.
# Complete Lumerical Script for Parameter Sweeping and Data Export clear; closeall; # Define target project file name filename = "waveguide_optimization.fsp"; load(filename); # Define sweep variables widths = [400e-9, 450e-9, 500e-9, 550e-9]; # Waveguide widths in meters transmission_results = cell(length(widths)); for(i=1:length(widths)) switchtolayout; # Modify the geometry of the object named 'waveguide' select("waveguide"); set("width", widths(i)); # Run the current simulation instance run; # Extract data from the frequency-domain monitor named 'T_monitor' # 'T' returns the net transmission normalized against the source power T_data = getresult("T_monitor", "T"); transmission_resultsi = T_data.T; # Extract wavelength vector for plotting if(i == 1) wavelengths = T_data.lambda; # Plot results directly within Lumerical's visualizer image(wavelengths*1e6, widths*1e9, matrixencode(transmission_results), "Wavelength (um)", "Width (nm)", "Transmission Spectrum"); # Export data to a standard CSV format for external analysis output_matrix = [wavelengths]; for(i=1:length(widths)) output_matrix = [output_matrix, transmission_resultsi]; write("transmission_sweep_data.csv", num2str(output_matrix)); Use code with caution. Utilizing Built-In Sweeps and Optimization Tools Right-click the block, select , and configure the
For most nanophotonic applications, use a or a Total-Field Scattered-Field (TFSF) source. Define the wavelength range (e.g., 400nm to 700nm).
The first object you add to a blank simulation is the FDTD Solver Region . This object defines the physical bounds of your simulation volume. Within its properties panel, you set the critical global parameters: