bragg_grating

photonforge.abstract.bragg_grating(*, period=0.317, num_periods=400, coupling_coefficient=.02, n_eff=2.44, n_group=None, reference_frequency=None, order=1, loss=0.0, apodization="uniform", apodization_parameter=3.0, phase_shifts=(), num_sections=None)[source]

Abstract waveguide Bragg grating.

Based on photonforge.BraggGratingModel.

Parameters:
  • period (Annotated[float, exclusiveMinimum=0, units='μm'] | Sequence[float] | Interpolator) – Grating period \(\Lambda\). A 1D array, photonforge.Interpolator, photonforge.Expression, or expression string over the normalized position u gives a chirp profile.

  • num_periods (Annotated[int, exclusiveMinimum=0]) – Number of grating periods.

  • coupling_coefficient (Annotated[float, minimum=0, units='1/μm']) – Peak coupling \(\kappa\). Scaled along the grating by apodization.

  • n_eff (Annotated[float, exclusiveMinimum=0] | Interpolator) – Effective index of the unperturbed waveguide, or a photonforge.Interpolator over frequency for dispersion.

  • n_group (Annotated[float, exclusiveMinimum=0] | None) – Group index. With reference_frequency this adds first-order dispersion to a scalar n_eff. Ignored if n_eff is an interpolator.

  • reference_frequency (Annotated[float, minimum=0, units='Hz'] | None) – Frequency at which a scalar n_eff applies.

  • order (Annotated[int, exclusiveMinimum=0]) – Grating order \(m\).

  • loss (Annotated[float, minimum=0, units='dB/μm']) – Power propagation loss of the underlying waveguide.

  • apodization (str | Sequence[float] | Interpolator) – Profile of \(\kappa\) along the grating. One of "uniform", "gaussian", "raised-cosine", "blackman", a 1D array, photonforge.Interpolator, photonforge.Expression or expression string in u.

  • apodization_parameter (float) – Shape parameter for "gaussian" and "raised-cosine".

  • phase_shifts (Sequence[tuple[Annotated[float, maximum=1, minimum=0], Annotated[float, units='rad']]]) – Sequence of (position, phase) pairs, with normalized position in [0, 1] and phase in radians. A phase of \(\pi\) is the standard quarter-wave shift.

  • num_sections (Annotated[int, exclusiveMinimum=0] | None) – Number of sections used to discretize the grating.

Returns:

Component with model.

Return type:

Component