struphy 2.4.4__tar.gz → 2.4.5__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 (346) hide show
  1. {struphy-2.4.4/src/struphy.egg-info → struphy-2.4.5}/PKG-INFO +15 -15
  2. {struphy-2.4.4 → struphy-2.4.5}/pyproject.toml +23 -22
  3. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/bsplines_kernels.py +9 -7
  4. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/evaluation_kernels_1d.py +13 -3
  5. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/evaluation_kernels_2d.py +34 -26
  6. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/shapefunc_kernels.py +4 -2
  7. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/tests/test_bsplines_kernels.py +6 -6
  8. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/compile_struphy.mk +7 -6
  9. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/compile.py +20 -15
  10. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/main.py +24 -6
  11. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/pproc.py +29 -21
  12. struphy-2.4.5/src/struphy/console/profile.py +223 -0
  13. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/run.py +8 -4
  14. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/tests/test_console.py +13 -8
  15. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/kernels_3d.py +1 -1
  16. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/kernels_projectors_global_mhd.py +6 -4
  17. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kernels_control_variate.py +33 -39
  18. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_kernels_control_variate.py +153 -298
  19. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_cv_kernel_2.py +16 -20
  20. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_kernels_control_variate.py +176 -322
  21. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_cvker.py +79 -163
  22. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_kernels_control_variate.py +261 -499
  23. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bb_kernel.py +140 -278
  24. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bv_kernel.py +227 -470
  25. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_vv_kernel.py +190 -377
  26. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local.py +123 -265
  27. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local_mhd.py +203 -425
  28. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_L2_projector_kernel.py +265 -540
  29. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_local_projector_kernel.py +300 -616
  30. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/basis_projection_ops.py +3 -3
  31. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/psydac_derham.py +6 -17
  32. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_l2_projectors.py +1 -1
  33. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/base.py +19 -0
  34. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/equils.py +156 -201
  35. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00000000.dat +37 -0
  36. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00001000.dat +37 -0
  37. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_01/parameter.ini +73 -0
  38. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000000.dat +634 -0
  39. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000100.dat +634 -0
  40. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_02/parameter-w7x.ini +138 -0
  41. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00000000.dat +64 -0
  42. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00003307.dat +64 -0
  43. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_03/Neo-spitzer-mirror23-well-opt-1-AR10-1.nc +0 -0
  44. struphy-2.4.5/src/struphy/fields_background/mhd_equil/gvec/run_03/parameter-fig8.ini +37 -0
  45. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/projected_equils.py +14 -0
  46. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/base.py +17 -12
  47. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/domains.py +20 -4
  48. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/transform_kernels.py +123 -125
  49. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/parameters.yml +3 -3
  50. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_02.yml +1 -1
  51. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_05a.yml +1 -1
  52. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_05b.yml +1 -1
  53. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_05c.yml +1 -1
  54. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_05d.yml +1 -1
  55. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_05e.yml +1 -1
  56. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_05f.yml +1 -1
  57. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_12a.yml +1 -1
  58. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_12b.yml +1 -1
  59. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/verification/IsothermalEulerSPH_soundwave.yml +2 -3
  60. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/verification/LinearVlasovAmpereOneSpecies_weakLandau.yml +1 -1
  61. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/verification/VlasovAmpereOneSpecies_weakLandau.yml +1 -1
  62. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/setup.py +4 -0
  63. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/kinetic_background/tests/test_maxwellians.py +33 -23
  64. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/linalg_kernels.py +50 -50
  65. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/schur_solver.py +122 -0
  66. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/main.py +21 -6
  67. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/base.py +43 -19
  68. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/fluid.py +664 -17
  69. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/util.py +9 -9
  70. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/base.py +248 -87
  71. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/pushing/eval_kernels_gc.py +4 -1
  72. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/pushing/pusher_args_kernels.py +11 -12
  73. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/pushing/pusher_kernels.py +246 -3
  74. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/pusher_pos.py +79 -110
  75. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_2d.py +62 -127
  76. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_3d.py +140 -291
  77. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_2d.py +105 -35
  78. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_3d.py +233 -253
  79. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_sph.py +3 -3
  80. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_tesselation.py +5 -5
  81. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/utilities_kernels.py +1 -1
  82. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/orbits/orbits_kernels.py +12 -14
  83. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/post_processing_tools.py +48 -38
  84. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/propagators_fields.py +980 -251
  85. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/propagators_markers.py +27 -34
  86. struphy-2.4.4/src/struphy/psydac-2.4.4.dev0-py3-none-any.whl → struphy-2.4.5/src/struphy/psydac-2.4.5.dev0-py3-none-any.whl +0 -0
  87. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/utils/clone_config.py +2 -2
  88. {struphy-2.4.4 → struphy-2.4.5/src/struphy.egg-info}/PKG-INFO +15 -15
  89. {struphy-2.4.4 → struphy-2.4.5}/src/struphy.egg-info/SOURCES.txt +11 -8
  90. {struphy-2.4.4 → struphy-2.4.5}/src/struphy.egg-info/requires.txt +14 -14
  91. struphy-2.4.4/src/struphy/console/profile.py +0 -217
  92. struphy-2.4.4/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E1D6_M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -364
  93. struphy-2.4.4/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E1D6_M6N6/parameter.ini +0 -135
  94. struphy-2.4.4/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E4D6_M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -367
  95. struphy-2.4.4/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E4D6_M6N6/parameter.ini +0 -136
  96. struphy-2.4.4/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/oldBC_E40D5M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -298
  97. struphy-2.4.4/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/oldBC_E40D5M6N6/parameter.ini +0 -135
  98. struphy-2.4.4/src/struphy/fields_background/tests/test_gvec_equil.py +0 -168
  99. {struphy-2.4.4 → struphy-2.4.5}/LICENSE +0 -0
  100. {struphy-2.4.4 → struphy-2.4.5}/README.md +0 -0
  101. {struphy-2.4.4 → struphy-2.4.5}/setup.cfg +0 -0
  102. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/__init__.py +0 -0
  103. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/__init__.py +0 -0
  104. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/bsplines.py +0 -0
  105. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/evaluation_kernels_3d.py +0 -0
  106. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/tests/__init__.py +0 -0
  107. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/bsplines/tests/test_eval_spline_mpi.py +0 -0
  108. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/conftest.py +0 -0
  109. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/__init__.py +0 -0
  110. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/format.py +0 -0
  111. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/likwid.py +0 -0
  112. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/params.py +0 -0
  113. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/parsers.py +0 -0
  114. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/test.py +0 -0
  115. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/console/units.py +0 -0
  116. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/dependencies.py +0 -0
  117. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/diagnostics/__init__.py +0 -0
  118. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/diagnostics/console_diagn.py +0 -0
  119. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/diagnostics/continuous_spectra.py +0 -0
  120. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/diagnostics/diagn_tools.py +0 -0
  121. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/diagnostics/paraview/__init__.py +0 -0
  122. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/diagnostics/paraview/mesh_creator.py +0 -0
  123. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/diagnostics/paraview/vtk_writer.py +0 -0
  124. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/dispersion_relations/__init__.py +0 -0
  125. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/dispersion_relations/analytic.py +0 -0
  126. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/dispersion_relations/base.py +0 -0
  127. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/dispersion_relations/utilities.py +0 -0
  128. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/__init__.py +0 -0
  129. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/derivatives.py +0 -0
  130. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/kernels_2d.py +0 -0
  131. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/kernels_projectors_global.py +0 -0
  132. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/MHD_eigenvalues_cylinder_1D.py +0 -0
  133. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/__init__.py +0 -0
  134. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/__init__.py +0 -0
  135. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/control_variate.py +0 -0
  136. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/__init__.py +0 -0
  137. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_control_variate.py +0 -0
  138. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_control_variate.py +0 -0
  139. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_control_variate.py +0 -0
  140. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/emw_operators.py +0 -0
  141. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/inner_products_1d.py +0 -0
  142. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/inner_products_2d.py +0 -0
  143. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/inner_products_3d.py +0 -0
  144. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/l2_error_1d.py +0 -0
  145. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/l2_error_2d.py +0 -0
  146. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/l2_error_3d.py +0 -0
  147. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/mass_matrices_3d_pre.py +0 -0
  148. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/massless_operators/__init__.py +0 -0
  149. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_arrays.py +0 -0
  150. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_massless_linear_operators.py +0 -0
  151. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/mhd_operators_MF.py +0 -0
  152. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/__init__.py +0 -0
  153. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/__init__.py +0 -0
  154. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/mhd_operators_3d_local.py +0 -0
  155. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/projectors_local.py +0 -0
  156. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/__init__.py +0 -0
  157. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_L2.py +0 -0
  158. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_local.py +0 -0
  159. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/mass_matrices_1d.py +0 -0
  160. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/mass_matrices_2d.py +0 -0
  161. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/mass_matrices_3d.py +0 -0
  162. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_main.py +0 -0
  163. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_pproc.py +0 -0
  164. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/mhd_operators.py +0 -0
  165. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/mhd_operators_core.py +0 -0
  166. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/projectors_global.py +0 -0
  167. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/spline_space.py +0 -0
  168. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/eigenvalue_solvers/tests/__init__.py +0 -0
  169. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/examples/_draw_parallel.py +0 -0
  170. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/__init__.py +0 -0
  171. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/banded_to_stencil_kernels.py +0 -0
  172. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/basis_projection_kernels.py +0 -0
  173. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/linear_operators.py +0 -0
  174. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/local_projectors_args_kernels.py +0 -0
  175. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/local_projectors_kernels.py +0 -0
  176. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/mass.py +0 -0
  177. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/mass_kernels.py +0 -0
  178. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/preconditioner.py +0 -0
  179. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/projectors.py +0 -0
  180. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/__init__.py +0 -0
  181. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_basis_ops.py +0 -0
  182. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_derham.py +0 -0
  183. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_eval_field.py +0 -0
  184. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_field_init.py +0 -0
  185. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_local_projectors.py +0 -0
  186. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_lowdim_nel_is_1.py +0 -0
  187. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_mass_matrices.py +0 -0
  188. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_toarray_struphy.py +0 -0
  189. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/test_tosparse_struphy.py +0 -0
  190. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/tests/xx_test_preconds.py +0 -0
  191. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/utilities.py +0 -0
  192. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/utilities_kernels.py +0 -0
  193. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/utilities_local_projectors.py +0 -0
  194. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/feec/variational_utilities.py +0 -0
  195. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/__init__.py +0 -0
  196. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/generic.py +0 -0
  197. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/__init__.py +0 -0
  198. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/eqdsk/__init__.py +0 -0
  199. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/eqdsk/data/AUGNLED_g031213.00830.high +0 -0
  200. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/eqdsk/data/__init__.py +0 -0
  201. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +0 -0
  202. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/gvec/__init__.py +0 -0
  203. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/gvec/output/__init__.py +0 -0
  204. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/gvec/output/vtk/__init__.py +0 -0
  205. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/mhd_equil/vmec/__init__.py +0 -0
  206. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/tests/__init__.py +0 -0
  207. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/tests/test_desc_equil.py +0 -0
  208. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/tests/test_generic_equils.py +0 -0
  209. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/tests/test_mhd_equils.py +0 -0
  210. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/fields_background/tests/test_numerical_mhd_equil.py +0 -0
  211. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/__init__.py +0 -0
  212. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/evaluation_kernels.py +0 -0
  213. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/map_coef/__init__.py +0 -0
  214. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/mappings_kernels.py +0 -0
  215. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/tests/__init__.py +0 -0
  216. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/tests/test_domain.py +0 -0
  217. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/utilities.py +0 -0
  218. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/geometry/utilities_kernels.py +0 -0
  219. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/initial/__init__.py +0 -0
  220. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/initial/eigenfunctions.py +0 -0
  221. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/initial/perturbations.py +0 -0
  222. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/initial/tests/__init__.py +0 -0
  223. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/initial/tests/test_init_perturbations.py +0 -0
  224. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/initial/utilities.py +0 -0
  225. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/__init__.py +0 -0
  226. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/batch/batch_cobra.sh +0 -0
  227. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/batch/p_016.sh +0 -0
  228. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/batch/p_032.sh +0 -0
  229. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/batch/p_064.sh +0 -0
  230. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/batch/p_128.sh +0 -0
  231. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/batch/p_256.sh +0 -0
  232. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/batch/p_512.sh +0 -0
  233. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/__init__.py +0 -0
  234. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/longer_examples/params_TAE_tokamak.yml +0 -0
  235. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovcc.yml +0 -0
  236. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovpc.yml +0 -0
  237. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/longer_examples/params_linearextendedmhd.yml +0 -0
  238. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_landau.yml +0 -0
  239. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_streaming_weibel.yml +0 -0
  240. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_weibel.yml +0 -0
  241. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_03.yml +0 -0
  242. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_04a.yml +0 -0
  243. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_04b.yml +0 -0
  244. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/tutorials/params_04c.yml +0 -0
  245. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/inp/verification/__init__.py +0 -0
  246. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/out/__init__.py +0 -0
  247. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/io/output_handling.py +0 -0
  248. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/kinetic_background/__init__.py +0 -0
  249. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/kinetic_background/base.py +0 -0
  250. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/kinetic_background/maxwellians.py +0 -0
  251. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/kinetic_background/moment_functions.py +0 -0
  252. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/kinetic_background/tests/__init__.py +0 -0
  253. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/kinetic_background/tests/test_base.py +0 -0
  254. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/__init__.py +0 -0
  255. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/linalg_kron.py +0 -0
  256. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/stencil_dot_kernels.py +0 -0
  257. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/stencil_transpose_kernels.py +0 -0
  258. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/tests/__init__.py +0 -0
  259. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/tests/test_stencil_dot_kernels.py +0 -0
  260. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/linear_algebra/tests/test_stencil_transpose_kernels.py +0 -0
  261. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/__init__.py +0 -0
  262. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/hybrid.py +0 -0
  263. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/kinetic.py +0 -0
  264. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/__init__.py +0 -0
  265. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/test_fluid_models.py +0 -0
  266. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/test_hybrid_models.py +0 -0
  267. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/test_kinetic_models.py +0 -0
  268. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/test_toy_models.py +0 -0
  269. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/test_xxpproc.py +0 -0
  270. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/tests/verification.py +0 -0
  271. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/models/toy.py +0 -0
  272. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/ode/__init__.py +0 -0
  273. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/ode/solvers.py +0 -0
  274. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/ode/tests/__init__.py +0 -0
  275. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/ode/tests/test_ode_feec.py +0 -0
  276. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/ode/utils.py +0 -0
  277. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/__init__.py +0 -0
  278. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/accumulation/__init__.py +0 -0
  279. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/accumulation/accum_kernels.py +0 -0
  280. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/accumulation/accum_kernels_gc.py +0 -0
  281. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/accumulation/filler_kernels.py +0 -0
  282. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/accumulation/filter_kernels.py +0 -0
  283. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/accumulation/particle_to_mat_kernels.py +0 -0
  284. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/accumulation/particles_to_grid.py +0 -0
  285. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/particles.py +0 -0
  286. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/pushing/__init__.py +0 -0
  287. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/pushing/pusher.py +0 -0
  288. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/pushing/pusher_kernels_gc.py +0 -0
  289. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/pushing/pusher_utilities_kernels.py +0 -0
  290. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/sampling_kernels.py +0 -0
  291. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/sobol_seq.py +0 -0
  292. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/sorting_kernels.py +0 -0
  293. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/sph_eval_kernels.py +0 -0
  294. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/sph_smoothing_kernels.py +0 -0
  295. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/__init__.py +0 -0
  296. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_accum_vec_H1.py +0 -0
  297. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_accumulation.py +0 -0
  298. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_binning.py +0 -0
  299. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_draw_parallel.py +0 -0
  300. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_mat_vec_filler.py +0 -0
  301. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/__init__.py +0 -0
  302. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/accumulation.py +0 -0
  303. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/accumulation_kernels_3d.py +0 -0
  304. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d.py +0 -0
  305. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d_fast.py +0 -0
  306. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pic_legacy_files/pusher.py +0 -0
  307. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_pushers.py +0 -0
  308. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/tests/test_sorting.py +0 -0
  309. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/pic/utilities.py +0 -0
  310. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/polar/__init__.py +0 -0
  311. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/polar/basic.py +0 -0
  312. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/polar/extraction_operators.py +0 -0
  313. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/polar/linear_operators.py +0 -0
  314. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/polar/tests/__init__.py +0 -0
  315. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/polar/tests/test_legacy_polar_splines.py +0 -0
  316. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/polar/tests/test_polar.py +0 -0
  317. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/__init__.py +0 -0
  318. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/cprofile_analyser.py +0 -0
  319. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/likwid/__init__.py +0 -0
  320. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/likwid/hardware_dicts.py +0 -0
  321. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/likwid/likwid_parser.py +0 -0
  322. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/likwid/maxplotlylib.py +0 -0
  323. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/likwid/plot_likwidproject.py +0 -0
  324. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/likwid/plot_time_traces.py +0 -0
  325. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/likwid/roofline_plotter.py +0 -0
  326. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/orbits/__init__.py +0 -0
  327. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/orbits/orbits_tools.py +0 -0
  328. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/pproc_struphy.py +0 -0
  329. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/profile_struphy.py +0 -0
  330. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/post_processing/tests/__init__.py +0 -0
  331. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/profiling/__init__.py +0 -0
  332. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/profiling/profiling.py +0 -0
  333. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/__init__.py +0 -0
  334. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/base.py +0 -0
  335. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/propagators_coupling.py +0 -0
  336. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/tests/__init__.py +0 -0
  337. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/tests/test_gyrokinetic_poisson.py +0 -0
  338. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/propagators/tests/test_poisson.py +0 -0
  339. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/tutorials/tests/test_tutorials.py +0 -0
  340. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/utils/__init__.py +0 -0
  341. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/utils/set_release_dependencies.py +0 -0
  342. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/utils/test_clone_config.py +0 -0
  343. {struphy-2.4.4 → struphy-2.4.5}/src/struphy/utils/utils.py +0 -0
  344. {struphy-2.4.4 → struphy-2.4.5}/src/struphy.egg-info/dependency_links.txt +0 -0
  345. {struphy-2.4.4 → struphy-2.4.5}/src/struphy.egg-info/entry_points.txt +0 -0
  346. {struphy-2.4.4 → struphy-2.4.5}/src/struphy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: struphy
