emerge 0.5.2__py3-none-any.whl → 0.5.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 (35) hide show
  1. emerge/__init__.py +2 -2
  2. emerge/_emerge/__init__.py +1 -26
  3. emerge/_emerge/_cache_check.py +46 -0
  4. emerge/_emerge/bc.py +3 -12
  5. emerge/_emerge/const.py +5 -0
  6. emerge/_emerge/elements/nedleg2.py +2 -2
  7. emerge/_emerge/geo/pcb.py +110 -13
  8. emerge/_emerge/geo/pcb_tools/calculator.py +2 -2
  9. emerge/_emerge/geometry.py +1 -1
  10. emerge/_emerge/logsettings.py +29 -13
  11. emerge/_emerge/material.py +4 -0
  12. emerge/_emerge/mesh3d.py +9 -9
  13. emerge/_emerge/mth/integrals.py +1 -1
  14. emerge/_emerge/mth/pairing.py +1 -2
  15. emerge/_emerge/periodic.py +1 -1
  16. emerge/_emerge/physics/microwave/adaptive_freq.py +1 -5
  17. emerge/_emerge/physics/microwave/assembly/assembler.py +62 -39
  18. emerge/_emerge/physics/microwave/assembly/curlcurl.py +1 -8
  19. emerge/_emerge/physics/microwave/microwave_3d.py +33 -26
  20. emerge/_emerge/physics/microwave/microwave_bc.py +97 -27
  21. emerge/_emerge/physics/microwave/microwave_data.py +3 -5
  22. emerge/_emerge/physics/microwave/sc.py +26 -26
  23. emerge/_emerge/physics/microwave/simjob.py +8 -3
  24. emerge/_emerge/selection.py +1 -1
  25. emerge/_emerge/simmodel.py +12 -9
  26. emerge/_emerge/simulation_data.py +5 -1
  27. emerge/_emerge/solve_interfaces/cudss_interface.py +238 -0
  28. emerge/_emerge/solver.py +285 -107
  29. emerge/cli.py +1 -1
  30. emerge/lib.py +54 -40
  31. {emerge-0.5.2.dist-info → emerge-0.5.4.dist-info}/METADATA +15 -8
  32. {emerge-0.5.2.dist-info → emerge-0.5.4.dist-info}/RECORD +35 -32
  33. {emerge-0.5.2.dist-info → emerge-0.5.4.dist-info}/licenses/LICENSE +39 -0
  34. {emerge-0.5.2.dist-info → emerge-0.5.4.dist-info}/WHEEL +0 -0
  35. {emerge-0.5.2.dist-info → emerge-0.5.4.dist-info}/entry_points.txt +0 -0
emerge/cli.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import sys
2
2
  import argparse
3
- from _emerge.projects.generate_project import generate_project
3
+ from ._emerge.projects.generate_project import generate_project
4
4
 
5
5
  def main():
6
6
  parser = argparse.ArgumentParser(description="Emerge Project Generator CLI")
emerge/lib.py CHANGED
@@ -1,18 +1,28 @@
1
+ """
2
+ ╔══════════════════════════════════════════════════════════════════════╗
3
+ ║ library.py – Material-property database ║
4
+ ║ ║
5
+ ║ This file is released under CC0 1.0 – Public-Domain Dedication. ║
6
+ ║ You may use, copy, modify, and distribute it without restriction. ║
7
+ ║ ║
8
+ ║ All OTHER files in this repository are proprietary. See LICENSE ║
9
+ ║ at the project root for full terms, conditions, and disclaimers. ║
10
+ ║ ║
11
+ ║ DISCLAIMER: Data herein are provided “as is”, with no warranties. ║
12
+ ║ Verify critical values independently before use. ║
13
+ ╚══════════════════════════════════════════════════════════════════════╝
14
+ """
1
15
  from ._emerge.material import Material, AIR, COPPER
16
+ from ._emerge.const import C0, Z0, PI, EPS0, MU0
2
17
 
3
- C0 = 299792458
4
- Z0 = 376.73031366857
5
- PI = 3.14159265358979323846
6
18
  EISO: float = (Z0/(2*PI))**0.5
7
19
  EOMNI = (3*Z0/(4*PI))**0.5
8
- EPS0 = 8.854187818814e-12
9
- MU0 = 1.2566370612720e-6
10
20
 
11
- ### MATERIALS
21
+ ##MATERIALS
12
22
  VACUUM = Material(color="#2d8cd5", opacity=0.05)
13
23
 
14
24
  ############################################################
15
- # METALS #
25
+ # METALS #
16
26
  ############################################################
17
27
 
18
28
  GREY = "#bfbfbf"
@@ -42,22 +52,22 @@ MET_ZIRCONIUM = Material(cond=2.44e7, color=GREY, opacity=0.5)
42
52
 
43
53
 
44
54
  ############################################################
45
- # SEMICONDUCTORS #
55
+ # SEMICONDUCTORS #
46
56
  ############################################################
47
57
 
