radia 1.0.9__tar.gz → 1.1.0__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.
- radia-1.1.0/LICENSE +93 -0
- {radia-1.0.9/src/radia.egg-info → radia-1.1.0}/PKG-INFO +31 -10
- {radia-1.0.9 → radia-1.1.0}/README.md +27 -8
- {radia-1.0.9 → radia-1.1.0}/README_BUILD.md +1 -1
- {radia-1.0.9 → radia-1.1.0}/docs/API_REFERENCE.md +967 -818
- radia-1.1.0/docs/EXAMPLES_REVIEW.md +423 -0
- radia-1.1.0/docs/HMATRIX_BENCHMARKS_RESULTS.md +219 -0
- radia-1.1.0/docs/HMATRIX_ENHANCEMENT_PROPOSAL_2025.md +600 -0
- radia-1.1.0/docs/HMATRIX_IMPLEMENTATION_HISTORY.md +377 -0
- radia-1.1.0/docs/HMATRIX_PERFORMANCE_IMPROVEMENT.md +261 -0
- radia-1.1.0/docs/HMATRIX_SERIALIZATION.md +358 -0
- radia-1.1.0/docs/HMATRIX_USER_GUIDE.md +559 -0
- radia-1.1.0/docs/MATERIAL_API_IMPLEMENTATION.md +290 -0
- radia-1.1.0/docs/ML_PARAMETER_TUNING.md +328 -0
- radia-1.1.0/docs/PYPI_RELEASE_v1.0.10.md +177 -0
- radia-1.1.0/docs/RELEASE_NOTES_v1.0.10.md +260 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/demo_field_types.py +193 -193
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/export_radia_geometry.py +77 -77
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/visualize_field.py +263 -263
- radia-1.1.0/examples/README.md +504 -0
- {radia-1.0.9/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/Cubit2Nastran.py +59 -59
- {radia-1.0.9/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/README.md +434 -312
- radia-1.1.0/examples/background_fields/permeability_comparison.py +278 -0
- radia-1.1.0/examples/background_fields/quadrupole_analytical.py +218 -0
- radia-1.1.0/examples/background_fields/sphere_in_quadrupole.py +244 -0
- {radia-1.0.9/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/sphere_nastran_analysis.py +529 -529
- {radia-1.0.9 → radia-1.1.0}/examples/complex_coil_geometry/README.md +2 -1
- {radia-1.0.9 → radia-1.1.0}/examples/complex_coil_geometry/coil_model.py +17 -0
- {radia-1.0.9 → radia-1.1.0}/examples/complex_coil_geometry/field_map.py +17 -0
- {radia-1.0.9 → radia-1.1.0}/examples/electromagnet/racetrack_coil_model.py +17 -0
- {radia-1.0.9 → radia-1.1.0}/examples/electromagnet/yoke_model.py +19 -2
- {radia-1.0.9 → radia-1.1.0}/examples/simple_problems/CONVERSION_NOTES.md +186 -186
- {radia-1.0.9 → radia-1.1.0}/examples/simple_problems/README.md +130 -126
- radia-1.0.9/examples/simple_problems/case1.py → radia-1.1.0/examples/simple_problems/arc_current_dual_magnets.py +19 -0
- radia-1.0.9/examples/simple_problems/case0.py → radia-1.1.0/examples/simple_problems/arc_current_with_magnet.py +19 -0
- radia-1.0.9/examples/simple_problems/case2.py → radia-1.1.0/examples/simple_problems/chamfered_pole_piece.py +19 -0
- radia-1.0.9/tests/test_magpylib_comparison.py → radia-1.1.0/examples/simple_problems/compare_magpylib.py +43 -34
- radia-1.0.9/examples/simple_problems/case3.py → radia-1.1.0/examples/simple_problems/cubic_polyhedron_magnet.py +19 -0
- radia-1.0.9/examples/simple_problems/test_update_hmatrix_magnetization.py → radia-1.1.0/examples/simple_problems/hmatrix_update_magnetization.py +27 -5
- {radia-1.0.9 → radia-1.1.0}/examples/smco_magnet_array/smco_array.py +1 -1
- radia-1.1.0/examples/solver_benchmarks/BENCHMARK_RESULTS.md +213 -0
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/HMATRIX_FIELD_DESIGN.md +1 -0
- radia-1.1.0/examples/solver_benchmarks/README.md +286 -0
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/benchmark_field_evaluation.py +252 -233
- radia-1.1.0/examples/solver_benchmarks/benchmark_hmatrix_field.py +119 -0
- {radia-1.0.9/examples/solver_time_evaluation → radia-1.1.0/examples/solver_benchmarks}/benchmark_linear_material.py +2 -2
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/benchmark_parallel_construction.py +3 -1
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/benchmark_solver.py +3 -1
- radia-1.1.0/examples/solver_benchmarks/benchmark_solver_comparison.py +425 -0
- radia-1.1.0/examples/solver_benchmarks/run_all_hmatrix_benchmarks.py +111 -0
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/verify_field_accuracy.py +206 -182
- {radia-1.0.9 → radia-1.1.0}/pyproject.toml +4 -2
- {radia-1.0.9 → radia-1.1.0}/setup.py +4 -3
- radia-1.1.0/src/python/__init__.py +2 -0
- {radia-1.0.9 → radia-1.1.0}/src/python/rad_ngsolve.pyd +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/python/radia.pyd +0 -0
- {radia-1.0.9 → radia-1.1.0/src/radia.egg-info}/PKG-INFO +31 -10
- {radia-1.0.9 → radia-1.1.0}/src/radia.egg-info/SOURCES.txt +61 -36
- radia-1.1.0/tests/hmatrix/test_phase2a_final.py +136 -0
- radia-1.1.0/tests/hmatrix/test_phase2a_hmatrix_reuse.py +181 -0
- radia-1.1.0/tests/hmatrix/test_phase2a_with_field.py +125 -0
- radia-1.1.0/tests/hmatrix/test_phase2b_geometry_detection.py +182 -0
- radia-1.1.0/tests/hmatrix/test_phase3_magnetization_update.py +207 -0
- radia-1.1.0/tests/hmatrix/test_phase3b_large_problem.py +243 -0
- radia-1.1.0/tests/hmatrix/test_phase3b_serialization.py +223 -0
- radia-1.1.0/tests/hmatrix/test_phase3b_solver_cache.py +235 -0
- radia-1.1.0/tests/hmatrix/test_serialize_step1_build.py +43 -0
- radia-1.1.0/tests/hmatrix/test_serialize_step2_load.py +44 -0
- radia-1.1.0/tests/hmatrix/test_verify_field_simple.py +93 -0
- {radia-1.0.9 → radia-1.1.0}/tests/test_advanced.py +2 -2
- radia-1.1.0/tests/test_group_operations.py +238 -0
- radia-1.1.0/tests/test_materials.py +167 -0
- radia-1.1.0/tests/test_objbckg_simple.py +56 -0
- radia-1.1.0/tests/test_objbckgcf_alone.py +71 -0
- {radia-1.0.9 → radia-1.1.0}/tests/test_parallel_performance.py +19 -11
- {radia-1.0.9 → radia-1.1.0}/tests/test_rad_ngsolve.py +8 -6
- radia-1.1.0/tests/test_radia.py +226 -0
- radia-1.1.0/tests/test_serialization.py +264 -0
- {radia-1.0.9 → radia-1.1.0}/tests/test_square_coil_analytical.py +3 -2
- radia-1.1.0/tests/test_transformations.py +301 -0
- radia-1.1.0/tests/test_type_cast.py +143 -0
- radia-1.0.9/LICENSE +0 -564
- radia-1.0.9/docs/CLAUDE.md +0 -52
- radia-1.0.9/docs/HACAPK_INTEGRATION_COMPLETE.md +0 -416
- radia-1.0.9/docs/HACAPK_INTEGRATION_PLAN.md +0 -355
- radia-1.0.9/docs/NGSOLVE_INTEGRATION_STATUS.md +0 -210
- radia-1.0.9/docs/PHASE4_STATUS.md +0 -248
- radia-1.0.9/docs/hmatrix_field_progress.md +0 -459
- radia-1.0.9/examples/H-matrix/BENCHMARK_RESULTS.md +0 -330
- radia-1.0.9/examples/H-matrix/README.md +0 -118
- radia-1.0.9/examples/solver_time_evaluation/README.md +0 -208
- radia-1.0.9/examples/solver_time_evaluation/benchmark_lu_vs_gs.py +0 -291
- radia-1.0.9/examples/test_hmatrix_accuracy.py +0 -148
- radia-1.0.9/examples/test_hmatrix_cube_nonlinear.py +0 -209
- radia-1.0.9/examples/test_hmatrix_parallel.py +0 -144
- radia-1.0.9/src/python/__init__.py +0 -2
- radia-1.0.9/tests/test_radia.py +0 -261
- {radia-1.0.9 → radia-1.1.0}/COPYRIGHT.txt +0 -0
- {radia-1.0.9 → radia-1.1.0}/MANIFEST.in +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/API_EXTENSIONS.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/CF_BACKGROUND_FIELD_IMPLEMENTATION.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/DIRECTORY_STRUCTURE.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/NGSOLVE_CF_BACKGROUND_FIELD_DESIGN.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/NGSOLVE_DLL_ISSUE.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/NGSOLVE_INTEGRATION.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/NGSOLVE_PYTHON_SOLUTION.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/NGSOLVE_USAGE_GUIDE.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/OPENMP_PERFORMANCE_REPORT.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/TAB_CONVERSION_REPORT.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/hmatrix_field_design.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/docs/scripts/README.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/HMATRIX_ANALYSIS.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/HMATRIX_FIELD_EVALUATION_ISSUE.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/H_MATRIX_PARALLEL_OPTIMIZATION.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/NGBEM_ANALYSIS.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/NGSOLVE_SET_VS_INTERPOLATE.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/PROPOSAL_VECTORIZED_API.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/README.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/SET_VS_INTERPOLATE_SIMPLE.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/SOLVER_OPTIMIZATION_PROPOSAL.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/benchmark_gridfunction_set.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/debug_field_values.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/radia_field.pvsm +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/test_batch_evaluation.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/test_batch_fld.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/test_coordinate_transform.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/test_mesh_convergence.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/test_set_vs_interpolate.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/NGSolve_Integration/verify_curl_A_equals_B.py +0 -0
- {radia-1.0.9/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/sphere_nastran_field_mu.pvsm +0 -0
- {radia-1.0.9/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/sphere_nastran_geometry.vtk +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/complex_coil_geometry/coil_geometry.vtk +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/complex_coil_geometry/complex_coil.pvsm +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/complex_coil_geometry/field_map.vtk +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/complex_coil_geometry/visualize_coils.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/electromagnet/README.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/electromagnet/electromagnet.pvsm +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/electromagnet/electromagnet.vtk +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/electromagnet/field_distribution.vtk +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/electromagnet/magnet.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/smco_magnet_array/README.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/smco_magnet_array/smbo.pvsm +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/smco_magnet_array/smco_array.vtk +0 -0
- {radia-1.0.9 → radia-1.1.0}/examples/smco_magnet_array/smco_field_distribution.vtk +0 -0
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/HMATRIX_FIELD_DESIGN_SIMPLIFIED.md +0 -0
- {radia-1.0.9/examples/solver_time_evaluation → radia-1.1.0/examples/solver_benchmarks}/benchmark_matrix_construction.py +0 -0
- {radia-1.0.9/examples/solver_time_evaluation → radia-1.1.0/examples/solver_benchmarks}/benchmark_solver_scaling.py +0 -0
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/plot_benchmark_results.py +0 -0
- {radia-1.0.9/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/run_all_benchmarks.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/setup.cfg +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/python/nastran_reader.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/python/radia_coil_builder.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/python/radia_ngsolve_field.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/python/radia_pyvista_viewer.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/python/radia_vtk_export.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/radia.egg-info/dependency_links.txt +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/radia.egg-info/not-zip-safe +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/radia.egg-info/requires.txt +0 -0
- {radia-1.0.9 → radia-1.1.0}/src/radia.egg-info/top_level.txt +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/README.md +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/__init__.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/benchmark_hmatrix.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/benchmarks/benchmark_correct.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/benchmarks/benchmark_heavy.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/benchmarks/benchmark_openmp.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/benchmarks/benchmark_threads.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/conftest.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/test_radhmat.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/test_simple.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/test_utils.py +0 -0
- {radia-1.0.9 → radia-1.1.0}/tests/test_vector_potential.py +0 -0
radia-1.1.0/LICENSE
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
RADIA SOFTWARE LICENSE
|
|
2
|
+
======================
|
|
3
|
+
|
|
4
|
+
This software contains multiple components with different licenses:
|
|
5
|
+
|
|
6
|
+
1. RADIA Core (BSD-style License)
|
|
7
|
+
2. HACApK_LH-Cimplm Library (MIT License)
|
|
8
|
+
|
|
9
|
+
All licenses are permissive open-source licenses allowing redistribution
|
|
10
|
+
and modification.
|
|
11
|
+
|
|
12
|
+
================================================================================
|
|
13
|
+
PART 1: RADIA CORE
|
|
14
|
+
================================================================================
|
|
15
|
+
|
|
16
|
+
Copyright © 1997 - 2018, European Synchrotron Radiation Facility
|
|
17
|
+
|
|
18
|
+
The RADIA software is distributed subject to the following license conditions:
|
|
19
|
+
|
|
20
|
+
Redistribution and use in source and binary forms, with or without
|
|
21
|
+
modification, are permitted provided that the following conditions are met:
|
|
22
|
+
|
|
23
|
+
1. Redistributions of source code must retain the above copyright notice,
|
|
24
|
+
this list of conditions and the following disclaimer.
|
|
25
|
+
|
|
26
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
27
|
+
this list of conditions and the following disclaimer in the documentation
|
|
28
|
+
and/or other materials provided with the distribution.
|
|
29
|
+
|
|
30
|
+
DISCLAIMER: THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
|
|
31
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
32
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
33
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
|
|
34
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
35
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
36
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
37
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
38
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
39
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
40
|
+
|
|
41
|
+
The views and conclusions contained in the software and documentation are
|
|
42
|
+
those of the authors and should not be interpreted as representing official
|
|
43
|
+
policies, either expressed or implied, of the RADIA project.
|
|
44
|
+
|
|
45
|
+
================================================================================
|
|
46
|
+
PART 2: HACApK_LH-Cimplm (H-matrix Library)
|
|
47
|
+
================================================================================
|
|
48
|
+
|
|
49
|
+
Software Name : HACApK
|
|
50
|
+
Version : 1.3.0
|
|
51
|
+
Location: src/ext/HACApK_LH-Cimplm/
|
|
52
|
+
|
|
53
|
+
Copyright (c) 2015 Akihiro Ida and Takeshi Iwashita
|
|
54
|
+
|
|
55
|
+
MIT License
|
|
56
|
+
|
|
57
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
58
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
59
|
+
in the Software without restriction, including without limitation the rights
|
|
60
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
61
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
62
|
+
furnished to do so, subject to the following conditions:
|
|
63
|
+
|
|
64
|
+
The above copyright notice and this permission notice shall be included in all
|
|
65
|
+
copies or substantial portions of the Software.
|
|
66
|
+
|
|
67
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
68
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
69
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
70
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
71
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
72
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
73
|
+
SOFTWARE.
|
|
74
|
+
|
|
75
|
+
ppOpen-HPC project:
|
|
76
|
+
Open Source Infrastructure for Development and Execution of Large-Scale
|
|
77
|
+
Scientific Applications on Post-Peta-Scale Supercomputers with Automatic
|
|
78
|
+
Tuning (AT).
|
|
79
|
+
|
|
80
|
+
Sponsorship:
|
|
81
|
+
Japan Science and Technology Agency (JST), Basic Research Programs: CREST,
|
|
82
|
+
Development of System Software Technologies for post-Peta Scale High
|
|
83
|
+
Performance Computing.
|
|
84
|
+
|
|
85
|
+
================================================================================
|
|
86
|
+
ADDITIONAL COMPONENTS
|
|
87
|
+
================================================================================
|
|
88
|
+
|
|
89
|
+
This software may include additional third-party libraries and components,
|
|
90
|
+
each governed by their respective licenses. Please refer to the individual
|
|
91
|
+
component directories for specific license information.
|
|
92
|
+
|
|
93
|
+
================================================================================
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: radia
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
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
|
|
7
7
|
Author-email: Oleg Chubar <chubar@bnl.gov>
|
|
8
8
|
Maintainer: Radia Development Team
|
|
9
|
-
License:
|
|
9
|
+
License: BSD-style AND MIT
|
|
10
10
|
Project-URL: Homepage, https://github.com/ksugahar/Radia_NGSolve
|
|
11
11
|
Project-URL: Documentation, https://github.com/ksugahar/Radia_NGSolve/blob/master/README.md
|
|
12
12
|
Project-URL: Repository, https://github.com/ksugahar/Radia_NGSolve
|
|
@@ -16,6 +16,8 @@ Project-URL: ESRF Radia Page, https://www.esrf.fr/Accelerators/Groups/InsertionD
|
|
|
16
16
|
Keywords: magnetostatics,magnetic field,radia,ngsolve,fem,synchrotron
|
|
17
17
|
Classifier: Development Status :: 5 - Production/Stable
|
|
18
18
|
Classifier: Intended Audience :: Science/Research
|
|
19
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
20
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
19
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
22
|
Classifier: Programming Language :: C++
|
|
21
23
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
@@ -59,6 +61,7 @@ This repository adds NGSolve integration and performance improvements while main
|
|
|
59
61
|
|
|
60
62
|
## Key Features
|
|
61
63
|
|
|
64
|
+
- ✓ **H-matrix acceleration** - Fast hierarchical matrix solver using [HACApK](https://github.com/Post-Peta-Crest/ppOpenHPC/tree/MATH/HACApK)
|
|
62
65
|
- ✓ OpenMP parallel field computation
|
|
63
66
|
- ✓ NGSolve C++ CoefficientFunction integration
|
|
64
67
|
- ✓ VTK export functionality (`rad.ObjDrwVTK`)
|
|
@@ -150,7 +153,7 @@ import rad_ngsolve
|
|
|
150
153
|
|
|
151
154
|
# Create Radia magnet
|
|
152
155
|
magnet = rad.ObjRecMag([0,0,0], [20,20,20], [0,0,1.2]) # mm units
|
|
153
|
-
rad.MatApl(magnet, rad.
|
|
156
|
+
rad.MatApl(magnet, rad.MatPM(1.2, 900000, [0,0,1])) # NdFeB permanent magnet
|
|
154
157
|
rad.Solve(magnet, 0.0001, 10000)
|
|
155
158
|
|
|
156
159
|
# Create NGSolve CoefficientFunction for different field types
|
|
@@ -256,7 +259,10 @@ See [tests/README.md](tests/README.md) for detailed testing documentation.
|
|
|
256
259
|
|
|
257
260
|
```python
|
|
258
261
|
import sys
|
|
259
|
-
|
|
262
|
+
import os
|
|
263
|
+
|
|
264
|
+
# Add src/python to path (adjust path as needed for your installation)
|
|
265
|
+
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src', 'python'))
|
|
260
266
|
|
|
261
267
|
from radia_pyvista_viewer import view_radia_object
|
|
262
268
|
|
|
@@ -268,7 +274,10 @@ view_radia_object(mag)
|
|
|
268
274
|
|
|
269
275
|
```python
|
|
270
276
|
import sys
|
|
271
|
-
|
|
277
|
+
import os
|
|
278
|
+
|
|
279
|
+
# Add src/python to path (adjust path as needed for your installation)
|
|
280
|
+
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src', 'python'))
|
|
272
281
|
|
|
273
282
|
from radia_vtk_export import export_geometry_to_vtk
|
|
274
283
|
|
|
@@ -301,6 +310,7 @@ export_geometry_to_vtk(mag, 'geometry.vtk')
|
|
|
301
310
|
- Python 2.7, 3.6, 3.7, 3.8 support
|
|
302
311
|
|
|
303
312
|
### Added Features
|
|
313
|
+
- **H-matrix acceleration** - Hierarchical matrix solver using [HACApK library](https://github.com/Post-Peta-Crest/ppOpenHPC/tree/MATH/HACApK) (9-50x speedup for large problems)
|
|
304
314
|
- OpenMP parallelization (2.7x speedup)
|
|
305
315
|
- NGSolve C++ CoefficientFunction integration
|
|
306
316
|
- PyVista viewer support
|
|
@@ -311,15 +321,26 @@ export_geometry_to_vtk(mag, 'geometry.vtk')
|
|
|
311
321
|
|
|
312
322
|
## License
|
|
313
323
|
|
|
314
|
-
This project
|
|
324
|
+
This project contains multiple components with different open-source licenses:
|
|
325
|
+
|
|
326
|
+
### RADIA Core
|
|
327
|
+
Licensed under a **BSD-style license** by the European Synchrotron Radiation Facility (ESRF).
|
|
328
|
+
- Copyright © 1997-2018, European Synchrotron Radiation Facility
|
|
329
|
+
- Permits redistribution and modification with attribution
|
|
315
330
|
|
|
316
|
-
|
|
331
|
+
### HACApK_LH-Cimplm (H-matrix Library)
|
|
332
|
+
Licensed under the **MIT License**.
|
|
333
|
+
- Copyright © 2015, Akihiro Ida and Takeshi Iwashita
|
|
334
|
+
- Location: `src/ext/HACApK_LH-Cimplm/`
|
|
335
|
+
- ppOpen-HPC project
|
|
317
336
|
|
|
318
|
-
Both licenses are
|
|
337
|
+
Both licenses are permissive open-source licenses that allow free use, modification,
|
|
338
|
+
and redistribution.
|
|
319
339
|
|
|
320
340
|
See:
|
|
321
|
-
- `LICENSE` - Complete license text
|
|
322
|
-
- `COPYRIGHT.txt` - Original RADIA
|
|
341
|
+
- `LICENSE` - Complete license text for both components
|
|
342
|
+
- `COPYRIGHT.txt` - Original RADIA BSD-style license
|
|
343
|
+
- `src/ext/HACApK_LH-Cimplm/LICENSE` - HACApK MIT license
|
|
323
344
|
|
|
324
345
|
## Credits
|
|
325
346
|
|
|
@@ -19,6 +19,7 @@ This repository adds NGSolve integration and performance improvements while main
|
|
|
19
19
|
|
|
20
20
|
## Key Features
|
|
21
21
|
|
|
22
|
+
- ✓ **H-matrix acceleration** - Fast hierarchical matrix solver using [HACApK](https://github.com/Post-Peta-Crest/ppOpenHPC/tree/MATH/HACApK)
|
|
22
23
|
- ✓ OpenMP parallel field computation
|
|
23
24
|
- ✓ NGSolve C++ CoefficientFunction integration
|
|
24
25
|
- ✓ VTK export functionality (`rad.ObjDrwVTK`)
|
|
@@ -110,7 +111,7 @@ import rad_ngsolve
|
|
|
110
111
|
|
|
111
112
|
# Create Radia magnet
|
|
112
113
|
magnet = rad.ObjRecMag([0,0,0], [20,20,20], [0,0,1.2]) # mm units
|
|
113
|
-
rad.MatApl(magnet, rad.
|
|
114
|
+
rad.MatApl(magnet, rad.MatPM(1.2, 900000, [0,0,1])) # NdFeB permanent magnet
|
|
114
115
|
rad.Solve(magnet, 0.0001, 10000)
|
|
115
116
|
|
|
116
117
|
# Create NGSolve CoefficientFunction for different field types
|
|
@@ -216,7 +217,10 @@ See [tests/README.md](tests/README.md) for detailed testing documentation.
|
|
|
216
217
|
|
|
217
218
|
```python
|
|
218
219
|
import sys
|
|
219
|
-
|
|
220
|
+
import os
|
|
221
|
+
|
|
222
|
+
# Add src/python to path (adjust path as needed for your installation)
|
|
223
|
+
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src', 'python'))
|
|
220
224
|
|
|
221
225
|
from radia_pyvista_viewer import view_radia_object
|
|
222
226
|
|
|
@@ -228,7 +232,10 @@ view_radia_object(mag)
|
|
|
228
232
|
|
|
229
233
|
```python
|
|
230
234
|
import sys
|
|
231
|
-
|
|
235
|
+
import os
|
|
236
|
+
|
|
237
|
+
# Add src/python to path (adjust path as needed for your installation)
|
|
238
|
+
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src', 'python'))
|
|
232
239
|
|
|
233
240
|
from radia_vtk_export import export_geometry_to_vtk
|
|
234
241
|
|
|
@@ -261,6 +268,7 @@ export_geometry_to_vtk(mag, 'geometry.vtk')
|
|
|
261
268
|
- Python 2.7, 3.6, 3.7, 3.8 support
|
|
262
269
|
|
|
263
270
|
### Added Features
|
|
271
|
+
- **H-matrix acceleration** - Hierarchical matrix solver using [HACApK library](https://github.com/Post-Peta-Crest/ppOpenHPC/tree/MATH/HACApK) (9-50x speedup for large problems)
|
|
264
272
|
- OpenMP parallelization (2.7x speedup)
|
|
265
273
|
- NGSolve C++ CoefficientFunction integration
|
|
266
274
|
- PyVista viewer support
|
|
@@ -271,15 +279,26 @@ export_geometry_to_vtk(mag, 'geometry.vtk')
|
|
|
271
279
|
|
|
272
280
|
## License
|
|
273
281
|
|
|
274
|
-
This project
|
|
282
|
+
This project contains multiple components with different open-source licenses:
|
|
283
|
+
|
|
284
|
+
### RADIA Core
|
|
285
|
+
Licensed under a **BSD-style license** by the European Synchrotron Radiation Facility (ESRF).
|
|
286
|
+
- Copyright © 1997-2018, European Synchrotron Radiation Facility
|
|
287
|
+
- Permits redistribution and modification with attribution
|
|
275
288
|
|
|
276
|
-
|
|
289
|
+
### HACApK_LH-Cimplm (H-matrix Library)
|
|
290
|
+
Licensed under the **MIT License**.
|
|
291
|
+
- Copyright © 2015, Akihiro Ida and Takeshi Iwashita
|
|
292
|
+
- Location: `src/ext/HACApK_LH-Cimplm/`
|
|
293
|
+
- ppOpen-HPC project
|
|
277
294
|
|
|
278
|
-
Both licenses are
|
|
295
|
+
Both licenses are permissive open-source licenses that allow free use, modification,
|
|
296
|
+
and redistribution.
|
|
279
297
|
|
|
280
298
|
See:
|
|
281
|
-
- `LICENSE` - Complete license text
|
|
282
|
-
- `COPYRIGHT.txt` - Original RADIA
|
|
299
|
+
- `LICENSE` - Complete license text for both components
|
|
300
|
+
- `COPYRIGHT.txt` - Original RADIA BSD-style license
|
|
301
|
+
- `src/ext/HACApK_LH-Cimplm/LICENSE` - HACApK MIT license
|
|
283
302
|
|
|
284
303
|
## Credits
|
|
285
304
|
|
|
@@ -349,7 +349,7 @@ import radia as rad
|
|
|
349
349
|
|
|
350
350
|
# Create Radia magnet
|
|
351
351
|
magnet = rad.ObjRecMag([0, 0, 0], [20, 20, 30], [0, 0, 1.2])
|
|
352
|
-
rad.MatApl(magnet, rad.
|
|
352
|
+
rad.MatApl(magnet, rad.MatLin([0.06, 0.17], [0, 0, 1.2])) # NdFeB
|
|
353
353
|
rad.Solve(magnet, 0.0001, 10000)
|
|
354
354
|
|
|
355
355
|
# Create field CoefficientFunctions
|