2019b Release Notes

2019b-R1 Release Notes

New Features

Shared Features

Unified Product Launcher

The single, unified launcher for all products allows designers to browse the application gallery, download examples, and obtain trial licenses for all Lumerical’s offerings within seconds. With a broad range of photonics examples available, designers can go from design concept to physical simulation and optimization quickly and easily, even for complex devices and systems involving challenging multiphysics effects.

Unified Product Installation

Lumerical products are now installed together using a single unified installer, which simplifies the process of installation and software trial. By default, installation will remove previous versions; however, when installing a new major release of the software the option to keep the previous version is now available. Each major release (and its updates from minor releases) will be installed under a folder with the major release name (e.g. 2019b), which allows users to have multiple versions installed in separate folders (e.g. 2019b, 2020a, etc.). For more information please visit the Installation Manual in KB.

Directly define parameter value in Visualizer

Users can now directly define parameter values in the Visualizer in ‘slice’ mode without needing to use the scroll bar. If it is set in-between allowed values then the field will automatically snap to the nearest allowed value for that parameter. See the idea in IX.

Color bar labels and range in original scale

When using logarithmic or signed logarithmic scale, the color bar labels and color bar range are now specified in the original linear scale instead of the log scale units, which simplifies the plot interpretation.

Script command to calculate the convolution of matrices

The new script command conv2 calculates the convolution of two 2D matrices. For more information, see the KB documentation.


Import delta_n and delta_k vs. carrier concentration for index perturbation

The index perturbation material in FDTD and MODE now has a custom model to load index perturbation due to carrier concentration besides the existing Drude and Soref-Bennett model. The custom model allows users to load delta_n and delta_k values as a function of electron and hole density from files. This will allow modeling index perturbation due to carrier density variations that cannot be modeled using the existing models such as in III-V materials. See the idea in IX.

Preserve user view, avoid collapsing object tree

The user view CAD window and the state of the objects tree are now preserved in the Finite-Difference and Finite-Element IDEs, so that if the user saves the file and re-opens it or runs a simulation, the view in the CAD view port as well as the state of the objects tree do not change. This include editing the objects in the objects tree as well which no longer triggers a tree collapse when applying the edits. See the idea in IX.

Sorting of modes in the mode list of FDE

The mode list in FDE now allows users to sort the modes based of different values such as effective index, loss, or TE/TM polarization fractions making it extremely convenient to find the right mode(s) out of a long list of modes. See the idea in IX.

More mode information in FDTD ports and other mode injection/analysis objects

FDTD ports and monitors now report loss and TE polarization fraction as results so that they can be accessed from the Result view window as well as from the script environment. This feature is also available in mode sources and mode expansion monitors in FDTD and varFDTD. See the idea in IX.

Hybrid meshing in CHARGE and HEAT solvers

The new hybrid meshing option in the CHARGE and HEAT solvers allows users to mesh and simulate large geometries with thin features more easily. Besides the hybrid meshing option, the HEAT solver also offers a third meshing option that can be used for complex geometries that cannot be meshed (or are hard to mesh) with the existing meshing options.

Improved accuracy in importing large geometries from STEP files

Users can now import large (mm scale) geometries from STEP files with higher accuracy by changing the ‘length scale’ to appropriate unit (e.g. mm). The STEP import UI also offers a scaling option to the user when importing the geometries.


Simpler multi-source simulations with ONA

When running a multi-source simulation with the ONA and electrical sources (e.g. DC source) the user no longer needs to make the sample rate consistent between all the sources manually. In all ONA driven simulations, the ONA now sets the sample rate of the simulation and all sources connected to the same circuit during run-time. This means the user can now simply drag and drop their sources for a multi-source simulation and click Run without needing to update the sample rate of the sources manually. The sample rate of the other (electrical) sources always reset back to the user defined (or default) value after the simulation. See the idea in IX.

Bug Fixes

