mux_demux

photonforge.abstract.mux_demux(*, frequencies=_dwdm_freqs, bandwidth=0.100e12, order=4, insertion_loss=0.01, group_delay=0, reflection=0, temperature_sensitivity=0.0, temperature=293.0, reference_temperature=293.0)[source]

Abstract wavelength multiplexer/demultiplexer (WDM).

Based on photonforge.MuxDemuxModel. Single-mode device with one common port and one port per channel.

Parameters:
  • frequencies (Annotated[Sequence[Annotated[float, minimum=0, units='Hz']], minItems=1]) – Central frequency for each channel.

  • bandwidth (Annotated[float, minimum=0, units='Hz']) – 3 dB bandwidth per channel.

  • order (Annotated[float, minimum=1]) – Super-Gaussian order for the passband shape.

  • insertion_loss (Annotated[float, minimum=0, units='dB']) – Insertion loss per channel.

  • group_delay (Annotated[float, minimum=0, units='s']) – Constant group delay per channel.

  • reflection (complex) – Reflection coefficient for incident fields.

  • temperature_sensitivity (Annotated[float, units='Hz/K']) – Temperature sensitivity for channel centers.

  • temperature (Annotated[float, minimum=0, units='K']) – Operating temperature.

  • reference_temperature (Annotated[float, minimum=0, units='K']) – Reference temperature.

Return type:

Component