ring_resonator

photonforge.abstract.ring_resonator(*, kappa1=0.3, kappa2=None, n_eff=2.4, length=60, propagation_loss=0.0, n_group=None, dispersion=0.0, dispersion_slope=0.0, reference_frequency=C_0 / 1.55, dn_dT=0.0, dL_dT=0.0, temperature=293.0, reference_temperature=293.0, dn_dv=0.0, dn_dv2=, dloss_dv=.0, dloss_dv2=, z0=50.0, f_3dB=0)[source]

Abstract ring resonator with optional electrical tuning.

Based on photonforge.RingModel and photonforge.RingTimeStepper. Set kappa2 for a double-bus (add-drop) configuration; leave it as None for single-bus (all-pass).

Parameters:
  • kappa1 (complex) – Coupling coefficient for the first bus waveguide.

  • kappa2 (complex | None) – Coupling coefficient for the second bus waveguide. If None, models a single-bus ring.

  • n_eff (complex) – Effective refractive index (loss can be included here by using complex values).

  • length (Annotated[float, minimum=0, units='μm']) – Round-trip length of the ring.

  • propagation_loss (Annotated[float, minimum=0, units='dB/μm']) – Propagation loss.

  • n_group (float | None) – Group index. If None, the value of n_eff is used.

  • dispersion (Annotated[float, units='s/μm²']) – Chromatic dispersion coefficient.

  • dispersion_slope (Annotated[float, units='s/μm³']) – Chromatic dispersion slope.

  • reference_frequency (Annotated[float, minimum=0, units='Hz']) – Reference frequency for dispersion coefficients.

  • dn_dT (Annotated[complex, units='1/K']) – Temperature sensitivity for n_eff.

  • dL_dT (Annotated[float, units='dB/μm/K']) – Temperature sensitivity for propagation_loss.

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

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

  • dn_dv (Annotated[complex, units='1/V']) – Linear voltage-dependent effective index coefficient.

  • dn_dv2 (Annotated[complex, units='1/V²']) – Quadratic voltage-dependent effective index coefficient.

  • dloss_dv (Annotated[float, units='dB/μm/V']) – Linear voltage-dependent propagation loss coefficient.

  • dloss_dv2 (Annotated[float, units='dB/μm/V²']) – Quadratic voltage-dependent propagation loss coefficient.

  • z0 (Annotated[complex, units='Ω']) – Characteristic impedance of the electrical port used to convert the input field amplitude to voltage.

  • f_3dB (Annotated[float, minimum=0, units='Hz']) – -3 dB frequency cutoff for bandwidth limiting. Only active for positive values.

Return type:

Component