emerge 1.0.3__py3-none-any.whl → 1.0.4__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 +7 -3
  2. emerge/_emerge/elements/femdata.py +5 -1
  3. emerge/_emerge/elements/ned2_interp.py +73 -30
  4. emerge/_emerge/elements/nedelec2.py +1 -0
  5. emerge/_emerge/emerge_update.py +63 -0
  6. emerge/_emerge/geo/operations.py +2 -1
  7. emerge/_emerge/geo/polybased.py +26 -5
  8. emerge/_emerge/geometry.py +5 -0
  9. emerge/_emerge/logsettings.py +26 -1
  10. emerge/_emerge/material.py +29 -8
  11. emerge/_emerge/mesh3d.py +16 -13
  12. emerge/_emerge/mesher.py +70 -3
  13. emerge/_emerge/physics/microwave/assembly/assembler.py +5 -4
  14. emerge/_emerge/physics/microwave/assembly/curlcurl.py +0 -1
  15. emerge/_emerge/physics/microwave/assembly/generalized_eigen.py +1 -2
  16. emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py +1 -1
  17. emerge/_emerge/physics/microwave/assembly/robin_abc_order2.py +0 -1
  18. emerge/_emerge/physics/microwave/microwave_3d.py +37 -16
  19. emerge/_emerge/physics/microwave/microwave_bc.py +6 -4
  20. emerge/_emerge/physics/microwave/microwave_data.py +14 -11
  21. emerge/_emerge/plot/pyvista/cmap_maker.py +70 -0
  22. emerge/_emerge/plot/pyvista/display.py +93 -36
  23. emerge/_emerge/simmodel.py +75 -21
  24. emerge/_emerge/simulation_data.py +22 -4
  25. emerge/_emerge/solver.py +63 -32
  26. {emerge-1.0.3.dist-info → emerge-1.0.4.dist-info}/METADATA +2 -3
  27. {emerge-1.0.3.dist-info → emerge-1.0.4.dist-info}/RECORD +30 -28
  28. {emerge-1.0.3.dist-info → emerge-1.0.4.dist-info}/WHEEL +0 -0
  29. {emerge-1.0.3.dist-info → emerge-1.0.4.dist-info}/entry_points.txt +0 -0
  30. {emerge-1.0.3.dist-info → emerge-1.0.4.dist-info}/licenses/LICENSE +0 -0
emerge/_emerge/solver.py CHANGED
@@ -95,7 +95,40 @@ class SolveReport:
95
95
  for key, value in kwargs.items():
96
96
  self.aux[key] = str(value)
97
97
 
98
+ def logprint(self, print_cal: Callable | None = None):
99
+ if print_cal is None:
100
+ print_cal = print
101
+
102
+ def fmt(key, val):
103
+ return f"{key}={val:.4f}" if isinstance(val, float) else f"{key}={val}"
104
+
105
+ parts = []
106
+ parts.append(fmt("Solver", self.solver))
107
+ parts.append(fmt("Sorter", self.sorter))
108
+ parts.append(fmt("Precon", self.precon))
109
+ parts.append(fmt("JobID", self.jobid))
110
+ parts.append(fmt("SimTime[s]", self.simtime))
111
+ parts.append(fmt("DOFsTot", self.ndof))
112
+ parts.append(fmt("NNZTot", self.nnz))
113
+ parts.append(fmt("DOFsSolve", self.ndof_solve))
114
+ parts.append(fmt("NNZSolve", self.nnz_solve))
115
+ parts.append(fmt("Exit", self.exit_code))
116
+
117
+ if self.aux:
118
+ for k, v in self.aux.items():
119
+ parts.append(fmt(str(k), v))
120
+
121
+ # Group into multiple lines (6 items per line for readability)
122
+ print_cal(f"FEM Report [JobID={self.jobid}]")
123
+ for i in range(0, len(parts), 6):
124
+ print_cal(" " + ", ".join(parts[i:i+6]))
125
+
98
126
  def pretty_print(self, print_cal: Callable | None = None):
127
+ """Print the solve report in the terminal in a table format
128
+
129
+ Args:
130
+ print_cal (Callable | None, optional): _description_. Defaults to None.
131
+ """
99
132
  if print_cal is None:
100
133
  print_cal = print
101
134
  # Set column widths
@@ -623,7 +656,7 @@ class SolverPardiso(Solver):
623
656
  return x, SolveReport(solver=str(self), exit_code=error, aux=aux)
624
657
 
625
658
 
