siepic-sin-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.
Files changed (35) hide show
  1. {siepic_sin_forge-1.2.0/siepic_sin_forge.egg-info → siepic_sin_forge-1.2.2}/PKG-INFO +2 -2
  2. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/pyproject.toml +2 -2
  3. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/__init__.py +2 -2
  4. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/_component_data.py +5 -5
  5. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/technology.py +37 -30
  6. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2/siepic_sin_forge.egg-info}/PKG-INFO +2 -2
  7. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge.egg-info/requires.txt +1 -1
  8. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/LICENSE +0 -0
  9. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/README.md +0 -0
  10. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/setup.cfg +0 -0
  11. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/_layers.py +0 -0
  12. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/component.py +0 -0
  13. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ANT_MMI_1x2_te1550_3dB_BB.gds +0 -0
  14. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/GC_SiN_TE_1310_8degOxide_BB.gds +0 -0
  15. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/GC_SiN_TE_1550_8degOxide_BB.gds +0 -0
  16. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ULaval.gds +0 -0
  17. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/crossing_SiN_1550.gds +0 -0
  18. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/crossing_SiN_1550_extended.gds +0 -0
  19. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/crossing_horizontal.gds +0 -0
  20. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/crossing_manhattan.gds +0 -0
  21. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_BondPad.gds +0 -0
  22. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_DC_2-1_te895.gds +0 -0
  23. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_DC_te895.gds +0 -0
  24. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_Polarizer_TM_1550_UQAM.gds +0 -0
  25. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_YBranch_895.gds +0 -0
  26. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_gc_te895.gds +0 -0
  27. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_terminator_SiN_1310.gds +0 -0
  28. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_terminator_SiN_1550.gds +0 -0
  29. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/ebeam_terminator_SiN_te895.gds +0 -0
  30. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/port_SiN_800.gds +0 -0
  31. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/taper_SiN_750_3000.gds +0 -0
  32. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge/library/taper_SiN_750_800.gds +0 -0
  33. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge.egg-info/SOURCES.txt +0 -0
  34. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge.egg-info/dependency_links.txt +0 -0
  35. {siepic_sin_forge-1.2.0 → siepic_sin_forge-1.2.2}/siepic_sin_forge.egg-info/top_level.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siepic-sin-forge
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: SiEPIC EBeam SiN 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.4.0
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-sin-forge"
7
- version = "1.2.0"
7
+ version = "1.2.2"
8
8
  authors = [{name = "Flexcompute Inc.", email = "info@flexcompute.com"}]
9
9
  description = "SiEPIC EBeam SiN PDK implementation for PhotonForge"
10
10
  readme = "README.md"
11
- dependencies = ["photonforge >= 1.4.0"] # Need typing submodule
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.0"
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()
@@ -17,9 +17,9 @@ _symmetries_mmi22 = _symmetries_directional_coupler
17
17
 
18
18
  _waist = 5.0
19
19
 
20
- _angle = 8 * math.pi / 180
21
- _vx8 = math.sin(_angle)
22
- _vy8 = -math.cos(_angle)
20
+ _angle = 11 * math.pi / 180
21
+ _vx = math.sin(_angle)
22
+ _vy = -math.cos(_angle)
23
23
 
24
24
  _angle = 10 * math.pi / 180
25
25
  _te895_vx = math.sin(_angle)
