siepic-forge 1.2.0__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {siepic_forge-1.2.0/siepic_forge.egg-info → siepic_forge-1.2.2}/PKG-INFO +2 -2
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/pyproject.toml +2 -2
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/__init__.py +2 -2
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/_component_data.py +9 -9
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/technology.py +33 -26
- {siepic_forge-1.2.0 → siepic_forge-1.2.2/siepic_forge.egg-info}/PKG-INFO +2 -2
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge.egg-info/requires.txt +1 -1
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/LICENSE +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/README.md +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/setup.cfg +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/_layers.py +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/component.py +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/GCs_BB.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_adiabatic_te1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_adiabatic_tm1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_bdc_te1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_crossing4.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_gc_te1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_gc_tm1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_routing_taper_te1550_w=500nm_to_w=3000nm_L=20um.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_routing_taper_te1550_w=500nm_to_w=3000nm_L=40um.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_splitter_swg_assist_te1310.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_splitter_swg_assist_te1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_terminator_te1310.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_terminator_te1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_terminator_tm1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_y_1310.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_y_1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_y_adiabatic.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_y_adiabatic_500pin.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/taper_si_simm_1310.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/taper_si_simm_1550.gds +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge.egg-info/SOURCES.txt +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge.egg-info/dependency_links.txt +0 -0
- {siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge.egg-info/top_level.txt +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: siepic-forge
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: SiEPIC EBeam PDK implementation for PhotonForge
|
|
5
5
|
Author-email: "Flexcompute Inc." <info@flexcompute.com>
|
|
6
6
|
Project-URL: homepage, https://github.com/flexcompute/siepic-forge
|
|
7
7
|
Project-URL: documentation, https://github.com/flexcompute/siepic-forge
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: photonforge>=1.
|
|
10
|
+
Requires-Dist: photonforge>=1.5.0
|
|
11
11
|
Provides-Extra: test
|
|
12
12
|
Requires-Dist: pytest>=7.2; extra == "test"
|
|
13
13
|
Dynamic: license-file
|
|
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "siepic-forge"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.2"
|
|
8
8
|
authors = [{name = "Flexcompute Inc.", email = "info@flexcompute.com"}]
|
|
9
9
|
description = "SiEPIC EBeam PDK implementation for PhotonForge"
|
|
10
10
|
readme = "README.md"
|
|
11
|
-
dependencies = ["photonforge >= 1.
|
|
11
|
+
dependencies = ["photonforge >= 1.5.0"]
|
|
12
12
|
|
|
13
13
|
[project.optional-dependencies]
|
|
14
14
|
test = ["pytest >= 7.2"]
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
from .component import component, component_names # noqa: F401
|
|
2
2
|
from .technology import ebeam
|
|
3
3
|
|
|
4
|
-
__version__ = "1.2.
|
|
4
|
+
__version__ = "1.2.2"
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
def plot_cross_section(technology=None):
|
|
8
|
-
import photonforge as pf
|
|
8
|
+
import photonforge as pf # noqa: PLC0415
|
|
9
9
|
|
|
10
10
|
if technology is None:
|
|
11
11
|
technology = ebeam()
|
|
@@ -10,15 +10,15 @@ _symmetries_crossing = [
|
|
|
10
10
|
|
|
11
11
|
_waist = 5.0
|
|
12
12
|
|
|
13
|
-
_angle =
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
_angle = 11 * math.pi / 180
|
|
14
|
+
_vx = math.sin(_angle)
|
|
15
|
+
_vy = -math.cos(_angle)
|
|
16
16
|
|
|
17
|
-
_angle =
|
|
17
|
+
_angle = 11 * math.pi / 180
|
|
18
18
|
_tm1550_vx = math.sin(_angle)
|
|
19
19
|
_tm1550_vy = -math.cos(_angle)
|
|
20
20
|
|
|
21
|
-
_angle = -
|
|
21
|
+
_angle = -31 * math.pi / 180
|
|
22
22
|
_te1550_vx = math.sin(_angle)
|
|
23
23
|
_te1550_vy = -math.cos(_angle)
|
|
24
24
|
|
|
@@ -27,7 +27,7 @@ _component_data = {
|
|
|
27
27
|
"GCs_BB",
|
|
28
28
|
[
|
|
29
29
|
((0.0, 0.0), 180, "TE_1310_350"),
|
|
30
|
-
((-20.4, 0.0), (
|
|
30
|
+
((-20.4, 0.0), (_vx, 0, _vy), _waist, 90),
|
|
31
31
|
],
|
|
32
32
|
None,
|
|
33
33
|
"grating-coupler",
|
|
@@ -36,7 +36,7 @@ _component_data = {
|
|
|
36
36
|
"GCs_BB",
|
|
37
37
|
[
|
|
38
38
|
((0.0, 0.0), 180, "TE_1550_500"),
|
|
39
|
-
((-20.4, 0.0), (
|
|
39
|
+
((-20.4, 0.0), (_vx, 0, _vy), _waist, 90),
|
|
40
40
|
],
|
|
41
41
|
None,
|
|
42
42
|
"grating-coupler",
|
|
@@ -45,7 +45,7 @@ _component_data = {
|
|
|
45
45
|
"GCs_BB",
|
|
46
46
|
[
|
|
47
47
|
((0.0, 0.0), 180, "TM_1310_350"),
|
|
48
|
-
((-20.4, 0.0), (
|
|
48
|
+
((-20.4, 0.0), (_vx, 0, _vy), _waist, 0),
|
|
49
49
|
],
|
|
50
50
|
None,
|
|
51
51
|
"grating-coupler",
|
|
@@ -54,7 +54,7 @@ _component_data = {
|
|
|
54
54
|
"GCs_BB",
|
|
55
55
|
[
|
|
56
56
|
((0.0, 0.0), 180, "TM_1550_500"),
|
|
57
|
-
((-20.4, 0.0), (
|
|
57
|
+
((-20.4, 0.0), (_vx, 0, _vy), _waist, 0),
|
|
58
58
|
],
|
|
59
59
|
None,
|
|
60
60
|
"grating_coupler",
|
|
@@ -9,6 +9,33 @@ from ._layers import _layers
|
|
|
9
9
|
# https://www.appliednt.com/nanosoi/sys/
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
_sio2 = {
|
|
13
|
+
"optical": td.material_library["SiO2"]["Palik_LowLoss"],
|
|
14
|
+
"electrical": td.Medium(permittivity=4.2, name="SiO2"),
|
|
15
|
+
}
|
|
16
|
+
_si = {
|
|
17
|
+
"optical": td.material_library["cSi"]["Li1993_293K"],
|
|
18
|
+
"electrical": td.Medium(permittivity=12.3, name="Si"),
|
|
19
|
+
}
|
|
20
|
+
_router = {
|
|
21
|
+
"optical": td.material_library["Au"]["Olmon2012evaporated"],
|
|
22
|
+
"electrical": td.LossyMetalMedium(
|
|
23
|
+
conductivity=17,
|
|
24
|
+
frequency_range=[0.1e9, 200e9],
|
|
25
|
+
fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
|
|
26
|
+
),
|
|
27
|
+
}
|
|
28
|
+
_heater = {
|
|
29
|
+
"optical": td.material_library["W"]["Werner2009"],
|
|
30
|
+
"electrical": td.LossyMetalMedium(
|
|
31
|
+
conductivity=1.6,
|
|
32
|
+
frequency_range=[0.1e9, 200e9],
|
|
33
|
+
fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
|
|
34
|
+
),
|
|
35
|
+
}
|
|
36
|
+
_open = td.Medium(permittivity=1.0)
|
|
37
|
+
|
|
38
|
+
|
|
12
39
|
@pf.parametric_technology
|
|
13
40
|
def ebeam(
|
|
14
41
|
*,
|
|
@@ -22,31 +49,11 @@ def ebeam(
|
|
|
22
49
|
bottom_oxide_thickness: pft.PositiveDimension = 2.0,
|
|
23
50
|
top_oxide_thickness: pft.PositiveDimension = 2.2,
|
|
24
51
|
passivation_oxide_thickness: pft.PositiveDimension = 0.3,
|
|
25
|
-
sio2: dict[str, pft.Medium] =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"optical": td.material_library["cSi"]["Li1993_293K"],
|
|
31
|
-
"electrical": td.Medium(permittivity=12.3, name="Si"),
|
|
32
|
-
},
|
|
33
|
-
router_metal: dict[str, pft.Medium] = {
|
|
34
|
-
"optical": td.material_library["Au"]["Olmon2012evaporated"],
|
|
35
|
-
"electrical": td.LossyMetalMedium(
|
|
36
|
-
conductivity=17,
|
|
37
|
-
frequency_range=[0.1e9, 200e9],
|
|
38
|
-
fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
|
|
39
|
-
),
|
|
40
|
-
},
|
|
41
|
-
heater_metal: dict[str, pft.Medium] = {
|
|
42
|
-
"optical": td.material_library["W"]["Werner2009"],
|
|
43
|
-
"electrical": td.LossyMetalMedium(
|
|
44
|
-
conductivity=1.6,
|
|
45
|
-
frequency_range=[0.1e9, 200e9],
|
|
46
|
-
fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
|
|
47
|
-
),
|
|
48
|
-
},
|
|
49
|
-
opening: pft.Medium = td.Medium(permittivity=1.0),
|
|
52
|
+
sio2: dict[str, pft.Medium] = _sio2,
|
|
53
|
+
si: dict[str, pft.Medium] = _si,
|
|
54
|
+
router_metal: dict[str, pft.Medium] = _router,
|
|
55
|
+
heater_metal: dict[str, pft.Medium] = _heater,
|
|
56
|
+
opening: pft.Medium = _open,
|
|
50
57
|
) -> pf.Technology:
|
|
51
58
|
"""Create a technology for the e-beam PDK.
|
|
52
59
|
|
|
@@ -245,7 +252,7 @@ def ebeam(
|
|
|
245
252
|
),
|
|
246
253
|
}
|
|
247
254
|
|
|
248
|
-
result = pf.Technology("SiEPIC EBeam Si", "1.2.
|
|
255
|
+
result = pf.Technology("SiEPIC EBeam Si", "1.2.2", layers, extrusion_specs, ports, opening)
|
|
249
256
|
result.random_variables = [
|
|
250
257
|
pf.monte_carlo.RandomVariable("si_thickness", value=0.22, stdev=0.0223 / 6),
|
|
251
258
|
]
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: siepic-forge
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: SiEPIC EBeam PDK implementation for PhotonForge
|
|
5
5
|
Author-email: "Flexcompute Inc." <info@flexcompute.com>
|
|
6
6
|
Project-URL: homepage, https://github.com/flexcompute/siepic-forge
|
|
7
7
|
Project-URL: documentation, https://github.com/flexcompute/siepic-forge
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: photonforge>=1.
|
|
10
|
+
Requires-Dist: photonforge>=1.5.0
|
|
11
11
|
Provides-Extra: test
|
|
12
12
|
Requires-Dist: pytest>=7.2; extra == "test"
|
|
13
13
|
Dynamic: license-file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_splitter_swg_assist_te1310.gds
RENAMED
|
File without changes
|
{siepic_forge-1.2.0 → siepic_forge-1.2.2}/siepic_forge/library/ebeam_splitter_swg_assist_te1550.gds
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|