626
- class CuDSSSolver(Solver):
659
+ class SolverCuDSS(Solver):
627
660
  real_only = False
628
661
  def __init__(self):
629
662
  super().__init__()
@@ -838,34 +871,31 @@ class EMSolver(Enum):
838
871
  SMART_ARPACK_BMA = 7
839
872
  CUDSS = 8
840
873
 
841
- def get_solver(self) -> Solver | EigSolver | None:
842
- if self==EMSolver.SUPERLU:
843
- return SolverSuperLU()
844
- elif self==EMSolver.UMFPACK:
845
- if _UMFPACK_AVAILABLE is False:
846
- return None
847
- else:
848
- return SolverUMFPACK()
849
- elif self==EMSolver.PARDISO:
850
- if _PARDISO_AVAILABLE is False:
851
- return None
852
- else:
853
- return SolverPardiso()
854
- elif self==EMSolver.LAPACK:
855
- return SolverLAPACK()
856
- elif self==EMSolver.ARPACK:
857
- return SolverARPACK()
858
- elif self==EMSolver.SMART_ARPACK:
859
- return SmartARPACK()
860
- elif self==EMSolver.SMART_ARPACK_BMA:
861
- return SmartARPACK_BMA()
862
- elif self==EMSolver.CUDSS:
863
- if _CUDSS_AVAILABLE is False:
864
- return None
865
- else:
866
- return CuDSSSolver()
867
- raise ValueError(f'An unsupported Enum case has been reached: {self}')
874
+ def create_solver(self) -> Solver | EigSolver | None:
875
+ if self==EMSolver.UMFPACK and not _UMFPACK_AVAILABLE:
876
+ return None
877
+ elif self==EMSolver.PARDISO and not _PARDISO_AVAILABLE:
878
+ return None
879
+ if self==EMSolver.CUDSS and not _CUDSS_AVAILABLE:
880
+ return None
881
+ return self._clss()
868
882
 
883
+ @property
884
+ def _clss(self) -> type[Solver]:
885
+ mapper = {1: SolverSuperLU,
886
+ 2: SolverUMFPACK,
887
+ 3: SolverPardiso,
888
+ 4: SolverLAPACK,
889
+ 5: SolverARPACK,
890
+ 6: SmartARPACK,
891
+ 7: SmartARPACK_BMA,
892
+ 8: SolverCuDSS
893
+
894
+ }
895
+ return mapper.get(self.value, None)
896
+
897
+ def istype(self, solver: Solver) -> bool:
898
+ return isinstance(solver, self._clss)
869
899
  ############################################################
870
900
  # SOLVE ROUTINE #
871
901
  ############################################################
@@ -881,7 +911,7 @@ class SolveRoutine:
881
911
 
882
912
  self.sorter: Sorter = ReverseCuthillMckee()
883
913
  self.precon: Preconditioner = ILUPrecon()
884
- self.solvers: dict[EMSolver, Solver | EigSolver] = {slv: slv.get_solver() for slv in EMSolver}
914
+ self.solvers: dict[EMSolver, Solver | EigSolver] = {slv: slv.create_solver() for slv in EMSolver}
885
915
  self.solvers = {key: solver for key, solver in self.solvers.items() if solver is not None}
886
916
 
887
917
  self.parallel: Literal['SI','MT','MP'] = 'SI'
@@ -921,7 +951,6 @@ class SolveRoutine:
921
951
  @property
922
952
  def all_eig_solvers(self) -> list[EigSolver]:
923
953
  return list([solver for solver in self.solvers.values() if isinstance(solver, EigSolver)])
924
-
925
954
 
926
955
  def _try_solver(self, solver_type: EMSolver) -> Solver:
927
956
  """Try to use the selected solver or else find another one that is working.
@@ -967,7 +996,7 @@ class SolveRoutine:
967
996
  """
968
997
  for solver in solvers:
969
998
  if isinstance(solver, EMSolver):
970
- self.forced_solver.append(solver.get_solver())
999
+ self.forced_solver.append(self.solvers[solver])
971
1000
  else:
972
1001
  self.forced_solver.append(solver)
973
1002
 
@@ -980,7 +1009,7 @@ class SolveRoutine:
980
1009
  """
981
1010
  for solver in solvers:
982
1011
  if isinstance(solver, EMSolver):
983
- self.disabled_solver.append(solver.get_solver().__class__)
1012
+ self.disabled_solver.append(solver.create_solver().__class__)
984
1013
  else:
985
1014
  self.disabled_solver.append(solver.__class__)
986
1015
 
@@ -1043,6 +1072,8 @@ class SolveRoutine:
1043
1072
 
1044
1073
  """
