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 positionugives 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.Interpolatorover frequency for dispersion.n_group (Annotated[float, exclusiveMinimum=0] | None) – Group index. With
reference_frequencythis adds first-order dispersion to a scalarn_eff. Ignored ifn_effis an interpolator.reference_frequency (Annotated[float, minimum=0, units='Hz'] | None) – Frequency at which a scalar
n_effapplies.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.Expressionor expression string inu.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: