Known backwards incompatibilities in 3.5.0
Shape Cutting Algorithm
In IPKISS 3.5, the shape cutting algorithm for turning a Shapely geometry into an IPKISS shape has improved in both speed and result. The points in the shape remain the same, however the order might have changed (as shown in the image below).
CAMFR Engine
In IPKISS 3.5, the discretization of camfr models in camfr_stack_expr_for_structure
has changed to more accurately mimic the symmetry of the structure.
Furthermore, the same function requires two new variables, an environment
and a material_stack_to_material_map
.
By providing these, the dispersiveness of the effective index of refraction can be taken into account.
The Material
model that will effectively replace the MaterialStack
is evaluated for a given environment
.
Moreover, the user-specified attribute effective_index_epsilon
that is attached to a MaterialStack
is not used anymore, and a deprecation warning is raised if the value is specified.
In IPKISS AWG Designer, these changes affect the calculations of the aperture field profiles, which improves an overall accuracy of the AWG design.
More specifically, FieldModelFromCamfr
view of the apertures has two additional optional properties, material_stack_to_material_map
and core_z_window
.
The former allows mapping of various MaterialStack(s)
to a set of Material
models, to account for the environment specific material properties (i.e. dispersive material).
If no material_stack_to_material_map
is specified, camfr_aperture_simulation
tries to compute an effective index of each stack automatically.
The goal is to try to automatise this step, hence the core_z_window
gives extra flexibility if the stack effective index can’t be calculated.
It specifies the range for clipping the stack, before having another try to compute the stack effective index.
If not specified, a range of the waveguide core is taken.
Finally, if none of the tries are successful, a weighted average effective index within the core_z_window
is returned and a warning is shown.