1045
1074
  for solver in self.forced_solver:
1075
+ if solver is None:
1076
+ continue
1046
1077
  if not self._legal_solver(solver):
1047
1078
  continue
1048
1079
  if isinstance(solver, Solver):
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emerge
3
- Version: 1.0.3
3
+ Version: 1.0.4
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
7
7
  License-File: LICENSE
8
8
  Requires-Python: <4.0,>=3.10
9
- Requires-Dist: cloudpickle>=3.1.1
10
9
  Requires-Dist: gmsh<4.14.0,>=4.13.0
11
10
  Requires-Dist: joblib>=1.5.1
12
11
  Requires-Dist: loguru>=0.7.3
@@ -33,7 +32,7 @@ Hello everybody. Thanks for showing interest in this repository.
33
32
  Feel free to download your version of EMerge and start playing around with it!
34
33
  If you have suggestions/changes/questions either use the Github issue system or join the Discord using the following link:
35
34
 
36
- **https://discord.gg/7PF4WcS6uA**
35
+ **https://discord.gg/uArxywnz**
37
36
 
38
37
  ## How to install
39
38
 
@@ -1,4 +1,4 @@
1
- emerge/__init__.py,sha256=bcSf-MFcqcMLXIdQ7XcsHhwj05Lqo5yop4rGg16qPp0,2921
1
+ emerge/__init__.py,sha256=hgaavnd2z2brL5QWk8XSNpqE3GDT54YHyQ9eeLgcCdA,3122
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
@@ -12,34 +12,35 @@ emerge/_emerge/const.py,sha256=PTZZTSDOP5NsZ8XnJrKTY2P0tPUhmutBJ1yrm-t7xsI,129
12
12
  emerge/_emerge/coord.py,sha256=BKvyrcnHY-_bgHqysnByy5k9_DK4VVfr9KKkRaawG2E,4371
13
13
  emerge/_emerge/cs.py,sha256=gULfov6s0jODOdQkH6NmGBbG5wvny1-bJU8fdAlpCHo,19730
14
14
  emerge/_emerge/dataset.py,sha256=UcSAJ_siLrOjNBBWRWsS3GUZUpayp63EM6pP6ClwKDI,1534
15
+ emerge/_emerge/emerge_update.py,sha256=0G91xr7k7Me5gOlk3pXbKWe-6ALXtoCJ5syTa1Y5Bhw,2042
15
16
  emerge/_emerge/geo2d.py,sha256=e_HkX1GQ2iYrdO0zeEgzVOzfGyU1WGJyjeGBAobOttE,3323
16
- emerge/_emerge/geometry.py,sha256=vkHt4glXl8U3UiPBrx-XTMBdQ0uNW0G3HTVyhIUrMZM,24490
17
+ emerge/_emerge/geometry.py,sha256=-QLLDyYXCXfZW01aKwW8IfkvtAr5PVjsM4r-xtEbOzY,24677
17
18
  emerge/_emerge/howto.py,sha256=c4UxUNpA1tygr3OoR-LH-h0UZv-Tf9K8tpCiAU18BKE,8173
18
- emerge/_emerge/logsettings.py,sha256=s8UboFEtB0aIuLB2FSL2WIbw0_kB363iHNIy4uGQi7w,3711
19
- emerge/_emerge/material.py,sha256=X1CUrtaMh3oWU0NdLIXbknuSABsKtd4TpYKgW_dbvO8,15543
20
- emerge/_emerge/mesh3d.py,sha256=OQzR1yrbzH-ayRxegsMUzeEfJ8_fObW-99fe1zhhgn8,35597
21
- emerge/_emerge/mesher.py,sha256=fKgPb6oZe_bqp0XYfZ6UNgBfRaAS3-tjUtZX8NalJe8,13199
19
+ emerge/_emerge/logsettings.py,sha256=OpsH_1dQAdZry_as8y0OQt4yKP_AMFfQG2d5Nz5yywg,4789
20
+ emerge/_emerge/material.py,sha256=q6dhtfxPfy1PbCRjG7-jOimR5dVE6vf1kyfpBdoYrK4,16038
21
+ emerge/_emerge/mesh3d.py,sha256=6NWTqJVwyaOhFKQgNghkH3zgrYFWbI0qAEBpvq-JOwI,35790
22
+ emerge/_emerge/mesher.py,sha256=64hMTe2sSQgytnf8ryXUH8PIkUOsV5KJEXpibgJOhSg,16052
22
23
  emerge/_emerge/periodic.py,sha256=dUuWqjlDR8mHtQR3ecINP2FFjJJ0cKg0blOVZ0PCcAo,12087
