emerge 0.5.2__tar.gz → 0.5.4__tar.gz

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 (107) hide show
  1. {emerge-0.5.2 → emerge-0.5.4}/.bumpversion.toml +1 -1
  2. {emerge-0.5.2 → emerge-0.5.4}/LICENSE +39 -0
  3. {emerge-0.5.2 → emerge-0.5.4}/PKG-INFO +15 -8
  4. {emerge-0.5.2 → emerge-0.5.4}/README.md +10 -7
  5. emerge-0.5.4/THIRD_PARTY_LICENSES.md +837 -0
  6. emerge-0.5.4/UMFPACK_installer_windows.py +213 -0
  7. {emerge-0.5.2 → emerge-0.5.4}/emerge/__init__.py +2 -2
  8. emerge-0.5.4/emerge/_emerge/__init__.py +17 -0
  9. emerge-0.5.4/emerge/_emerge/_cache_check.py +46 -0
  10. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/bc.py +3 -12
  11. emerge-0.5.4/emerge/_emerge/const.py +5 -0
  12. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/nedleg2.py +2 -2
  13. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pcb.py +110 -13
  14. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pcb_tools/calculator.py +2 -2
  15. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geometry.py +1 -1
  16. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/logsettings.py +29 -13
  17. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/material.py +4 -0
  18. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mesh3d.py +9 -9
  19. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/integrals.py +1 -1
  20. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/pairing.py +1 -2
  21. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/periodic.py +1 -1
  22. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/adaptive_freq.py +1 -5
  23. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/assembler.py +62 -39
  24. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/curlcurl.py +1 -8
  25. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/microwave_3d.py +33 -26
  26. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/microwave_bc.py +97 -27
  27. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/microwave_data.py +3 -5
  28. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/sc.py +26 -26
  29. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/simjob.py +8 -3
  30. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/selection.py +1 -1
  31. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/simmodel.py +12 -9
  32. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/simulation_data.py +5 -1
  33. emerge-0.5.4/emerge/_emerge/solve_interfaces/cudss_interface.py +238 -0
  34. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/solver.py +285 -107
  35. {emerge-0.5.2 → emerge-0.5.4}/emerge/cli.py +1 -1
  36. {emerge-0.5.2 → emerge-0.5.4}/emerge/lib.py +54 -40
  37. {emerge-0.5.2 → emerge-0.5.4}/examples/demo1_stepped_imp_filter.py +0 -1
  38. {emerge-0.5.2 → emerge-0.5.4}/pyproject.toml +6 -1
  39. {emerge-0.5.2 → emerge-0.5.4}/uv.lock +279 -2
  40. emerge-0.5.2/emerge/_emerge/__init__.py +0 -42
  41. {emerge-0.5.2 → emerge-0.5.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  42. {emerge-0.5.2 → emerge-0.5.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  43. {emerge-0.5.2 → emerge-0.5.4}/.gitignore +0 -0
  44. {emerge-0.5.2 → emerge-0.5.4}/.python-version +0 -0
  45. {emerge-0.5.2 → emerge-0.5.4}/UMFPACK_Install_windows.md +0 -0
  46. {emerge-0.5.2 → emerge-0.5.4}/emerge/__main__.py +0 -0
  47. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/coord.py +0 -0
  48. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/cs.py +0 -0
  49. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/dataset.py +0 -0
  50. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/__init__.py +0 -0
  51. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/femdata.py +0 -0
  52. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/index_interp.py +0 -0
  53. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/legrange2.py +0 -0
  54. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/ned2_interp.py +0 -0
  55. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/nedelec2.py +0 -0
  56. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/__init__.py +0 -0
  57. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/horn.py +0 -0
  58. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/modeler.py +0 -0
  59. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/operations.py +0 -0
  60. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pcb_tools/macro.py +0 -0
  61. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pmlbox.py +0 -0
  62. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/polybased.py +0 -0
  63. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/shapes.py +0 -0
  64. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/step.py +0 -0
  65. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo2d.py +0 -0
  66. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/howto.py +0 -0
  67. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mesher.py +0 -0
  68. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/common_functions.py +0 -0
  69. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/optimized.py +0 -0
  70. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/__init__.py +0 -0
  71. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/__init__.py +0 -0
  72. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/generalized_eigen.py +0 -0
  73. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/periodicbc.py +0 -0
  74. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/robinbc.py +0 -0
  75. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/periodic.py +0 -0
  76. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/port_functions.py +0 -0
  77. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/sparam.py +0 -0
  78. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/touchstone.py +0 -0
  79. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/__init__.py +0 -0
  80. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/display.py +0 -0
  81. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/matplotlib/mpldisplay.py +0 -0
  82. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/pyvista/__init__.py +0 -0
  83. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/pyvista/display.py +0 -0
  84. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/pyvista/display_settings.py +0 -0
  85. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/simple_plots.py +0 -0
  86. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot.py +0 -0
  87. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/__init__.py +0 -0
  88. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/_gen_base.txt +0 -0
  89. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/_load_base.txt +0 -0
  90. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/generate_project.py +0 -0
  91. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/solve_interfaces/pardiso_interface.py +0 -0
  92. {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/system.py +0 -0
  93. {emerge-0.5.2 → emerge-0.5.4}/emerge/plot.py +0 -0
  94. {emerge-0.5.2 → emerge-0.5.4}/emerge/pyvista.py +0 -0
  95. {emerge-0.5.2 → emerge-0.5.4}/examples/demo10_sgh.py +0 -0
  96. {emerge-0.5.2 → emerge-0.5.4}/examples/demo11_lumped_element_filter.py +0 -0
  97. {emerge-0.5.2 → emerge-0.5.4}/examples/demo2_combline_filter.py +0 -0
  98. {emerge-0.5.2 → emerge-0.5.4}/examples/demo3_coupled_line_filter.py +0 -0
  99. {emerge-0.5.2 → emerge-0.5.4}/examples/demo3_patch_antenna.py +0 -0
  100. {emerge-0.5.2 → emerge-0.5.4}/examples/demo4_boundary_selection.py +0 -0
  101. {emerge-0.5.2 → emerge-0.5.4}/examples/demo5_revolve.py +0 -0
  102. {emerge-0.5.2 → emerge-0.5.4}/examples/demo6_striplines_with_vias.py +0 -0
  103. {emerge-0.5.2 → emerge-0.5.4}/examples/demo7_periodic_cells.py +0 -0
  104. {emerge-0.5.2 → emerge-0.5.4}/examples/demo8_waveguide_bpf_synthesis.py +0 -0
  105. {emerge-0.5.2 → emerge-0.5.4}/examples/demo9_dielectric_resonator.py +0 -0
  106. {emerge-0.5.2 → emerge-0.5.4}/src/__init__.py +0 -0
  107. {emerge-0.5.2 → emerge-0.5.4}/src/_img/logo.jpeg +0 -0
@@ -1,5 +1,5 @@
1
1
  [tool.bumpversion]
2
- current_version = "0.5.2"
2
+ current_version = "0.5.4"
3
3
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
4
4
  serialize = ["{major}.{minor}.{patch}"]
5
5
  search = "{current_version}"
@@ -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
 
@@ -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.”
@@ -13,19 +13,17 @@ You can now install the basic version of emerge from PyPi!
13
13
  ```
14
14
  pip install emerge
15
15
  ```
16
- If you want to install the library with PyPardiso on Intel machines, you can install the optional dependency with EMerge using:
17
- ```
18
- pip install emerge[pypardiso]
19
- ```
20
16
  On MacOS and Linux you can install it with the very fast UMFPACK through scikit-umfpack
21
17
 
22
18
  ```
23
19
  pip install emerge[scikit-umfpack]
24
20
  ```
25
- On linux and MacOS with intel or AMD chips you can also include both:
26
21
 
22
+ ### Experimental
23
+
24
+ If you have a new NVidia card you can try the first test implementation of the cuDSS solver. The dependencies can be installed through:
27
25
  ```
28
- pip install emerge[scikit-umfpack, pypardiso]
26
+ pip install emerge[cudss]
29
27
  ```
30
28
  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.
31
29
 
@@ -57,11 +55,16 @@ To run this FEM library you need the following libraries
57
55
  - matplotlib (for the matplotlib base display)
58
56
  - pyvista (for the PyVista base display)
59
57
  - numba-progress
58
+ - mkl (x86 devices only)
60
59
 
61
60
  Optional:
62
- - pypardiso
63
61
  - scikit-umfpack
62
+ - cudss
64
63
 
65
64
  ## NOTICE
66
65
 
67
66
  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.
67
+
68
+ ## Third Party License Notice
69
+
70
+ “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.”