radia 1.3.7__tar.gz → 1.3.8__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 (196) hide show
  1. {radia-1.3.7/src/radia.egg-info → radia-1.3.8}/PKG-INFO +1 -1
  2. {radia-1.3.7 → radia-1.3.8}/pyproject.toml +1 -1
  3. {radia-1.3.7 → radia-1.3.8}/setup.py +6 -3
  4. radia-1.3.8/src/radia/__init__.py +18 -0
  5. {radia-1.3.7 → radia-1.3.8/src/radia.egg-info}/PKG-INFO +1 -1
  6. {radia-1.3.7 → radia-1.3.8}/src/radia.egg-info/SOURCES.txt +12 -12
  7. radia-1.3.8/src/radia.egg-info/top_level.txt +1 -0
  8. radia-1.3.7/src/python/__init__.py +0 -2
  9. radia-1.3.7/src/radia.egg-info/top_level.txt +0 -1
  10. {radia-1.3.7 → radia-1.3.8}/COPYRIGHT.txt +0 -0
  11. {radia-1.3.7 → radia-1.3.8}/LICENSE +0 -0
  12. {radia-1.3.7 → radia-1.3.8}/MANIFEST.in +0 -0
  13. {radia-1.3.7 → radia-1.3.8}/README.md +0 -0
  14. {radia-1.3.7 → radia-1.3.8}/docs/API_EXTENSIONS.md +0 -0
  15. {radia-1.3.7 → radia-1.3.8}/docs/API_REFERENCE.md +0 -0
  16. {radia-1.3.7 → radia-1.3.8}/docs/CF_BACKGROUND_FIELD_IMPLEMENTATION.md +0 -0
  17. {radia-1.3.7 → radia-1.3.8}/docs/HMATRIX_BENCHMARKS_RESULTS.md +0 -0
  18. {radia-1.3.7 → radia-1.3.8}/docs/HMATRIX_ENHANCEMENT_PROPOSAL_2025.md +0 -0
  19. {radia-1.3.7 → radia-1.3.8}/docs/HMATRIX_IMPLEMENTATION_HISTORY.md +0 -0
  20. {radia-1.3.7 → radia-1.3.8}/docs/HMATRIX_SERIALIZATION.md +0 -0
  21. {radia-1.3.7 → radia-1.3.8}/docs/HMATRIX_USER_GUIDE.md +0 -0
  22. {radia-1.3.7 → radia-1.3.8}/docs/MATERIAL_API_IMPLEMENTATION.md +0 -0
  23. {radia-1.3.7 → radia-1.3.8}/docs/ML_PARAMETER_TUNING.md +0 -0
  24. {radia-1.3.7 → radia-1.3.8}/docs/NGSOLVE_CF_BACKGROUND_FIELD_DESIGN.md +0 -0
  25. {radia-1.3.7 → radia-1.3.8}/docs/NGSOLVE_INTEGRATION.md +0 -0
  26. {radia-1.3.7 → radia-1.3.8}/docs/NGSOLVE_USAGE_GUIDE.md +0 -0
  27. {radia-1.3.7 → radia-1.3.8}/docs/README.md +0 -0
  28. {radia-1.3.7 → radia-1.3.8}/docs/SOLVER_METHODS.md +0 -0
  29. {radia-1.3.7 → radia-1.3.8}/docs/scripts/README.md +0 -0
  30. {radia-1.3.7 → radia-1.3.8}/examples/README.md +0 -0
  31. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/README.md +0 -0
  32. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/cubit_to_nastran.py +0 -0
  33. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/permeability_comparison.py +0 -0
  34. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/quadrupole_analytical.py +0 -0
  35. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/quadrupole_analytical.vtk.vtk +0 -0
  36. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/sphere_in_quadrupole.py +0 -0
  37. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/sphere_nastran_analysis.py +0 -0
  38. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/sphere_nastran_field_mu.pvsm +0 -0
  39. {radia-1.3.7 → radia-1.3.8}/examples/background_fields/sphere_nastran_geometry.vtk +0 -0
  40. {radia-1.3.7 → radia-1.3.8}/examples/complex_coil_geometry/README.md +0 -0
  41. {radia-1.3.7 → radia-1.3.8}/examples/complex_coil_geometry/coil_geometry.vtk +0 -0
  42. {radia-1.3.7 → radia-1.3.8}/examples/complex_coil_geometry/coil_model.py +0 -0
  43. {radia-1.3.7 → radia-1.3.8}/examples/complex_coil_geometry/complex_coil.pvsm +0 -0
  44. {radia-1.3.7 → radia-1.3.8}/examples/complex_coil_geometry/field_map.py +0 -0
  45. {radia-1.3.7 → radia-1.3.8}/examples/complex_coil_geometry/field_map.vtk +0 -0
  46. {radia-1.3.7 → radia-1.3.8}/examples/complex_coil_geometry/visualize_coils.py +0 -0
  47. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/README.md +0 -0
  48. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/README.md +0 -0
  49. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/README_CUBE_BENCHMARK.md +0 -0
  50. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/benchmark_external_field.py +0 -0
  51. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/benchmark_high_mu.py +0 -0
  52. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/benchmark_mesh_convergence.py +0 -0
  53. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/benchmark_solver_methods.py +0 -0
  54. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/benchmark_tetra_vs_hex.py +0 -0
  55. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/benchmark_tetra_vs_ngsolve.py +0 -0
  56. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/compare_external_field.py +0 -0
  57. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/cube_benchmark_external_field.py +0 -0
  58. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/cube_benchmark_radia.vtk +0 -0
  59. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/evaluate_perturbation_field.py +0 -0
  60. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/precision_evaluation.py +0 -0
  61. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/test_method9_fine_mesh.py +0 -0
  62. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/linear/test_method9_high_mu.py +0 -0
  63. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/nonlinear/README.md +0 -0
  64. {radia-1.3.7 → radia-1.3.8}/examples/cube_uniform_field/nonlinear/benchmark_nonlinear_tetra_vs_hex.py +0 -0
  65. {radia-1.3.7 → radia-1.3.8}/examples/electromagnet/README.md +0 -0
  66. {radia-1.3.7 → radia-1.3.8}/examples/electromagnet/Radia_model.vtk +0 -0
  67. {radia-1.3.7 → radia-1.3.8}/examples/electromagnet/York.vtk +0 -0
  68. {radia-1.3.7 → radia-1.3.8}/examples/electromagnet/field_distribution.vtk +0 -0
  69. {radia-1.3.7 → radia-1.3.8}/examples/electromagnet/main_simulation_workflow.py +0 -0
  70. {radia-1.3.7 → radia-1.3.8}/examples/electromagnet/visualize_paraview.py +0 -0
  71. {radia-1.3.7 → radia-1.3.8}/examples/electromagnet/york_cubit_mesh.py +0 -0
  72. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/README.md +0 -0
  73. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/benchmark_gridfunction_set.py +0 -0
  74. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/demo_batch_evaluation.py +0 -0
  75. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/demo_field_types.py +0 -0
  76. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/RADIA_TETRA_ROOT_CAUSE.md +0 -0
  77. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/README.md +0 -0
  78. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/compare_radia_ngsolve_cube.py +0 -0
  79. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/cube_hex.vtk +0 -0
  80. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/demo_tetrahedral_methods_comparison.py +0 -0
  81. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/ngsolve_cube_graded_mesh.vtk +0 -0
  82. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/ngsolve_cube_uniform_field.py +0 -0
  83. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/ngsolve_tet_mesh.vtk +0 -0
  84. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/mesh_magnetization_import/sphere_domain_graded_mesh.vtk +0 -0
  85. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/test_batch_evaluation.py +0 -0
  86. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/verify_curl_A_equals_B.py +0 -0
  87. {radia-1.3.7 → radia-1.3.8}/examples/ngsolve_integration/visualize_field.py +0 -0
  88. {radia-1.3.7 → radia-1.3.8}/examples/simple_problems/CONVERSION_NOTES.md +0 -0
  89. {radia-1.3.7 → radia-1.3.8}/examples/simple_problems/README.md +0 -0
  90. {radia-1.3.7 → radia-1.3.8}/examples/simple_problems/arc_current_dual_magnets.py +0 -0
  91. {radia-1.3.7 → radia-1.3.8}/examples/simple_problems/arc_current_with_magnet.py +0 -0
  92. {radia-1.3.7 → radia-1.3.8}/examples/simple_problems/chamfered_pole_piece.py +0 -0
  93. {radia-1.3.7 → radia-1.3.8}/examples/simple_problems/compare_magpylib.py +0 -0
  94. {radia-1.3.7 → radia-1.3.8}/examples/simple_problems/cubic_polyhedron_magnet.py +0 -0
  95. {radia-1.3.7 → radia-1.3.8}/examples/smco_magnet_array/README.md +0 -0
  96. {radia-1.3.7 → radia-1.3.8}/examples/smco_magnet_array/smbo.pvsm +0 -0
  97. {radia-1.3.7 → radia-1.3.8}/examples/smco_magnet_array/smco_array.py +0 -0
  98. {radia-1.3.7 → radia-1.3.8}/examples/smco_magnet_array/smco_array.vtk +0 -0
  99. {radia-1.3.7 → radia-1.3.8}/examples/smco_magnet_array/smco_field_distribution.vtk +0 -0
  100. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/BENCHMARK_RESULTS.md +0 -0
  101. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/HMATRIX_FIELD_DESIGN.md +0 -0
  102. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/HMATRIX_FIELD_DESIGN_SIMPLIFIED.md +0 -0
  103. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/PHASE2B_REEVALUATION.md +0 -0
  104. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/README.md +0 -0
  105. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/SCALING_RESULTS.md +0 -0
  106. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_field_evaluation.py +0 -0
  107. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_large_scale_comparison.py +0 -0
  108. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_linear_material.py +0 -0
  109. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_lu_vs_hmatrix.py +0 -0
  110. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_matrix_construction.py +0 -0
  111. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_parallel_construction.py +0 -0
  112. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_solver.py +0 -0
  113. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_solver_comparison.py +0 -0
  114. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_solver_methods.py +0 -0
  115. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_solver_scaling.py +0 -0
  116. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/benchmark_solver_scaling_extended.py +0 -0
  117. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/plot_benchmark_results.py +0 -0
  118. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/run_all_benchmarks.py +0 -0
  119. {radia-1.3.7 → radia-1.3.8}/examples/solver_benchmarks/verify_field_accuracy.py +0 -0
  120. {radia-1.3.7 → radia-1.3.8}/setup.cfg +0 -0
  121. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/nastran_mesh_import.py +0 -0
  122. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/netgen_mesh_import.py +0 -0
  123. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/rad_ngsolve_fast.py +0 -0
  124. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia.pyd +0 -0
  125. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia_coil_builder.py +0 -0
  126. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia_field_cached.py +0 -0
  127. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia_ngsolve.pyd +0 -0
  128. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia_ngsolve_field.py +0 -0
  129. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia_ngsolve_utils.py +0 -0
  130. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia_pyvista_viewer.py +0 -0
  131. {radia-1.3.7/src/python → radia-1.3.8/src/radia}/radia_vtk_export.py +0 -0
  132. {radia-1.3.7 → radia-1.3.8}/src/radia.egg-info/dependency_links.txt +0 -0
  133. {radia-1.3.7 → radia-1.3.8}/src/radia.egg-info/not-zip-safe +0 -0
  134. {radia-1.3.7 → radia-1.3.8}/src/radia.egg-info/requires.txt +0 -0
  135. {radia-1.3.7 → radia-1.3.8}/tests/README.md +0 -0
  136. {radia-1.3.7 → radia-1.3.8}/tests/__init__.py +0 -0
  137. {radia-1.3.7 → radia-1.3.8}/tests/benchmarks/benchmark_correct.py +0 -0
  138. {radia-1.3.7 → radia-1.3.8}/tests/benchmarks/benchmark_heavy.py +0 -0
  139. {radia-1.3.7 → radia-1.3.8}/tests/benchmarks/benchmark_openmp.py +0 -0
  140. {radia-1.3.7 → radia-1.3.8}/tests/benchmarks/benchmark_threads.py +0 -0
  141. {radia-1.3.7 → radia-1.3.8}/tests/conftest.py +0 -0
  142. {radia-1.3.7 → radia-1.3.8}/tests/profile_batch_performance.py +0 -0
  143. {radia-1.3.7 → radia-1.3.8}/tests/test_advanced.py +0 -0
  144. {radia-1.3.7 → radia-1.3.8}/tests/test_all_spaces.py +0 -0
  145. {radia-1.3.7 → radia-1.3.8}/tests/test_background_field_debug.py +0 -0
  146. {radia-1.3.7 → radia-1.3.8}/tests/test_batch_evaluation.py +0 -0
  147. {radia-1.3.7 → radia-1.3.8}/tests/test_cf_direct.py +0 -0
  148. {radia-1.3.7 → radia-1.3.8}/tests/test_convergence_hdiv.py +0 -0
  149. {radia-1.3.7 → radia-1.3.8}/tests/test_curlA_equals_B.py +0 -0
  150. {radia-1.3.7 → radia-1.3.8}/tests/test_curl_A_detailed.py +0 -0
  151. {radia-1.3.7 → radia-1.3.8}/tests/test_far_field_accuracy.py +0 -0
  152. {radia-1.3.7 → radia-1.3.8}/tests/test_fast_preparecache.py +0 -0
  153. {radia-1.3.7 → radia-1.3.8}/tests/test_fast_simple.py +0 -0
  154. {radia-1.3.7 → radia-1.3.8}/tests/test_group_operations.py +0 -0
  155. {radia-1.3.7 → radia-1.3.8}/tests/test_hcurl_vs_hdiv.py +0 -0
  156. {radia-1.3.7 → radia-1.3.8}/tests/test_l2_norm_debug.py +0 -0
  157. {radia-1.3.7 → radia-1.3.8}/tests/test_magpylib_comparison.py +0 -0
  158. {radia-1.3.7 → radia-1.3.8}/tests/test_materials.py +0 -0
  159. {radia-1.3.7 → radia-1.3.8}/tests/test_memory_allocation_tracking.py +0 -0
  160. {radia-1.3.7 → radia-1.3.8}/tests/test_minimal_cached.py +0 -0
  161. {radia-1.3.7 → radia-1.3.8}/tests/test_moving_magnet_memory.py +0 -0
  162. {radia-1.3.7 → radia-1.3.8}/tests/test_moving_magnet_memory_diagnosis.py +0 -0
  163. {radia-1.3.7 → radia-1.3.8}/tests/test_new_material_api.py +0 -0
  164. {radia-1.3.7 → radia-1.3.8}/tests/test_objbckg_simple.py +0 -0
  165. {radia-1.3.7 → radia-1.3.8}/tests/test_objbckgcf_alone.py +0 -0
  166. {radia-1.3.7 → radia-1.3.8}/tests/test_order1.py +0 -0
  167. {radia-1.3.7 → radia-1.3.8}/tests/test_parallel_performance.py +0 -0
  168. {radia-1.3.7 → radia-1.3.8}/tests/test_preparecache_performance.py +0 -0
  169. {radia-1.3.7 → radia-1.3.8}/tests/test_process_memory.py +0 -0
  170. {radia-1.3.7 → radia-1.3.8}/tests/test_python_cached_field.py +0 -0
  171. {radia-1.3.7 → radia-1.3.8}/tests/test_python_cached_simple.py +0 -0
  172. {radia-1.3.7 → radia-1.3.8}/tests/test_rad_ngsolve.py +0 -0
  173. {radia-1.3.7 → radia-1.3.8}/tests/test_rad_ngsolve_diagnostic.py +0 -0
  174. {radia-1.3.7 → radia-1.3.8}/tests/test_rad_ngsolve_function.py +0 -0
  175. {radia-1.3.7 → radia-1.3.8}/tests/test_radhmat.py +0 -0
  176. {radia-1.3.7 → radia-1.3.8}/tests/test_radia.py +0 -0
  177. {radia-1.3.7 → radia-1.3.8}/tests/test_radia_core_memory.py +0 -0
  178. {radia-1.3.7 → radia-1.3.8}/tests/test_radia_field_computation_memory.py +0 -0
  179. {radia-1.3.7 → radia-1.3.8}/tests/test_radia_ngsolve_longrun.py +0 -0
  180. {radia-1.3.7 → radia-1.3.8}/tests/test_radia_ngsolve_memory_leak.py +0 -0
  181. {radia-1.3.7 → radia-1.3.8}/tests/test_radia_ngsolve_with_cache.py +0 -0
  182. {radia-1.3.7 → radia-1.3.8}/tests/test_radia_only_memory.py +0 -0
  183. {radia-1.3.7 → radia-1.3.8}/tests/test_serialization.py +0 -0
  184. {radia-1.3.7 → radia-1.3.8}/tests/test_set_vs_interpolate.py +0 -0
  185. {radia-1.3.7 → radia-1.3.8}/tests/test_simple.py +0 -0
  186. {radia-1.3.7 → radia-1.3.8}/tests/test_simple_fld_leak.py +0 -0
  187. {radia-1.3.7 → radia-1.3.8}/tests/test_square_coil_analytical.py +0 -0
  188. {radia-1.3.7 → radia-1.3.8}/tests/test_tetrahedral_solver.py +0 -0
  189. {radia-1.3.7 → radia-1.3.8}/tests/test_transformations.py +0 -0
  190. {radia-1.3.7 → radia-1.3.8}/tests/test_type_cast.py +0 -0
  191. {radia-1.3.7 → radia-1.3.8}/tests/test_unit_conversion_verify.py +0 -0
  192. {radia-1.3.7 → radia-1.3.8}/tests/test_utils.py +0 -0
  193. {radia-1.3.7 → radia-1.3.8}/tests/test_vector_potential.py +0 -0
  194. {radia-1.3.7 → radia-1.3.8}/tests/test_without_B_projection.py +0 -0
  195. {radia-1.3.7 → radia-1.3.8}/tests/test_without_gridfunction.py +0 -0
  196. {radia-1.3.7 → radia-1.3.8}/tests/verify_curl_A_equals_B.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radia