@@ -40,7 +40,7 @@ _component_data = {
40
40
  "GC_SiN_TE_1310_8degOxide_BB",
41
41
  [
42
42
  ((0.0, 0.0), 180, "SiN_TE_1310_750"),
43
- ((-29.7, 0.0), (_vx8, 0, _vy8), _waist, 90),
43
+ ((-29.7, 0.0), (_vx, 0, _vy), _waist, 90),
44
44
  ],
45
45
  None,
46
46
  "grating_coupler",
@@ -49,7 +49,7 @@ _component_data = {
49
49
  "GC_SiN_TE_1550_8degOxide_BB",
50
50
  [
51
51
  ((0.0, 0.0), 180, "SiN_TE_1550_750"),
52
- ((-29.7, 0.0), (_vx8, 0, _vy8), _waist, 90),
52
+ ((-29.7, 0.0), (_vx, 0, _vy), _waist, 90),
53
53
  ],
54
54
  None,
55
55
  "grating_coupler",
@@ -8,6 +8,36 @@ from ._layers import _layers
8
8
  # https://www.appliednt.com/nanosoi-fabrication-service/
9
9
  # https://www.appliednt.com/nanosoi/sys/
10
10
 
11
+ _sio2 = {
12
+ "optical": td.material_library["SiO2"]["Palik_LowLoss"],
13
+ "electrical": td.Medium(permittivity=4.2, name="SiO2"),
14
+ }
15
+ _si = {
16
+ "optical": td.material_library["cSi"]["Li1993_293K"],
17
+ "electrical": td.Medium(permittivity=12.3, name="Si"),
18
+ }
19
+ _sin = {
20
+ "optical": td.material_library["Si3N4"]["Luke2015PMLStable"],
21
+ "electrical": td.Medium(permittivity=7.5, name="Si3N4"),
22
+ }
23
+ _router = {
24
+ "optical": td.material_library["Au"]["Olmon2012evaporated"],
25
+ "electrical": td.LossyMetalMedium(
26
+ conductivity=17,
27
+ frequency_range=[0.1e9, 200e9],
28
+ fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
29
+ ),
30
+ }
31
+ _heater = {
32
+ "optical": td.material_library["W"]["Werner2009"],
33
+ "electrical": td.LossyMetalMedium(
34
+ conductivity=1.6,
35
+ frequency_range=[0.1e9, 200e9],
36
+ fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
37
+ ),
38
+ }
39
+ _open = td.Medium(permittivity=1.0)
40
+
11
41
 
12
42
  @pf.parametric_technology
13
43
  def ebeam(
@@ -20,35 +50,12 @@ def ebeam(
20
50
  bottom_oxide_thickness: pft.PositiveDimension = 4.5,
21
51
  top_oxide_thickness: pft.PositiveDimension = 3.0,
22
52
  passivation_oxide_thickness: pft.PositiveDimension = 0.3,
23
- sio2: dict[str, pft.Medium] = {
24
- "optical": td.material_library["SiO2"]["Palik_Lossless"],
25
- "electrical": td.Medium(permittivity=4.2, name="SiO2"),
26
- },
27
- si: dict[str, pft.Medium] = {
28
- "optical": td.material_library["cSi"]["Li1993_293K"],
29
- "electrical": td.Medium(permittivity=12.3, name="Si"),
30
- },
31
- sin: dict[str, pft.Medium] = {
32
- "optical": td.material_library["Si3N4"]["Luke2015PMLStable"],
33
- "electrical": td.Medium(permittivity=7.5, name="Si3N4"),
34
- },
35
- router_metal: dict[str, pft.Medium] = {
36
- "optical": td.material_library["Au"]["Olmon2012evaporated"],
37
- "electrical": td.LossyMetalMedium(
38
- conductivity=17,
39
- frequency_range=[0.1e9, 200e9],
40
- fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
41
- ),
42
- },
43
- heater_metal: dict[str, pft.Medium] = {
44
- "optical": td.material_library["W"]["Werner2009"],
45
- "electrical": td.LossyMetalMedium(
46
- conductivity=1.6,
47
- frequency_range=[0.1e9, 200e9],
48
- fit_param=td.SurfaceImpedanceFitterParam(max_num_poles=16),
49
- ),
50
- },
51
- opening: pft.Medium = td.Medium(permittivity=1.0),
53
+ sio2: dict[str, pft.Medium] = _sio2,
54
+ si: dict[str, pft.Medium] = _si,
55
+ sin: dict[str, pft.Medium] = _sin,
56
+ router_metal: dict[str, pft.Medium] = _router,
57
+ heater_metal: dict[str, pft.Medium] = _heater,
58
+ opening: pft.Medium = _open,
52
59
  ) -> pf.Technology:
53
60
  """Create a technology for the e-beam SiN PDK.
54
61
 
@@ -210,6 +217,6 @@ def ebeam(
210
217
  ),
211
218
  }
212
219
 
213
- result = pf.Technology("SiEPIC EBeam SiN", "1.2.0", layers, extrusion_specs, ports, opening)
220
+ result = pf.Technology("SiEPIC EBeam SiN", "1.2.2", layers, extrusion_specs, ports, opening)
214
221
  result.random_variables = []
215
222
  return result
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: siepic-sin-forge
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: SiEPIC EBeam SiN 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.4.0
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
@@ -1,4 +1,4 @@
1
- photonforge>=1.4.0
1
+ photonforge>=1.5.0
2
2
 
3
3
  [test]
4
4
  pytest>=7.2