Release notes IPKISS 3.1.2

IPKISS 3.1.2 is a release combining bugfixes and small improvements. Please check the changelog for the full list of changes.

The highlights are shown below:

Improvements to internal caching

In previous versions of IPKISS, in some cases the value of a property was calculated multiple times. In most cases this lead to a slowdown. We took a thorough look at the internal caching mechanisms and fixed several bugs. This also results in an average performance improvement of 25% in IPKISS.

Virtual fabrication

We did a several bugfixes / improvements in the virtual fabrication (used to export your layout for physical simulations such as FDTD, mode solvers). In summary:

  • small slivers at the edge of the simulation window should now be discarded,
  • boundaries with coinciding edges can be fabricated,
  • 2D cross-sections can now be joined if they have the same cross-section,
  • improved error message when a material stack can not be found,
  • and the NOT operation on layers is now supported.

Using matplotlib notebook

You can now use the %matplotlib notebook magic in a notebook to use interactive plotting of IPKISS PCells. This used to fail when trying to visualize multiple times. For example, you can now do:

%matplotlib notebook
RingRect180DropFilter().Layout().visualize(annotate=True)
Using interactive plotting in a notebook

Note that in a live notebook session, you can now scroll/pan/save the figure.