23
24
  emerge/_emerge/plot.py,sha256=cf1I9mj7EIUJcq8vmANlUkqoV6QqVaJaP-zlC-T9E18,8041
24
25
  emerge/_emerge/selection.py,sha256=ltT8ubMFG3-sFrAh7K7iAgSoBt3r25B02ShzMlOGSXQ,21527
25
26
  emerge/_emerge/settings.py,sha256=wZFMzQSnMEEJptatu--67El1L0I_YEv9S8QjqI69bfs,265
26
- emerge/_emerge/simmodel.py,sha256=F7HfV1QXyigAlTKbw9qsZnAslBQ_sdy8K-gx_cwIP8k,24488
27
- emerge/_emerge/simulation_data.py,sha256=r9-9lpLeA1Z5HU3jDVOXV1H80GVawnXL5K81_dvmlE4,14506
28
- emerge/_emerge/solver.py,sha256=c3mXp-orIb_wQkfi_FbwS_sL7miuofg1TZfWRqZevMg,50289
27
+ emerge/_emerge/simmodel.py,sha256=8p82_R_hFAd1gOaLn6kaeFyQGJAQKjE04iZethx3V_o,26458
28
+ emerge/_emerge/simulation_data.py,sha256=23o-xbm6Q6s9sYisyK9u1GTmuaXRl0WDGQwzPO7lkr0,15115
29
+ emerge/_emerge/solver.py,sha256=Li8CYXuK-B-iXZ2z9SD-g8xJs0t86CtJsT3_7BxqKgE,51469
29
30
  emerge/_emerge/system.py,sha256=p4HNz7d_LMRNE9Gk75vVdFecDH2iN_groAM9u-yQTpk,1618
30
31
  emerge/_emerge/elements/__init__.py,sha256=I3n9aic6lJW-oGeqTEZ-Fpxvyl2i-WqsHdnrM3v1oB8,799
31
- emerge/_emerge/elements/femdata.py,sha256=hzwyxQE71Hzfwj-vYZoy2Ry2d0qL7cEvU1aaaHxBqxg,8093
32
+ emerge/_emerge/elements/femdata.py,sha256=ZSB7dICyU3GOWbxpuowBc-Khh2mpXa02ZfMkHwdDol4,8377
32
33
  emerge/_emerge/elements/index_interp.py,sha256=02CTHaokaAepBRvt7cHVwh3EpOA3sVE3qvEAkDjmwro,2072
33
- emerge/_emerge/elements/ned2_interp.py,sha256=TwZr6f7USERIHrSShhEWofq_mMwFV5xHqSIRLLiUz48,32650
34
- emerge/_emerge/elements/nedelec2.py,sha256=LFfrXlafjQJGETPzwDtF9wTgKRusLxfA0_VrMkzI2bA,6640
34
+ emerge/_emerge/elements/ned2_interp.py,sha256=BGRdJGXCcDdqMBf3pOvc_-m-vngRI1VvE5MUsqqf9Cw,27981
35
+ emerge/_emerge/elements/nedelec2.py,sha256=OssFCnPp7wkMBcUISGvTgT94jayfGOmX0x-RctIYSuI,6645
35
36
  emerge/_emerge/elements/nedleg2.py,sha256=1SA6AvnbChhU2iodS1PVMUdbSn9wF2XKam12WTBDtsw,9049
36
37
  emerge/_emerge/geo/__init__.py,sha256=yTeuT4Oexrsdkr7MxRLeTHEY5iP4IHsWeCvit57fK5g,1161
37
38
  emerge/_emerge/geo/horn.py,sha256=otrtPphO2zoRaSOb7NV-iRaydL1uWDAl2xJ6-8Sef24,4148
38
39
  emerge/_emerge/geo/modeler.py,sha256=_PMz3lFSa7FmJHWdY-4U1Sqbed-Egy85S_AdjlCldC4,15572
