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.