radia 1.3.9__py3-none-any.whl → 1.3.10__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.
- radia/__init__.py +1 -1
- radia/radia.pyd +0 -0
- radia/radia_ngsolve.pyd +0 -0
- {radia-1.3.9.dist-info → radia-1.3.10.dist-info}/METADATA +43 -25
- {radia-1.3.9.dist-info → radia-1.3.10.dist-info}/RECORD +8 -8
- {radia-1.3.9.dist-info → radia-1.3.10.dist-info}/WHEEL +0 -0
- {radia-1.3.9.dist-info → radia-1.3.10.dist-info}/licenses/LICENSE +0 -0
- {radia-1.3.9.dist-info → radia-1.3.10.dist-info}/top_level.txt +0 -0
radia/__init__.py
CHANGED
radia/radia.pyd
CHANGED
|
Binary file
|
radia/radia_ngsolve.pyd
CHANGED
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: radia
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.10
|
|
4
4
|
Summary: Radia 3D Magnetostatics with NGSolve Integration and OpenMP Parallelization
|
|
5
5
|
Home-page: https://github.com/ksugahar/Radia_NGSolve
|
|
6
6
|
Author: Pascal Elleaume
|
|
@@ -96,7 +96,7 @@ pip install radia-ngsolve
|
|
|
96
96
|
# - build/Release/radia_ngsolve.pyd
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
See [
|
|
99
|
+
See [BUILD.md](BUILD.md) for detailed build instructions.
|
|
100
100
|
|
|
101
101
|
### Basic Usage
|
|
102
102
|
|
|
@@ -119,6 +119,21 @@ print(f"Field: {field} T")
|
|
|
119
119
|
|
|
120
120
|
The `radia_ngsolve` module provides a C++ CoefficientFunction interface for using Radia magnetic fields in NGSolve FEM analysis.
|
|
121
121
|
|
|
122
|
+
**Requirements:**
|
|
123
|
+
- NGSolve must be installed separately: `pip install ngsolve`
|
|
124
|
+
- **IMPORTANT**: NGSolve must be imported **before** `radia_ngsolve`
|
|
125
|
+
- Current build is linked against **NGSolve 6.2.2406** (Windows Python 3.12)
|
|
126
|
+
|
|
127
|
+
**Installation:**
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# 1. Install NGSolve first
|
|
131
|
+
pip install ngsolve
|
|
132
|
+
|
|
133
|
+
# 2. Install Radia (includes radia_ngsolve.pyd)
|
|
134
|
+
pip install radia
|
|
135
|
+
```
|
|
136
|
+
|
|
122
137
|
**Function Specification:**
|
|
123
138
|
|
|
124
139
|
```python
|
|
@@ -144,12 +159,12 @@ radia_ngsolve.RadiaField(radia_obj, field_type='b')
|
|
|
144
159
|
**Example:**
|
|
145
160
|
|
|
146
161
|
```python
|
|
147
|
-
# IMPORTANT: Import ngsolve
|
|
162
|
+
# IMPORTANT: Import ngsolve FIRST (required to load NGSolve DLLs)
|
|
148
163
|
import ngsolve
|
|
149
|
-
from ngsolve import Mesh, H1, GridFunction
|
|
164
|
+
from ngsolve import Mesh, H1, GridFunction, HDiv
|
|
150
165
|
|
|
151
166
|
import radia as rad
|
|
152
|
-
import radia_ngsolve
|
|
167
|
+
from radia import radia_ngsolve # or: import radia_ngsolve
|
|
153
168
|
|
|
154
169
|
# Create Radia magnet
|
|
155
170
|
magnet = rad.ObjRecMag([0,0,0], [20,20,20], [0,0,1.2]) # mm units
|
|
@@ -167,24 +182,27 @@ gf = GridFunction(fes)
|
|
|
167
182
|
gf.Set(B_field) # Automatically converts mesh coordinates m → mm
|
|
168
183
|
```
|
|
169
184
|
|
|
170
|
-
See [examples/
|
|
185
|
+
See [examples/ngsolve_integration/](examples/ngsolve_integration/) for complete examples.
|
|
171
186
|
|
|
172
187
|
## Documentation
|
|
173
188
|
|
|
174
|
-
###
|
|
175
|
-
- [
|
|
176
|
-
|
|
177
|
-
|
|
189
|
+
### Build & Setup
|
|
190
|
+
- [BUILD.md](BUILD.md) - Build instructions (Windows, macOS, Linux)
|
|
191
|
+
|
|
192
|
+
### User Guides
|
|
193
|
+
- [docs/API_REFERENCE.md](docs/API_REFERENCE.md) - Complete Python API reference
|
|
194
|
+
- [docs/SOLVER_METHODS.md](docs/SOLVER_METHODS.md) - Solver methods (LU, BiCGSTAB, H-matrix)
|
|
195
|
+
- [docs/HMATRIX_USER_GUIDE.md](docs/HMATRIX_USER_GUIDE.md) - H-matrix acceleration guide
|
|
178
196
|
|
|
179
197
|
### NGSolve Integration
|
|
180
|
-
- [
|
|
181
|
-
- [
|
|
182
|
-
- [examples/Radia_to_NGSolve_CoefficientFunction/EXAMPLES_GUIDE.md](examples/Radia_to_NGSolve_CoefficientFunction/EXAMPLES_GUIDE.md) - Detailed usage guide
|
|
183
|
-
- [tests/test_radia_ngsolve.py](tests/test_radia_ngsolve.py) - Integration tests
|
|
198
|
+
- [docs/NGSOLVE_USAGE_GUIDE.md](docs/NGSOLVE_USAGE_GUIDE.md) - How to use Radia with NGSolve
|
|
199
|
+
- [docs/NGSOLVE_INTEGRATION.md](docs/NGSOLVE_INTEGRATION.md) - Integration overview
|
|
184
200
|
|
|
185
|
-
###
|
|
186
|
-
- [
|
|
187
|
-
- [
|
|
201
|
+
### Examples
|
|
202
|
+
- [examples/ngsolve_integration/](examples/ngsolve_integration/) - NGSolve integration examples
|
|
203
|
+
- [examples/magpylib_integration/](examples/magpylib_integration/) - magpylib background field examples
|
|
204
|
+
- [examples/simple_problems/](examples/simple_problems/) - Basic magnet configurations
|
|
205
|
+
- [tests/README.md](tests/README.md) - Test suite documentation
|
|
188
206
|
|
|
189
207
|
## Performance
|
|
190
208
|
|
|
@@ -197,7 +215,7 @@ OpenMP parallelization results (8-core system):
|
|
|
197
215
|
| 4 | 3.57 | 3.27x |
|
|
198
216
|
| 8 | 4.33 | 2.70x |
|
|
199
217
|
|
|
200
|
-
See [docs/
|
|
218
|
+
See [docs/SOLVER_METHODS.md](docs/SOLVER_METHODS.md) for solver performance details.
|
|
201
219
|
|
|
202
220
|
## Examples
|
|
203
221
|
|
|
@@ -205,12 +223,12 @@ Practical examples are available in the `examples/` directory:
|
|
|
205
223
|
|
|
206
224
|
|
|
207
225
|
### NGSolve Integration
|
|
208
|
-
- `examples/
|
|
226
|
+
- `examples/ngsolve_integration/` - **Radia → NGSolve: Use Radia fields in FEM**
|
|
209
227
|
- `demo_field_types.py` - All field types demonstration
|
|
210
228
|
- `visualize_field.py` - Field visualization and comparison
|
|
211
229
|
- `export_radia_geometry.py` - Export geometry to VTK
|
|
212
230
|
|
|
213
|
-
- `examples/
|
|
231
|
+
- `examples/background_fields/` - **NGSolve → Radia: Background fields**
|
|
214
232
|
- `test_sphere_in_quadrupole.py` - Magnetizable sphere in quadrupole field
|
|
215
233
|
- Uses Python callbacks to define arbitrary background fields
|
|
216
234
|
|
|
@@ -434,7 +452,7 @@ See:
|
|
|
434
452
|
|
|
435
453
|
This tool perfectly complements Radia_NGSolve by providing high-quality mesh generation:
|
|
436
454
|
|
|
437
|
-
- **Nastran Format Export** - Compatible with Radia's `
|
|
455
|
+
- **Nastran Format Export** - Compatible with Radia's `nastran_mesh_import.py` module
|
|
438
456
|
- **Multiple Format Support** - Gmsh, MEG, VTK, and Nastran exports
|
|
439
457
|
- **2D/3D Meshing** - Supports complex 3D geometries
|
|
440
458
|
- **Second-Order Elements** - High-accuracy mesh generation
|
|
@@ -442,10 +460,10 @@ This tool perfectly complements Radia_NGSolve by providing high-quality mesh gen
|
|
|
442
460
|
**Workflow Example:**
|
|
443
461
|
1. Create complex geometry in Coreform Cubit
|
|
444
462
|
2. Export to Nastran format using `Coreform_Cubit_Mesh_Export`
|
|
445
|
-
3. Import into Radia using `
|
|
463
|
+
3. Import into Radia using `nastran_mesh_import.py`
|
|
446
464
|
4. Couple with NGSolve for FEM analysis
|
|
447
465
|
|
|
448
|
-
See [examples/
|
|
466
|
+
See [examples/background_fields/](examples/background_fields/) for Nastran mesh usage examples.
|
|
449
467
|
|
|
450
468
|
## Links
|
|
451
469
|
|
|
@@ -455,5 +473,5 @@ See [examples/NGSolve_CoefficientFunction_to_Radia_BackgroundField/](examples/NG
|
|
|
455
473
|
|
|
456
474
|
---
|
|
457
475
|
|
|
458
|
-
**Version**: 1.3.
|
|
459
|
-
**Last Updated**: 2025-
|
|
476
|
+
**Version**: 1.3.9 (OpenMP + NGSolve Edition)
|
|
477
|
+
**Last Updated**: 2025-12-05
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
radia/__init__.py,sha256=
|
|
1
|
+
radia/__init__.py,sha256=1BJABJ1Xe_j4ZjOszUNxaGhpDF4MDV6EaxX2RcMJHTA,642
|
|
2
2
|
radia/nastran_mesh_import.py,sha256=CSoVhZCXa85lPiTF2hlspE2clBKOD7-_sCp1bxu_IK0,18147
|
|
3
3
|
radia/netgen_mesh_import.py,sha256=UopXk-5bbfj1j9_hyiq8jbjb4SQXnWaeuaC7TDf17wA,19872
|
|
4
4
|
radia/rad_ngsolve_fast.py,sha256=GkC7ruKy3MESHsO0iRSWsrgLU4-DPPgctOi6pPpsWg4,5675
|
|
5
|
-
radia/radia.pyd,sha256=
|
|
5
|
+
radia/radia.pyd,sha256=9JOKXaZyAW9l4kPdo6wL_P9ebBu2UAWonzGWRgK_W5s,1727488
|
|
6
6
|
radia/radia_coil_builder.py,sha256=nQkiAbfhueNvvxUARHdPD0C68ImidHmUQv_q4RsImeY,11253
|
|
7
7
|
radia/radia_field_cached.py,sha256=Bjw3ecNe3u7AAXnLob5m_tjYIY7HwB9DpgFg9a-aP_8,9509
|
|
8
|
-
radia/radia_ngsolve.pyd,sha256=
|
|
8
|
+
radia/radia_ngsolve.pyd,sha256=vm_2IVPKCO7Wsh91k18xelbFmoS88ATPWZyytt4xLak,563200
|
|
9
9
|
radia/radia_ngsolve_field.py,sha256=suJr4wacfYFKOkyV-5AQuHWnW5rtUMb0gSSjq8VRSXc,10166
|
|
10
10
|
radia/radia_ngsolve_utils.py,sha256=tFzPz8rsSi9TCGF2--92H9KFMuua9oAq8JLvw_XdoHs,8408
|
|
11
11
|
radia/radia_pyvista_viewer.py,sha256=JS33Mx4azGI7hUX0bzefc6zJfhv6qfRjM3Kl1bE9Mjs,4275
|
|
12
12
|
radia/radia_vtk_export.py,sha256=I8Vyyt9tky78Qw1xPru9f0Rii6QEmdEgTFjQtamyooc,6540
|
|
13
|
-
radia-1.3.
|
|
14
|
-
radia-1.3.
|
|
15
|
-
radia-1.3.
|
|
16
|
-
radia-1.3.
|
|
17
|
-
radia-1.3.
|
|
13
|
+
radia-1.3.10.dist-info/licenses/LICENSE,sha256=yaWxyzG9DpJ44dDNdGni4nukwiZ8pU-r_aW-1tYNAjk,4374
|
|
14
|
+
radia-1.3.10.dist-info/METADATA,sha256=a3s8y7BnHMedi8XnuFmyWZJrHbjB5QaUV9qr5RN4YbM,15846
|
|
15
|
+
radia-1.3.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
16
|
+
radia-1.3.10.dist-info/top_level.txt,sha256=kNDonE5X3Q2xnmOsWleQnGKQobuFsKM6Px5_Ta1I6x8,6
|
|
17
|
+
radia-1.3.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|