39
- emerge/_emerge/geo/operations.py,sha256=lqfCU99uiLc0vDGqILpMP1YgKs1e-gwEcSLbI_gE6TA,12441
40
+ emerge/_emerge/geo/operations.py,sha256=cKQfVjN0Qt9tj91w7zevm7EKsYPxcD8TRFCeQMQZFwY,12446
40
41
  emerge/_emerge/geo/pcb.py,sha256=Mzn7Lho18Xc7A-XShfWZK9Kop4xlLYONMeRhtKkETJU,57577
41
42
  emerge/_emerge/geo/pmlbox.py,sha256=gaIG_AoZNQnIyJ8C7x64U-Hw5dsmllWMiZDAH4iRoM0,8784
42
- emerge/_emerge/geo/polybased.py,sha256=g-dyR_58knyQK4q72dLZzAkquVCaZ_GhRcPy1a_veQE,31323
43
+ emerge/_emerge/geo/polybased.py,sha256=G4oJG7I7oZ69PKiQVoAOPSNAWnjhuYUDdqibZhUdiv4,32059
43
44
  emerge/_emerge/geo/shapes.py,sha256=LPprT9vR7p6TqSBVKS6eG8P3iYWO7_yC7LNUYw5B8Sk,24196
44
45
  emerge/_emerge/geo/step.py,sha256=XcAiEN8W4umNmZdYmrGHX_aJUuiMgc6vgT-UIk8Gbqc,2689
45
46
  emerge/_emerge/geo/pcb_tools/calculator.py,sha256=VbMP2xC9i7OFwtqnnwfYgyJSEcJIjr2VIy_Ez1hYqlU,859
@@ -53,28 +54,29 @@ emerge/_emerge/mth/pairing.py,sha256=i8bBvTeMmzgF0JdiDNJiTXxx913x4f10777pzD6FJo0
53
54
  emerge/_emerge/physics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
55
  emerge/_emerge/physics/microwave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
56
  emerge/_emerge/physics/microwave/adaptive_freq.py,sha256=aWhijhCVAbnuwkru-I1AaRdY20uyozf6OWRIh9r2ijg,9786
56
- emerge/_emerge/physics/microwave/microwave_3d.py,sha256=EZez0kKTSFWbgdDxm3Mv5Zgh3Lcd6Bi8mIv66SmghNw,43314
57
- emerge/_emerge/physics/microwave/microwave_bc.py,sha256=97HBbSY6rycxSwZULuXeMtJcEiNSPueYwior-PdYY50,43538
58
- emerge/_emerge/physics/microwave/microwave_data.py,sha256=1p1EbHO1Bz8dYwQJhRlO08fA_2D-JGr1WH2dkd7at9c,49463
57
+ emerge/_emerge/physics/microwave/microwave_3d.py,sha256=FYUczByjAVTR3F15B2S1u7KPbYv4oABEqcj-uxemlGY,44396
58
+ emerge/_emerge/physics/microwave/microwave_bc.py,sha256=n8lO-jUCKyQfsXVTWgFASxa3EcoFYz5uKXm-WiDKvIY,43655
59
+ emerge/_emerge/physics/microwave/microwave_data.py,sha256=CwFg7lukrN5KrgCo-kZT6jSwqbU3I2xC5Xo621zm2Rk,49639
59
60
  emerge/_emerge/physics/microwave/periodic.py,sha256=wYSUgLFVtCLqSG3EDKoCDRU93iPUzBdXzVRdHTRmbpI,3000
60
61
  emerge/_emerge/physics/microwave/port_functions.py,sha256=d-W1D-7P05MfXdOs7WlhPi_RqlSpC0HkYU6yl3GrxgE,2173
61
62
  emerge/_emerge/physics/microwave/sc.py,sha256=WZvoPhmHkfEv619RhmN09sXDBV0ryTqybwErA8Rc7lU,4735
62
63
  emerge/_emerge/physics/microwave/simjob.py,sha256=aCWCs7IXBfVBWWYhwyHvXSRHY3FOd3CK5ABcaFEsNnM,4927
63
64
  emerge/_emerge/physics/microwave/sparam.py,sha256=1SXGyr1UsrPnCIi4ffwobM4pzgkj50y4LrWCr_J5IRY,4946
64
65
  emerge/_emerge/physics/microwave/touchstone.py,sha256=pMcCOLWVqIKctcShcJxyaV-0rhRWXMSS1Jz14dVQEyY,5799
