Home Forums Nazca Minimum Bending Radius and Use Cases for Point-to-Point Interconnects

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #6975
    lomuc
    Participant

    Hi, I’m currently utilizing point-to-point interconnect functions, such as pcurve, euler, mamba, and cobra. I would like to learn about their pros and cons as well as how to set a minimum bending radius for the entire curve. This is crucial to ensure smooth propagation along the curved waveguide without any undesired effects. Can you please provide me with guidance on achieving this? Thanks.

    #6977
    Ronald
    Keymaster

    Dear Iomuc,

    The Interconnects take their minimum bend radius from the xsection attribute minimum_radius.
    If you create an Interconnect you provide a xsection by its name with the “xs” keyword.

    To set the minimum radius to the xsection and create an Interconnect:

    xsname = “xsname”
    xs_object = nd.get_xsection(xsname) # or create a new xs: nd.add_xsection(xsname)
    xs.minimum_radius = 100
    ic – nd.Interconnect(xs=xsname)

    If you violate the minimum_radius, then you will get a log message.
    For more convenient log message handling activating the log files, see https://nazca-design.org/logging-2/

    Using Interconnects has a bit more memory overhead than not using them, but the overhead is to keep track of default widths, radius, etc., as well as the more convenient point2point connections. Hence, best practice is to always use Interconnects for mask design instead of directly using mask_elements. Using mask_elements directly can be useful, however, for quick tests or tutorials.

    Ronald

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.