emerge 0.6.2__tar.gz → 0.6.3__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.

Potentially problematic release.


This version of emerge might be problematic. Click here for more details.

Files changed (111) hide show
  1. {emerge-0.6.2 → emerge-0.6.3}/.bumpversion.toml +1 -1
  2. {emerge-0.6.2 → emerge-0.6.3}/PKG-INFO +1 -1
  3. {emerge-0.6.2 → emerge-0.6.3}/emerge/__init__.py +1 -1
  4. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/microwave_data.py +37 -1
  5. {emerge-0.6.2 → emerge-0.6.3}/pyproject.toml +1 -1
  6. {emerge-0.6.2 → emerge-0.6.3}/uv.lock +1 -1
  7. {emerge-0.6.2 → emerge-0.6.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {emerge-0.6.2 → emerge-0.6.3}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  9. {emerge-0.6.2 → emerge-0.6.3}/.gitignore +0 -0
  10. {emerge-0.6.2 → emerge-0.6.3}/.opt +0 -0
  11. {emerge-0.6.2 → emerge-0.6.3}/.python-version +0 -0
  12. {emerge-0.6.2 → emerge-0.6.3}/LICENSE +0 -0
  13. {emerge-0.6.2 → emerge-0.6.3}/README.md +0 -0
  14. {emerge-0.6.2 → emerge-0.6.3}/THIRD_PARTY_LICENSES.md +0 -0
  15. {emerge-0.6.2 → emerge-0.6.3}/UMFPACK_Install_windows.md +0 -0
  16. {emerge-0.6.2 → emerge-0.6.3}/UMFPACK_installer_windows.py +0 -0
  17. {emerge-0.6.2 → emerge-0.6.3}/emerge/__main__.py +0 -0
  18. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/__init__.py +0 -0
  19. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/_cache_check.py +0 -0
  20. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/bc.py +0 -0
  21. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/const.py +0 -0
  22. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/coord.py +0 -0
  23. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/cs.py +0 -0
  24. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/dataset.py +0 -0
  25. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/elements/__init__.py +0 -0
  26. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/elements/femdata.py +0 -0
  27. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/elements/index_interp.py +0 -0
  28. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/elements/ned2_interp.py +0 -0
  29. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/elements/nedelec2.py +0 -0
  30. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/elements/nedleg2.py +0 -0
  31. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/__init__.py +0 -0
  32. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/horn.py +0 -0
  33. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/modeler.py +0 -0
  34. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/operations.py +0 -0
  35. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/pcb.py +0 -0
  36. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/pcb_tools/calculator.py +0 -0
  37. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/pcb_tools/macro.py +0 -0
  38. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/pipes.py +0 -0
  39. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/pmlbox.py +0 -0
  40. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/polybased.py +0 -0
  41. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/shapes.py +0 -0
  42. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo/step.py +0 -0
  43. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geo2d.py +0 -0
  44. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/geometry.py +0 -0
  45. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/howto.py +0 -0
  46. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/logsettings.py +0 -0
  47. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/material.py +0 -0
  48. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/mesh3d.py +0 -0
  49. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/mesher.py +0 -0
  50. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/mth/common_functions.py +0 -0
  51. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/mth/integrals.py +0 -0
  52. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/mth/optimized.py +0 -0
  53. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/mth/pairing.py +0 -0
  54. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/periodic.py +0 -0
  55. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/__init__.py +0 -0
  56. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/__init__.py +0 -0
  57. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/adaptive_freq.py +0 -0
  58. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/assembly/assembler.py +0 -0
  59. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/assembly/curlcurl.py +0 -0
  60. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/assembly/generalized_eigen.py +0 -0
  61. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py +0 -0
  62. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/assembly/periodicbc.py +0 -0
  63. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/assembly/robinbc.py +0 -0
  64. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/microwave_3d.py +0 -0
  65. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/microwave_bc.py +0 -0
  66. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/periodic.py +0 -0
  67. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/port_functions.py +0 -0
  68. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/sc.py +0 -0
  69. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/simjob.py +0 -0
  70. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/sparam.py +0 -0
  71. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/physics/microwave/touchstone.py +0 -0
  72. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot/__init__.py +0 -0
  73. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot/display.py +0 -0
  74. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot/matplotlib/mpldisplay.py +0 -0
  75. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot/pyvista/__init__.py +0 -0
  76. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot/pyvista/display.py +0 -0
  77. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot/pyvista/display_settings.py +0 -0
  78. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot/simple_plots.py +0 -0
  79. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/plot.py +0 -0
  80. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/projects/__init__.py +0 -0
  81. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/projects/_gen_base.txt +0 -0
  82. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/projects/_load_base.txt +0 -0
  83. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/projects/generate_project.py +0 -0
  84. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/selection.py +0 -0
  85. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/simmodel.py +0 -0
  86. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/simulation_data.py +0 -0
  87. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/solve_interfaces/cudss_interface.py +0 -0
  88. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/solve_interfaces/pardiso_interface.py +0 -0
  89. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/solver.py +0 -0
  90. {emerge-0.6.2 → emerge-0.6.3}/emerge/_emerge/system.py +0 -0
  91. {emerge-0.6.2 → emerge-0.6.3}/emerge/cli.py +0 -0
  92. {emerge-0.6.2 → emerge-0.6.3}/emerge/ext.py +0 -0
  93. {emerge-0.6.2 → emerge-0.6.3}/emerge/lib.py +0 -0
  94. {emerge-0.6.2 → emerge-0.6.3}/emerge/plot.py +0 -0
  95. {emerge-0.6.2 → emerge-0.6.3}/emerge/pyvista.py +0 -0
  96. {emerge-0.6.2 → emerge-0.6.3}/examples/demo10_sgh.py +0 -0
  97. {emerge-0.6.2 → emerge-0.6.3}/examples/demo11_lumped_element_filter.py +0 -0
  98. {emerge-0.6.2 → emerge-0.6.3}/examples/demo12_mode_alignment.py +0 -0
  99. {emerge-0.6.2 → emerge-0.6.3}/examples/demo13_helix_antenna.py +0 -0
  100. {emerge-0.6.2 → emerge-0.6.3}/examples/demo1_stepped_imp_filter.py +0 -0
  101. {emerge-0.6.2 → emerge-0.6.3}/examples/demo2_combline_filter.py +0 -0
  102. {emerge-0.6.2 → emerge-0.6.3}/examples/demo3_coupled_line_filter.py +0 -0
  103. {emerge-0.6.2 → emerge-0.6.3}/examples/demo3_patch_antenna.py +0 -0
  104. {emerge-0.6.2 → emerge-0.6.3}/examples/demo4_boundary_selection.py +0 -0
  105. {emerge-0.6.2 → emerge-0.6.3}/examples/demo5_revolve.py +0 -0
  106. {emerge-0.6.2 → emerge-0.6.3}/examples/demo6_striplines_with_vias.py +0 -0
  107. {emerge-0.6.2 → emerge-0.6.3}/examples/demo7_periodic_cells.py +0 -0
  108. {emerge-0.6.2 → emerge-0.6.3}/examples/demo8_waveguide_bpf_synthesis.py +0 -0
  109. {emerge-0.6.2 → emerge-0.6.3}/examples/demo9_dielectric_resonator.py +0 -0
  110. {emerge-0.6.2 → emerge-0.6.3}/src/__init__.py +0 -0
  111. {emerge-0.6.2 → emerge-0.6.3}/src/_img/logo.jpeg +0 -0
@@ -1,5 +1,5 @@
1
1
  [tool.bumpversion]
2
- current_version = "0.6.2"
2
+ current_version = "0.6.3"
3
3
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
4
4
  serialize = ["{major}.{minor}.{patch}"]
5
5
  search = "{current_version}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emerge
3
- Version: 0.6.2
3
+ Version: 0.6.3
4
4
  Summary: An open source EM FEM simulator in Python
5
5
  Project-URL: Homepage, https://github.com/FennisRobert/EMerge
6
6
  Project-URL: Issues, https://github.com/FennisRobert/EMerge/issues
@@ -18,7 +18,7 @@ along with this program; if not, see
18
18
  """
19
19
  import os
20
20
 
21
- __version__ = "0.6.2"
21
+ __version__ = "0.6.3"
22
22
 
23
23
  ############################################################
24
24
  # HANDLE ENVIRONMENT VARIABLES #
@@ -1027,6 +1027,42 @@ class MWScalarNdim:
1027
1027
  def S(self, i1: int, i2: int) -> np.ndarray:
1028
1028
  return self.Sp[...,self._portmap[i1], self._portmap[i2]]
1029
1029
 
1030
+ @property
1031
+ def Smat(self) -> np.ndarray:
1032
+ """Returns the full S-matrix
1033
+
1034
+ Returns:
1035
+ np.ndarray: The S-matrix with shape (nF, nP, nP)
1036
+ """
1037
+ Nports = len(self._portmap)
1038
+ nfreq = self.freq.shape[0]
1039
+
1040
+ Smat = np.zeros((nfreq,Nports,Nports), dtype=np.complex128)
1041
+
1042
+ for i in self._portnumbers:
1043
+ for j in self._portnumbers:
1044
+ Smat[:,i-1,j-1] = self.S(i,j)
1045
+
1046
+ return Smat
1047
+
1048
+ def emmodel(self, f_sample: np.ndarray | None = None) -> tuple[np.ndarray, np.ndarray]:
1049
+ """Returns the required date for a Heavi S-parameter component
1050
+
1051
+ Returns:
1052
+ tuple[np.ndarray, np.ndarray]: Heavi data
1053
+ """
1054
+
1055
+ if f_sample is not None:
1056
+ f = f_sample
1057
+ S = self.model_Smat(f_sample)
1058
+ else:
1059
+ f = self.freq
1060
+ S = self.Smat
1061
+
1062
+ Z0s = self.Z0
1063
+ S = renormalise_s(S, Z0s, 50.0)
1064
+ return f, S
1065
+
1030
1066
  def model_S(self, i: int, j: int,
1031
1067
  freq: np.ndarray,
1032
1068
  Npoles: int | Literal['auto'] = 'auto',
@@ -1062,7 +1098,7 @@ class MWScalarNdim:
1062
1098
  Returns:
1063
1099
  np.ndarray: The (Nf,Np,Np) S-parameter matrix
1064
1100
  """
1065
- Nports = len(self.datasets[0].excitation)
1101
+ Nports = len(self._portmap)
1066
1102
  nfreq = frequencies.shape[0]
1067
1103
 
1068
1104
  Smat = np.zeros((nfreq,Nports,Nports), dtype=np.complex128)
@@ -3,7 +3,7 @@ allow-direct-references = true
3
3
 
4
4
  [project]
5
5
  name = "emerge"
6
- version = "0.6.2"
6
+ version = "0.6.3"
7
7
  description = "An open source EM FEM simulator in Python"
8
8
  readme = "README.md"
9
9
  requires-python = ">=3.10, <4.0"
@@ -236,7 +236,7 @@ wheels = [
236
236
 
237
237
  [[package]]
238
238
  name = "emerge"
239
- version = "0.6.2"
239
+ version = "0.6.3"
240
240
  source = { editable = "." }
241
241
  dependencies = [
242
242
  { name = "gmsh" },
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
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
File without changes