3
- Version: 1.3.7
3
+ Version: 1.3.8
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "radia"
7
- version = "1.3.7"
7
+ version = "1.3.8"
8
8
  description = "Radia 3D Magnetostatics with NGSolve Integration and OpenMP Parallelization"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -16,7 +16,7 @@ import shutil
16
16
  import sys
17
17
 
18
18
  # Read version from pyproject.toml
19
- version = "1.3.6"
19
+ version = "1.3.8"
20
20
 
21
21
  # Read the README file
22
22
  readme_file = Path(__file__).parent / "README.md"
@@ -25,8 +25,11 @@ long_description = readme_file.read_text(encoding="utf-8") if readme_file.exists
25
25
  def prepare_package_data():
26
26
  """
27
27
  Prepare package data by copying built extension modules to the package directory
28
+
29
+ Note: Package directory is now src/radia (not src/python) so that
30
+ 'import radia' works correctly after pip install.
28
31
  """
29
- package_dir = Path(__file__).parent / "src" / "python"
32
+ package_dir = Path(__file__).parent / "src" / "radia"
30
33
  package_dir.mkdir(parents=True, exist_ok=True)
31
34
 
32
35
  # Copy radia.pyd from build/Release/ if it exists
@@ -86,7 +89,7 @@ setup(
86
89
  packages=find_packages(where="src"),
87
90
  package_dir={"": "src"},
88
91
  package_data={
89
- "python": [
92
+ "radia": [
90
93
  "*.pyd", # Include all .pyd files (radia.pyd, radia_ngsolve.pyd)
91
94
  "*.py", # Include all Python utility modules
92
95
  ],
@@ -0,0 +1,18 @@
1
+ # Radia Python package
2
+ # This module re-exports all symbols from the C++ extension module (radia.pyd)
3
+ # so that 'import radia' works correctly when installed via pip
4
+
5
+ __version__ = "1.3.8"
6
+
7
+ # Import all symbols from the C++ extension module
8
+ try:
9
+ from radia.radia import *
10
+ except ImportError:
11
+ # Fallback for development: try importing from the same directory
12
+ try:
13
+ from .radia import *
14
+ except ImportError as e:
15
+ raise ImportError(
16
+ "Failed to import radia C++ extension module (radia.pyd). "
17
+ "Ensure the package was built correctly with Build.ps1 before installation."
18
+ ) from e
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: radia
3
- Version: 1.3.7
3
+ Version: 1.3.8
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
@@ -110,18 +110,18 @@ examples/solver_benchmarks/benchmark_solver_scaling_extended.py
110
110
  examples/solver_benchmarks/plot_benchmark_results.py
111
111
  examples/solver_benchmarks/run_all_benchmarks.py
112
112
  examples/solver_benchmarks/verify_field_accuracy.py
113
- src/python/__init__.py
114
- src/python/nastran_mesh_import.py
115
- src/python/netgen_mesh_import.py
116
- src/python/rad_ngsolve_fast.py
117
- src/python/radia.pyd
118
- src/python/radia_coil_builder.py
119
- src/python/radia_field_cached.py
120
- src/python/radia_ngsolve.pyd
121
- src/python/radia_ngsolve_field.py
122
- src/python/radia_ngsolve_utils.py
123
- src/python/radia_pyvista_viewer.py
124
- src/python/radia_vtk_export.py
113
+ src/radia/__init__.py
114
+ src/radia/nastran_mesh_import.py
115
+ src/radia/netgen_mesh_import.py
116
+ src/radia/rad_ngsolve_fast.py
117
+ src/radia/radia.pyd
118
+ src/radia/radia_coil_builder.py
119
+ src/radia/radia_field_cached.py
120
+ src/radia/radia_ngsolve.pyd
121
+ src/radia/radia_ngsolve_field.py
122
+ src/radia/radia_ngsolve_utils.py
123
+ src/radia/radia_pyvista_viewer.py
124
+ src/radia/radia_vtk_export.py
125
125
  src/radia.egg-info/PKG-INFO
126
126
  src/radia.egg-info/SOURCES.txt
127
127
  src/radia.egg-info/dependency_links.txt
@@ -0,0 +1 @@
1
+ radia
@@ -1,2 +0,0 @@
1
- # Radia Python package
2
- __version__ = "1.1.0"
@@ -1 +0,0 @@
1
- python
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes