# MMI_nxmPcell

class aluvia.all.MMI_nxmPcell(*args, **kwargs)

  NxM MMI.

  Views

  class Layout(*args, **kwargs)
    Parameters:
      inp_width: float and number > 0

        Input waveguide width of tapers

      mmi_length: float and number > 0

        Length of the MMI secion.

      mmi_width: float and number > 0

        Width of the MMI section.

      n_inputs: int and number > 0

        The number of inputs for the MMI

      n_outputs: int and number > 0

        The number of outputs for the MMI

      tap_length: float and number > 0

        Length of tapers

      tap_width_out: float and number > 0

        Output width of tapers

      waveguide_offset_input: float and Real, number and number >= 0

        Offset input with respect to center.

      waveguide_spacing_input: float and Real, number and number >= 0

        Spacing between the input waveguides.

      waveguide_spacing_output: float and number > 0

        Spacing between the output waveguides.

  Name | Type | Position | Angle | Waveguide Template | Inclination
  --- | --- | --- | --- | --- | ---
  in0 | Optical | (-6.0, 2.0) | 180.0 | WG_TMPL | 0.0
  out0 | Optical | (26.0, -2.0) | 0.0 | WG_TMPL | 0.0
  out1 | Optical | (26.0, 2.0) | 0.0 | WG_TMPL | 0.0

      from aluvia import technology
      from aluvia.all import MMI_nxmPcell

      lo = MMI_nxmPcell().Layout()
      lo.visualize(annotate=True)