UniformLineGrating¶
-
class
picazzo3.fibcoup.uniform.cell.
UniformLineGrating
(*args, **kwargs)¶ Uniform 1D fiber coupler grating consisting of identical grating lines, on a straight waveguide socket
Parameters: inclination: float
out-of-plane angle of the grating coupler
socket: PCell and WgSocket
socket of the fiber coupler
grating: PCell
grating of this fiber coupler
trace_template: PCell and _TraceTemplate
trace template for the socket waveguide
name:
The unique name of the pcell
Views
-
Layout
¶ Parameters: grating_transformation: GenericNoDistortTransform
line_length: float and number > 0
length of the grating trenches (perpendicular to the socket waveguide)
line_width: float and number > 0
width of the grating trenches, drawn in the given layer
n_o_periods: int and number > 0
number of periods of the grating
origin: Coord2
local origin of the grating (first trench)
period: float and number > 0
period of the grating
process: ProcessLayer
process layer for the grating
purpose: PatternPurpose
drawing purpose for the grating lines
view_name: str and ( Alphanumeric string or Contains _$ )
The name of the view
socket_length: float and number > 0
length of the straight waveguide socket
socket_transformation: GenericNoDistortTransform
Examples
# Creation of a uniform grating coupler with a taper. from technologies import silicon_photonics from ipkiss3 import all as i3 from picazzo3.traces.wire_wg import WireWaveguideTemplate from picazzo3.fibcoup.uniform import UniformLineGrating # Creating the trace template for the grating area wg_coupler = WireWaveguideTemplate() wg_coupler.Layout(core_width=15.0, cladding_width=18.0) FGC = UniformLineGrating(trace_template=wg_coupler) FGC_layout = FGC.Layout(period=0.8, line_width=0.4, line_length=18.0, n_o_periods=24) # Adding taper to the fibergrating coupler. # trace template for the connecting waveguide. wg_t = WireWaveguideTemplate() wg_t.Layout(core_width=0.5, cladding_width=4.0) from picazzo3.container.transition_ports import AutoTransitionPorts Tapered_FCG = AutoTransitionPorts(contents=FGC, port_labels=["out"], trace_template=wg_t) Tapered_FCG.Layout().visualize(annotate=True)
-