File tree Expand file tree Collapse file tree 6 files changed +90
-22
lines changed Expand file tree Collapse file tree 6 files changed +90
-22
lines changed Original file line number Diff line number Diff line change 25
25
# %%
26
26
simulation .upload ()
27
27
# run the simulation. CHECK THE SIMULATION IN THE UI BEFORE RUNNING!
28
- simulation .execute ()
28
+ # simulation.execute()
29
29
# visualize the results
30
- simulation .visualize_results ()
31
- # %%
30
+ # simulation.visualize_results()
31
+ # %%
Original file line number Diff line number Diff line change 1
1
#%% send a component to a lumerical instance
2
2
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
5
5
from gds_fdtd .core import parse_yaml_tech
6
6
from gds_fdtd .simprocessor import load_component_from_tech
7
7
from gds_fdtd .lyprocessor import load_layout
12
12
tech_path = os .path .join (os .path .dirname (__file__ ), "tech.yaml" ) # note materials definition format in yaml
13
13
technology = parse_yaml_tech (tech_path )
14
14
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" )
17
17
component = load_component_from_tech (ly = layout , tech = technology )
18
18
19
- fdtd = lumapi .FDTD () # can also be mode/device
20
- print (type (fdtd ))
21
-
22
- to_lumerical (c = component , lum = fdtd )
23
-
24
19
make_sim_lum (
25
20
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 ,
29
24
wavl_pts = 101 ,
30
- width_ports = 3 .0 ,
31
- depth_ports = 2 .0 ,
25
+ width_ports = 4 .0 ,
26
+ depth_ports = 4 .0 ,
32
27
symmetry = (0 , 0 , 0 ),
33
28
pol = "TE" ,
34
29
num_modes = 1 ,
35
30
boundary = "pml" ,
36
- mesh = 1 ,
31
+ mesh = 3 ,
37
32
run_time_factor = 50 ,
38
33
)
39
34
Original file line number Diff line number Diff line change @@ -30,10 +30,10 @@ technology:
30
30
model : Si (Silicon) - Palik
31
31
sidewall_angle : 85
32
32
33
- - layer : [1, 5 ]
33
+ - layer : [4, 0 ]
34
34
z_base : .3
35
- z_span : 0.22
35
+ z_span : 0.4
36
36
material :
37
37
lum_db :
38
- model : Si3N4 (Silicon Nitride) - Phillip
39
- sidewall_angle : 80
38
+ model : Si3N4 (Silicon Nitride) - Luke
39
+ sidewall_angle : 83
Original file line number Diff line number Diff line change
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,)
Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments