emerge 1.0.1__py3-none-any.whl → 1.0.2__py3-none-any.whl

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 (30) hide show
  1. emerge/__init__.py +6 -7
  2. emerge/_emerge/elements/femdata.py +4 -3
  3. emerge/_emerge/elements/nedelec2.py +8 -4
  4. emerge/_emerge/elements/nedleg2.py +6 -2
  5. emerge/_emerge/geo/pcb.py +6 -2
  6. emerge/_emerge/geo/pcb_tools/dxf.py +4 -3
  7. emerge/_emerge/geo/polybased.py +2 -59
  8. emerge/_emerge/mesh3d.py +23 -31
  9. emerge/_emerge/{_cache_check.py → mth/_cache_check.py} +2 -2
  10. emerge/_emerge/mth/optimized.py +69 -3
  11. emerge/_emerge/physics/microwave/__init__.py +0 -1
  12. emerge/_emerge/physics/microwave/assembly/assembler.py +27 -5
  13. emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py +2 -3
  14. emerge/_emerge/physics/microwave/assembly/periodicbc.py +0 -1
  15. emerge/_emerge/physics/microwave/assembly/robin_abc_order2.py +375 -0
  16. emerge/_emerge/physics/microwave/assembly/robinbc.py +37 -38
  17. emerge/_emerge/physics/microwave/microwave_3d.py +11 -19
  18. emerge/_emerge/physics/microwave/microwave_bc.py +21 -17
  19. emerge/_emerge/physics/microwave/microwave_data.py +0 -26
  20. emerge/_emerge/physics/microwave/port_functions.py +4 -4
  21. emerge/_emerge/plot/pyvista/display.py +4 -1
  22. emerge/_emerge/selection.py +2 -1
  23. emerge/_emerge/simmodel.py +1 -1
  24. emerge/_emerge/solver.py +19 -14
  25. emerge/lib.py +0 -2
  26. {emerge-1.0.1.dist-info → emerge-1.0.2.dist-info}/METADATA +16 -4
  27. {emerge-1.0.1.dist-info → emerge-1.0.2.dist-info}/RECORD +30 -29
  28. {emerge-1.0.1.dist-info → emerge-1.0.2.dist-info}/WHEEL +0 -0
  29. {emerge-1.0.1.dist-info → emerge-1.0.2.dist-info}/entry_points.txt +0 -0
  30. {emerge-1.0.1.dist-info → emerge-1.0.2.dist-info}/licenses/LICENSE +0 -0
@@ -1036,32 +1036,6 @@ class MWField:
1036
1036
  return E[0,:], E[1,:], E[2,:], H[0,:], H[1,:], H[2,:]
1037
1037
 
1038
1038
  return dict(freq=freq, ff_function=function)
1039
-
1040
- # def surface_integral(self, faces: FaceSelection | GeoSurface, fieldfunction: Callable) -> float | complex:
1041
- # """Computes a surface integral on the selected faces.
1042
-
1043
- # The fieldfunction argument must be a callable of a single argument x, which will
1044
- # be of type EHField which is restuned by the field.interpolate(x,y,z) function. It has
1045
- # fields like Ez, Ey, Sx etc that can be called.
1046
-
1047
- # Args:
1048
- # faces (FaceSelection | GeoSurface): _description_
1049
- # fieldfunction (Callable): _description_
1050
-
1051
- # Returns:
1052
- # float | complex: _description_
1053
- # """
1054
- # from ...mth.integrals import surface_integral
1055
-
1056
- # def ff(x, y, z):
1057
- # fieldobj = self.interpolate(x,y,z)
1058
- # return fieldfunction(fieldobj)
1059
-
1060
- # nodes = self.mesh.get_nodes(faces.tags)
1061
- # triangles = self.mesh.get_triangles(faces.tags)
1062
-
1063
- # return surface_integral(nodes, triangles, ff)
1064
-
1065
1039
 
1066
1040
  class MWScalar:
