Skip to content

abstract.bragg_grating

bragg_grating(
*,
period: Annotated[float, exclusiveMinimum=0, units='μm']
| collections.abc.Sequence[float]
| photonforge.Interpolator = 0.317,
num_periods: Annotated[int, exclusiveMinimum=0] = 400,
coupling_coefficient: Annotated[float, minimum=0, units='1/μm'] = 0.02,
n_eff: Annotated[float, exclusiveMinimum=0]
| photonforge.Interpolator = 2.44,
n_group: Annotated[float, exclusiveMinimum=0] | None = None,
reference_frequency: Annotated[float, minimum=0, units='Hz']
| None = None,
order: Annotated[int, exclusiveMinimum=0] = 1,
loss: Annotated[float, minimum=0, units='dB/μm'] = 0.0,
apodization: str
| collections.abc.Sequence[float]
| photonforge.Interpolator = 'uniform',
apodization_parameter: float = 3.0,
phase_shifts: collections.abc.Sequence[
tuple[
typing.Annotated[float, maximum=1, minimum=0],
typing.Annotated[float, units='rad'],
]
] = (),
num_sections: Annotated[int, exclusiveMinimum=0] | None = None,
) -> photonforge.Component

Abstract waveguide Bragg grating.

Based on BraggGratingModel.

Args

  • period: Grating period Λ\Lambda. A 1D array, Interpolator, Expression, or expression string over the normalized position u gives a chirp profile.
  • num_periods: Number of grating periods.
  • coupling_coefficient: Peak coupling κ\kappa. Scaled along the grating by apodization.
  • n_eff: Effective index of the unperturbed waveguide, or a Interpolator over frequency for dispersion.
  • n_group: Group index. With reference_frequency this adds first-order dispersion to a scalar n_eff. Ignored if n_eff is an interpolator.
  • reference_frequency: Frequency at which a scalar n_eff applies.
  • order: Grating order mm.
  • loss: Power propagation loss of the underlying waveguide.
  • apodization: Profile of κ\kappa along the grating. One of "uniform", "gaussian", "raised-cosine", "blackman", a 1D array, Interpolator, Expression or expression string in u.
  • apodization_parameter: Shape parameter for "gaussian" and "raised-cosine".
  • phase_shifts: 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: Number of sections used to discretize the grating.

Returns

Component with model.