65
- emerge/_emerge/physics/microwave/assembly/assembler.py,sha256=c0XdSpTsb55-nQm-lV8hradxtynx1IOCYAEghrJD3ic,23883
66
- emerge/_emerge/physics/microwave/assembly/curlcurl.py,sha256=iYHTNI48bmC6SjCiCMPoY4yqsf__e_h_vbW0fNKQpNQ,18686
67
- emerge/_emerge/physics/microwave/assembly/generalized_eigen.py,sha256=LOybnxdy1x6R6d0lPnfnKckZSiYRfWOW9MUFlV_ygfs,16945
68
- emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py,sha256=9YaBtUkYxXT_Sc247PkDAgAJkHjfeKi39-5KGR06IKE,17355
66
+ emerge/_emerge/physics/microwave/assembly/assembler.py,sha256=cHmWu5NOCPXbXPK1BkiHAUSvVOYs6aP-44GF7RuRTXA,23926
67
+ emerge/_emerge/physics/microwave/assembly/curlcurl.py,sha256=ksK7CcRrix2FMTXwV5SCVKcRcyfih39qhR6brqmt7ds,18663
68
+ emerge/_emerge/physics/microwave/assembly/generalized_eigen.py,sha256=7jNU_hWd7q-ni53wmlhB5kmyJxp2xsx_WyBXZ6hPwo0,16907
69
+ emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py,sha256=tGf9EOzmp-dqtTodwYzcswuT_eLeZRtgdAZvgPz9QJo,17340
69
70
  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/robin_abc_order2.py,sha256=HRGe6ezRVfcNak3pjiGkQfX5dj57xJyNMMGi1OWM528,13449
71
72
  emerge/_emerge/physics/microwave/assembly/robinbc.py,sha256=uaaxlw7Vh-6ni5Gaz07WzpUsRvZ0hAru9E2wnNPp_fY,17614
72
73
  emerge/_emerge/plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
74
  emerge/_emerge/plot/display.py,sha256=TQLlKb-LkaG5ZOSLfxp9KXPlZPRFTxNj1LhVQ-Lp1-s,18476
74
75
  emerge/_emerge/plot/simple_plots.py,sha256=szIpmQmO8o6ubzB_E3zTJfEx16mJ3-OXrMYdD_wjAcs,25256
75
76
  emerge/_emerge/plot/matplotlib/mpldisplay.py,sha256=e8V6EhGdCW7nRkSFvjHCcRO5uR-FcD0yHQ1nxPQCbp4,8674
76
77
  emerge/_emerge/plot/pyvista/__init__.py,sha256=CPclatEu6mFnJZzCQk09g6T6Fh20WTbiLAJGSwAnPXU,30
77
- emerge/_emerge/plot/pyvista/display.py,sha256=ADMWr0TIe_OVmBD0l9a9jl52nQByRUWsFr9_RuMD9vs,39409
78
+ emerge/_emerge/plot/pyvista/cmap_maker.py,sha256=_GVXYdtXpJwAO9O-Iekjzn6YcR0MVT8LNh12nqvF2IA,2498
79
+ emerge/_emerge/plot/pyvista/display.py,sha256=IemCSptqlO7EfUZnLNetGiVxn0CgLD8qJ5B9SNTxCOo,41704
78
80
  emerge/_emerge/plot/pyvista/display_settings.py,sha256=gV5hjRGEAl3oQeBPobas6b6JzYfMFrXIGtVSaeml4N0,1074
79
81
  emerge/_emerge/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
82
  emerge/_emerge/projects/_gen_base.txt,sha256=DqQz36PZg6v1ovQjHvPjd0t4AIbmikZdb9dmrNYsK3w,598
@@ -86,8 +88,8 @@ emerge/beta/dxf.py,sha256=Bw4lVk0TquOgCxTZV23BZN7PrgqxBrMZxbHV1waC5U0,50
86
88
  emerge/materials/__init__.py,sha256=Z9tu3m_nqj6F9I-FwoVoN0vCTYUlFesH3KxJ38wkZck,19
87
89
  emerge/materials/isola.py,sha256=kSDxHJZVn2CcanoUjlwRVKIPvadRbBybURTdIHWx728,18660
88
90
  emerge/materials/rogers.py,sha256=4u6ma_XQdXGKWE3WsFkaMTamCQNo9kTYSTU8S1gCAYU,3388
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,,
91
+ emerge-1.0.4.dist-info/METADATA,sha256=AaEHuRZDRdnr-OyyDKli2libsKPtis2OmCRB33Uak-g,3282
92
+ emerge-1.0.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
+ emerge-1.0.4.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
94
+ emerge-1.0.4.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
95
+ emerge-1.0.4.dist-info/RECORD,,
File without changes