emerge 1.0.2__py3-none-any.whl → 1.0.3__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.

emerge/__init__.py CHANGED
@@ -18,7 +18,7 @@ along with this program; if not, see
18
18
  """
19
19
  import os
20
20
 
21
- __version__ = "1.0.2"
21
+ __version__ = "1.0.3"
22
22
 
23
23
  ############################################################
24
24
  # HANDLE ENVIRONMENT VARIABLES #
@@ -96,6 +96,15 @@ class MWBoundaryConditionSet(BoundaryConditionSet):
96
96
  self._cell._ports.append(port)
97
97
  return port
98
98
 
99
+ # Checks
100
+ def _is_excited(self) -> bool:
101
+ for bc in self.boundary_conditions:
102
+ if not isinstance(bc, RobinBC):
103
+ continue
104
+ if bc._include_force:
105
+ return True
106
+
107
+ return False
99
108
 
100
109
  ############################################################
101
110
  # BOUNDARY CONDITIONS #
@@ -213,11 +213,13 @@ class _AnimObject:
213
213
  field: np.ndarray,
214
214
  T: Callable,
215
215
  grid: pv.Grid,
216
+ filtered_grid: pv.Grid,
216
217
  actor: pv.Actor,
217
218
  on_update: Callable):
218
219
  self.field: np.ndarray = field
219
220
  self.T: Callable = T
220
221
  self.grid: pv.Grid = grid
222
+ self.fgrid: pv.Grid = filtered_grid
221
223
  self.actor: pv.Actor = actor
222
224
  self.on_update: Callable = on_update
223
225
 
@@ -611,7 +613,8 @@ class PVDisplay(BaseDisplay):
611
613
 
612
614
  grid = pv.StructuredGrid(x,y,z)
613
615
  field_flat = field.flatten(order='F')
614
-
616
+
617
+
615
618
 
616
619
  if scale=='log':
617
620
  T = lambda x: np.log10(np.abs(x+1e-12))
@@ -626,10 +629,12 @@ class PVDisplay(BaseDisplay):
626
629
  else:
627
630
  name = _fieldname
628
631
  self._ctr += 1
632
+
629
633
  grid[name] = static_field
630
634
 
631
635
  grid_no_nan = grid.threshold(scalars=name)
632
-
636
+
637
+
633
638
  # Determine color limits
634
639
  if clim is None:
635
640
  fmin = np.nanmin(static_field)
@@ -647,7 +652,9 @@ class PVDisplay(BaseDisplay):
647
652
  def on_update(obj: _AnimObject, phi: complex):
648
653
  field_anim = obj.T(np.real(obj.field * phi))
649
654
  obj.grid[name] = field_anim
650
- self._objs.append(_AnimObject(field_flat, T, grid_no_nan, actor, on_update))
655
+ obj.fgrid[name] = obj.grid.threshold(scalars=name)[name]
656
+ #obj.fgrid replace with thresholded scalar data.
657
+ self._objs.append(_AnimObject(field_flat, T, grid, grid_no_nan, actor, on_update))
651
658
 
652
659
 
653
660
  def add_title(self, title: str) -> None:
emerge/_emerge/solver.py CHANGED
@@ -29,10 +29,6 @@ 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
36
32
 
37
33
  _PARDISO_AVAILABLE = False
38
34
  _UMFPACK_AVAILABLE = False
@@ -56,26 +52,26 @@ if 'arm' not in platform.processor():
56
52
  # UMFPACK #
57
53
  ############################################################
58
54
 
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')
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')
65
61
 
66
62
  ############################################################
67
63
  # CUDSS #
68
64
  ############################################################
69
65
 
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)
66
+
67
+ try:
68
+ from .solve_interfaces.cudss_interface import CuDSSInterface
69
+ _CUDSS_AVAILABLE = True
70
+ except ModuleNotFoundError:
71
+ pass
72
+ except ImportError as e:
73
+ logger.error('Error while importing CuDSS dependencies:')
74
+ logger.exception(e)
79
75
 
80
76
  ############################################################
81
77
  # SOLVE REPORT #
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emerge
3
- Version: 1.0.2
3
+ Version: 1.0.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
@@ -1,4 +1,4 @@
1
- emerge/__init__.py,sha256=Oseb-0WQ8-QmOEyxjarrrrCDl7D69_9P30pEqWVAbgY,2921
1
+ emerge/__init__.py,sha256=bcSf-MFcqcMLXIdQ7XcsHhwj05Lqo5yop4rGg16qPp0,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
@@ -25,7 +25,7 @@ emerge/_emerge/selection.py,sha256=ltT8ubMFG3-sFrAh7K7iAgSoBt3r25B02ShzMlOGSXQ,2
25
25
  emerge/_emerge/settings.py,sha256=wZFMzQSnMEEJptatu--67El1L0I_YEv9S8QjqI69bfs,265
26
26
  emerge/_emerge/simmodel.py,sha256=F7HfV1QXyigAlTKbw9qsZnAslBQ_sdy8K-gx_cwIP8k,24488
27
27
  emerge/_emerge/simulation_data.py,sha256=r9-9lpLeA1Z5HU3jDVOXV1H80GVawnXL5K81_dvmlE4,14506
28
- emerge/_emerge/solver.py,sha256=Zn_euSTlI8-1uM3hNDBq8YAhO-covk2ty-xmnQGaFC8,50517
28
+ emerge/_emerge/solver.py,sha256=c3mXp-orIb_wQkfi_FbwS_sL7miuofg1TZfWRqZevMg,50289
29
29
  emerge/_emerge/system.py,sha256=p4HNz7d_LMRNE9Gk75vVdFecDH2iN_groAM9u-yQTpk,1618
30
30
  emerge/_emerge/elements/__init__.py,sha256=I3n9aic6lJW-oGeqTEZ-Fpxvyl2i-WqsHdnrM3v1oB8,799
31
31
  emerge/_emerge/elements/femdata.py,sha256=hzwyxQE71Hzfwj-vYZoy2Ry2d0qL7cEvU1aaaHxBqxg,8093
@@ -54,7 +54,7 @@ emerge/_emerge/physics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
54
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
56
  emerge/_emerge/physics/microwave/microwave_3d.py,sha256=EZez0kKTSFWbgdDxm3Mv5Zgh3Lcd6Bi8mIv66SmghNw,43314
57
- emerge/_emerge/physics/microwave/microwave_bc.py,sha256=CWX03bkBqZ7GKDV4vcIfC-XGp5tGne5DdOPHk88ErMA,43281
57
+ emerge/_emerge/physics/microwave/microwave_bc.py,sha256=97HBbSY6rycxSwZULuXeMtJcEiNSPueYwior-PdYY50,43538
58
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
60
  emerge/_emerge/physics/microwave/port_functions.py,sha256=d-W1D-7P05MfXdOs7WlhPi_RqlSpC0HkYU6yl3GrxgE,2173
@@ -74,7 +74,7 @@ emerge/_emerge/plot/display.py,sha256=TQLlKb-LkaG5ZOSLfxp9KXPlZPRFTxNj1LhVQ-Lp1-
74
74
  emerge/_emerge/plot/simple_plots.py,sha256=szIpmQmO8o6ubzB_E3zTJfEx16mJ3-OXrMYdD_wjAcs,25256
75
75
  emerge/_emerge/plot/matplotlib/mpldisplay.py,sha256=e8V6EhGdCW7nRkSFvjHCcRO5uR-FcD0yHQ1nxPQCbp4,8674
76
76
  emerge/_emerge/plot/pyvista/__init__.py,sha256=CPclatEu6mFnJZzCQk09g6T6Fh20WTbiLAJGSwAnPXU,30
77
- emerge/_emerge/plot/pyvista/display.py,sha256=8IFZ6Cj9EBKIEmGiAIgsho31tnpcUfas8SopKDWiwAY,39137
77
+ emerge/_emerge/plot/pyvista/display.py,sha256=ADMWr0TIe_OVmBD0l9a9jl52nQByRUWsFr9_RuMD9vs,39409
78
78
  emerge/_emerge/plot/pyvista/display_settings.py,sha256=gV5hjRGEAl3oQeBPobas6b6JzYfMFrXIGtVSaeml4N0,1074
79
79
  emerge/_emerge/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  emerge/_emerge/projects/_gen_base.txt,sha256=DqQz36PZg6v1ovQjHvPjd0t4AIbmikZdb9dmrNYsK3w,598
@@ -86,8 +86,8 @@ emerge/beta/dxf.py,sha256=Bw4lVk0TquOgCxTZV23BZN7PrgqxBrMZxbHV1waC5U0,50
86
86
  emerge/materials/__init__.py,sha256=Z9tu3m_nqj6F9I-FwoVoN0vCTYUlFesH3KxJ38wkZck,19
87
87
  emerge/materials/isola.py,sha256=kSDxHJZVn2CcanoUjlwRVKIPvadRbBybURTdIHWx728,18660
88
88
  emerge/materials/rogers.py,sha256=4u6ma_XQdXGKWE3WsFkaMTamCQNo9kTYSTU8S1gCAYU,3388
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,,
89
+ emerge-1.0.3.dist-info/METADATA,sha256=HtG8-3dlbt5EQHNcZRMYj_KV1uYU46zOWxR3oWv5suI,3318
90
+ emerge-1.0.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
91
+ emerge-1.0.3.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
92
+ emerge-1.0.3.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
93
+ emerge-1.0.3.dist-info/RECORD,,
File without changes