1067
1041
  """The MWDataSet class stores solution data of FEM Time Harmonic simulations.
@@ -17,11 +17,10 @@
17
17
 
18
18
  import numpy as np
19
19
  from ...elements.nedleg2 import NedelecLegrange2
20
- from ...mth.integrals import surface_integral
21
-
22
20
 
23
21
  def compute_avg_power_flux(field: NedelecLegrange2, mode: np.ndarray, k0: float, ur: np.ndarray, beta: float):
24
-
22
+ from ...mth.integrals import surface_integral
23
+
25
24
  Efunc = field.interpolate_Ef(mode)
26
25
  Hfunc = field.interpolate_Hf(mode, k0, ur, beta)
27
26
  nx, ny, nz = field.mesh.normals[:,0]
@@ -37,7 +36,8 @@ def compute_avg_power_flux(field: NedelecLegrange2, mode: np.ndarray, k0: float,
37
36
  return Ptot
38
37
 
39
38
  def compute_peak_power_flux(field: NedelecLegrange2, mode: np.ndarray, k0: float, ur: np.ndarray, beta: float):
40
-
39
+ from ...mth.integrals import surface_integral
40
+
41
41
  Efunc = field.interpolate_Ef(mode)
42
42
  Hfunc = field.interpolate_Hf(mode, k0, ur, beta)
43
43
  nx, ny, nz = field.mesh.normals[:,0]
@@ -471,7 +471,10 @@ class PVDisplay(BaseDisplay):
471
471
  line_width=line_width,
472
472
  show_edges=show_edges,
473
473
  pickable=True,
474
+ smooth_shading=False,
475
+ split_sharp_edges=True,
474
476
  style=style)
477
+
475
478
  mesh_obj = self.mesh(obj)
476
479
 
477
480
  if mesh is True and volume_mesh is True:
@@ -485,7 +488,7 @@ class PVDisplay(BaseDisplay):
485
488
  mapper.SetRelativeCoincidentTopologyPolygonOffsetParameters(1,0.5)
486
489
 
487
490
  self._plot.add_mesh(self._volume_edges(_select(obj)), color='#000000', line_width=2, show_edges=True)
488
-
491
+
489
492
  if isinstance(obj, GeoObject) and label:
490
493
  points = []
491
494
  labels = []
@@ -18,7 +18,6 @@
18
18
  from __future__ import annotations
19
19
  import gmsh # type: ignore
20
20
  import numpy as np
21
- from scipy.spatial import ConvexHull # type: ignore
22
21
  from .cs import Axis, CoordinateSystem, _parse_vector, Plane
23
22
  from typing import Callable, TypeVar, Iterable, Any
24
23
 
@@ -34,6 +33,8 @@ def align_rectangle_frame(pts3d: np.ndarray, normal: np.ndarray) -> dict[str, An
34
33
  """
35
34
 
36
35
  # 1. centroid
36
+ from scipy.spatial import ConvexHull # type: ignore
37
+
37
38
  Omat = np.squeeze(np.mean(pts3d, axis=0))
38
39
 
39
40
  # 2. build e_x, e_y
@@ -547,7 +547,7 @@ class Simulation:
547
547
  print(_GMSH_ERROR_TEXT)
548
548
  raise
549
549
 
550
- self.mesh.update(self.mesher._get_periodic_bcs())
550
+ self.mesh._pre_update(self.mesher._get_periodic_bcs())
551
551
  self.mesh.exterior_face_tags = self.mesher.domain_boundary_face_tags
552
552
  gmsh.model.occ.synchronize()
553
553
 
emerge/_emerge/solver.py CHANGED
@@ -29,6 +29,10 @@ import platform
29
29
  import time
30
30
  from typing import Literal, Callable
31
31
  from enum import Enum
32
+ import importlib.util
33
+
34
+ def module_exists(name: str) -> bool:
35
+ return importlib.util.find_spec(name) is not None
32
36
 
