Skip to content

Commit

Permalink
Merge pull request #310 from SiEPIC/dev
Browse files Browse the repository at this point in the history
Spiral paperclip improvement, SiN waveguide bend radius and bezier parameter
  • Loading branch information
lukasc-ubc authored Nov 2, 2024
2 parents b649177 + e411887 commit f708f08
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
3 changes: 2 additions & 1 deletion klayout/EBeam/WAVEGUIDES_SiN.xml
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,8 @@
<CML>None</CML>
<model>None</model>
<sbends>true</sbends>
<radius>110</radius>
<bezier>0.3</bezier>
<radius>50.0</radius>
<width>0.75</width>
<component>
<layer>SiN</layer>
Expand Down
18 changes: 16 additions & 2 deletions klayout/EBeam/pymacros/pcells_EBeam_Beta/spiral_paperclip.py
Original file line number Diff line number Diff line change
Expand Up @@ -290,8 +290,8 @@ def produce_impl(self):
# spiral points
points = [
DPoint(-length0, offset),
DPoint(0.0, offset),
DPoint(0.0, -offset),
DPoint(-length0+radius*2, offset),
DPoint(-length0+radius*2, -offset),
DPoint(length0, -offset),
]
for i in range(1, self.loops * 2, 2):
Expand Down Expand Up @@ -447,6 +447,11 @@ def __init__(self):
from SiEPIC.utils.layout import new_layout
from SiEPIC.scripts import zoom_out

from SiEPIC._globals import Python_Env
if Python_Env == 'Script':
# For external Python mode, when installed using pip install siepic_ebeam_pdk
import siepic_ebeam_pdk

# load the test library, and technology
t = test_lib()
tech = t.technology
Expand Down Expand Up @@ -505,3 +510,12 @@ def __init__(self):
xmax = max(xmax, x + inst.bbox().width())

zoom_out(topcell)


# Display the layout in KLayout, using KLayout Package "klive", which needs to be installed in the KLayout Application
if Python_Env == 'Script':
from SiEPIC.scripts import export_layout
path = os.path.dirname(os.path.realpath(__file__))
file_out = export_layout (topcell, path, filename='spiral_paperclip', relative_path='', format='oas')
from SiEPIC.utils import klive
klive.show(file_out, technology=tech)

0 comments on commit f708f08

Please sign in to comment.