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.
- {emerge-0.5.2 → emerge-0.5.4}/.bumpversion.toml +1 -1
- {emerge-0.5.2 → emerge-0.5.4}/LICENSE +39 -0
- {emerge-0.5.2 → emerge-0.5.4}/PKG-INFO +15 -8
- {emerge-0.5.2 → emerge-0.5.4}/README.md +10 -7
- emerge-0.5.4/THIRD_PARTY_LICENSES.md +837 -0
- emerge-0.5.4/UMFPACK_installer_windows.py +213 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/__init__.py +2 -2
- emerge-0.5.4/emerge/_emerge/__init__.py +17 -0
- emerge-0.5.4/emerge/_emerge/_cache_check.py +46 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/bc.py +3 -12
- emerge-0.5.4/emerge/_emerge/const.py +5 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/nedleg2.py +2 -2
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pcb.py +110 -13
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pcb_tools/calculator.py +2 -2
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geometry.py +1 -1
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/logsettings.py +29 -13
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/material.py +4 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mesh3d.py +9 -9
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/integrals.py +1 -1
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/pairing.py +1 -2
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/periodic.py +1 -1
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/adaptive_freq.py +1 -5
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/assembler.py +62 -39
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/curlcurl.py +1 -8
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/microwave_3d.py +33 -26
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/microwave_bc.py +97 -27
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/microwave_data.py +3 -5
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/sc.py +26 -26
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/simjob.py +8 -3
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/selection.py +1 -1
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/simmodel.py +12 -9
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/simulation_data.py +5 -1
- emerge-0.5.4/emerge/_emerge/solve_interfaces/cudss_interface.py +238 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/solver.py +285 -107
- {emerge-0.5.2 → emerge-0.5.4}/emerge/cli.py +1 -1
- {emerge-0.5.2 → emerge-0.5.4}/emerge/lib.py +54 -40
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo1_stepped_imp_filter.py +0 -1
- {emerge-0.5.2 → emerge-0.5.4}/pyproject.toml +6 -1
- {emerge-0.5.2 → emerge-0.5.4}/uv.lock +279 -2
- emerge-0.5.2/emerge/_emerge/__init__.py +0 -42
- {emerge-0.5.2 → emerge-0.5.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/.gitignore +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/.python-version +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/UMFPACK_Install_windows.md +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/__main__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/coord.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/cs.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/dataset.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/femdata.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/index_interp.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/legrange2.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/ned2_interp.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/elements/nedelec2.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/horn.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/modeler.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/operations.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pcb_tools/macro.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/pmlbox.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/polybased.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/shapes.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo/step.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/geo2d.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/howto.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mesher.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/common_functions.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/mth/optimized.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/generalized_eigen.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/periodicbc.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/assembly/robinbc.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/periodic.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/port_functions.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/sparam.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/physics/microwave/touchstone.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/display.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/matplotlib/mpldisplay.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/pyvista/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/pyvista/display.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/pyvista/display_settings.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot/simple_plots.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/plot.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/_gen_base.txt +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/_load_base.txt +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/projects/generate_project.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/solve_interfaces/pardiso_interface.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/_emerge/system.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/plot.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/emerge/pyvista.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo10_sgh.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo11_lumped_element_filter.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo2_combline_filter.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo3_coupled_line_filter.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo3_patch_antenna.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo4_boundary_selection.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo5_revolve.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo6_striplines_with_vias.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo7_periodic_cells.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo8_waveguide_bpf_synthesis.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/examples/demo9_dielectric_resonator.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/src/__init__.py +0 -0
- {emerge-0.5.2 → emerge-0.5.4}/src/_img/logo.jpeg +0 -0
|
@@ -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.
|
|
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[
|
|
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[
|
|
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.”
|