emerge 1.0.3__py3-none-any.whl → 1.0.5__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 +7 -3
- emerge/_emerge/elements/femdata.py +5 -1
- emerge/_emerge/elements/ned2_interp.py +73 -30
- emerge/_emerge/elements/nedelec2.py +1 -0
- emerge/_emerge/emerge_update.py +63 -0
- emerge/_emerge/geo/operations.py +6 -3
- emerge/_emerge/geo/polybased.py +37 -5
- emerge/_emerge/geometry.py +5 -0
- emerge/_emerge/logsettings.py +26 -1
- emerge/_emerge/material.py +29 -8
- emerge/_emerge/mesh3d.py +16 -13
- emerge/_emerge/mesher.py +70 -3
- emerge/_emerge/physics/microwave/assembly/assembler.py +5 -4
- emerge/_emerge/physics/microwave/assembly/curlcurl.py +0 -1
- emerge/_emerge/physics/microwave/assembly/generalized_eigen.py +1 -2
- emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py +1 -1
- emerge/_emerge/physics/microwave/assembly/robin_abc_order2.py +0 -1
- emerge/_emerge/physics/microwave/microwave_3d.py +37 -16
- emerge/_emerge/physics/microwave/microwave_bc.py +6 -4
- emerge/_emerge/physics/microwave/microwave_data.py +14 -11
- emerge/_emerge/plot/pyvista/cmap_maker.py +70 -0
- emerge/_emerge/plot/pyvista/display.py +93 -36
- emerge/_emerge/simmodel.py +77 -21
- emerge/_emerge/simulation_data.py +22 -4
- emerge/_emerge/solver.py +67 -32
- {emerge-1.0.3.dist-info → emerge-1.0.5.dist-info}/METADATA +2 -3
- {emerge-1.0.3.dist-info → emerge-1.0.5.dist-info}/RECORD +30 -28
- {emerge-1.0.3.dist-info → emerge-1.0.5.dist-info}/WHEEL +0 -0
- {emerge-1.0.3.dist-info → emerge-1.0.5.dist-info}/entry_points.txt +0 -0
- {emerge-1.0.3.dist-info → emerge-1.0.5.dist-info}/licenses/LICENSE +0 -0
emerge/_emerge/solver.py
CHANGED
|
@@ -95,7 +95,44 @@ class SolveReport:
|
|
|
95
95
|
for key, value in kwargs.items():
|
|
96
96
|
self.aux[key] = str(value)
|
|
97
97
|
|
|
98
|
+
@property
|
|
99
|
+
def mdof(self) -> float:
|
|
100
|
+
return (self.ndof**2)/((self.simtime+1e-6)*1e6)
|
|
101
|
+
|
|
102
|
+
def logprint(self, print_cal: Callable | None = None):
|
|
103
|
+
if print_cal is None:
|
|
104
|
+
print_cal = print
|
|
105
|
+
|
|
106
|
+
def fmt(key, val):
|
|
107
|
+
return f"{key}={val:.4f}" if isinstance(val, float) else f"{key}={val}"
|
|
108
|
+
|
|
109
|
+
parts = []
|
|
110
|
+
parts.append(fmt("Solver", self.solver))
|
|
111
|
+
parts.append(fmt("Sorter", self.sorter))
|
|
112
|
+
parts.append(fmt("Precon", self.precon))
|
|
113
|
+
parts.append(fmt("JobID", self.jobid))
|
|
114
|
+
parts.append(fmt("SimTime[s]", self.simtime))
|
|
115
|
+
parts.append(fmt("DOFsTot", self.ndof))
|
|
116
|
+
parts.append(fmt("NNZTot", self.nnz))
|
|
117
|
+
parts.append(fmt("DOFsSolve", self.ndof_solve))
|
|
118
|
+
parts.append(fmt("NNZSolve", self.nnz_solve))
|
|
119
|
+
parts.append(fmt("Exit", self.exit_code))
|
|
120
|
+
|
|
121
|
+
if self.aux:
|
|
122
|
+
for k, v in self.aux.items():
|
|
123
|
+
parts.append(fmt(str(k), v))
|
|
124
|
+
|
|
125
|
+
# Group into multiple lines (6 items per line for readability)
|
|
126
|
+
print_cal(f"FEM Report [JobID={self.jobid}]")
|
|
127
|
+
for i in range(0, len(parts), 6):
|
|
128
|
+
print_cal(" " + ", ".join(parts[i:i+6]))
|
|
129
|
+
|
|
98
130
|
def pretty_print(self, print_cal: Callable | None = None):
|
|
131
|
+
"""Print the solve report in the terminal in a table format
|
|
132
|
+
|
|
133
|
+
Args:
|
|
134
|
+
print_cal (Callable | None, optional): _description_. Defaults to None.
|
|
135
|
+
"""
|
|
99
136
|
if print_cal is None:
|
|
100
137
|
print_cal = print
|
|
101
138
|
# Set column widths
|
|
@@ -623,7 +660,7 @@ class SolverPardiso(Solver):
|
|
|
623
660
|
return x, SolveReport(solver=str(self), exit_code=error, aux=aux)
|
|
624
661
|
|
|
625
662
|
|
|
626
|
-
class
|
|
663
|
+
class SolverCuDSS(Solver):
|
|
627
664
|
real_only = False
|
|
628
665
|
def __init__(self):
|
|
629
666
|
super().__init__()
|
|
@@ -838,34 +875,31 @@ class EMSolver(Enum):
|
|
|
838
875
|
SMART_ARPACK_BMA = 7
|
|
839
876
|
CUDSS = 8
|
|
840
877
|
|
|
841
|
-
def
|
|
842
|
-
if self==EMSolver.
|
|
843
|
-
return
|
|
844
|
-
elif self==EMSolver.
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
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}')
|
|
878
|
+
def create_solver(self) -> Solver | EigSolver | None:
|
|
879
|
+
if self==EMSolver.UMFPACK and not _UMFPACK_AVAILABLE:
|
|
880
|
+
return None
|
|
881
|
+
elif self==EMSolver.PARDISO and not _PARDISO_AVAILABLE:
|
|
882
|
+
return None
|
|
883
|
+
if self==EMSolver.CUDSS and not _CUDSS_AVAILABLE:
|
|
884
|
+
return None
|
|
885
|
+
return self._clss()
|
|
868
886
|
|
|
887
|
+
@property
|
|
888
|
+
def _clss(self) -> type[Solver]:
|
|
889
|
+
mapper = {1: SolverSuperLU,
|
|
890
|
+
2: SolverUMFPACK,
|
|
891
|
+
3: SolverPardiso,
|
|
892
|
+
4: SolverLAPACK,
|
|
893
|
+
5: SolverARPACK,
|
|
894
|
+
6: SmartARPACK,
|
|
895
|
+
7: SmartARPACK_BMA,
|
|
896
|
+
8: SolverCuDSS
|
|
897
|
+
|
|
898
|
+
}
|
|
899
|
+
return mapper.get(self.value, None)
|
|
900
|
+
|
|
901
|
+
def istype(self, solver: Solver) -> bool:
|
|
902
|
+
return isinstance(solver, self._clss)
|
|
869
903
|
############################################################
|
|
870
904
|
# SOLVE ROUTINE #
|
|
871
905
|
############################################################
|
|
@@ -881,7 +915,7 @@ class SolveRoutine:
|
|
|
881
915
|
|
|
882
916
|
self.sorter: Sorter = ReverseCuthillMckee()
|
|
883
917
|
self.precon: Preconditioner = ILUPrecon()
|
|
884
|
-
self.solvers: dict[EMSolver, Solver | EigSolver] = {slv: slv.
|
|
918
|
+
self.solvers: dict[EMSolver, Solver | EigSolver] = {slv: slv.create_solver() for slv in EMSolver}
|
|
885
919
|
self.solvers = {key: solver for key, solver in self.solvers.items() if solver is not None}
|
|
886
920
|
|
|
887
921
|
self.parallel: Literal['SI','MT','MP'] = 'SI'
|
|
@@ -921,7 +955,6 @@ class SolveRoutine:
|
|
|
921
955
|
@property
|
|
922
956
|
def all_eig_solvers(self) -> list[EigSolver]:
|
|
923
957
|
return list([solver for solver in self.solvers.values() if isinstance(solver, EigSolver)])
|
|
924
|
-
|
|
925
958
|
|
|
926
959
|
def _try_solver(self, solver_type: EMSolver) -> Solver:
|
|
927
960
|
"""Try to use the selected solver or else find another one that is working.
|
|
@@ -967,7 +1000,7 @@ class SolveRoutine:
|
|
|
967
1000
|
"""
|
|
968
1001
|
for solver in solvers:
|
|
969
1002
|
if isinstance(solver, EMSolver):
|
|
970
|
-
self.forced_solver.append(solver
|
|
1003
|
+
self.forced_solver.append(self.solvers[solver])
|
|
971
1004
|
else:
|
|
972
1005
|
self.forced_solver.append(solver)
|
|
973
1006
|
|
|
@@ -980,7 +1013,7 @@ class SolveRoutine:
|
|
|
980
1013
|
"""
|
|
981
1014
|
for solver in solvers:
|
|
982
1015
|
if isinstance(solver, EMSolver):
|
|
983
|
-
self.disabled_solver.append(solver.
|
|
1016
|
+
self.disabled_solver.append(solver.create_solver().__class__)
|
|
984
1017
|
else:
|
|
985
1018
|
self.disabled_solver.append(solver.__class__)
|
|
986
1019
|
|
|
@@ -1043,6 +1076,8 @@ class SolveRoutine:
|
|
|
1043
1076
|
|
|
1044
1077
|
"""
|
|
1045
1078
|
for solver in self.forced_solver:
|
|
1079
|
+
if solver is None:
|
|
1080
|
+
continue
|
|
1046
1081
|
if not self._legal_solver(solver):
|
|
1047
1082
|
continue
|
|
1048
1083
|
if isinstance(solver, Solver):
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: emerge
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.5
|
|
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/
|
|
35
|
+
**[Discord Invitation](https://discord.gg/VMftDCZcNz)**
|
|
37
36
|
|
|
38
37
|
## How to install
|
|
39
38
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
emerge/__init__.py,sha256=
|
|
1
|
+
emerge/__init__.py,sha256=F-k_d_Y9IKWo7DzANY_2dTgpkz0EKV6L8Kpl8eLoFr8,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
|
|
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=
|
|
19
|
-
emerge/_emerge/material.py,sha256=
|
|
20
|
-
emerge/_emerge/mesh3d.py,sha256=
|
|
21
|
-
emerge/_emerge/mesher.py,sha256=
|
|
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=
|
|
27
|
-
emerge/_emerge/simulation_data.py,sha256=
|
|
28
|
-
emerge/_emerge/solver.py,sha256=
|
|
27
|
+
emerge/_emerge/simmodel.py,sha256=460el1k0gCj8Bt9MMoZMBUXx4YftaTrOvXP0Epmj-Dg,26525
|
|
28
|
+
emerge/_emerge/simulation_data.py,sha256=23o-xbm6Q6s9sYisyK9u1GTmuaXRl0WDGQwzPO7lkr0,15115
|
|
29
|
+
emerge/_emerge/solver.py,sha256=z3d0UTFjMkOPlyRi8gOASigKlJ9-1MWsGZfAhGk1xr0,51573
|
|
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=
|
|
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=
|
|
34
|
-
emerge/_emerge/elements/nedelec2.py,sha256=
|
|
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=
|
|
40
|
+
emerge/_emerge/geo/operations.py,sha256=WYWfOXWrT0voeKW9U26g-PhQfqJl3ovRQ8uDQXUr7Nc,12459
|
|
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=
|
|
43
|
+
emerge/_emerge/geo/polybased.py,sha256=plDHB-67i9tjFc9Ktiq92MOX9mfaxjvFrBYIumR-Pmg,32441
|
|
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=
|
|
57
|
-
emerge/_emerge/physics/microwave/microwave_bc.py,sha256=
|
|
58
|
-
emerge/_emerge/physics/microwave/microwave_data.py,sha256=
|
|
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=
|
|
66
|
-
emerge/_emerge/physics/microwave/assembly/curlcurl.py,sha256=
|
|
67
|
-
emerge/_emerge/physics/microwave/assembly/generalized_eigen.py,sha256=
|
|
68
|
-
emerge/_emerge/physics/microwave/assembly/generalized_eigen_hb.py,sha256=
|
|
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=
|
|
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/
|
|
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.
|
|
90
|
-
emerge-1.0.
|
|
91
|
-
emerge-1.0.
|
|
92
|
-
emerge-1.0.
|
|
93
|
-
emerge-1.0.
|
|
91
|
+
emerge-1.0.5.dist-info/METADATA,sha256=m6vQVIQM-DWznyMQVEOpllXUdsAjbqp-diEb_qgOOrg,3306
|
|
92
|
+
emerge-1.0.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
93
|
+
emerge-1.0.5.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
|
|
94
|
+
emerge-1.0.5.dist-info/licenses/LICENSE,sha256=VOCXWddrjMN5j7TvnSAOh1Dx7jkugdwq9Lqhycf5inc,17852
|
|
95
|
+
emerge-1.0.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|