UniformLineGrating
- class picazzo3.fibcoup.uniform.cell.UniformLineGrating
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
- grating: PCell
grating of this fiber coupler
- trace_template: PCell and _TraceTemplate
trace template for the socket waveguide
- socket: PCell and WgSocket
socket of the fiber coupler
- name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters
The unique name of the pcell
Views
- class Layout
- Parameters:
- 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
- purpose: PatternPurpose
drawing purpose for the grating lines
- process: ProcessLayer
process layer for the grating
- 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
- grating_transformation: GenericNoDistortTransform
transformation of the grating in this fiber coupler cell
- socket_length: float and number > 0
length of the straight waveguide socket
- socket_transformation: GenericNoDistortTransform
transformation of the socket in the fiber coupler
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
Examples
# Creation of a uniform grating coupler with a taper. import si_fab.all as pdk # noqa: F401 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(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)