Coupler2x2¶
-
class
picazzo3.logical.coupler.cell.
Coupler2x2
(*args, **kwargs)¶ A logical 2x2 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: cross_coupling1, cross_coupling2, straight_coupling1, straight_coupling2 Properties dealing with reflection: reflection_in1, reflection_in2, reflection_out1, reflection_out2 Properties dealing with back coupling: back_coupling_in, back_coupling_out
The default behaviour of the coupler model assumes symmetry that allows the permutations (in_1 with in_2) and (out_1 with out_2) in the first place. If your component uses this symmetry, properties only have to be specified for in_1 and out_1, the ones relating to in_2 and 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.