48
- SEMI_SILICON = Material(er=11.7, tand=0.005, color="#b4b4b4", opacity=0.5) # Crystalline Si
49
- SEMI_SILICON_N = Material(er=7.5, tand=0.0003, color="#a0a0a0", opacity=0.5) # Silicon Nitride (Si₃N₄)
50
- SEMI_SILICON_OXIDE = Material(er=3.9, tand=0.0001, color="#e0e0e0", opacity=0.5) # Silicon Dioxide (SiO₂)
58
+ SEMI_SILICON = Material(er=11.7, tand=0.005, color="#b4b4b4", opacity=0.5) # Crystalline Si
59
+ SEMI_SILICON_N = Material(er=7.5, tand=0.0003, color="#a0a0a0", opacity=0.5) # Silicon Nitride (Si₃N₄)
60
+ SEMI_SILICON_OXIDE = Material(er=3.9, tand=0.0001, color="#e0e0e0", opacity=0.5) # Silicon Dioxide (SiO₂)
51
61
  SEMI_GERMANIUM = Material(er=16.0, tand=0.001, color="#787878", opacity=0.5)
52
- SEMI_GAAS = Material(er=13.1, tand=0.0016, color="#aa8888", opacity=0.5) # Gallium Arsenide
53
- SEMI_GA_N = Material(er=8.9, tand=0.002, color="#8888cc", opacity=0.5) # Gallium Nitride
54
- SEMI_INP = Material(er=12.5, tand=0.0015, color="#cc99aa", opacity=0.5) # Indium Phosphide
55
- SEMI_ALN = Material(er=8.6, tand=0.0003, color="#ccccee", opacity=0.5) # Aluminum Nitride
56
- SEMI_AL2O3 = Material(er=9.8, tand=0.0002, color="#eaeaea", opacity=0.5) # Alumina
62
+ SEMI_GAAS = Material(er=13.1, tand=0.0016, color="#aa8888", opacity=0.5) # Gallium Arsenide
63
+ SEMI_GA_N = Material(er=8.9, tand=0.002, color="#8888cc", opacity=0.5) # Gallium Nitride
64
+ SEMI_INP = Material(er=12.5, tand=0.0015, color="#cc99aa", opacity=0.5) # Indium Phosphide
65
+ SEMI_ALN = Material(er=8.6, tand=0.0003, color="#ccccee", opacity=0.5) # Aluminum Nitride
66
+ SEMI_AL2O3 = Material(er=9.8, tand=0.0002, color="#eaeaea", opacity=0.5) # Alumina
57
67
  SEMI_SAPPHIRE = Material(er=9.4, tand=0.0001, color="#ddddff", opacity=0.5)
58
- SEMI_DIAMOND = Material(er=5.5, tand=0.00005, color="#cceeff", opacity=0.5) # Synthetic CVD diamond
59
- SEMI_HBN = Material(er=4.0, tand=0.0001, color="#eeeeff", opacity=0.5) # Hexagonal Boron Nitride
60
- SEMI_SIOXNY = Material(er=5.0, tand=0.002, color="#ddddee", opacity=0.5) # Silicon Oxynitride (SiOxNy)
68
+ SEMI_DIAMOND = Material(er=5.5, tand=0.00005, color="#cceeff", opacity=0.5) # Synthetic CVD diamond
69
+ SEMI_HBN = Material(er=4.0, tand=0.0001, color="#eeeeff", opacity=0.5) # Hexagonal Boron Nitride
70
+ SEMI_SIOXNY = Material(er=5.0, tand=0.002, color="#ddddee", opacity=0.5) # Silicon Oxynitride (SiOxNy)
61
71
 
62
72
  ############################################################
63
73
  # LIQUIDS #