3
- Version: 2.4.4
3
+ Version: 2.4.5
4
4
  Summary: Multi-model plasma physics package
5
5
  Author: Max Planck Institute for Plasma Physics
6
6
  Author-email: stefan.possanner@ipp.mpg.de, eric.sonnendruecker@ipp.mpg.de
@@ -30,29 +30,29 @@ Classifier: Programming Language :: Python :: 3
30
30
  Requires-Python: >=3.10
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
- Requires-Dist: numpy<=2.2.2
34
- Requires-Dist: pyccel<=1.12.1,>=1.11.1
35
- Requires-Dist: mpi4py<=4.0.3
36
- Requires-Dist: scipy<=1.15.2
33
+ Requires-Dist: numpy<=2.2.5
34
+ Requires-Dist: pyccel<=2.0.1,>=2.0
35
+ Requires-Dist: mpi4py<=4.1.0
36
+ Requires-Dist: scipy<=1.15.3
37
37
  Requires-Dist: h5py<=3.13.0
38
- Requires-Dist: matplotlib<=3.10.1
38
+ Requires-Dist: matplotlib<=3.10.3
39
39
  Requires-Dist: pyyaml<=6.0.2
40
- Requires-Dist: vtk<=9.4.2
40
+ Requires-Dist: vtk<=9.5.0
41
41
  Requires-Dist: tqdm<=4.67.1