33
37
  _PARDISO_AVAILABLE = False
34
38
  _UMFPACK_AVAILABLE = False
@@ -52,25 +56,26 @@ if 'arm' not in platform.processor():
52
56
  # UMFPACK #
53
57
  ############################################################
54
58
 
55
-
56
- try:
57
- import scikits.umfpack as um # type: ignore
58
- _UMFPACK_AVAILABLE = True
59
- except ModuleNotFoundError:
60
- logger.debug('UMFPACK not found, defaulting to SuperLU')
59
+ if module_exists('scikits.umfpack'):
60
+ try:
61
+ import scikits.umfpack as um # type: ignore
62
+ _UMFPACK_AVAILABLE = True
63
+ except ModuleNotFoundError:
64
+ logger.debug('UMFPACK not found, defaulting to SuperLU')
61
65
 
62
66
  ############################################################
63
67
  # CUDSS #
64
68
  ############################################################
65
69
 
66
- try:
67
- from .solve_interfaces.cudss_interface import CuDSSInterface
68
- _CUDSS_AVAILABLE = True
69
- except ModuleNotFoundError:
70
- pass
71
- except ImportError as e:
72
- logger.error('Error while importing CuDSS dependencies:')
73
- logger.exception(e)
70
+ if module_exists('cupy'):
71
+ try:
72
+ from .solve_interfaces.cudss_interface import CuDSSInterface
73
+ _CUDSS_AVAILABLE = True
74
+ except ModuleNotFoundError:
75
+ pass
76
+ except ImportError as e:
77
+ logger.error('Error while importing CuDSS dependencies:')
78
+ logger.exception(e)
74
79
 
75
80
  ############################################################
76
81
  # SOLVE REPORT #
