A new Python module ‘lumslurm’ has been added to the Lumerical installation for directly interacting with SLURM (Simple Linux Utility for Resource Management), bypassing the job scheduler entirely. The module contains simple Python functions that make it easy to run a headless script, multi-node CPU or GPU solve job on a SLURM cluster.
Job scheduler settings for submitting jobs to a remote HPC, which were previously hard coded in the installation python files (e.g., lsf.py, sge.py, slurm.py, torque.py), are now stored in the Lumerical settings directory (~/.config/Lumerical on Linux and %APPDATA%\Lumerical on Windows) under job_scheduler_input.json, allowing users to modify them without requiring admin access.
DEVICE Suite Enhancements
The FDTD GPU solver now supports the use of anti-symmetric, metal, and PEC boundary conditions. Users simulating large metalenses with the GPU solver will benefit from a 2X improvement in simulation size or performance by using these boundary conditions.
MQW solver now supports higher order k.p methods. In addition to the existing 4x4 method, users can now select 6x6 and 8x8 methods as well. The additional material properties in the electrical database include the band splitting parameter for zincblende materials and a complete list of k.p parameters for wurtzite crystal structure. Each material can be defined as either zincblende or wurtzite. This new MQW capability enables more accurate calculation of the electronic band structure for zincblende materials, as well as a new capability for calculating the band structure of wurtzite materials.
The import sources (heat and optical generation) in the CHARGE and HEAT solvers now have their own local shutters. The global shutters in the solver objects will continue to control all import sources as before. However, users now have the option to override the global shutter for specific sources and use their local shutters instead.