Shared Features

  • Corrected error messages when assigning variables to some script functions.
  • Pop-up windows do not steal focus from other applications.
  • Script commands feval and eval now stop execution upon error or break.
  • Script file editor now correctly saves commenting changes when running script.
  • Script command setplot now sets color bar limits properly.
  • Fixed script error when raising negative numbers to powers.
  • Fixed problem in Python API that increases memory usage when sending data.
  • Matrix data is now properly displayed with View data in the Visualizer.
  • Fixed installation failures caused by .Net Framework 2.0 dependency.
  • Fixed problem with object selection of surface and ring objects in viewport.
  • When visualizing datasets with multiple parameters and vector attributes, toggling between image and vector plots in the Visualizer now preserves the selection in the “Parameters” section.
  • Fixed option to Export to text file and clipboard in the Visualizer.


  • Fixed bug that prevented concatenation of nested sweep results.
  • The highlighting of the simulation object in the viewport of the Finite Element IDE now updates automatically as a different simulation object / domain is selected.
  • Simulation objects now get automatically re-drawn in the viewport of the Finite Element IDE following any updates to the properties of the object.
  • Fixed issues with the ‘kurtosis’ auto-reset in the implant doping object of the CHARGE solver.
  • Running system level script commands from the workflow management object in the Finite Element IDE no longer crashes the product.
  • Script command updateportmodes now remembers the user selected mode list when called a second time without arguments.
  • Removed confusing error message in FDTD when rerunning S-parameter matrix sweep with inactive ports that have saved data.
  • Frequency/wavelength value typed in the corresponding text field in the “Select frequency” window of FDTD and varFDTD farfield projection (and zbfexport in FDTD) is now used for searching and selecting the closest frequency/wavelength available in the data.
  • Fixed software crash in FDTD triggered by non-sensible injection axis or monitor type settings selected in ports, mode sources and mode expansion monitors.
  • Fixed issue that prevented running FDTD simulations over Infiniband on Linux.
  • Fixed software crash when superimposing structure contours on fields recorded by a monitor if symmetry/antisymmetry are enabled.
  • Fixed issues preventing data from S-parameter Matrix sweep in FDTD to be constructed and visualized correctly.
  • FDE solver is not affected by PML option selected in disabled boundary conditions.
  • Fixed software crash with eigensolver algorithm selection in EME.
  • Fixed problems with mode order when large number of modes are calculated in FDE.
  • Fixed issue that prevented setting ‘bent waveguide’ value in FDE through script command after a frequency sweep.
  • All properties of imported grid attributes can now be edited properly in the UI.
  • When creating a material via API with the addmaterial command, a string with the name of the new material is returned.
  • Fixed issue prompting user to “save as” a second time after clicking save during “save as”.


  • INTERCONNECT no longer throws an error during netlist import if the netlist has empty sub-circuit. It now warns the user and ignores the empty sub-sircuits.
  • Issues with correlation matrix not getting shown in the Result window of Monte-Carlo sweep object after reloading a project file has been fixed.
  • The ‘group delay’ option in the MODE waveguide in INTERCONNECT now works as desired.
  • Double clicking on installed libraries no longer allows users to edit the library name and prevents INTERCONNECT from crashing.
  • The TWLM now provides an appropriate error message if the simulation fails to converge due to low sample rate.
  • Right-clicking on the Design Kits in analysis mode now shows the proper behavior.

2019b-R2 Release Notes

New Features

Shared Features

Customized Line Plots

The visualizer now offers several new options to customize line plots. Users can change line color, type, and width, marker type and size, and even the location of the x-axis and y-axis for each line in the plot.

New ‘clearexcept’ Script Command

The new ‘clearexcept’ script command provides users with the option to clear the entire script workspace except for the variables specified by the user. Find more details about this script command here.


STACK Solver User Interface

The STACK solver in Lumerical’s DEVICE Suite now has its own user interface. Available in the Finite Difference IDE, the STACK solver object can now be added to the objects tree and be set up using the new editor. The editor allows the user to easily set up a multilayered stack and analyze using the full functionality of stackrt, stackfield, stackdipole, and stackpurcell. The editor also provides the option to export the entire STACK simulation setup to a script file for easy automation.

Mode Effective Area Calculation

The FDE solver in MODE now provides the effective area of the mode as a result. For more information about the effective area calculation refer to: FDE - Mode List and Deck.

Improvements to zbfexport and zbfimport

zbfexport’ script command now returns the position of the center of the data (same as the center of the monitor) in global coordinates. The ‘zbfload’ script command now allows for additional arguments to shift the origin of the data to be different from the center of the object where the data is loaded.


Installer for CML Compiler

CML Compiler now comes with its own installer for easy installation. The installer is available for both Windows and for Linux operating systems.

Traveling Wave Electrode in Electrical Phase Shifter Photonic Model

The photonic model for electrical phase shifter in CML Compiler now supports traveling wave electrodes. The model still supports lumped model for the electrical contacts as well.

Bug Fixes

Shared Features

  • Fixed option to Export to text file and clipboard in the Visualizer.
  • Matlab export option in visualizer is now working for matrix datasets.
  • Single valued numpy float data are now supported by Python API.


  • Problems with Boolean operations on polygons have been fixed.
  • Index monitor can now report surface conductivity as a result.
  • Issues with updating surface conductivity values in 2D materials have been resolved.
  • Setting the ‘mesh refinement’ from user interface now works in FDTD.
  • The issue with not being able to set number of cells in EME properly from the user interface has been resolved.
  • VarFDTD index monitor reporting 1.#IND values at material boundaries has been fixed.
  • SSAC results are now available in sweeps and in solver tasks in workflow management objects.
  • Intermittent crashes during wavelength sweep in FEEM have been resolved.
  • Job manager in Finite Element (FE) IDE now properly displays the running state and other details.


  • The issue with the ‘fit tolerance’ option in the digital filter settings of some primitive elements in INTERCONNECT has been resolved.