42
42
  Requires-Dist: argcomplete<=3.6.2
43
- Requires-Dist: pytest<=8.3.5
43
+ Requires-Dist: pytest<=8.4.1
44
44
  Requires-Dist: pytest-mpi<=0.6
45
45
  Provides-Extra: phys
46
- Requires-Dist: gvec-to-python<=1.2.2; extra == "phys"
47
- Requires-Dist: desc-opt<=0.14.1; extra == "phys"
46
+ Requires-Dist: gvec<=1.1.0,>=1.1.0; extra == "phys"
47
+ Requires-Dist: desc-opt<=0.14.2; extra == "phys"
48
48
  Provides-Extra: dev
49
- Requires-Dist: notebook<=7.4.1; extra == "dev"
49
+ Requires-Dist: notebook<=7.4.3; extra == "dev"
50
50
  Requires-Dist: autopep8<=2.3.2; extra == "dev"
51
51
  Requires-Dist: isort<=6.0.1; extra == "dev"
52
- Requires-Dist: flake8<=7.2.0; extra == "dev"
53
- Requires-Dist: pylint<=3.3.6; extra == "dev"
54
- Requires-Dist: add-trailing-comma<=3.1.0; extra == "dev"
55
- Requires-Dist: ruff<=0.11.6,>=0.9.1; extra == "dev"
52
+ Requires-Dist: flake8<=7.3.0; extra == "dev"
53
+ Requires-Dist: pylint<=3.3.7; extra == "dev"
54
+ Requires-Dist: add-trailing-comma<=3.2.0; extra == "dev"
55
+ Requires-Dist: ruff<=0.12.1,>=0.9.1; extra == "dev"
56
56
  Requires-Dist: pre-commit<=4.2.0; extra == "dev"
