Coupler1x2

class picazzo3.logical.coupler.cell.Coupler1x2(*args, **kwargs)

A logical 1x2 reciprocal waveguide coupler.

Transmissions and reflections and backcoupling can be set using the properties to arbitrary values without any enforcement of passivity.

Properties dealing with tranmission: straight_coupling1, straight_coupling2 Properties dealing with reflection: reflection_in1, reflection_out1, reflection_out2 Properties dealing with back coupling: back_coupling

The default behaviour of the coupler model assumes symmetry that allows the permutations (out_1 with out_2) in the first place. If your component uses this symmetry, properties only have to be specified for in and out_1, the ones relating to out_2 will be assuming this symmetry.

In the second place the coupler model assumes symmetry that allows the permutation of output ports with input ports.

Parameters:

cell_instances: _PCellInstanceDict, optional

name: optional

The unique name of the pcell

n_inputs: int and number > 0, locked

Number of input channels.

n_outputs: int and number > 0, locked

Number of output channels.