Skip to content

Commit 3d6414d

Browse files
committed
update examples with siepic
1 parent 3bbd79b commit 3d6414d

File tree

6 files changed

+90
-22
lines changed

6 files changed

+90
-22
lines changed

examples/06_gdsfactory/06a_gf_bend.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
# %%
2626
simulation.upload()
2727
# run the simulation. CHECK THE SIMULATION IN THE UI BEFORE RUNNING!
28-
simulation.execute()
28+
#simulation.execute()
2929
# visualize the results
30-
simulation.visualize_results()
31-
# %%
30+
#simulation.visualize_results()
31+
# %%

examples/07_lumerical/07b_fdtd_lumerical.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#%% send a component to a lumerical instance
22
import os
3-
import lumapi
4-
from gds_fdtd.lum_tools import to_lumerical, make_sim_lum
3+
from lumapi import FDTD
4+
from gds_fdtd.lum_tools import make_sim_lum
55
from gds_fdtd.core import parse_yaml_tech
66
from gds_fdtd.simprocessor import load_component_from_tech
77
from gds_fdtd.lyprocessor import load_layout
@@ -12,28 +12,23 @@
1212
tech_path = os.path.join(os.path.dirname(__file__), "tech.yaml") # note materials definition format in yaml
1313
technology = parse_yaml_tech(tech_path)
1414

15-
file_gds = os.path.join(os.path.dirname(__file__), "wg.gds")
16-
layout = load_layout(file_gds)
15+
file_gds = os.path.join(os.path.dirname(os.path.dirname(__file__)), "devices.gds")
16+
layout = load_layout(file_gds, top_cell="cdc_sin_te1310")
1717
component = load_component_from_tech(ly=layout, tech=technology)
1818

19-
fdtd = lumapi.FDTD() # can also be mode/device
20-
print(type(fdtd))
21-
22-
to_lumerical(c=component, lum=fdtd)
23-
2419
make_sim_lum(
2520
c=component,
26-
lum=fdtd,
27-
wavl_min=1.5,
28-
wavl_max=1.6,
21+
lum=FDTD(),
22+
wavl_min=1.2,
23+
wavl_max=1.4,
2924
wavl_pts=101,
30-
width_ports=3.0,
31-
depth_ports=2.0,
25+
width_ports=4.0,
26+
depth_ports=4.0,
3227
symmetry=(0, 0, 0),
3328
pol="TE",
3429
num_modes=1,
3530
boundary="pml",
36-
mesh=1,
31+
mesh=3,
3732
run_time_factor=50,
3833
)
3934

examples/07_lumerical/tech.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ technology:
3030
model: Si (Silicon) - Palik
3131
sidewall_angle: 85
3232

33-
- layer: [1, 5]
33+
- layer: [4, 0]
3434
z_base: .3
35-
z_span: 0.22
35+
z_span: 0.4
3636
material:
3737
lum_db:
38-
model: Si3N4 (Silicon Nitride) - Phillip
39-
sidewall_angle: 80
38+
model: Si3N4 (Silicon Nitride) - Luke
39+
sidewall_angle: 83
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import os
2+
from gds_fdtd.simprocessor import load_component_from_tech
3+
from gds_fdtd.core import parse_yaml_tech
4+
from gds_fdtd.lum_tools import make_sim_lum
5+
import siepic_ebeam_pdk as pdk # noqa: F401
6+
from pya import Layout
7+
from lumapi import FDTD
8+
9+
if __name__ == "__main__":
10+
tech_path = os.path.join(os.path.dirname(__file__), "tech.yaml")
11+
technology = parse_yaml_tech(tech_path)
12+
13+
# load cell from siepic_ebeam_pdk
14+
ly = Layout()
15+
ly.technology_name = pdk.tech.name
16+
cell = ly.create_cell("ebeam_taper_te1550", "EBeam", {})
17+
18+
component = load_component_from_tech(ly=cell, tech=technology)
19+
20+
# simulate with lumerical
21+
make_sim_lum(
22+
c=component,
23+
lum=FDTD(),
24+
wavl_min=1.45,
25+
wavl_max=1.65,
26+
wavl_pts=101,
27+
width_ports=4.0,
28+
depth_ports=4.0,
29+
symmetry=(0, 0, 0),
30+
pol="TE",
31+
num_modes=1,
32+
boundary="pml",
33+
mesh=3,
34+
run_time_factor=50,)

examples/09_siepic/tech.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
technology:
2+
name: "EBeam"
3+
4+
substrate:
5+
z_base: 0.0
6+
z_span: -2
7+
material:
8+
lum_db:
9+
model: SiO2 (Glass) - Palik
10+
11+
superstrate:
12+
z_base: 0.0
13+
z_span: 3
14+
material:
15+
lum_db:
16+
model: SiO2 (Glass) - Palik
17+
18+
pinrec:
19+
- layer: [1, 10]
20+
21+
devrec:
22+
- layer: [68, 0]
23+
24+
device:
25+
- layer: [1, 0]
26+
z_base: 0.0
27+
z_span: 0.22
28+
material:
29+
lum_db:
30+
model: Si (Silicon) - Palik
31+
sidewall_angle: 85
32+
33+
- layer: [4, 0]
34+
z_base: .3
35+
z_span: 0.4
36+
material:
37+
lum_db:
38+
model: Si3N4 (Silicon Nitride) - Luke
39+
sidewall_angle: 83

examples/devices.gds

2.96 MB
Binary file not shown.

0 commit comments

Comments
 (0)