57
57
  Requires-Dist: nbstripout<=0.8.1; extra == "dev"
58
58
  Requires-Dist: tabulate<=0.9.0; extra == "dev"
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "struphy"
9
- version = "2.4.4"
9
+ version = "2.4.5"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"
12
12
  authors = [
@@ -22,17 +22,17 @@ classifiers = [
22
22
  "Programming Language :: Python :: 3",
23
23
  ]
24
24
  dependencies = [
25
- "numpy<=2.2.2",
26
- "pyccel<=1.12.1, >=1.11.1",
27
- "mpi4py<=4.0.3",
28
- "scipy<=1.15.2",
25
+ "numpy<=2.2.5",
26
+ "pyccel<=2.0.1, >=2.0",
27
+ "mpi4py<=4.1.0",
28
+ "scipy<=1.15.3",
29
29
  "h5py<=3.13.0",
30
- "matplotlib<=3.10.1",
30
+ "matplotlib<=3.10.3",
31
31
  "pyyaml<=6.0.2",
32
- "vtk<=9.4.2",
32
+ "vtk<=9.5.0",
33
33
  "tqdm<=4.67.1",
34
34
  "argcomplete<=3.6.2",
35
- "pytest<=8.3.5",
35
+ "pytest<=8.4.1",
36
36
  "pytest-mpi<=0.6",
37
37
  ]
38
38
 
@@ -41,17 +41,17 @@ file = "LICENSE"
41
41
 
42
42
  [project.optional-dependencies]
43
43
  phys = [
44
- "gvec-to-python<=1.2.2",
45
- "desc-opt<=0.14.1",
44
+ "gvec<=1.1.0, >=1.1.0",
45
+ "desc-opt<=0.14.2",
46
46
  ]
47
47
  dev = [
48
- "notebook<=7.4.1",
48
+ "notebook<=7.4.3",
49
49
  "autopep8<=2.3.2",
50
50
  "isort<=6.0.1",
51
- "flake8<=7.2.0",
52
- "pylint<=3.3.6",
53
- "add-trailing-comma<=3.1.0",
54
- "ruff<=0.11.6, >=0.9.1",
51
+ "flake8<=7.3.0",
52
+ "pylint<=3.3.7",
53
+ "add-trailing-comma<=3.2.0",
54
+ "ruff<=0.12.1, >=0.9.1",
55
55
  "pre-commit<=4.2.0",
56
56
  "nbstripout<=0.8.1",
57
57
  "tabulate<=0.9.0",
@@ -100,12 +100,13 @@ kinetic-diagnostics = "struphy.diagnostics.console_diagn:main"
100
100
  "data/*.high",
101
101
  ]
102
102
  "struphy.fields_background.mhd_equil.gvec" = [
103
- "ellipstell_v2/newBC_E1D6_M6N6/*.dat",
104
- "ellipstell_v2/newBC_E1D6_M6N6/*.ini",
105
- "ellipstell_v2/newBC_E4D6_M6N6/*.dat",
106
- "ellipstell_v2/newBC_E4D6_M6N6/*.ini",
107
- "ellipstell_v2/oldBC_E40D5M6N6/*.dat",
108
- "ellipstell_v2/oldBC_E40D5M6N6/*.ini",
103
+ "run_01/*.dat",
104
+ "run_01/*.ini",
105
+ "run_02/*.dat",
106
+ "run_02/*.ini",
107
+ "run_03/*.dat",
108
+ "run_03/*.ini",
109
+ "run_03/*.nc",
109
110
  ]
110
111
  "struphy.io" = [
111
112
  "batch/*.sh",
@@ -119,7 +120,7 @@ kinetic-diagnostics = "struphy.diagnostics.console_diagn:main"
119
120
  ]
120
121
  struphy = [
121
122
  "compile_struphy.mk",
122
- "psydac-2.4.4.dev0-py3-none-any.whl",
123
+ "psydac-2.4.5.dev0-py3-none-any.whl",
123
124
  ]
124
125
 
125
126
  [tool.autopep8]
@@ -4,12 +4,14 @@
4
4
  Basic functions for point-wise B-spline evaluation
5
5
  """
6
6
 
7
+ from typing import Final
8
+
7
9
  from numpy import empty, zeros
8
10
  from pyccel.decorators import pure, stack_array
9
11
 
10
12
 
11
13
  @pure
12
- def scaling(t_d: "float[:]", p_d: "int", span_d: "int", values: "float[:]"):
14
+ def scaling(t_d: "Final[float[:]]", p_d: "int", span_d: "int", values: "float[:]"):
13
15
  """
14
16
  Scaling coefficients for M-splines.
15
17
 
@@ -34,7 +36,7 @@ def scaling(t_d: "float[:]", p_d: "int", span_d: "int", values: "float[:]"):
34
36
 
35
37
 
36
38
  @pure
37
- def find_span(t: "float[:]", p: "int", eta: "float") -> "int":
39
+ def find_span(t: "Final[float[:]]", p: "int", eta: "float") -> "int":
38
40
  """
39
41
  Computes the knot span index i for which the B-splines i-p until i are non-vanishing at point eta.
40
42
 
@@ -81,7 +83,7 @@ def find_span(t: "float[:]", p: "int", eta: "float") -> "int":
81
83
 
82
84
  @pure
83
85
  def basis_funs(
84
- t: "float[:]", p: "int", eta: "float", span: "int", left: "float[:]", right: "float[:]", values: "float[:]"
86
+ t: "Final[float[:]]", p: "int", eta: "float", span: "int", left: "float[:]", right: "float[:]", values: "float[:]"
85
87
  ):
86
88
  """
87
89
  Parameters
@@ -185,7 +187,7 @@ def basis_funs_all(
185
187
 
186
188
  @pure
187
189
  def basis_funs_all_ders(
188
- knots: "float[:]",
190
+ knots: "Final[float[:]]",
189
191
  degree: int,
190
192
  eta: float,
191
193
  span: int,
@@ -593,7 +595,7 @@ def basis_funs_and_der(
593
595
  @pure
594
596
  @stack_array("values_b")
595
597
  def basis_funs_1st_der(
596
- t: "float[:]", p: "int", eta: "float", span: "int", left: "float[:]", right: "float[:]", values: "float[:]"
598
+ t: "Final[float[:]]", p: "int", eta: "float", span: "int", left: "float[:]", right: "float[:]", values: "float[:]"
597
599
  ):
598
600
  """
599
601
  Parameters
@@ -778,7 +780,7 @@ def piecewise_der(p: "int", delta: "float", eta: "float") -> "float":
778
780
 
779
781
  @pure
780
782
  @stack_array("values_stored", "values_temp", "w")
781
- def convolution(p: "int", grids: "float[:]", eta: "float") -> "float":
783
+ def convolution(p: "int", grids: "Final[float[:]]", eta: "float") -> "float":
782
784
  r"""
783
785
  evaluate a hat function (B-spline) at eta, i.e.
784
786
 
@@ -831,7 +833,7 @@ def convolution(p: "int", grids: "float[:]", eta: "float") -> "float":
831
833
 
832
834
  @pure
833
835
  @stack_array("values_stored", "values_temp", "w")
834
- def convolution_der(p: "int", grids: "float[:]", eta: "float") -> "float":
836
+ def convolution_der(p: "int", grids: "Final[float[:]]", eta: "float") -> "float":
835
837
  r"""
836
838
  evaluate the derivative of a hat function (B-spline) at eta, i.e.
837
839
 
@@ -13,6 +13,8 @@ Possible combinations for tensor product (B):
13
13
  * (dN/deta)
14
14
  """
15
15
 
16
+ from typing import Final
17
+
16
18
  from numpy import empty, zeros
17
19
  from pyccel.decorators import pure, stack_array
18
20
 
@@ -21,7 +23,7 @@ import struphy.bsplines.bsplines_kernels as bsplines_kernels
21
23
 
22
24
  # =============================================================================
23
25
  @pure
24
- def evaluation_kernel_1d(p1: int, basis1: "float[:]", ind1: "int[:]", coeff: "float[:]") -> float:
26
+ def evaluation_kernel_1d(p1: int, basis1: "Final[float[:]]", ind1: "Final[int[:]]", coeff: "Final[float[:]]") -> float:
25
27
  """
26
28
  Summing non-zero contributions.
27
29
 
@@ -58,7 +60,9 @@ def evaluation_kernel_1d(p1: int, basis1: "float[:]", ind1: "int[:]", coeff: "fl
58
60
  # =============================================================================
59
61
  @pure
60
62
  @stack_array("tmp1", "tmp2")
61
- def evaluate(kind1: int, t1: "float[:]", p1: int, ind1: "int[:,:]", coeff: "float[:]", eta1: float) -> float:
63
+ def evaluate(
64
+ kind1: int, t1: "Final[float[:]]", p1: int, ind1: "Final[int[:,:]]", coeff: "Final[float[:]]", eta1: float
65
+ ) -> float:
62
66
  """
63
67
  Point-wise evaluation of a spline.
64
68
 
@@ -123,7 +127,13 @@ def evaluate(kind1: int, t1: "float[:]", p1: int, ind1: "int[:,:]", coeff: "floa
123
127
  # =============================================================================
124
128
  @pure
125
129
  def evaluate_vector(
126
- t1: "float[:]", p1: int, ind1: "int[:,:]", coeff: "float[:]", eta1: "float[:]", spline_values: "float[:]", kind: int
130
+ t1: "Final[float[:]]",
131
+ p1: int,
132
+ ind1: "Final[int[:,:]]",
133
+ coeff: "Final[float[:]]",
134
+ eta1: "float[:]",
135
+ spline_values: "float[:]",
136
+ kind: int,
127
137
  ):
128
138
  """
129
139
  Vector evaluation of a uni-variate spline.
@@ -16,6 +16,8 @@ Possible combinations for tensor product (BB):
16
16
  * (N dN/deta)
17
17
  """
18
18
 
19
+ from typing import Final
20
+
19
21
  from numpy import empty, zeros
20
22
  from pyccel.decorators import pure, stack_array
21
23
 
@@ -24,7 +26,13 @@ import struphy.bsplines.bsplines_kernels as bsplines_kernels
24
26
 
25
27
  @pure
26
28
  def evaluation_kernel_2d(
27
- p1: int, p2: int, basis1: "float[:]", basis2: "float[:]", ind1: "int[:]", ind2: "int[:]", coeff: "float[:,:]"
29
+ p1: int,
30
+ p2: int,
31
+ basis1: "Final[float[:]]",
32
+ basis2: "Final[float[:]]",
33
+ ind1: "Final[int[:]]",
34
+ ind2: "Final[int[:]]",
35
+ coeff: "Final[float[:,:]]",
28
36
  ) -> float:
29
37
  """
30
38
  Summing non-zero contributions of a spline function.
@@ -66,13 +74,13 @@ def evaluation_kernel_2d(
66
74
  def evaluate_2d(
67
75
  kind1: int,
68
76
  kind2: int,
69
- t1: "float[:]",
70
- t2: "float[:]",
77
+ t1: "Final[float[:]]",
78
+ t2: "Final[float[:]]",
71
79
  p1: int,
72
80
  p2: int,
73
- ind1: "int[:,:]",
74
- ind2: "int[:,:]",
75
- coeff: "float[:,:]",
81
+ ind1: "Final[int[:,:]]",
82
+ ind2: "Final[int[:,:]]",
83
+ coeff: "Final[float[:,:]]",
76
84
  eta1: float,
77
85
  eta2: float,
78
86
  ) -> float:
@@ -158,15 +166,15 @@ def evaluate_2d(
158
166
 
159
167
  @pure
160
168
  def evaluate_tensor_product_2d(
161
- t1: "float[:]",
162
- t2: "float[:]",
169
+ t1: "Final[float[:]]",
170
+ t2: "Final[float[:]]",
163
171
  p1: int,
164
172
  p2: int,
165
173
  ind1: "int[:,:]",
166
174
  ind2: "int[:,:]",
167
- coeff: "float[:,:]",
168
- eta1: "float[:]",
169
- eta2: "float[:]",
175
+ coeff: "Final[float[:,:]]",
176
+ eta1: "Final[float[:]]",
177
+ eta2: "Final[float[:]]",
170
178
  spline_values: "float[:,:]",
171
179
  kind: int,
172
180
  ):
@@ -230,15 +238,15 @@ def evaluate_tensor_product_2d(
230
238
 
231
239
  @pure
232
240
  def evaluate_matrix_2d(
233
- t1: "float[:]",
234
- t2: "float[:]",
241
+ t1: "Final[float[:]]",
242
+ t2: "Final[float[:]]",
235
243
  p1: int,
236
244
  p2: int,
237
245
  ind1: "int[:,:]",
238
246
  ind2: "int[:,:]",
239
- coeff: "float[:,:]",
240
- eta1: "float[:,:]",
241
- eta2: "float[:,:]",
247
+ coeff: "Final[float[:,:]]",
248
+ eta1: "Final[float[:,:]]",
249
+ eta2: "Final[float[:,:]]",
242
250
  spline_values: "float[:,:]",
243
251
  kind: int,
244
252
  ):
@@ -307,15 +315,15 @@ def evaluate_matrix_2d(
307
315
 
308
316
  @pure
309
317
  def evaluate_sparse_2d(
310
- t1: "float[:]",
311
- t2: "float[:]",
318
+ t1: "Final[float[:]]",
319
+ t2: "Final[float[:]]",
312
320
  p1: int,
313
321
  p2: int,
314
322
  ind1: "int[:,:]",
315
323
  ind2: "int[:,:]",
316
- coeff: "float[:,:]",
317
- eta1: "float[:,:]",
318
- eta2: "float[:,:]",
324
+ coeff: "Final[float[:,:]]",
325
+ eta1: "Final[float[:,:]]",
326
+ eta2: "Final[float[:,:]]",
319
327
  spline_values: "float[:,:]",
320
328
  kind: int,
321
329
  ):
@@ -386,13 +394,13 @@ def evaluate_sparse_2d(
386
394
  def eval_spline_mpi_2d(
387
395
  p1: "int",
388
396
  p2: "int",
389
- basis1: "float[:]",
390
- basis2: "float[:]",
397
+ basis1: "Final[float[:]]",
398
+ basis2: "Final[float[:]]",
391
399
  span1: "int",
392
400
  span2: "int",
393
- coeff: "float[:,:]",
394
- starts: "int[:]",
395
- pn: "int[:]",
401
+ coeff: "Final[float[:,:]]",
402
+ starts: "Final[int[:]]",
403
+ pn: "Final[int[:]]",
396
404
  ) -> float:
397
405
  """
398
406
  Evaluate a spline function on the current process.
@@ -4,6 +4,8 @@
4
4
  Basic functions for point-wise B-spline evaluation
5
5
  """
6
6
 
7
+ from typing import Final
8
+
7
9
  from numpy import empty, zeros
8
10
  from pyccel.decorators import pure, stack_array
9
11
 
@@ -108,7 +110,7 @@ def piecewise_der(p: "int", delta: "float", eta: "float") -> "float":
108
110
 
109
111
  # ========================================================================================
110
112
  @pure
111
- def convolution(p: "int", grids: "float[:]", eta: "float") -> "float":
113
+ def convolution(p: "int", grids: "Final[float[:]]", eta: "float") -> "float":
112
114
  r"""
113
115
  evaluate a hat function (B-spline) at eta, i.e.
114
116
 
@@ -159,7 +161,7 @@ def convolution(p: "int", grids: "float[:]", eta: "float") -> "float":
159
161
 
160
162
  # ========================================================================================
161
163
  @pure
162
- def convolution_der(p: "int", grids: "float[:]", eta: "float") -> "float":
164
+ def convolution_der(p: "int", grids: "Final[float[:]]", eta: "float") -> "float":
163
165
  r"""
164
166
  evaluate the derivative of a hat function (B-spline) at eta, i.e.
165
167
 
@@ -143,16 +143,16 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
143
143
  # struphy d_splines_slim
144
144
  span1s, span2s, span3s = [], [], []
145
145
  for eta1, eta2, eta3 in zip(eta1s, eta2s, eta3s):
146
- span1s += [bsp.find_span(td1, derham.p[0] - 1, eta1)]
147
- span2s += [bsp.find_span(td2, derham.p[1] - 1, eta2)]
148
- span3s += [bsp.find_span(td3, derham.p[2] - 1, eta3)]
146
+ span1s += [bsp.find_span(td1, derham.p[0], eta1)]
147
+ span2s += [bsp.find_span(td2, derham.p[1], eta2)]
148
+ span3s += [bsp.find_span(td3, derham.p[2], eta3)]
149
149
 
150
150
  val1s, val2s, val3s = [], [], []
151
151
  t0 = time.time()
152
152
  for eta1, eta2, eta3, span1, span2, span3 in zip(eta1s, eta2s, eta3s, span1s, span2s, span3s):
153
- bsp.d_splines_slim(td1, derham.p[0] - 1, eta1, span1, bd1)
154
- bsp.d_splines_slim(td2, derham.p[1] - 1, eta2, span2, bd2)
155
- bsp.d_splines_slim(td3, derham.p[2] - 1, eta3, span3, bd3)
153
+ bsp.d_splines_slim(td1, derham.p[0], eta1, span1, bd1)
154
+ bsp.d_splines_slim(td2, derham.p[1], eta2, span2, bd2)
155
+ bsp.d_splines_slim(td3, derham.p[2], eta3, span3, bd3)
156
156
  val1s += [bd1]
157
157
  val2s += [bd2]
158
158
  val3s += [bd3]
@@ -9,7 +9,7 @@ struphy_path := $(shell $(PYTHON) -c "import struphy as _; print(_.__path__[0])"
9
9
 
10
10
  # Arguments to this script are:
11
11
  STRUPHY_SOURCES := $(sources)
12
- FLAGS := --libdir $(LIBDIR) $(flags)
12
+ FLAGS := --libdir $(LIBDIR) $(flags) #--debug
13
13
  FLAGS_openmp_pic := $(flags_openmp_pic)
14
14
  FLAGS_openmp_mhd := $(flags_openmp_mhd)
15
15
 
@@ -35,17 +35,18 @@ all: $(OUTPUTS)
35
35
  @for dep in $^ ; do \
36
36
  echo $$dep ; \
37
37
  done
38
- pyccel $(FLAGS)$(FLAGS_openmp_pic)$(FLAGS_openmp_mhd) $<
38
+ pyccel $(FLAGS) $(FLAGS_openmp_pic) $(FLAGS_openmp_mhd) $<
39
39
  @echo ""
40
40
 
41
41
  #--------------------------------------
42
42
  # CLEAN UP
43
43
  #--------------------------------------
44
+ # find $(struphy_path)/ -type d -name '__pyccel__' -prune -exec rm -rf {} \;
45
+ # find $(struphy_path)/ -type d -name '__pycache__' -prune -exec rm -rf {} \;
46
+ # find $(struphy_path)/ -type f -name '*.lock' -delete
44
47
 
45
48
  .PHONY: clean
46
49
  clean:
47
50
  rm -rf $(OUTPUTS)
48
-
49
- find $(struphy_path)/ -type d -name '__pyccel__' -prune -exec rm -rf {} \;
50
- find $(struphy_path)/ -type d -name '__pycache__' -prune -exec rm -rf {} \;
51
- find $(struphy_path)/ -type f -name '*.lock' -delete
51
+ find $(struphy_path)/ -type d \( -name '__pyccel__' -o -name '__pycache__' \) -exec rm -rf {} +
52
+ find $(struphy_path)/ -type f \( -name '*.lock' -o -name '*.so' -o -name '*.o' -o -name '*.mod' \) -delete
@@ -3,7 +3,9 @@ import sys
3
3
  from struphy.console.run import subp_run
4
4
 
5
5
 
6
- def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbose, dependencies, time_execution, yes):
6
+ def struphy_compile(
7
+ language, compiler, compiler_config, omp_pic, omp_feec, delete, status, verbose, dependencies, time_execution, yes
8
+ ):
7
9
  """Compile Struphy kernels. All files that contain "kernels" are detected automatically and saved to state.yml.
8
10
 
9
11
  Parameters
@@ -12,9 +14,12 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
12
14
  Either "c" (default) or "fortran".
13
15
 
14
16
  compiler : str
15
- Either "GNU" (default), "intel", "PGI", "nvidia" or the path to a JSON compiler file.
17
+ Either "GNU" (default), "intel", "PGI", "nvidia", or "LLVM"
16
18
  Only "GNU" is regularly tested at the moment.
17
19
 
20
+ compiler_config : str
21
+ Path to a JSON compiler file.
22
+
18
23
  omp_pic : bool
19
24
  Whether to compile PIC kernels with OpenMP (default=False).
20
25
 
@@ -191,13 +196,18 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
191
196
  flag_omp_pic = ""
192
197
  flag_omp_feec = ""
193
198
  if omp_pic:
194
- flag_omp_pic = "--openmp"
199
+ flag_omp_pic = " --openmp"
195
200
  if omp_feec:
196
- flag_omp_feec = "--openmp"
201
+ flag_omp_feec = " --openmp"
197
202
 
198
203
  # pyccel flags
199
204
  flags = "--language=" + language
200
- flags += " --compiler=" + compiler
205
+
206
+ if compiler_config:
207
+ flags += " --compiler-config=" + compiler_config
208
+ else:
209
+ flags += " --compiler-family=" + compiler
210
+
201
211
  if time_execution:
202
212
  flags += " --time_execution"
203
213
 
@@ -288,8 +298,12 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
288
298
  cmd = [
289
299
  "psydac-accelerate",
290
300
  "--language=" + language,
291
- "--compiler=" + compiler,
292
301
  ]
302
+ if compiler_config:
303
+ cmd += ["--compiler-config=" + compiler_config]
304
+ else:
305
+ cmd += ["--compiler-family=" + compiler]
306
+
293
307
  subp_run(cmd)
294
308
 
295
309
  # Compile struphy kernels
@@ -302,15 +316,6 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
302
316
  flags += " --verbose"
303
317
 
304
318
  # compilation
305
- gvec_spec = importlib.util.find_spec("gvec_to_python")
306
- if gvec_spec is not None:
307
- cmd = [
308
- "compile-gvec-tp",
309
- "--language=" + language,
310
- "--compiler=" + compiler,
311
- ]
312
- subp_run(cmd)
313
-
314
319
  print("\nCompiling Struphy kernels ...")
315
320
  cmd = [
316
321
  "make",
@@ -208,10 +208,18 @@ def struphy():
208
208
  "--compiler",
209
209
  type=str,
210
210
  metavar="COMPILER",
211
- help='either "GNU" (default), "intel", "PGI", "nvidia" or the path to a JSON compiler file.',
211
+ help='either "GNU" (default), "intel", "PGI", "nvidia" or "LLVM"',
212
212
  default="GNU",
213
213
  )
214
214
 
215
+ parser_compile.add_argument(
216
+ "--compiler-config",
217
+ type=str,
218
+ metavar="COMPILER_CONFIG",
219
+ help="Path to a JSON compiler file.",
220
+ default=None,
221
+ )
222
+
215
223
  parser_compile.add_argument(
216
224
  "--omp-pic",
217
225
  help="compile PIC kernels with OpenMP",
@@ -276,12 +284,22 @@ def struphy():
276
284
  epilog="For more info on Struphy models, visit https://struphy.pages.mpcdf.de/struphy/sections/models.html",
277
285
  )
278
286
 
287
+ # parser_run.add_argument(
288
+ # "model",
289
+ # type=str,
290
+ # default=None,
291
+ # choices=list_models,
292
+ # metavar="MODEL",
293
+ # help=model_message,
294
+ # )
279
295
  parser_run.add_argument(
280
296
  "model",
281
297
  type=str,
298
+ nargs="?", # makes it optional
299
+ default=None, # fallback if nothing is passed
282
300
  choices=list_models,
283
301
  metavar="MODEL",
284
- help=model_message,
302
+ help=model_message + f" (default: None)",
285
303
  )
286
304
 
287
305
  parser_run.add_argument(
@@ -668,13 +686,13 @@ def struphy():
668
686
  )
669
687
 
670
688
  parser_pproc.add_argument(
671
- "-d",
672
- "--dirr",
689
+ "dirs",
673
690
  type=str,
691
+ nargs="*",
674
692
  choices=out_folders,
675
693
  metavar="DIR",
676
- help="simulation output folder to post-process relative to current I/O path (default=sim_1)",
677
- default="sim_1",
694
+ default=["sim_1"],
695
+ help=("Simulation output folders to post-process (relative to current I/O path) (default: [sim_1])."),
678
696
  )
679
697
 
680
698
  parser_pproc.add_argument(
@@ -2,7 +2,7 @@ from struphy.console.run import subp_run
2
2
 
3
3
 
4
4
  def struphy_pproc(
5
- dirr,
5
+ dirs,
6
6
  dir_abs=None,
7
7
  step=1,
8
8
  celldivide=1,
@@ -16,8 +16,8 @@ def struphy_pproc(
16
16
 
17
17
  Parameters
18
18
  ----------
19
- dirr : str
20
- Path of simulation output folder relative to <struphy_path>/io/out.
19
+ dirs : str
20
+ Paths of simulation output folders relative to <struphy_path>/io/out.
21
21
 
22
22
  dir_abs : str
23
23
  Absolute path to the simulation output folder.
@@ -47,29 +47,37 @@ def struphy_pproc(
47
47
  state = utils.read_state(libpath)
48
48
 
49
49
  o_path = state["o_path"]
50
+ for dir in dirs:
51
+ # create absolute path
52
+ if dir_abs is None:
53
+ dir_abs = os.path.join(o_path, dir)
50
54
 
51
- # create absolute path
52
- if dir_abs is None:
53
- dir_abs = os.path.join(o_path, dirr)
55
+ print(f"Post processing data in {dir_abs}")
54
56
 
55
- print(f"Post processing data in {dir_abs}")
57
+ command = [
58
+ "python3",
59
+ "post_processing/pproc_struphy.py",
60
+ dir_abs,
61
+ "-s",
62
+ str(step),
63
+ "--celldivide",
64
+ str(celldivide),
65
+ ]
56
66
 
57
- command = ["python3", "post_processing/pproc_struphy.py", dir_abs, "-s", str(step), "--celldivide", str(celldivide)]
67
+ if physical:
68
+ command += ["--physical"]
58
69
 
59
- if physical:
60
- command += ["--physical"]
70
+ if guiding_center:
71
+ command += ["--guiding-center"]
61
72
 
62
- if guiding_center:
63
- command += ["--guiding-center"]
73
+ if classify:
74
+ command += ["--classify"]
64
75
 
65
- if classify:
66
- command += ["--classify"]
76
+ # Whether vtk files should be created
77
+ if no_vtk:
78
+ command += ["--no-vtk"]
67
79
 
68
- # Whether vtk files should be created
69
- if no_vtk:
70
- command += ["--no-vtk"]
80
+ if time_trace:
81
+ command += ["--time-trace"]
71
82
 
72
- if time_trace:
73
- command += ["--time-trace"]
74
-
75
- subp_run(command)
83
+ subp_run(command)