first, a big thank you to the entire Nazca Team for providing such a powerful tool.
I am a bit confused about how to properly define a waveguide cross-section and then making use of the 2D/3D plot functionality and mode solver. To be a bit more precise I would like to do the following:
a) Define a certain cross section in 2D (e.g. a Si nanowire waveguide surrounded by oxide cladding)
b) (optionally: create a section a waveguide in that cross-section, e.g. a straight)
c) plot the cross-section of that waveguide
d) calculate the effective index of the fundamental mode
I have been trying and searching around a bit but if someone could provide a minimal example of how to do this (or tell me that this doesn’t work) I would be extremely grateful.
You certainly have a relevant question on xsections and index models. Nazca has functionality to define the geometrical cross-sectional structure of a waveguide and connect it to a modesolver, e.g. for obtaining the Neff of modes, precisely as in your questions. The package demofab inside Nazca does contain examples of two rib-style xsections in file pdk_15_technology.py.
This so far has been based on a simple symmetric slab solver, ridge stacks and the effective index method (EIM). This early xsection and solver implementation was mainly done to play with Nazca’s internal architecture and user syntax, and explore possible paths to connect that to mask layout for later development.
Over the last year or so we have been (and are) upgrading as intended this waveguide cross-sectional geometry and index calculation architecture to be able to connect it to basically any solver with at least a command-line interface on board or, alternatively, a mathematical model of your waveguide index. As this topic has been considered a beta feature there are no tutorials on it. It actually may not work as intended in the last few releases.
In summary, it would require a few months of patience to have this updated index model and solver handling available in the public Nazca release. If it moves to the release state there will also be a tutorial on it.