emerge/lib.py CHANGED
@@ -14,8 +14,6 @@
14
14
  """
15
15
  from ._emerge.material import Material, AIR, COPPER, PEC
16
16
  from ._emerge.const import C0, Z0, PI, EPS0, MU0
17
- from .materials import isola
18
- from .materials import rogers
19
17
 
20
18
  EISO: float = (Z0/(2*PI))**0.5
21
19
  EOMNI = (3*Z0/(4*PI))**0.5
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emerge
3
- Version: 1.0.1
3
+ Version: 1.0.2
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
@@ -44,8 +44,17 @@ pip install emerge
44
44
  On MacOS and Linux you can install it with the very fast UMFPACK through scikit-umfpack
45
45
 
46
46
  ```
47
- brew install swig suite-sparse #MacOS
47
+ brew install cmake swig suite-sparse #MacOS
48
48
  sudo apt-get install libsuitesparse-dev #Linux
49
+ ```
50
+ Then on MacOS do:
51
+ ```
52
+ export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH"
53
+ export CFLAGS="-I/opt/homebrew/include"
54
+ export LDFLAGS="-L/opt/homebrew/lib"
55
+ ```
56
+ Finally:
57
+ ```
49
58
  pip install emerge[umfpack]
50
59
  ```
51
60
 
@@ -55,11 +64,13 @@ If you have a new NVidia card you can try the first test implementation of the c
55
64
  ```
56
65
  pip install emerge[cudss]
57
66
  ```
58
- The `scikit-umfpack` solver can be installed on Windows as well from binaries with conda. This is a bit more complicated and is described in the installation guide.
67
+ The `scikit-umfpack` solver can be installed on Windows as well from binaries with conda. This is a bit more complicated and is described in the installation guide which can be downloaded from the official website:
68
+
69
+ https://www.emerge-software.com/resources
59
70
 
60
71
  ## Compatibility
61
72
 
62
- As far as I know, the library should work on all systems. PyPARDISO is not supported on ARM but the current SuperLU and UMFPACK solvers work on ARM as well. Both SuperLU and UMFPACK can run on multi-processing implementations as long as you do entry-point protection:
73
+ As far as I know, the library should work on all systems. PARDISO is not supported on ARM but the current SuperLU and UMFPACK solvers work on ARM as well. Both SuperLU and UMFPACK can run on multi-processing implementations as long as you do entry-point protection:
63
74
  ```
64
75
  import emerge as em
65
76
 
@@ -90,6 +101,7 @@ To run this FEM library you need the following libraries
90
101
  Optional:
91
102
  - scikit-umfpack
92
103
  - cudss
104
+ - ezdxf
93
105
 
94
106
  ## Resources / Manual
95
107
 
@@ -1,12 +1,11 @@
1
- emerge/__init__.py,sha256=oBMzSZxpTde1_W-URZnkS6lXjeuoQAVmTjFyuPjUs7s,2976
1
+ emerge/__init__.py,sha256=Oseb-0WQ8-QmOEyxjarrrrCDl7D69_9P30pEqWVAbgY,2921
2
2
  emerge/__main__.py,sha256=WVf16sfrOI910QWohrQDaChZdRifMNoS6VKzCT6f3ZA,92
3
3
  emerge/cli.py,sha256=NU1uhwuZ6i50680v3_I4kDZPTHqz74gOYK71UBhb8oE,666
4
4
  emerge/ext.py,sha256=IBoHH5PQFj5pYMfp6r-uMpNNgbSe8c0g9x8qjBzzVmU,223
5
- emerge/lib.py,sha256=pToTECv5U-FM2x0FNoxISWqe0_LN9_eOpw9C8gl7Mqs,28701
5
+ emerge/lib.py,sha256=VtlMP9yd1OSU_c3IQD75pZgO25Hf8fG6JyHf6IqRvcY,28642
6
6
  emerge/plot.py,sha256=AH2D9rKeWUXlSOlh-pUUfLt0oxVLcqF_piki-BmPEg0,83
7
7
  emerge/pyvista.py,sha256=-Ht2YcZYsh8-dici5ZPNAWwsis6uz5wNj8n8mxv5fog,42
8
8
  emerge/_emerge/__init__.py,sha256=aidfiILy33dt3VyiZ2mgtA87mq-WQ5pXItZUE5wR5ws,703
9
- emerge/_emerge/_cache_check.py,sha256=_m9rV-VcaC4uNfETZ2Rp1tkA-gZ5FD3xL3KOHlgdvyA,1547
10
9
  emerge/_emerge/bc.py,sha256=ngKXwIPDfeghpctS6XLeNNtSJ6m1giHP6J25SVQ_w8g,8380
11
10
  emerge/_emerge/cacherun.py,sha256=owo-Dz2QGqPKZjBY8s-a5yJuUo0pUQKjX4mscz8KDE0,2717
12
11
  emerge/_emerge/const.py,sha256=PTZZTSDOP5NsZ8XnJrKTY2P0tPUhmutBJ1yrm-t7xsI,129
@@ -18,62 +17,64 @@ emerge/_emerge/geometry.py,sha256=vkHt4glXl8U3UiPBrx-XTMBdQ0uNW0G3HTVyhIUrMZM,24
18
17
  emerge/_emerge/howto.py,sha256=c4UxUNpA1tygr3OoR-LH-h0UZv-Tf9K8tpCiAU18BKE,8173
19
18
  emerge/_emerge/logsettings.py,sha256=s8UboFEtB0aIuLB2FSL2WIbw0_kB363iHNIy4uGQi7w,3711
20
19
  emerge/_emerge/material.py,sha256=X1CUrtaMh3oWU0NdLIXbknuSABsKtd4TpYKgW_dbvO8,15543
21
- emerge/_emerge/mesh3d.py,sha256=U6rXfWf_K1fOpMShUWBpabGoEdKiCt_v7xJVZsh_ABA,36010
20
+ emerge/_emerge/mesh3d.py,sha256=OQzR1yrbzH-ayRxegsMUzeEfJ8_fObW-99fe1zhhgn8,35597
22
21
  emerge/_emerge/mesher.py,sha256=fKgPb6oZe_bqp0XYfZ6UNgBfRaAS3-tjUtZX8NalJe8,13199
23
22
  emerge/_emerge/periodic.py,sha256=dUuWqjlDR8mHtQR3ecINP2FFjJJ0cKg0blOVZ0PCcAo,12087
24
23
  emerge/_emerge/plot.py,sha256=cf1I9mj7EIUJcq8vmANlUkqoV6QqVaJaP-zlC-T9E18,8041
25
- emerge/_emerge/selection.py,sha256=0ET1ncucI4TgCE0vx92au0eQzJbm3p7uFeShhhEUocs,21518
24
+ emerge/_emerge/selection.py,sha256=ltT8ubMFG3-sFrAh7K7iAgSoBt3r25B02ShzMlOGSXQ,21527
26
25
  emerge/_emerge/settings.py,sha256=wZFMzQSnMEEJptatu--67El1L0I_YEv9S8QjqI69bfs,265
27
- emerge/_emerge/simmodel.py,sha256=ago9z-7b4mE64EoDU2k6VMhR84oxlMN37aPcEQKXRgs,24483
26
+ emerge/_emerge/simmodel.py,sha256=F7HfV1QXyigAlTKbw9qsZnAslBQ_sdy8K-gx_cwIP8k,24488
28
27
  emerge/_emerge/simulation_data.py,sha256=r9-9lpLeA1Z5HU3jDVOXV1H80GVawnXL5K81_dvmlE4,14506
29
- emerge/_emerge/solver.py,sha256=re-e2DNc-HzVHStIerqlsq1WQpQgJ7N3PuqshQY-kTo,50288
28
+ emerge/_emerge/solver.py,sha256=Zn_euSTlI8-1uM3hNDBq8YAhO-covk2ty-xmnQGaFC8,50517
30
29
  emerge/_emerge/system.py,sha256=p4HNz7d_LMRNE9Gk75vVdFecDH2iN_groAM9u-yQTpk,1618
31
30
  emerge/_emerge/elements/__init__.py,sha256=I3n9aic6lJW-oGeqTEZ-Fpxvyl2i-WqsHdnrM3v1oB8,799
32
- emerge/_emerge/elements/femdata.py,sha256=o5P-lRAW_xWEOQ_jrT5zRciFZwq1LqCIXfaWurWdjmw,8082
31
+ emerge/_emerge/elements/femdata.py,sha256=hzwyxQE71Hzfwj-vYZoy2Ry2d0qL7cEvU1aaaHxBqxg,8093
33
32
  emerge/_emerge/elements/index_interp.py,sha256=02CTHaokaAepBRvt7cHVwh3EpOA3sVE3qvEAkDjmwro,2072
34
33
  emerge/_emerge/elements/ned2_interp.py,sha256=TwZr6f7USERIHrSShhEWofq_mMwFV5xHqSIRLLiUz48,32650
35
- emerge/_emerge/elements/nedelec2.py,sha256=9cPAkxUdEFIn2HrSVPuChm7fxEjW3QAqyM0o3z9wCCw,6467
36
- emerge/_emerge/elements/nedleg2.py,sha256=6pPrBMEwQqhPwIa2LTHYfqyOrLQI19O4XAoAfmTvYAE,8884
34
+ emerge/_emerge/elements/nedelec2.py,sha256=LFfrXlafjQJGETPzwDtF9wTgKRusLxfA0_VrMkzI2bA,6640
35
+ emerge/_emerge/elements/nedleg2.py,sha256=1SA6AvnbChhU2iodS1PVMUdbSn9wF2XKam12WTBDtsw,9049
37
36
  emerge/_emerge/geo/__init__.py,sha256=yTeuT4Oexrsdkr7MxRLeTHEY5iP4IHsWeCvit57fK5g,1161
38
37
  emerge/_emerge/geo/horn.py,sha256=otrtPphO2zoRaSOb7NV-iRaydL1uWDAl2xJ6-8Sef24,4148
39
38
  emerge/_emerge/geo/modeler.py,sha256=_PMz3lFSa7FmJHWdY-4U1Sqbed-Egy85S_AdjlCldC4,15572
40
39
  emerge/_emerge/geo/operations.py,sha256=lqfCU99uiLc0vDGqILpMP1YgKs1e-gwEcSLbI_gE6TA,12441
41
- emerge/_emerge/geo/pcb.py,sha256=flHHzCOxelYCWkx7cAJRFALvuLYAW-T_YcDLcv2QLws,57355
40
+ emerge/_emerge/geo/pcb.py,sha256=Mzn7Lho18Xc7A-XShfWZK9Kop4xlLYONMeRhtKkETJU,57577
42
41
  emerge/_emerge/geo/pmlbox.py,sha256=gaIG_AoZNQnIyJ8C7x64U-Hw5dsmllWMiZDAH4iRoM0,8784
43
- emerge/_emerge/geo/polybased.py,sha256=FgMBCHzvkO4fV8kZ8g4Xgo2Wff6d0m4gkWULwz6oSg8,33464
42
+ emerge/_emerge/geo/polybased.py,sha256=g-dyR_58knyQK4q72dLZzAkquVCaZ_GhRcPy1a_veQE,31323
44
43
  emerge/_emerge/geo/shapes.py,sha256=LPprT9vR7p6TqSBVKS6eG8P3iYWO7_yC7LNUYw5B8Sk,24196
45
44
  emerge/_emerge/geo/step.py,sha256=XcAiEN8W4umNmZdYmrGHX_aJUuiMgc6vgT-UIk8Gbqc,2689
46
45
  emerge/_emerge/geo/pcb_tools/calculator.py,sha256=VbMP2xC9i7OFwtqnnwfYgyJSEcJIjr2VIy_Ez1hYqlU,859
47
- emerge/_emerge/geo/pcb_tools/dxf.py,sha256=6E_Jx4x7vpPZkaR0-hRAuPFDM77Xufv9X_jNd_MsYcM,11752
46
+ emerge/_emerge/geo/pcb_tools/dxf.py,sha256=Xv7iP_bB0f2Y46sxZloa5KYGyj5dtApXoR-kgL7KHZA,11744
48
47
  emerge/_emerge/geo/pcb_tools/macro.py,sha256=0g-0anOFyxrEkFobiSu0cwWFRQ32xB8Az24mmwo0z6M,2992
48
+ emerge/_emerge/mth/_cache_check.py,sha256=mD65yXXRoSaiTa8nky27Ne8p_s5aTC_RqmLre0x1mio,1563
49
49
  emerge/_emerge/mth/common_functions.py,sha256=oURfF-8p_0s1dKbUATc15dnKHFwvqWa6GC-JMW9UwnI,2061
50
50
  emerge/_emerge/mth/integrals.py,sha256=lL7KrHdyFGpboQyvf6W_4bZRZCrMbjd2e8GDHctL-B8,3572
51
- emerge/_emerge/mth/optimized.py,sha256=TkUKeSZPWmmJb9f3-KWkcYzTs61oDBeQZgwj1qq6as0,16575
51
+ emerge/_emerge/mth/optimized.py,sha256=OzYfWphPnjmfMV4bAV0csi3YM0JWzVMPQI0vZvX25NU,19082
52
52
  emerge/_emerge/mth/pairing.py,sha256=i8bBvTeMmzgF0JdiDNJiTXxx913x4f10777pzD6FJo0,3535
53
53
  emerge/_emerge/physics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- emerge/_emerge/physics/microwave/__init__.py,sha256=QHeILGYWmvbfLl1o9wrTiWLm0evfXDgS0JiikUoMTts,28
54
+ emerge/_emerge/physics/microwave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  emerge/_emerge/physics/microwave/adaptive_freq.py,sha256=aWhijhCVAbnuwkru-I1AaRdY20uyozf6OWRIh9r2ijg,9786
56
- emerge/_emerge/physics/microwave/microwave_3d.py,sha256=rjHJ2ie37H5oG86lyMO-YXg5dbg0fnzC6kRzwxxNRKA,43620
57
- emerge/_emerge/physics/microwave/microwave_bc.py,sha256=5jmpHvk4Agtc2cMYqLN6xO4i7JU0iWzPCHyiWB8W8XY,42823
58
- emerge/_emerge/physics/microwave/microwave_data.py,sha256=oJpNc21-i99ng8Hi4vshAXst-3DFToXLbrLqgPuz0cY,50483
56
+ emerge/_emerge/physics/microwave/microwave_3d.py,sha256=EZez0kKTSFWbgdDxm3Mv5Zgh3Lcd6Bi8mIv66SmghNw,43314
57
+ emerge/_emerge/physics/microwave/microwave_bc.py,sha256=CWX03bkBqZ7GKDV4vcIfC-XGp5tGne5DdOPHk88ErMA,43281
58
+ emerge/_emerge/physics/microwave/microwave_data.py,sha256=1p1EbHO1Bz8dYwQJhRlO08fA_2D-JGr1WH2dkd7at9c,49463
59
59
  emerge/_emerge/physics/microwave/periodic.py,sha256=wYSUgLFVtCLqSG3EDKoCDRU93iPUzBdXzVRdHTRmbpI,3000
60
- emerge/_emerge/physics/microwave/port_functions.py,sha256=aVU__AkVk8b1kH2J_oDLF5iNReCxC9nzCtesFSSSSQo,2112
60
+ emerge/_emerge/physics/microwave/port_functions.py,sha256=d-W1D-7P05MfXdOs7WlhPi_RqlSpC0HkYU6yl3GrxgE,2173
61
61
  emerge/_emerge/physics/microwave/sc.py,sha256=WZvoPhmHkfEv619RhmN09sXDBV0ryTqybwErA8Rc7lU,4735
62
62
  emerge/_emerge/physics/microwave/simjob.py,sha256=aCWCs7IXBfVBWWYhwyHvXSRHY3FOd3CK5ABcaFEsNnM,4927
63
63
  emerge/_emerge/physics/microwave/sparam.py,sha256=1SXGyr1UsrPnCIi4ffwobM4pzgkj50y4LrWCr_J5IRY,4946
64
64
  emerge/_emerge/physics/microwave/touchstone.py,sha256=pMcCOLWVqIKctcShcJxyaV-0rhRWXMSS1Jz14dVQEyY,5799
65
- emerge/_emerge/physics/microwave/assembly/assembler.py,sha256=HsIZYFamp8tfJgqOQV3qm4Buq7rx5f2n1zO0Q_uusD4,22772
65
+ emerge/_emerge/physics/microwave/assembly/assembler.py,sha256=c0XdSpTsb55-nQm-lV8hradxtynx1IOCYAEghrJD3ic,23883
66
66
  emerge/_emerge/physics/microwave/assembly/curlcurl.py,sha256=iYHTNI48bmC6SjCiCMPoY4yqsf__e_h_vbW0fNKQpNQ,18686
67
67
  emerge/_emerge/physics/microwave/assembly/generalized_eigen.py,sha256=LOybnxdy1x6R6d0lPnfnKckZSiYRfWOW9MUFlV_ygfs,16945
68
- emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py,sha256=XcWWoDVU7KlcjP8re3o-Kb63A3px4CJ-OPjCT57_J8E,17382
69
- emerge/_emerge/physics/microwave/assembly/periodicbc.py,sha256=Zg1kgQMccDQA2oVErpfldv6v2oYfc9Y3xWcpfg93-FY,4646
70
- emerge/_emerge/physics/microwave/assembly/robinbc.py,sha256=syJ-NuHHA0WDQECuaPdeW-OfzIGHmxxqalKiokSyJFI,17742
68
+ emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py,sha256=9YaBtUkYxXT_Sc247PkDAgAJkHjfeKi39-5KGR06IKE,17355
69
+ emerge/_emerge/physics/microwave/assembly/periodicbc.py,sha256=N64uGx49Qs0PJxi_EH5pLx0zcrgJxqMy6DI1TqVXfmQ,4645
70
+ emerge/_emerge/physics/microwave/assembly/robin_abc_order2.py,sha256=muG5TurwkZiFmFAjH0ecigFc67P5eniQtY34Uv2tMMY,13485
71
+ emerge/_emerge/physics/microwave/assembly/robinbc.py,sha256=uaaxlw7Vh-6ni5Gaz07WzpUsRvZ0hAru9E2wnNPp_fY,17614
71
72
  emerge/_emerge/plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
73
  emerge/_emerge/plot/display.py,sha256=TQLlKb-LkaG5ZOSLfxp9KXPlZPRFTxNj1LhVQ-Lp1-s,18476
73
74
  emerge/_emerge/plot/simple_plots.py,sha256=szIpmQmO8o6ubzB_E3zTJfEx16mJ3-OXrMYdD_wjAcs,25256
74
75
  emerge/_emerge/plot/matplotlib/mpldisplay.py,sha256=e8V6EhGdCW7nRkSFvjHCcRO5uR-FcD0yHQ1nxPQCbp4,8674
75
76
  emerge/_emerge/plot/pyvista/__init__.py,sha256=CPclatEu6mFnJZzCQk09g6T6Fh20WTbiLAJGSwAnPXU,30
76
- emerge/_emerge/plot/pyvista/display.py,sha256=0OgtSj2uEvQHZ6X-IHVpwffzSv8n4iOJEWMOrO_MFMo,39018
77
+ emerge/_emerge/plot/pyvista/display.py,sha256=8IFZ6Cj9EBKIEmGiAIgsho31tnpcUfas8SopKDWiwAY,39137
77
78
  emerge/_emerge/plot/pyvista/display_settings.py,sha256=gV5hjRGEAl3oQeBPobas6b6JzYfMFrXIGtVSaeml4N0,1074
78
79
  emerge/_emerge/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
80
  emerge/_emerge/projects/_gen_base.txt,sha256=DqQz36PZg6v1ovQjHvPjd0t4AIbmikZdb9dmrNYsK3w,598
@@ -85,8 +86,8 @@ emerge/beta/dxf.py,sha256=Bw4lVk0TquOgCxTZV23BZN7PrgqxBrMZxbHV1waC5U0,50
85
86
  emerge/materials/__init__.py,sha256=Z9tu3m_nqj6F9I-FwoVoN0vCTYUlFesH3KxJ38wkZck,19
86
87
  emerge/materials/isola.py,sha256=kSDxHJZVn2CcanoUjlwRVKIPvadRbBybURTdIHWx728,18660
87
88
  emerge/materials/rogers.py,sha256=4u6ma_XQdXGKWE3WsFkaMTamCQNo9kTYSTU8S1gCAYU,3388
88
- emerge-1.0.1.dist-info/METADATA,sha256=1XCpukuaUJX2KkuCGJsg4Olfbem2_ntcWJarFp3tpZk,3021
89
- emerge-1.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
90
- emerge-1.0.1.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
91
- emerge-1.0.1.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
92
- emerge-1.0.1.dist-info/RECORD,,
89
+ emerge-1.0.2.dist-info/METADATA,sha256=_5GsvWw3WjkkdySkWuBq48RRFMNBRG8z6z9bGCBQV6k,3318
90
+ emerge-1.0.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
91
+ emerge-1.0.2.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
92
+ emerge-1.0.2.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
93
+ emerge-1.0.2.dist-info/RECORD,,
File without changes