Release notes Luceda Photonics Design Platform 2024.09.0
Note
With this release we are announcing a new versioning approach, adopting a year-month format (YYYY.MM). Moving forward, Luceda will provide four major updates annually, scheduled for March (2024.03), June (2024.06), September (2024.09), and December (2024.12), with optional bug fixes in between. Our commitment to backward compatibility remains a priority. We keep striving to deliver reliable, stable products to our users. As always, any backward incompatibilities will be documented on the backward compatibility and porting page.
The Luceda 2024.09 release introduces a new product: the Luceda Link for Tidy3D. This Link enables running very fast FDTD simulations using Flexcompute’s Tidy3D in the cloud directly from your IPKISS environment.
This release also includes several other important features:
New geometrical shapes: Includes several new geometrical shapes and the ability to cascade (join) shapes.
Improved installer: A new installer reduces installation size, improves the uninstall process, and provides a more native experience on supported platforms (Windows, Linux).
New application example: A 400G Optical Transceiver using the OpenLight PDK.
Codelets in IPKISS Canvas: Launch simulations or other code snippets (‘codelets’) directly from IPKISS Canvas.
For all features, bugfixes and improvements please consult the changelog.
Link for Tidy3D
The Link for Tidy3D is a new 3rd-party integration to run FDTD simulations directly on layout cells created in IPKISS, using FlexCompute’s Tidy3D. With this Link you can launch fast, cloud-based, hardware-accelerated FDTD simulations on FlexCompute’s cloud.
To use this feature, there’s no need to install Tidy3D separately - it is included with the Luceda installation. After signing up for an account with FlexCompute to acquire simulation credits, you can setup your Tidy3D API key and get started with the Link for Tidy3D.
The user experience is similar to the other device simulation links that Luceda offers.
After creating your layout in IPKISS, a 3D representation is generated based on the virtual fabrication flow
and sent to the tidy3d API.
You can inspect the simulation setup, including virtual fabrication result and ports, before running the simulation.
By retrieving scattering matrices between the interface ports, compact models for circuit simulation can be created, as explained in the following documentation: Circuit models based on S-parameter data.
Tutorials & documentation
Tutorial: Tidy3D tutorial
API reference: Tidy3D reference
Building compact models from scattering matrices: circuit models based on S-parameter data
New geometrical shapes and shape join operation
Shapes in IPKISS are used o create a wide range of advanced geometries, whether for designing components or drawing complex waveguides.
In this release, we’ve added new geometrical shapes to enhance the existing functionality:
A shape for building directional couplers (S-bend - straight - S-bend):
i3.ShapeCoupler
.Two new S-bend shapes:
i3.ShapeHermiteSBend
andi3.ShapeEulerSBend
.
In addition, you can now easily combine different shapes using the new i3.join_shapes function.
With i3.join_shapes
, constructing complex shapes by combining simpler shapes becomes intuitive.
import ipkiss3.all as i3
straight = i3.Shape(points=[(0,0), (10,0)])
sbend = i3.ShapeHermiteSBend(x_offset=30.0, y_offset=-20.0)
shape = i3.join_shapes([straight, sbend, straight])
shape.visualize()
Codelets in Canvas
A codelet is a unit of code that runs on a single cell. It facilitates the reuse of common code snippets, such as circuit simulations or analysis, within the IPKISS code environment and within IPKISS Canvas.
In IPKISS Canvas, codelets are accessible from the library pane. By default, a built-in SMatrixSweep codelet is provided as part of the ‘generic_devices’ library, which performs a scatter matrix sweep on the current schematic.
You can create new codelets directly from the library pane in IPKISS Canvas.
After creating a codelet, update its Python code using your favorite code editor. You can write any analysis you want for circuits defined in the IPKISS Canvas schematic!
Codelets are part of the library and can be distributed to your colleagues, enabling them to run the same analysis without writing any code.
The possibilities are endless, and we’re excited to see what codelets you create.
Note
The built-in SMatrixSweep codelet assumes that all circuit components have models assigned to them.
Tutorials & documentation
API reference: Codelets reference