radia 1.0.10__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.
Files changed (167) hide show
  1. radia-1.1.0/LICENSE +93 -0
  2. {radia-1.0.10/src/radia.egg-info → radia-1.1.0}/PKG-INFO +31 -10
  3. {radia-1.0.10 → radia-1.1.0}/README.md +27 -8
  4. {radia-1.0.10 → radia-1.1.0}/docs/API_REFERENCE.md +967 -849
  5. radia-1.1.0/docs/EXAMPLES_REVIEW.md +423 -0
  6. radia-1.1.0/docs/HMATRIX_BENCHMARKS_RESULTS.md +219 -0
  7. radia-1.1.0/docs/HMATRIX_ENHANCEMENT_PROPOSAL_2025.md +600 -0
  8. radia-1.1.0/docs/HMATRIX_IMPLEMENTATION_HISTORY.md +377 -0
  9. radia-1.1.0/docs/HMATRIX_PERFORMANCE_IMPROVEMENT.md +261 -0
  10. radia-1.1.0/docs/HMATRIX_SERIALIZATION.md +358 -0
  11. radia-1.1.0/docs/HMATRIX_USER_GUIDE.md +559 -0
  12. radia-1.1.0/docs/MATERIAL_API_IMPLEMENTATION.md +290 -0
  13. radia-1.1.0/docs/ML_PARAMETER_TUNING.md +328 -0
  14. radia-1.1.0/docs/PYPI_RELEASE_v1.0.10.md +177 -0
  15. radia-1.1.0/docs/RELEASE_NOTES_v1.0.10.md +260 -0
  16. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/demo_field_types.py +193 -193
  17. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/export_radia_geometry.py +77 -77
  18. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/visualize_field.py +263 -263
  19. radia-1.1.0/examples/README.md +504 -0
  20. {radia-1.0.10/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/Cubit2Nastran.py +59 -59
  21. {radia-1.0.10/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/README.md +434 -312
  22. radia-1.1.0/examples/background_fields/permeability_comparison.py +278 -0
  23. radia-1.1.0/examples/background_fields/quadrupole_analytical.py +218 -0
  24. radia-1.1.0/examples/background_fields/sphere_in_quadrupole.py +244 -0
  25. {radia-1.0.10/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/sphere_nastran_analysis.py +529 -529
  26. {radia-1.0.10 → radia-1.1.0}/examples/complex_coil_geometry/README.md +2 -1
  27. {radia-1.0.10 → radia-1.1.0}/examples/complex_coil_geometry/coil_model.py +17 -0
  28. {radia-1.0.10 → radia-1.1.0}/examples/complex_coil_geometry/field_map.py +17 -0
  29. {radia-1.0.10 → radia-1.1.0}/examples/electromagnet/racetrack_coil_model.py +17 -0
  30. {radia-1.0.10 → radia-1.1.0}/examples/electromagnet/yoke_model.py +19 -2
  31. {radia-1.0.10 → radia-1.1.0}/examples/simple_problems/CONVERSION_NOTES.md +186 -186
  32. {radia-1.0.10 → radia-1.1.0}/examples/simple_problems/README.md +130 -126
  33. radia-1.0.10/examples/simple_problems/case1.py → radia-1.1.0/examples/simple_problems/arc_current_dual_magnets.py +19 -0
  34. radia-1.0.10/examples/simple_problems/case0.py → radia-1.1.0/examples/simple_problems/arc_current_with_magnet.py +19 -0
  35. radia-1.0.10/examples/simple_problems/case2.py → radia-1.1.0/examples/simple_problems/chamfered_pole_piece.py +19 -0
  36. radia-1.0.10/tests/test_magpylib_comparison.py → radia-1.1.0/examples/simple_problems/compare_magpylib.py +42 -34
  37. radia-1.0.10/examples/simple_problems/case3.py → radia-1.1.0/examples/simple_problems/cubic_polyhedron_magnet.py +19 -0
  38. radia-1.0.10/examples/simple_problems/test_update_hmatrix_magnetization.py → radia-1.1.0/examples/simple_problems/hmatrix_update_magnetization.py +26 -4
  39. {radia-1.0.10 → radia-1.1.0}/examples/smco_magnet_array/smco_array.py +1 -1
  40. radia-1.1.0/examples/solver_benchmarks/BENCHMARK_RESULTS.md +213 -0
  41. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/HMATRIX_FIELD_DESIGN.md +1 -0
  42. radia-1.1.0/examples/solver_benchmarks/README.md +286 -0
  43. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/benchmark_field_evaluation.py +252 -233
  44. {radia-1.0.10/examples/solver_time_evaluation → radia-1.1.0/examples/solver_benchmarks}/benchmark_linear_material.py +2 -2
  45. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/benchmark_parallel_construction.py +3 -1
  46. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/benchmark_solver.py +3 -1
  47. radia-1.1.0/examples/solver_benchmarks/benchmark_solver_comparison.py +425 -0
  48. radia-1.1.0/examples/solver_benchmarks/run_all_hmatrix_benchmarks.py +111 -0
  49. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/verify_field_accuracy.py +206 -182
  50. {radia-1.0.10 → radia-1.1.0}/pyproject.toml +4 -2
  51. {radia-1.0.10 → radia-1.1.0}/setup.py +4 -3
  52. radia-1.1.0/src/python/__init__.py +2 -0
  53. radia-1.1.0/src/python/rad_ngsolve.pyd +0 -0
  54. {radia-1.0.10 → radia-1.1.0/src/radia.egg-info}/PKG-INFO +31 -10
  55. {radia-1.0.10 → radia-1.1.0}/src/radia.egg-info/SOURCES.txt +54 -31
  56. radia-1.1.0/tests/hmatrix/test_phase2a_final.py +136 -0
  57. radia-1.1.0/tests/hmatrix/test_phase2a_hmatrix_reuse.py +181 -0
  58. radia-1.1.0/tests/hmatrix/test_phase2a_with_field.py +125 -0
  59. radia-1.1.0/tests/hmatrix/test_phase2b_geometry_detection.py +182 -0
  60. radia-1.1.0/tests/hmatrix/test_phase3_magnetization_update.py +207 -0
  61. radia-1.1.0/tests/hmatrix/test_phase3b_large_problem.py +243 -0
  62. radia-1.1.0/tests/hmatrix/test_phase3b_serialization.py +223 -0
  63. radia-1.1.0/tests/hmatrix/test_phase3b_solver_cache.py +235 -0
  64. radia-1.1.0/tests/hmatrix/test_serialize_step1_build.py +43 -0
  65. radia-1.1.0/tests/hmatrix/test_serialize_step2_load.py +44 -0
  66. radia-1.1.0/tests/hmatrix/test_verify_field_simple.py +93 -0
  67. {radia-1.0.10 → radia-1.1.0}/tests/test_group_operations.py +5 -5
  68. {radia-1.0.10 → radia-1.1.0}/tests/test_materials.py +12 -12
  69. radia-1.1.0/tests/test_objbckg_simple.py +56 -0
  70. radia-1.1.0/tests/test_objbckgcf_alone.py +71 -0
  71. {radia-1.0.10 → radia-1.1.0}/tests/test_rad_ngsolve.py +8 -6
  72. {radia-1.0.10 → radia-1.1.0}/tests/test_serialization.py +1 -1
  73. {radia-1.0.10 → radia-1.1.0}/tests/test_type_cast.py +1 -1
  74. radia-1.0.10/LICENSE +0 -564
  75. radia-1.0.10/docs/CLAUDE.md +0 -52
  76. radia-1.0.10/examples/H-matrix/BENCHMARK_RESULTS.md +0 -330
  77. radia-1.0.10/examples/H-matrix/README.md +0 -118
  78. radia-1.0.10/examples/solver_benchmarks/README.md +0 -36
  79. radia-1.0.10/examples/solver_time_evaluation/README.md +0 -208
  80. radia-1.0.10/examples/solver_time_evaluation/benchmark_lu_vs_gs.py +0 -291
  81. radia-1.0.10/examples/test_hmatrix_accuracy.py +0 -148
  82. radia-1.0.10/examples/test_hmatrix_cube_nonlinear.py +0 -209
  83. radia-1.0.10/examples/test_hmatrix_parallel.py +0 -144
  84. radia-1.0.10/src/python/__init__.py +0 -2
  85. radia-1.0.10/src/python/rad_ngsolve.pyd +0 -0
  86. {radia-1.0.10 → radia-1.1.0}/COPYRIGHT.txt +0 -0
  87. {radia-1.0.10 → radia-1.1.0}/MANIFEST.in +0 -0
  88. {radia-1.0.10 → radia-1.1.0}/README_BUILD.md +0 -0
  89. {radia-1.0.10 → radia-1.1.0}/docs/API_EXTENSIONS.md +0 -0
  90. {radia-1.0.10 → radia-1.1.0}/docs/CF_BACKGROUND_FIELD_IMPLEMENTATION.md +0 -0
  91. {radia-1.0.10 → radia-1.1.0}/docs/DIRECTORY_STRUCTURE.md +0 -0
  92. {radia-1.0.10 → radia-1.1.0}/docs/NGSOLVE_CF_BACKGROUND_FIELD_DESIGN.md +0 -0
  93. {radia-1.0.10 → radia-1.1.0}/docs/NGSOLVE_DLL_ISSUE.md +0 -0
  94. {radia-1.0.10 → radia-1.1.0}/docs/NGSOLVE_INTEGRATION.md +0 -0
  95. {radia-1.0.10 → radia-1.1.0}/docs/NGSOLVE_PYTHON_SOLUTION.md +0 -0
  96. {radia-1.0.10 → radia-1.1.0}/docs/NGSOLVE_USAGE_GUIDE.md +0 -0
  97. {radia-1.0.10 → radia-1.1.0}/docs/OPENMP_PERFORMANCE_REPORT.md +0 -0
  98. {radia-1.0.10 → radia-1.1.0}/docs/TAB_CONVERSION_REPORT.md +0 -0
  99. {radia-1.0.10 → radia-1.1.0}/docs/hmatrix_field_design.md +0 -0
  100. {radia-1.0.10 → radia-1.1.0}/docs/scripts/README.md +0 -0
  101. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/HMATRIX_ANALYSIS.md +0 -0
  102. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/HMATRIX_FIELD_EVALUATION_ISSUE.md +0 -0
  103. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/H_MATRIX_PARALLEL_OPTIMIZATION.md +0 -0
  104. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/NGBEM_ANALYSIS.md +0 -0
  105. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/NGSOLVE_SET_VS_INTERPOLATE.md +0 -0
  106. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/PROPOSAL_VECTORIZED_API.md +0 -0
  107. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/README.md +0 -0
  108. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/SET_VS_INTERPOLATE_SIMPLE.md +0 -0
  109. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/SOLVER_OPTIMIZATION_PROPOSAL.md +0 -0
  110. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/benchmark_gridfunction_set.py +0 -0
  111. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/debug_field_values.py +0 -0
  112. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/radia_field.pvsm +0 -0
  113. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/test_batch_evaluation.py +0 -0
  114. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/test_batch_fld.py +0 -0
  115. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/test_coordinate_transform.py +0 -0
  116. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/test_mesh_convergence.py +0 -0
  117. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/test_set_vs_interpolate.py +0 -0
  118. {radia-1.0.10 → radia-1.1.0}/examples/NGSolve_Integration/verify_curl_A_equals_B.py +0 -0
  119. {radia-1.0.10/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/sphere_nastran_field_mu.pvsm +0 -0
  120. {radia-1.0.10/examples/NGSolve_Integration/rad.ObjBckgCF → radia-1.1.0/examples/background_fields}/sphere_nastran_geometry.vtk +0 -0
  121. {radia-1.0.10 → radia-1.1.0}/examples/complex_coil_geometry/coil_geometry.vtk +0 -0
  122. {radia-1.0.10 → radia-1.1.0}/examples/complex_coil_geometry/complex_coil.pvsm +0 -0
  123. {radia-1.0.10 → radia-1.1.0}/examples/complex_coil_geometry/field_map.vtk +0 -0
  124. {radia-1.0.10 → radia-1.1.0}/examples/complex_coil_geometry/visualize_coils.py +0 -0
  125. {radia-1.0.10 → radia-1.1.0}/examples/electromagnet/README.md +0 -0
  126. {radia-1.0.10 → radia-1.1.0}/examples/electromagnet/electromagnet.pvsm +0 -0
  127. {radia-1.0.10 → radia-1.1.0}/examples/electromagnet/electromagnet.vtk +0 -0
  128. {radia-1.0.10 → radia-1.1.0}/examples/electromagnet/field_distribution.vtk +0 -0
  129. {radia-1.0.10 → radia-1.1.0}/examples/electromagnet/magnet.py +0 -0
  130. {radia-1.0.10 → radia-1.1.0}/examples/smco_magnet_array/README.md +0 -0
  131. {radia-1.0.10 → radia-1.1.0}/examples/smco_magnet_array/smbo.pvsm +0 -0
  132. {radia-1.0.10 → radia-1.1.0}/examples/smco_magnet_array/smco_array.vtk +0 -0
  133. {radia-1.0.10 → radia-1.1.0}/examples/smco_magnet_array/smco_field_distribution.vtk +0 -0
  134. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/HMATRIX_FIELD_DESIGN_SIMPLIFIED.md +0 -0
  135. {radia-1.0.10 → radia-1.1.0}/examples/solver_benchmarks/benchmark_hmatrix_field.py +0 -0
  136. {radia-1.0.10/examples/solver_time_evaluation → radia-1.1.0/examples/solver_benchmarks}/benchmark_matrix_construction.py +0 -0
  137. {radia-1.0.10/examples/solver_time_evaluation → radia-1.1.0/examples/solver_benchmarks}/benchmark_solver_scaling.py +0 -0
  138. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/plot_benchmark_results.py +0 -0
  139. {radia-1.0.10/examples/H-matrix → radia-1.1.0/examples/solver_benchmarks}/run_all_benchmarks.py +0 -0
  140. {radia-1.0.10 → radia-1.1.0}/setup.cfg +0 -0
  141. {radia-1.0.10 → radia-1.1.0}/src/python/nastran_reader.py +0 -0
  142. {radia-1.0.10 → radia-1.1.0}/src/python/radia.pyd +0 -0
  143. {radia-1.0.10 → radia-1.1.0}/src/python/radia_coil_builder.py +0 -0
  144. {radia-1.0.10 → radia-1.1.0}/src/python/radia_ngsolve_field.py +0 -0
  145. {radia-1.0.10 → radia-1.1.0}/src/python/radia_pyvista_viewer.py +0 -0
  146. {radia-1.0.10 → radia-1.1.0}/src/python/radia_vtk_export.py +0 -0
  147. {radia-1.0.10 → radia-1.1.0}/src/radia.egg-info/dependency_links.txt +0 -0
  148. {radia-1.0.10 → radia-1.1.0}/src/radia.egg-info/not-zip-safe +0 -0
  149. {radia-1.0.10 → radia-1.1.0}/src/radia.egg-info/requires.txt +0 -0
  150. {radia-1.0.10 → radia-1.1.0}/src/radia.egg-info/top_level.txt +0 -0
  151. {radia-1.0.10 → radia-1.1.0}/tests/README.md +0 -0
  152. {radia-1.0.10 → radia-1.1.0}/tests/__init__.py +0 -0
  153. {radia-1.0.10 → radia-1.1.0}/tests/benchmark_hmatrix.py +0 -0
  154. {radia-1.0.10 → radia-1.1.0}/tests/benchmarks/benchmark_correct.py +0 -0
  155. {radia-1.0.10 → radia-1.1.0}/tests/benchmarks/benchmark_heavy.py +0 -0
  156. {radia-1.0.10 → radia-1.1.0}/tests/benchmarks/benchmark_openmp.py +0 -0
  157. {radia-1.0.10 → radia-1.1.0}/tests/benchmarks/benchmark_threads.py +0 -0
  158. {radia-1.0.10 → radia-1.1.0}/tests/conftest.py +0 -0
  159. {radia-1.0.10 → radia-1.1.0}/tests/test_advanced.py +0 -0
  160. {radia-1.0.10 → radia-1.1.0}/tests/test_parallel_performance.py +0 -0
  161. {radia-1.0.10 → radia-1.1.0}/tests/test_radhmat.py +0 -0
  162. {radia-1.0.10 → radia-1.1.0}/tests/test_radia.py +0 -0
  163. {radia-1.0.10 → radia-1.1.0}/tests/test_simple.py +0 -0
  164. {radia-1.0.10 → radia-1.1.0}/tests/test_square_coil_analytical.py +0 -0
  165. {radia-1.0.10 → radia-1.1.0}/tests/test_transformations.py +0 -0
  166. {radia-1.0.10 → radia-1.1.0}/tests/test_utils.py +0 -0
  167. {radia-1.0.10 → 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.10
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: LGPL-2.1
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.MatLin([0.06, 0.17], [0,0,1.2])) # NdFeB
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
- sys.path.insert(0, 'S:/radia/01_GitHub/src/python')
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
- sys.path.insert(0, 'S:/radia/01_GitHub/src/python')
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 is licensed under **LGPL-2.1** (to match NGSolve licensing).
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
- The original RADIA code is licensed under a **BSD-style license** by the European Synchrotron Radiation Facility (ESRF), Copyright © 1997-2018.
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 included in the `LICENSE` file. The BSD-style license is compatible with and subsumed by the LGPL-2.1 license used for this derivative work.
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 (LGPL-2.1 + Original RADIA BSD-style)
322
- - `COPYRIGHT.txt` - Original RADIA copyright notice
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.MatLin([0.06, 0.17], [0,0,1.2])) # NdFeB
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
- sys.path.insert(0, 'S:/radia/01_GitHub/src/python')
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
- sys.path.insert(0, 'S:/radia/01_GitHub/src/python')
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 is licensed under **LGPL-2.1** (to match NGSolve licensing).
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
- The original RADIA code is licensed under a **BSD-style license** by the European Synchrotron Radiation Facility (ESRF), Copyright © 1997-2018.
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 included in the `LICENSE` file. The BSD-style license is compatible with and subsumed by the LGPL-2.1 license used for this derivative work.
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 (LGPL-2.1 + Original RADIA BSD-style)
282
- - `COPYRIGHT.txt` - Original RADIA copyright notice
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