@@ -66,13 +76,17 @@ SEMI_SIOXNY = Material(er=5.0, tand=0.002, color="#ddddee", opacity
66
76
  LIQ_WATER = Material(er=80.1, cond=0.0, color="#0080ff", opacity=0.3)
67
77
  LIQ_FERRITE = Material(er=12.0, ur=2000, tand=0.02, color="#994d4d", opacity=0.3)
68
78
 
69
-
70
79
  ############################################################
71
80
  # DIELECTRICS #
72
81
  ############################################################
73
- DIEL_PTFE = Material(er=2.1, tand=0.0002, color="#21912b", opacity=0.3)
74
- DIEL_POLYIMIDE = Material(er=3.4, tand=0.02, color="#b8b8b8")
75
- DIEL_CERAMIC = Material(er=6.0, tand=0.001, color="#efead1")
82
+
83
+ # TRADEMARKS: All product names (e.g. “DUROID”) are the property of their
84
+ # respective owners. Use of them here does not imply any affiliation with or
85
+ # endorsement by those owners.
86
+
87
+ DIEL_PTFE = Material(er=2.1, tand=0.0002, color="#21912b", opacity=0.3)
88
+ DIEL_POLYIMIDE = Material(er=3.4, tand=0.02, color="#b8b8b8")
89
+ DIEL_CERAMIC = Material(er=6.0, tand=0.001, color="#efead1")
76
90
  DIEL_AD10 = Material(er=10.2, tand=0.0078, color="#21912b", opacity=0.3)
77
91
  DIEL_AD1000 = Material(er=10.2, tand=0.0023, color="#21912b", opacity=0.3)
78
92
  DIEL_AD250 = Material(er=2.5, tand=0.0018, color="#21912b", opacity=0.3)
@@ -262,12 +276,12 @@ DIEL_XT_Duroid_8100 = Material(er=3.54, tand=0.0049, color="#21912b", opacity=0.
262
276
  DIEL_XT_Duroid_81000_004IN_Thick = Material(er=3.32, tand=0.0038, color="#21912b", opacity=0.3)
263
277
 
264
278
  # Legacy FR Materials
265
- DIEL_FR1 = Material(er=4.8, tand=0.025, color="#3c9747", opacity=0.3) # Paper + phenolic resin
266
- DIEL_FR2 = Material(er=4.8, tand=0.02, color="#3c9747", opacity=0.3) # Paper + phenolic resin
267
- DIEL_FR3 = Material(er=4.5, tand=0.02, color="#2b7a4b", opacity=0.3) # Paper + epoxy resin
268
- DIEL_FR4 = Material(er=4.4, tand=0.015, color="#1e8449", opacity=0.3) # Woven glass + epoxy resin (industry standard)
269
- DIEL_FR5 = Material(er=4.2, tand=0.012, color="#156e38", opacity=0.3) # Woven glass + high-temp epoxy resin
270
- DIEL_FR6 = Material(er=5.2, tand=0.030, color="#145a32", opacity=0.3) # Paper + unknown resin, poor thermal performance
279
+ DIEL_FR1 = Material(er=4.8, tand=0.025, color="#3c9747", opacity=0.3) # Paper + phenolic resin
280
+ DIEL_FR2 = Material(er=4.8, tand=0.02, color="#3c9747", opacity=0.3) # Paper + phenolic resin
281
+ DIEL_FR3 = Material(er=4.5, tand=0.02, color="#2b7a4b", opacity=0.3) # Paper + epoxy resin
282
+ DIEL_FR4 = Material(er=4.4, tand=0.015, color="#1e8449", opacity=0.3) # Woven glass + epoxy resin (industry standard)
283
+ DIEL_FR5 = Material(er=4.2, tand=0.012, color="#156e38", opacity=0.3) # Woven glass + high-temp epoxy resin
284
+ DIEL_FR6 = Material(er=5.2, tand=0.030, color="#145a32", opacity=0.3) # Paper + unknown resin, poor thermal performance
271
285
 
272
286
  # Magnetic Materials
273
287
  MU_METAL = Material(cond=1.0e6, ur=200000, color="#666680", opacity=0.3)
@@ -277,16 +291,16 @@ MU_METAL = Material(cond=1.0e6, ur=200000, color="#666680", opacity=0.3)
277
291
  # FOAMS #
278
292
  ############################################################
279
293
 
280
- FOAM_ROHACELL_31 = Material(er=1.05, tand=0.0005, color="#f0e1a1", opacity=0.15) # PMI-based structural foam
281
- FOAM_ROHACELL_51 = Material(er=1.07, tand=0.0006, color="#f0dea0", opacity=0.15) # denser version
294
+ FOAM_ROHACELL_31 = Material(er=1.05, tand=0.0005, color="#f0e1a1", opacity=0.15) # PMI-based structural foam
295
+ FOAM_ROHACELL_51 = Material(er=1.07, tand=0.0006, color="#f0dea0", opacity=0.15) # denser version
282
296
  FOAM_ROHACELL_71 = Material(er=1.10, tand=0.0007, color="#e5d199", opacity=0.15)
283
- FOAM_PEI = Material(er=1.15, tand=0.0035, color="#e0b56f", opacity=0.15) # polyetherimide-based foam
284
- FOAM_PMI = Material(er=1.10, tand=0.0008, color="#d9c690", opacity=0.15) # polymethacrylimide
297
+ FOAM_PEI = Material(er=1.15, tand=0.0035, color="#e0b56f", opacity=0.15) # polyetherimide-based foam
298
+ FOAM_PMI = Material(er=1.10, tand=0.0008, color="#d9c690", opacity=0.15) # polymethacrylimide
285
299
  FOAM_PVC = Material(er=1.20, tand=0.0040, color="#cccccc", opacity=0.15)
286
- FOAM_EPS = Material(er=1.03, tand=0.0050, color="#f7f7f7", opacity=0.15) # expanded polystyrene
287
- FOAM_XPS = Material(er=1.05, tand=0.0030, color="#e0e0e0", opacity=0.15) # extruded polystyrene
288
- FOAM_PU = Material(er=1.10, tand=0.0080, color="#d0d0d0", opacity=0.15) # polyurethane foam
289
- FOAM_GLAS = Material(er=3.10, tand=0.0050, color="#888888", opacity=0.15) # cellular glass, denser
290
- FOAM_AIREX_C70 = Material(er=1.10, tand=0.0010, color="#f7e7a3", opacity=0.15) # PET closed cell
291
- FOAM_AIREX_T92 = Material(er=1.10, tand=0.0020, color="#f6d08a", opacity=0.15) # higher strength PET
292
- FOAM_PVC_CORECELL = Material(er=1.56, tand=0.0025, color="#aaaaaa", opacity=0.15) # structural core PVC
300
+ FOAM_EPS = Material(er=1.03, tand=0.0050, color="#f7f7f7", opacity=0.15) # expanded polystyrene
301
+ FOAM_XPS = Material(er=1.05, tand=0.0030, color="#e0e0e0", opacity=0.15) # extruded polystyrene
302
+ FOAM_PU = Material(er=1.10, tand=0.0080, color="#d0d0d0", opacity=0.15) # polyurethane foam
303
+ FOAM_GLAS = Material(er=3.10, tand=0.0050, color="#888888", opacity=0.15) # cellular glass, denser
304
+ FOAM_AIREX_C70 = Material(er=1.10, tand=0.0010, color="#f7e7a3", opacity=0.15) # PET closed cell
305
+ FOAM_AIREX_T92 = Material(er=1.10, tand=0.0020, color="#f6d08a", opacity=0.15) # higher strength PET
306
+ FOAM_PVC_CORECELL = Material(er=1.56, tand=0.0025, color="#aaaaaa", opacity=0.15) # structural core PVC
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emerge
3
- Version: 0.5.2
3
+ Version: 0.5.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
@@ -16,6 +16,10 @@ Requires-Dist: numba>=0.57.0
16
16
  Requires-Dist: numpy<2.3,>=1.24
17
17
  Requires-Dist: pyvista>=0.45.2
18
18
  Requires-Dist: scipy>=1.14.0
19
+ Provides-Extra: cudss
20
+ Requires-Dist: cupy-cuda12x; extra == 'cudss'
21
+ Requires-Dist: nvidia-cudss-cu12; extra == 'cudss'
22
+ Requires-Dist: nvmath-python[cu12]; extra == 'cudss'
19
23
  Provides-Extra: umfpack
20
24
  Requires-Dist: scikit-umfpack; (sys_platform != 'win32') and extra == 'umfpack'
21
25
  Description-Content-Type: text/markdown
@@ -35,19 +39,17 @@ You can now install the basic version of emerge from PyPi!
35
39
  ```
36
40
  pip install emerge
37
41
  ```
38
- If you want to install the library with PyPardiso on Intel machines, you can install the optional dependency with EMerge using:
39
- ```
40
- pip install emerge[pypardiso]
41
- ```
42
42
  On MacOS and Linux you can install it with the very fast UMFPACK through scikit-umfpack
43
43
 
44
44
  ```
45
45
  pip install emerge[scikit-umfpack]
46
46
  ```
47
- On linux and MacOS with intel or AMD chips you can also include both:
48
47
 
48
+ ### Experimental
49
+
50
+ If you have a new NVidia card you can try the first test implementation of the cuDSS solver. The dependencies can be installed through:
49
51
  ```
50
- pip install emerge[scikit-umfpack, pypardiso]
52
+ pip install emerge[cudss]
51
53
  ```
52
54
  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.
53
55
 
@@ -79,11 +81,16 @@ To run this FEM library you need the following libraries
79
81
  - matplotlib (for the matplotlib base display)
80
82
  - pyvista (for the PyVista base display)
81
83
  - numba-progress
84
+ - mkl (x86 devices only)
82
85
 
83
86
  Optional:
84
- - pypardiso
85
87
  - scikit-umfpack
88
+ - cudss
86
89
 
87
90
  ## NOTICE
88
91
 
89
92
  First time runs will be very slow because Numba needs to generate local C-compiled functions of the assembler and other mathematical functions. These compilations are chached so this should only take time once.
93
+
94
+ ## Third Party License Notice
95
+
96
+ “This package depends on Intel® Math Kernel Library (MKL), which is licensed separately under the Intel Simplified Software License (October 2022). Installing with pip will fetch the MKL wheel and prompt you to accept that licence.”
@@ -1,27 +1,29 @@
1
- emerge/__init__.py,sha256=sK2yLrvngIeUOfRJ-YivFP_9J8lbcy-DLZvEI5FBhCc,2559
1
+ emerge/__init__.py,sha256=MBJc3Kae-Dno0pGuoKuqVef1kFWhbWghhWD54-sMYMU,2583
2
2
  emerge/__main__.py,sha256=WVf16sfrOI910QWohrQDaChZdRifMNoS6VKzCT6f3ZA,92
3
- emerge/cli.py,sha256=xrNPoX5VtUA0KPRRwZPxC0rGtBDKc2FF8Ro-uPuO-Hg,665
4
- emerge/lib.py,sha256=Eh6cwj8KOclZhZ7FrSCVESqu5-epehZp9qCYCL3C9cw,21041
3
+ emerge/cli.py,sha256=NU1uhwuZ6i50680v3_I4kDZPTHqz74gOYK71UBhb8oE,666
4
+ emerge/lib.py,sha256=YWRnrQq3Cl1nRkUg0STKkUSqCxD_Danfh9IXasYn2d8,22316
5
5
  emerge/plot.py,sha256=AH2D9rKeWUXlSOlh-pUUfLt0oxVLcqF_piki-BmPEg0,83
6
6
  emerge/pyvista.py,sha256=-Ht2YcZYsh8-dici5ZPNAWwsis6uz5wNj8n8mxv5fog,42
7
- emerge/_emerge/__init__.py,sha256=hYCXbPCoyjAc3EUsYc4yz8ct6crlYHB9B02o_Am9ITs,1646
8
- emerge/_emerge/bc.py,sha256=mcZ8jkgC8XwuMfKsq4C4lyYD2cVsqjYNqSgmjrWk4zM,8550
7
+ emerge/_emerge/__init__.py,sha256=aidfiILy33dt3VyiZ2mgtA87mq-WQ5pXItZUE5wR5ws,703
8
+ emerge/_emerge/_cache_check.py,sha256=fGOiLTdtzg8HIsNP6vrs8BwvgBGAijwg06zsR1v6trQ,1549
9
+ emerge/_emerge/bc.py,sha256=TeSVNkDgOGaoHw5raTzhUV0ngtyHa33sXAoL2hRn70M,8077
10
+ emerge/_emerge/const.py,sha256=PTZZTSDOP5NsZ8XnJrKTY2P0tPUhmutBJ1yrm-t7xsI,129
9
11
  emerge/_emerge/coord.py,sha256=BKvyrcnHY-_bgHqysnByy5k9_DK4VVfr9KKkRaawG2E,4371
10
12
  emerge/_emerge/cs.py,sha256=ZW9HawRLN0x3bl5Dwv1OcSGOIIsbSbTV7Bnetu0sksM,17936
11
13
  emerge/_emerge/dataset.py,sha256=UcSAJ_siLrOjNBBWRWsS3GUZUpayp63EM6pP6ClwKDI,1534
12
14
  emerge/_emerge/geo2d.py,sha256=e_HkX1GQ2iYrdO0zeEgzVOzfGyU1WGJyjeGBAobOttE,3323
13
- emerge/_emerge/geometry.py,sha256=1TBslRNYvm8P1l6LT-9j5G8bqDcjrdXT0DnAmx_RH0Q,17301
15
+ emerge/_emerge/geometry.py,sha256=L_jxWxaGSWvRJ4yYWhl2MFLPETITGLaKJLX9zFOOtto,17306
14
16
  emerge/_emerge/howto.py,sha256=qY3v6DynB9ZBVeYa3sPFq1cDuvf2zyjnLShknqYyvKQ,8208
15
- emerge/_emerge/logsettings.py,sha256=Zmz_KpmdFnB5DINliAggQlEKIgI4Oqpp4VP4RtD624o,2663
16
- emerge/_emerge/material.py,sha256=In1ZBu69xLjJm7WZPmK13NjfFI2bBasyM7TMUmwHhjs,3943
17
- emerge/_emerge/mesh3d.py,sha256=X3oGMd-ZPxSXVOpijQzhorZEY6VppJNDaMPxUlFO5Ow,31997
17
+ emerge/_emerge/logsettings.py,sha256=DcUWIUUhdLe9ev5XC1bd5ZUrJz00MjABkY8rnekFrPY,3373
18
+ emerge/_emerge/material.py,sha256=zsEyr3bnsh43-Omb5_foy1uWfzRIVckPHOiu2eC02bE,4021
19
+ emerge/_emerge/mesh3d.py,sha256=OtDPFMBtsV9vXHrrxvGRChHH_dqjxmTxYgfgXv7w6Lg,31895
18
20
  emerge/_emerge/mesher.py,sha256=fbHAqKvxdi2UhX37OgfF6TSyCB8b2YMDvpj7lrh6qLk,13044
19
- emerge/_emerge/periodic.py,sha256=1UDDfS2J_9ClE6p-Q_zLUO1hbESUIk3Zsk6KGZEqQlE,11081
21
+ emerge/_emerge/periodic.py,sha256=AdoGhEyODEFZS3R8kzf9wpxp0oVtcn9dOO1g2S8nAtc,11081
20
22
  emerge/_emerge/plot.py,sha256=cf1I9mj7EIUJcq8vmANlUkqoV6QqVaJaP-zlC-T9E18,8041
21
- emerge/_emerge/selection.py,sha256=hYhYjFJ0t6sEWSe9UdQMPHZzpeIZM9q0856gXzA6rmQ,21297
22
- emerge/_emerge/simmodel.py,sha256=eJsyIGof0Ax3nIk-OEY_poXmjNWOBUqQtVF9_tndkaA,17392
23
- emerge/_emerge/simulation_data.py,sha256=yGVYvkYcbz4FT75pJ-K1cQGGSuRqzy1e16c-EcLo7P8,14329
24
- emerge/_emerge/solver.py,sha256=Y0HINHnvOOEg_SQfUxB19WiTaK3cfmisiAezm3Egi4s,40745
23
+ emerge/_emerge/selection.py,sha256=6UizuWC01sUGjFodrGTy8N1J1832vfOWA4u5paNupw4,21297
24
+ emerge/_emerge/simmodel.py,sha256=9KdkJESx15IbmIKQak3DS_XNd_5ED3iPlh95zleuMEk,17659
25
+ emerge/_emerge/simulation_data.py,sha256=r9-9lpLeA1Z5HU3jDVOXV1H80GVawnXL5K81_dvmlE4,14506
26
+ emerge/_emerge/solver.py,sha256=FlWRpEvWtCCZpFKkI2TzPM2xh26UjKH4v9qHciznoJ4,48213
25
27
  emerge/_emerge/system.py,sha256=p4HNz7d_LMRNE9Gk75vVdFecDH2iN_groAM9u-yQTpk,1618
26
28
  emerge/_emerge/elements/__init__.py,sha256=I3n9aic6lJW-oGeqTEZ-Fpxvyl2i-WqsHdnrM3v1oB8,799
27
29
  emerge/_emerge/elements/femdata.py,sha256=3rFVz1-PLtqxnDFvTH1Q9dA98lO5VyjcFKecCJCwfQ4,8020
@@ -29,36 +31,36 @@ emerge/_emerge/elements/index_interp.py,sha256=DlDy2KrhM5QsF6jYQIl4BJndr9F9wnjFM
29
31
  emerge/_emerge/elements/legrange2.py,sha256=6pqQ6O8FyFBWCPwtvSN5yRxUG3L6pgGssw4BrMdtIho,7667
30
32
  emerge/_emerge/elements/ned2_interp.py,sha256=G6fZrq2lGwODxSQ_qqgTDX2oKhhUsys1pc51T00k_sg,27279
31
33
  emerge/_emerge/elements/nedelec2.py,sha256=chU3Ewz7grKZtpyglj2qFJYHvBzCXFQZa1skzjfHoPo,6138
32
- emerge/_emerge/elements/nedleg2.py,sha256=pkXaQSBQC98QEwtWSwGIPIKp8BgQ7fBCsYvH6qG0qNw,9499
34
+ emerge/_emerge/elements/nedleg2.py,sha256=aEWnPkRt5FNdDsl1TmW722neSzbK_cpRH_PwBqv2HCQ,9508
33
35
  emerge/_emerge/geo/__init__.py,sha256=ERmbdr8NUnDQWK-E-Bbc4Kl8AQczjpIP5BnwtZmcurE,1102
34
36
  emerge/_emerge/geo/horn.py,sha256=h4GzGzEkXgWaQgoBMvhFgGsqOrNRB3CJg3RBKXigCz0,4186
35
37
  emerge/_emerge/geo/modeler.py,sha256=N8yRtkK0nb3_jjDexpszmSdeElz8g0kuJpqm3vKl1mI,15575
36
38
  emerge/_emerge/geo/operations.py,sha256=LKA7_BU4iw6-i6KOUyuL6l10QjXSwnXsixOaTw-M6Vk,9697
37
- emerge/_emerge/geo/pcb.py,sha256=1ZsvLkTL9qyBvrfvBRNgspRUe3XM2AX7RXQISUHqhzw,48236
39
+ emerge/_emerge/geo/pcb.py,sha256=yhPsU_BgAi1w3FGFtoY8BjXklu2CcKvcbcLMi582x8Q,52209
38
40
  emerge/_emerge/geo/pmlbox.py,sha256=TNjuyPtuqrAU5Yl8GrLlievuwYf3hUKJaCEz0cXKSzo,7922
39
41
  emerge/_emerge/geo/polybased.py,sha256=4J5ExvL-yw4NtA1ZZfIYdj3J5g0vpzq_nlCsIjFQFBU,19473
40
42
  emerge/_emerge/geo/shapes.py,sha256=TTdlHG-OPogS19UCt6EeZqb8tb7WxZ6ZZHxBHIOrKuQ,17206
41
43
  emerge/_emerge/geo/step.py,sha256=XcAiEN8W4umNmZdYmrGHX_aJUuiMgc6vgT-UIk8Gbqc,2689
42
- emerge/_emerge/geo/pcb_tools/calculator.py,sha256=oumN7-0kejVDxZklE_JTnrDt5ywaHv_2Ef6D7mNABbc,812
44
+ emerge/_emerge/geo/pcb_tools/calculator.py,sha256=eGYUXdXmHUJCPlfJyY96S87wjeAVFG-e4sPOwbYj0eA,832
43
45
  emerge/_emerge/geo/pcb_tools/macro.py,sha256=0g-0anOFyxrEkFobiSu0cwWFRQ32xB8Az24mmwo0z6M,2992
44
46
  emerge/_emerge/mth/common_functions.py,sha256=oURfF-8p_0s1dKbUATc15dnKHFwvqWa6GC-JMW9UwnI,2061
45
- emerge/_emerge/mth/integrals.py,sha256=Ypmd1r0CDQHQ-kWKdfhY_nypDDzTpTcTKpNdBeHieps,3565
47
+ emerge/_emerge/mth/integrals.py,sha256=lL7KrHdyFGpboQyvf6W_4bZRZCrMbjd2e8GDHctL-B8,3572
46
48
  emerge/_emerge/mth/optimized.py,sha256=K0YQ_faD6aETox2HKYlIIUJElqaGc8zrYEI9SedpQCc,16493
47
- emerge/_emerge/mth/pairing.py,sha256=mkgrPajfgeR2Rnj91EeIRwJ2IWIV8N4WsJM1-_aCpq8,3532
49
+ emerge/_emerge/mth/pairing.py,sha256=i8bBvTeMmzgF0JdiDNJiTXxx913x4f10777pzD6FJo0,3535
48
50
  emerge/_emerge/physics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
51
  emerge/_emerge/physics/microwave/__init__.py,sha256=QHeILGYWmvbfLl1o9wrTiWLm0evfXDgS0JiikUoMTts,28
50
- emerge/_emerge/physics/microwave/adaptive_freq.py,sha256=7Mr3bvUoIUW-BO5i7ZHzr7qL6LP7aAd2gtrS58w0V9I,9849
51
- emerge/_emerge/physics/microwave/microwave_3d.py,sha256=qLuQIkw3VFwJ6FeasRg7PGE1k40eqAb-01XwUyCRjOc,48175
52
- emerge/_emerge/physics/microwave/microwave_bc.py,sha256=YCvvCvQ1rLYU9WJdhbdfNreGW7HauGyoVgzeqpFouAQ,36620
53
- emerge/_emerge/physics/microwave/microwave_data.py,sha256=50MBqm2vd__t_3xiDZwc02BXXByZPG-447PSgRZTD5M,43912
52
+ emerge/_emerge/physics/microwave/adaptive_freq.py,sha256=aWhijhCVAbnuwkru-I1AaRdY20uyozf6OWRIh9r2ijg,9786
53
+ emerge/_emerge/physics/microwave/microwave_3d.py,sha256=rwH7HBpi1Sm_vJvIe3cm1ELwRuiOKj9LC7eL43dTOVU,48329
54
+ emerge/_emerge/physics/microwave/microwave_bc.py,sha256=ZS5Z7sgU1PfJvu0JY3dudbUsnD0O6R7nBzAT8xEVPcY,39101
55
+ emerge/_emerge/physics/microwave/microwave_data.py,sha256=36r-rxKSTJg6K9DcMOW3gbaK7w8oVa1dCcwlvY6BfiA,43875
54
56
  emerge/_emerge/physics/microwave/periodic.py,sha256=wYSUgLFVtCLqSG3EDKoCDRU93iPUzBdXzVRdHTRmbpI,3000
55
57
  emerge/_emerge/physics/microwave/port_functions.py,sha256=aVU__AkVk8b1kH2J_oDLF5iNReCxC9nzCtesFSSSSQo,2112
56
- emerge/_emerge/physics/microwave/sc.py,sha256=EjbbHEZ1zc42V0s8ItrN8jIXkrg3N5R495gfurZ2Wck,4992
57
- emerge/_emerge/physics/microwave/simjob.py,sha256=u5W7wZaz0TZ1qd_9h9d6fwj1RzxnOvps-8DoflDd7Dg,4782
58
+ emerge/_emerge/physics/microwave/sc.py,sha256=o7lBhRSYSfs3G6VZC2jj7MjNhkLWngmcyy952KcYXJQ,4999
59
+ emerge/_emerge/physics/microwave/simjob.py,sha256=aCWCs7IXBfVBWWYhwyHvXSRHY3FOd3CK5ABcaFEsNnM,4927
58
60
  emerge/_emerge/physics/microwave/sparam.py,sha256=1SXGyr1UsrPnCIi4ffwobM4pzgkj50y4LrWCr_J5IRY,4946
59
61
  emerge/_emerge/physics/microwave/touchstone.py,sha256=pMcCOLWVqIKctcShcJxyaV-0rhRWXMSS1Jz14dVQEyY,5799
60
- emerge/_emerge/physics/microwave/assembly/assembler.py,sha256=6XmSvT0O5VF2k5UYff3M0l17XApZhLNMKvB8oTaiH9s,20957
61
- emerge/_emerge/physics/microwave/assembly/curlcurl.py,sha256=fO1r1lyPF5U3UvlQg2Zg1gnnpODrWIv-qVEYDWYXqgM,18976
62
+ emerge/_emerge/physics/microwave/assembly/assembler.py,sha256=wqkGRsvKyXLgJNeQuzUuBqXcqUtE6TwWq7ICM3PT4Pg,22727
63
+ emerge/_emerge/physics/microwave/assembly/curlcurl.py,sha256=DJNlngn6VGbPrqux7qFypLj3thxSK2ODI1Z7j_4NxWM,18970
62
64
  emerge/_emerge/physics/microwave/assembly/generalized_eigen.py,sha256=Q7isg5rkmstNJS0SPlw-vUM_uQMj1XjwyZWshGm8RvA,17382
63
65
  emerge/_emerge/physics/microwave/assembly/periodicbc.py,sha256=Zg1kgQMccDQA2oVErpfldv6v2oYfc9Y3xWcpfg93-FY,4646
64
66
  emerge/_emerge/physics/microwave/assembly/robinbc.py,sha256=Hkdf-O5JipbtmzzhEfARk4edcfzaTHov8jiD3aQ08v4,16281
@@ -73,9 +75,10 @@ emerge/_emerge/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
73
75
  emerge/_emerge/projects/_gen_base.txt,sha256=_4McYD9Sb1KWRsrGV51mNNAJNYkjm_IemMnCdAsGuLo,607
74
76
  emerge/_emerge/projects/_load_base.txt,sha256=JTAhWvHXJQYKe-aDD4HDdmE7f3VXxeurhDzwFCegrEg,511
75
77
  emerge/_emerge/projects/generate_project.py,sha256=TNw-0SpLc82MBq0bd9hB_yqvBZCgmuPonCBsHTp91uk,1450
78
+ emerge/_emerge/solve_interfaces/cudss_interface.py,sha256=RQujuLvgRpDA8nzw2fveUw3JLntgm0Lp3WjSEe6CsLY,8040
76
79
  emerge/_emerge/solve_interfaces/pardiso_interface.py,sha256=_p6-qwe7Q6K7SqaK1keBYNoZik4eYRVso_oMbxMeW2E,15304
77
- emerge-0.5.2.dist-info/METADATA,sha256=4M0WnaESTtfMHPlYnMHLXgc4hbb-ptjCwKU7wdUFl3M,2900
78
- emerge-0.5.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
79
- emerge-0.5.2.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
80
- emerge-0.5.2.dist-info/licenses/LICENSE,sha256=6tAv8fkWA_-Ell_nboaXajWH3H-vRftIr_4CU2t0S4Y,15180
81
- emerge-0.5.2.dist-info/RECORD,,
80
+ emerge-0.5.4.dist-info/METADATA,sha256=t3f_SiCrTUCqhXPLqHnHK5z6vBpqK54DTHFK6nZb4SQ,3261
81
+ emerge-0.5.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
82
+ emerge-0.5.4.dist-info/entry_points.txt,sha256=8rFvAXticpKg4OTC8JEvAksnduW72KIEskCGG9XnFf8,43
83
+ emerge-0.5.4.dist-info/licenses/LICENSE,sha256=SuHm9Fw32RI6tylP2YCyTPITMwpueazVUZwUMFRE_zk,17856
84
+ emerge-0.5.4.dist-info/RECORD,,
@@ -1,3 +1,42 @@
1
+ ──────────────────────────────────────────────────────────────────────────────
2
+ PREAMBLE — Licence map and disclaimers (not part of the GNU GPL text)
3
+ ──────────────────────────────────────────────────────────────────────────────
4
+ This repository is distributed under two distinct licences:
5
+
6
+ • **Gmsh-derived components**
7
+ These files are licensed under the **GNU General Public License,
8
+ version 2 or (at your option) any later version (“GPL-2.0+”)**, together
9
+ with the original *Gmsh additional permission* that allows linking with
10
+ Netgen, METIS, OpenCASCADE and ParaView under their respective licences.
11
+ When you distribute binaries containing these components, the complete
12
+ corresponding source code must be offered under GPL-2.0+.
13
+
14
+ • **`lib.py` — materials-property database**
15
+ This single file is dedicated to the public domain under **CC0 1.0**.
16
+ You may copy, modify, merge, publish, distribute, sublicense and/or sell
17
+ copies of `lib.py` without restriction. The data it contains are
18
+ provided *“as is”* for informational purposes only; verify all critical
19
+ values independently.
20
+
21
+ DISCLAIMER OF WARRANTY
22
+ This software is provided **“as is,”** without any express or implied
23
+ warranty, including but not limited to merchantability, fitness for a
24
+ particular purpose and non-infringement. The authors shall not be liable for
25
+ any damages arising from the use or inability to use this software.
26
+
27
+ DATA ACCURACY NOTICE
28
+ Material-property data in `lib.py` may be incomplete, out of date or
29
+ unsuitable for engineering design. Always confirm crucial values from
30
+ independent, authoritative sources.
31
+
32
+ By using any part of this codebase you acknowledge and accept the terms
33
+ above.
34
+
35
+ ──────────────────────────────────────────────────────────────────────────────
36
+ The complete text of the **GNU General Public License, version 2**
37
+ (immediately followed by the original Gmsh additional permission) follows below.
38
+ ──────────────────────────────────────────────────────────────────────────────
39
+
1
40
  GNU GENERAL PUBLIC LICENSE
2
41
  Version 2, June 1991
3
42
 
File without changes