Skip to content

abstract.polarization_splitter_rotator

polarization_splitter_rotator(
*,
t_0: complex = (1 + 0j),
t_1: complex = (1 + 0j),
x_0_to_p2: complex = 0j,
x_1_to_p1: complex = 0j,
leak_p1_p2: complex = 0j,
r_00: complex = 0j,
r_01: complex = 0j,
r_10: complex = 0j,
r_11: complex = 0j,
r_20: complex = 0j,
r_21: complex = 0j,
all_multimode: bool = False,
pol_out: Literal[0, 1] = 0,
) -> photonforge.Component

Abstract polarization splitter-rotator.

Based on PolarizationSplitterRotatorModel. All S-parameters are frequency-independent constants.

Args

  • t_0: Functional transmission from P0 mode 0 to P1.
  • t_1: Functional transmission from P0 mode 1 to P2.
  • x_0_to_p2: Crosstalk from P0 mode 0 to P2.
  • x_1_to_p1: Crosstalk from P0 mode 1 to P1.
  • leak_p1_p2: Leakage between the output ports at the functional mode.
  • r_00: Reflection at P0, mode 0.
  • r_01: Reflection at P0, mode 1.
  • r_10: Reflection at P1, mode 0.
  • r_11: Reflection at P1, mode 1. Unused when all_multimode is False.
  • r_20: Reflection at P2, mode 0.
  • r_21: Reflection at P2, mode 1. Unused when all_multimode is False.
  • all_multimode: If False, P0 is 2-mode and P1/P2 are single-mode (4×4 reduced matrix). If True, all ports are 2-mode (6×6 full matrix).
  • pol_out: Output mode index at P1/P2 for the functional and crosstalk paths. Only used when all_multimode=True.