struphy 3.1.0__tar.gz → 3.3.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 (402) hide show
  1. {struphy-3.1.0/src/struphy.egg-info → struphy-3.3.0}/PKG-INFO +105 -87
  2. {struphy-3.1.0 → struphy-3.3.0}/README.md +53 -36
  3. {struphy-3.1.0 → struphy-3.3.0}/pyproject.toml +54 -52
  4. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/__init__.py +53 -8
  5. struphy-3.3.0/src/struphy/api/compiler/__init__.py +3 -0
  6. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/options/__init__.py +3 -0
  7. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/particles/__init__.py +4 -0
  8. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/bsplines.py +2 -2
  9. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/compile_struphy.mk +2 -3
  10. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/compile.py +87 -80
  11. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/format.py +220 -156
  12. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/main.py +43 -10
  13. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/test.py +2 -1
  14. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/tests/xx_test_console.py +1 -1
  15. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/diagnostics/diagn_tools.py +1 -1
  16. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/basis_projection_ops.py +23 -41
  17. struphy-3.3.0/src/struphy/feec/boundary_mass.py +588 -0
  18. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/mass.py +773 -225
  19. struphy-3.3.0/src/struphy/feec/mass_kernels.py +1268 -0
  20. struphy-3.3.0/src/struphy/feec/memory.py +70 -0
  21. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/preconditioner.py +16 -10
  22. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/psydac_derham.py +63 -42
  23. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_basis_ops.py +87 -116
  24. struphy-3.3.0/src/struphy/feec/tests/test_boundary_integrals.py +372 -0
  25. struphy-3.3.0/src/struphy/feec/tests/test_estimate_mem.py +77 -0
  26. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_mass_matrices.py +293 -42
  27. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/utilities.py +36 -5
  28. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/utilities_kernels.py +6 -2
  29. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/variational_utilities.py +1 -1
  30. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/base.py +58 -9
  31. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/equils.py +303 -409
  32. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/projected_equils.py +8 -10
  33. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/base.py +276 -47
  34. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/domains.py +193 -269
  35. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/tests/test_domain.py +47 -0
  36. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/utilities.py +9 -9
  37. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/initial/base.py +81 -5
  38. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/initial/perturbations.py +540 -373
  39. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/io/options.py +49 -38
  40. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/io/output_handling.py +29 -16
  41. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/io/setup.py +10 -31
  42. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kernel_arguments/pusher_args_kernels.py +14 -12
  43. struphy-3.3.0/src/struphy/kinetic_background/base.py +1013 -0
  44. struphy-3.3.0/src/struphy/kinetic_background/maxwellians.py +846 -0
  45. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kinetic_background/tests/test_base.py +59 -1
  46. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kinetic_background/tests/test_maxwellians.py +199 -215
  47. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/saddle_point.py +13 -16
  48. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/schur_solver.py +4 -0
  49. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/solver.py +18 -3
  50. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_saddle_point_propagator.py +2 -2
  51. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_saddlepoint_massmatrices.py +0 -3
  52. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/__init__.py +2 -0
  53. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/base.py +252 -91
  54. struphy-3.3.0/src/struphy/models/cold_plasma.py +241 -0
  55. struphy-3.3.0/src/struphy/models/cold_plasma_vlasov.py +377 -0
  56. struphy-3.3.0/src/struphy/models/deterministic_particle_diffusion.py +148 -0
  57. struphy-3.3.0/src/struphy/models/drift_kinetic_electrostatic_adiabatic.py +333 -0
  58. struphy-3.3.0/src/struphy/models/guiding_center.py +215 -0
  59. struphy-3.3.0/src/struphy/models/hasegawa_wakatani.py +217 -0
  60. struphy-3.3.0/src/struphy/models/incompressible_navier_stokes_sph.py +277 -0
  61. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/linear_extended_mh_duniform.py +142 -54
  62. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/linear_mhd.py +19 -35
  63. struphy-3.3.0/src/struphy/models/linear_mhd_driftkinetic_cc.py +379 -0
  64. struphy-3.3.0/src/struphy/models/linear_mhd_vlasov_cc.py +336 -0
  65. struphy-3.3.0/src/struphy/models/linear_mhd_vlasov_pc.py +308 -0
  66. struphy-3.3.0/src/struphy/models/linear_vlasov_ampere_one_species.py +371 -0
  67. struphy-3.3.0/src/struphy/models/linear_vlasov_maxwell_one_species.py +284 -0
  68. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/maxwell.py +13 -15
  69. struphy-3.3.0/src/struphy/models/poisson.py +189 -0
  70. struphy-3.3.0/src/struphy/models/pressure_less_sph.py +209 -0
  71. struphy-3.3.0/src/struphy/models/random_particle_diffusion.py +143 -0
  72. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/shear_alfven.py +100 -30
  73. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/species.py +98 -78
  74. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/default_params/test_models.py +34 -32
  75. struphy-3.3.0/src/struphy/models/tests/test_estimate_mem.py +114 -0
  76. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/test_examples.py +1 -1
  77. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/utils_testing.py +27 -15
  78. struphy-3.3.0/src/struphy/models/tests/verification/test_verif_IncompressibleNavierStokesSPH.py +504 -0
  79. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_LinearMHD.py +3 -5
  80. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_Maxwell.py +6 -8
  81. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_Poisson.py +4 -6
  82. struphy-3.3.0/src/struphy/models/tests/verification/test_verif_ViscousEulerSPH.py +1048 -0
  83. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_VlasovAmpereOneSpecies.py +15 -7
  84. struphy-3.3.0/src/struphy/models/toy_drift.py +278 -0
  85. struphy-3.3.0/src/struphy/models/two_fluid_quasi_neutral_toy.py +239 -0
  86. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/variables.py +218 -66
  87. struphy-3.3.0/src/struphy/models/variational_barotropic_fluid.py +195 -0
  88. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/variational_compressible_fluid.py +128 -50
  89. struphy-3.3.0/src/struphy/models/variational_pressureless_fluid.py +183 -0
  90. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_deltaf_mhd.py +155 -59
  91. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_deltaf_mhd_with_q.py +158 -71
  92. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_linear_mhd.py +155 -66
  93. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_linear_mhd_with_q.py +152 -69
  94. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_mhd.py +158 -65
  95. struphy-3.3.0/src/struphy/models/visco_resistive_mhd_with_p.py +309 -0
  96. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_mhd_with_q.py +153 -56
  97. struphy-3.3.0/src/struphy/models/viscous_euler_sph.py +252 -0
  98. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/viscous_fluid.py +139 -57
  99. struphy-3.3.0/src/struphy/models/vlasov.py +172 -0
  100. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/vlasov_ampere_one_species.py +90 -97
  101. struphy-3.3.0/src/struphy/models/vlasov_maxwell_one_species.py +377 -0
  102. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/ode/solvers.py +2 -0
  103. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/ode/utils.py +10 -1
  104. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/particles/parameters.py +157 -93
  105. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/physics/physics.py +22 -23
  106. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/accum_kernels.py +43 -321
  107. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/accum_kernels_gc.py +47 -94
  108. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/filler_kernels.py +0 -60
  109. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/filter.py +3 -4
  110. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/particle_to_mat_kernels.py +0 -61
  111. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/particles_to_grid.py +164 -42
  112. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/base.py +2791 -2708
  113. struphy-3.3.0/src/struphy/pic/particles.py +952 -0
  114. struphy-3.3.0/src/struphy/pic/pushing/eval_kernels_gc.py +469 -0
  115. struphy-3.3.0/src/struphy/pic/pushing/eval_kernels_sph.py +535 -0
  116. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher.py +57 -55
  117. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher_kernels.py +101 -648
  118. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher_kernels_gc.py +10 -6
  119. struphy-3.3.0/src/struphy/pic/pushing/pusher_kernels_sph.py +674 -0
  120. struphy-3.3.0/src/struphy/pic/sorting.py +401 -0
  121. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/sph_eval_kernels.py +148 -109
  122. struphy-3.3.0/src/struphy/pic/tests/_bench_push_vxb_analytic.py +91 -0
  123. struphy-3.3.0/src/struphy/pic/tests/bench_openmp_speedup.py +99 -0
  124. struphy-3.3.0/src/struphy/pic/tests/test_accum_vec_H1.py +624 -0
  125. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_binning.py +82 -32
  126. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_draw_parallel.py +2 -0
  127. struphy-3.3.0/src/struphy/pic/tests/test_estimate_mem.py +110 -0
  128. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_mat_vec_filler.py +13 -23
  129. struphy-3.3.0/src/struphy/pic/tests/test_neighbor_ranks.py +106 -0
  130. struphy-3.3.0/src/struphy/pic/tests/test_pusher_openmp_speedup.py +100 -0
  131. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_pushers.py +8 -11
  132. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_set_zero_velocity.py +1 -0
  133. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_sorting.py +15 -9
  134. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_sph.py +190 -45
  135. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/test_tesselation.py +10 -7
  136. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/utilities_kernels.py +39 -18
  137. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/orbits/orbits_tools.py +2 -2
  138. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/post_processing_tools.py +635 -403
  139. struphy-3.3.0/src/struphy/post_processing/tests/test_eval_grids.py +259 -0
  140. struphy-3.3.0/src/struphy/post_processing/tests/test_eval_grids_mpi.py +243 -0
  141. struphy-3.3.0/src/struphy/post_processing/tests/test_pproc.py +108 -0
  142. struphy-3.3.0/src/struphy/propagators/__init__.py +91 -0
  143. struphy-3.3.0/src/struphy/propagators/adiabatic_phi.py +210 -0
  144. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/propagators/base.py +20 -6
  145. struphy-3.3.0/src/struphy/propagators/curl_curl_solve.py +335 -0
  146. struphy-3.3.0/src/struphy/propagators/current_coupling_5d_curlb.py +318 -0
  147. struphy-3.3.0/src/struphy/propagators/current_coupling_5d_density.py +244 -0
  148. struphy-3.3.0/src/struphy/propagators/current_coupling_5d_gradb.py +836 -0
  149. struphy-3.3.0/src/struphy/propagators/current_coupling_6d_current.py +308 -0
  150. struphy-3.3.0/src/struphy/propagators/current_coupling_6d_density.py +301 -0
  151. struphy-3.3.0/src/struphy/propagators/efield_weights_coupling.py +310 -0
  152. struphy-3.3.0/src/struphy/propagators/faraday_extended.py +229 -0
  153. struphy-3.3.0/src/struphy/propagators/hall.py +180 -0
  154. struphy-3.3.0/src/struphy/propagators/hasegawa_wakatani_step.py +344 -0
  155. struphy-3.3.0/src/struphy/propagators/implicit_diffusion.py +473 -0
  156. struphy-3.3.0/src/struphy/propagators/jxb_cold.py +159 -0
  157. struphy-3.3.0/src/struphy/propagators/magnetosonic.py +244 -0
  158. struphy-3.3.0/src/struphy/propagators/magnetosonic_uniform.py +242 -0
  159. struphy-3.3.0/src/struphy/propagators/maxwell_weak_ampere.py +252 -0
  160. struphy-3.3.0/src/struphy/propagators/ohm_cold.py +188 -0
  161. struphy-3.3.0/src/struphy/propagators/poisson_adiabatic_gyrokinetic.py +208 -0
  162. struphy-3.3.0/src/struphy/propagators/poisson_solve.py +155 -0
  163. struphy-3.3.0/src/struphy/propagators/pressure_coupling_6d.py +394 -0
  164. struphy-3.3.0/src/struphy/propagators/push_deterministic_diffusion.py +169 -0
  165. struphy-3.3.0/src/struphy/propagators/push_eta.py +122 -0
  166. struphy-3.3.0/src/struphy/propagators/push_eta_pc.py +170 -0
  167. struphy-3.3.0/src/struphy/propagators/push_guiding_center_bx_estar.py +486 -0
  168. struphy-3.3.0/src/struphy/propagators/push_guiding_center_parallel.py +510 -0
  169. struphy-3.3.0/src/struphy/propagators/push_random_diffusion.py +158 -0
  170. struphy-3.3.0/src/struphy/propagators/push_v_in_force_field.py +159 -0
  171. struphy-3.3.0/src/struphy/propagators/push_v_in_sph_pressure.py +208 -0
  172. struphy-3.3.0/src/struphy/propagators/push_v_in_viscous_potential.py +196 -0
  173. struphy-3.3.0/src/struphy/propagators/push_vxb.py +169 -0
  174. struphy-3.3.0/src/struphy/propagators/shear_alfven_b1.py +214 -0
  175. struphy-3.3.0/src/struphy/propagators/shear_alfven_current_coupling_5d.py +472 -0
  176. struphy-3.3.0/src/struphy/propagators/shear_alfven_propagator.py +244 -0
  177. struphy-3.3.0/src/struphy/propagators/tests/test_curl_curl.py +422 -0
  178. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/propagators/tests/test_gyrokinetic_poisson.py +260 -91
  179. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/propagators/tests/test_poisson.py +15 -23
  180. struphy-3.3.0/src/struphy/propagators/time_dependent_source.py +114 -0
  181. struphy-3.3.0/src/struphy/propagators/two_fluid_quasi_neutral_full.py +462 -0
  182. struphy-3.3.0/src/struphy/propagators/variational_density_evolve.py +617 -0
  183. struphy-3.3.0/src/struphy/propagators/variational_entropy_evolve.py +470 -0
  184. struphy-3.3.0/src/struphy/propagators/variational_mag_field_evolve.py +420 -0
  185. struphy-3.3.0/src/struphy/propagators/variational_momentum_advection.py +294 -0
  186. struphy-3.3.0/src/struphy/propagators/variational_pb_evolve.py +677 -0
  187. struphy-3.3.0/src/struphy/propagators/variational_qb_evolve.py +700 -0
  188. struphy-3.3.0/src/struphy/propagators/variational_resistivity.py +812 -0
  189. struphy-3.3.0/src/struphy/propagators/variational_viscosity.py +830 -0
  190. struphy-3.3.0/src/struphy/propagators/vlasov_ampere_coupling.py +250 -0
  191. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/simulation/base.py +6 -6
  192. struphy-3.3.0/src/struphy/simulation/sim.py +2057 -0
  193. struphy-3.3.0/src/struphy/simulation/tests/test_estimate_mem.py +165 -0
  194. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/topology/grids.py +16 -20
  195. struphy-3.3.0/src/struphy/utils/__init__.py +0 -0
  196. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/utils/clone_config.py +4 -7
  197. struphy-3.3.0/src/struphy/utils/compiler.py +238 -0
  198. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/utils/docstring_converter.py +298 -14
  199. struphy-3.3.0/src/struphy/utils/mpi_launch.py +82 -0
  200. struphy-3.3.0/src/struphy/utils/progress.py +13 -0
  201. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/utils/utils.py +13 -2
  202. {struphy-3.1.0 → struphy-3.3.0/src/struphy.egg-info}/PKG-INFO +105 -87
  203. {struphy-3.1.0 → struphy-3.3.0}/src/struphy.egg-info/SOURCES.txt +69 -5
  204. struphy-3.3.0/src/struphy.egg-info/requires.txt +80 -0
  205. struphy-3.1.0/src/struphy/feec/mass_kernels.py +0 -768
  206. struphy-3.1.0/src/struphy/kinetic_background/base.py +0 -589
  207. struphy-3.1.0/src/struphy/kinetic_background/maxwellians.py +0 -732
  208. struphy-3.1.0/src/struphy/models/cold_plasma.py +0 -150
  209. struphy-3.1.0/src/struphy/models/cold_plasma_vlasov.py +0 -274
  210. struphy-3.1.0/src/struphy/models/deterministic_particle_diffusion.py +0 -87
  211. struphy-3.1.0/src/struphy/models/drift_kinetic_electrostatic_adiabatic.py +0 -239
  212. struphy-3.1.0/src/struphy/models/guiding_center.py +0 -143
  213. struphy-3.1.0/src/struphy/models/hasegawa_wakatani.py +0 -145
  214. struphy-3.1.0/src/struphy/models/linear_mhd_driftkinetic_cc.py +0 -318
  215. struphy-3.1.0/src/struphy/models/linear_mhd_vlasov_cc.py +0 -239
  216. struphy-3.1.0/src/struphy/models/linear_mhd_vlasov_pc.py +0 -236
  217. struphy-3.1.0/src/struphy/models/linear_vlasov_ampere_one_species.py +0 -299
  218. struphy-3.1.0/src/struphy/models/linear_vlasov_maxwell_one_species.py +0 -191
  219. struphy-3.1.0/src/struphy/models/poisson.py +0 -130
  220. struphy-3.1.0/src/struphy/models/pressure_less_sph.py +0 -127
  221. struphy-3.1.0/src/struphy/models/random_particle_diffusion.py +0 -86
  222. struphy-3.1.0/src/struphy/models/tests/verification/test_verif_ViscousEulerSPH.py +0 -161
  223. struphy-3.1.0/src/struphy/models/toy_drift.py +0 -216
  224. struphy-3.1.0/src/struphy/models/two_fluid_quasi_neutral_toy.py +0 -163
  225. struphy-3.1.0/src/struphy/models/variational_barotropic_fluid.py +0 -121
  226. struphy-3.1.0/src/struphy/models/variational_pressureless_fluid.py +0 -112
  227. struphy-3.1.0/src/struphy/models/visco_resistive_mhd_with_p.py +0 -214
  228. struphy-3.1.0/src/struphy/models/viscous_euler_sph.py +0 -156
  229. struphy-3.1.0/src/struphy/models/vlasov.py +0 -102
  230. struphy-3.1.0/src/struphy/models/vlasov_maxwell_one_species.py +0 -318
  231. struphy-3.1.0/src/struphy/pic/particles.py +0 -715
  232. struphy-3.1.0/src/struphy/pic/pushing/eval_kernels_gc.py +0 -1022
  233. struphy-3.1.0/src/struphy/pic/tests/test_accum_vec_H1.py +0 -206
  234. struphy-3.1.0/src/struphy/post_processing/likwid/plot_time_traces.py +0 -380
  235. struphy-3.1.0/src/struphy/propagators/__init__.py +0 -93
  236. struphy-3.1.0/src/struphy/propagators/propagators_coupling.py +0 -2132
  237. struphy-3.1.0/src/struphy/propagators/propagators_fields.py +0 -8086
  238. struphy-3.1.0/src/struphy/propagators/propagators_markers.py +0 -1894
  239. struphy-3.1.0/src/struphy/simulation/sim.py +0 -1618
  240. struphy-3.1.0/src/struphy/utils/pyccel.py +0 -25
  241. struphy-3.1.0/src/struphy.egg-info/requires.txt +0 -79
  242. {struphy-3.1.0 → struphy-3.3.0}/LICENSE +0 -0
  243. {struphy-3.1.0 → struphy-3.3.0}/setup.cfg +0 -0
  244. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/__init__.py +0 -0
  245. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/domains/__init__.py +0 -0
  246. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/equils/__init__.py +0 -0
  247. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/grids/__init__.py +0 -0
  248. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/maxwellians/__init__.py +0 -0
  249. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/models/__init__.py +0 -0
  250. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/ode/__init__.py +0 -0
  251. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/perturbations/__init__.py +0 -0
  252. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/post_processing/__init__.py +0 -0
  253. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/api/simulation/__init__.py +0 -0
  254. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/__init__.py +0 -0
  255. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/bsplines_kernels.py +0 -0
  256. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/evaluation_kernels_1d.py +0 -0
  257. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/evaluation_kernels_2d.py +0 -0
  258. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/evaluation_kernels_3d.py +0 -0
  259. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/shapefunc_kernels.py +0 -0
  260. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/tests/__init__.py +0 -0
  261. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/tests/test_bsplines_kers.py +0 -0
  262. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/bsplines/tests/test_eval_spline_mpi.py +0 -0
  263. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/conftest.py +0 -0
  264. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/__init__.py +0 -0
  265. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/likwid.py +0 -0
  266. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/params.py +0 -0
  267. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/parsers.py +0 -0
  268. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/console/profile.py +0 -0
  269. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/dependencies.py +0 -0
  270. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/diagnostics/__init__.py +0 -0
  271. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/diagnostics/console_diagn.py +0 -0
  272. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/diagnostics/paraview/__init__.py +0 -0
  273. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/diagnostics/paraview/mesh_creator.py +0 -0
  274. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/diagnostics/paraview/vtk_writer.py +0 -0
  275. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/dispersion_relations/__init__.py +0 -0
  276. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/dispersion_relations/analytic.py +0 -0
  277. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/dispersion_relations/base.py +0 -0
  278. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/dispersion_relations/utilities.py +0 -0
  279. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/eigenvalue_solvers/derivatives.py +0 -0
  280. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/examples/_draw_parallel.py +0 -0
  281. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/examples/restelli2018/__init__.py +0 -0
  282. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/examples/restelli2018/callables.py +0 -0
  283. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/__init__.py +0 -0
  284. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/banded_to_stencil_kernels.py +0 -0
  285. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/basis_projection_kernels.py +0 -0
  286. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/linear_operators.py +0 -0
  287. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/local_projectors_kernels.py +0 -0
  288. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/projectors.py +0 -0
  289. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/__init__.py +0 -0
  290. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_derham.py +0 -0
  291. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_eval_field.py +0 -0
  292. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_field_init.py +0 -0
  293. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_l2_projectors.py +0 -0
  294. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_local_matrix_vector.py +0 -0
  295. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_local_projectors.py +0 -0
  296. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_lowdim_nel_is_1.py +0 -0
  297. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_toarray_struphy.py +0 -0
  298. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/test_tosparse_struphy.py +0 -0
  299. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/tests/xx_test_preconds.py +0 -0
  300. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/feec/utilities_local_projectors.py +0 -0
  301. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/__init__.py +0 -0
  302. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/coil_fields/__init__.py +0 -0
  303. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/coil_fields/base.py +0 -0
  304. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/coil_fields/coil_fields.py +0 -0
  305. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/__init__.py +0 -0
  306. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/__init__.py +0 -0
  307. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/AUGNLED_g031213.00830.high +0 -0
  308. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/__init__.py +0 -0
  309. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +0 -0
  310. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/__init__.py +0 -0
  311. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/output/__init__.py +0 -0
  312. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/output/vtk/__init__.py +0 -0
  313. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00000000.dat +0 -0
  314. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00001000.dat +0 -0
  315. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_01/parameter.ini +0 -0
  316. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000000.dat +0 -0
  317. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000100.dat +0 -0
  318. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_02/parameter-w7x.ini +0 -0
  319. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00000000.dat +0 -0
  320. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00003307.dat +0 -0
  321. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_03/Neo-spitzer-mirror23-well-opt-1-AR10-1.nc +0 -0
  322. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_03/parameter-fig8.ini +0 -0
  323. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/vmec/__init__.py +0 -0
  324. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/tests/__init__.py +0 -0
  325. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_desc_equil.py +0 -0
  326. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_generic_equils.py +0 -0
  327. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_mhd_equils.py +0 -0
  328. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_numerical_mhd_equil.py +0 -0
  329. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/__init__.py +0 -0
  330. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/evaluation_kernels.py +0 -0
  331. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/map_coef/__init__.py +0 -0
  332. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/mappings_kernels.py +0 -0
  333. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/tests/__init__.py +0 -0
  334. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/transform_kernels.py +0 -0
  335. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/geometry/utilities_kernels.py +0 -0
  336. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/initial/__init__.py +0 -0
  337. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/initial/eigenfunctions.py +0 -0
  338. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/initial/tests/__init__.py +0 -0
  339. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/initial/tests/test_init_perturbations.py +0 -0
  340. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/initial/utilities.py +0 -0
  341. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/io/__init__.py +0 -0
  342. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kernel_arguments/__init__.py +0 -0
  343. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kernel_arguments/local_projectors_args_kernels.py +0 -0
  344. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kinetic_background/__init__.py +0 -0
  345. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kinetic_background/moment_functions.py +0 -0
  346. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/kinetic_background/tests/__init__.py +0 -0
  347. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/__init__.py +0 -0
  348. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/linalg_kernels.py +0 -0
  349. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/linalg_kron.py +0 -0
  350. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/stencil_dot_kernels.py +0 -0
  351. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/stencil_transpose_kernels.py +0 -0
  352. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/__init__.py +0 -0
  353. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_stencil_dot_kers.py +0 -0
  354. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_stencil_transpose_kers.py +0 -0
  355. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/scalars.py +0 -0
  356. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/__init__.py +0 -0
  357. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/default_params/__init__.py +0 -0
  358. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/tests/verification/__init__.py +0 -0
  359. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/models/utils.py +0 -0
  360. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/ode/__init__.py +0 -0
  361. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/ode/tests/__init__.py +0 -0
  362. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/ode/tests/test_ode_feec.py +0 -0
  363. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/particles/__init__.py +0 -0
  364. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/physics/__init__.py +0 -0
  365. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/__init__.py +0 -0
  366. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/__init__.py +0 -0
  367. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/accumulation/filter_kernels.py +0 -0
  368. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/pushing/__init__.py +0 -0
  369. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher_utilities_kernels.py +0 -0
  370. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/sampling_kernels.py +0 -0
  371. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/sobol_seq.py +0 -0
  372. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/sorting_kernels.py +0 -0
  373. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/sph_smoothing_kernels.py +0 -0
  374. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/tests/__init__.py +0 -0
  375. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/pic/utilities.py +0 -0
  376. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/polar/__init__.py +0 -0
  377. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/polar/basic.py +0 -0
  378. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/polar/extraction_operators.py +0 -0
  379. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/polar/linear_operators.py +0 -0
  380. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/polar/tests/__init__.py +0 -0
  381. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/polar/tests/test_polar.py +0 -0
  382. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/__init__.py +0 -0
  383. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/cprofile_analyser.py +0 -0
  384. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/__init__.py +0 -0
  385. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/hardware_dicts.py +0 -0
  386. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/likwid_parser.py +0 -0
  387. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/maxplotlylib.py +0 -0
  388. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/plot_likwidproject.py +0 -0
  389. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/roofline_plotter.py +0 -0
  390. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/orbits/__init__.py +0 -0
  391. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/orbits/orbits_kernels.py +0 -0
  392. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/profile_struphy.py +0 -0
  393. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/post_processing/tests/__init__.py +0 -0
  394. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/propagators/tests/__init__.py +0 -0
  395. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/simulation/__init__.py +0 -0
  396. {struphy-3.1.0/src/struphy/topology → struphy-3.3.0/src/struphy/simulation/tests}/__init__.py +0 -0
  397. {struphy-3.1.0/src/struphy/utils → struphy-3.3.0/src/struphy/topology}/__init__.py +0 -0
  398. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/utils/cupy_vs_numpy.py +0 -0
  399. {struphy-3.1.0 → struphy-3.3.0}/src/struphy/utils/test_clone_config.py +0 -0
  400. {struphy-3.1.0 → struphy-3.3.0}/src/struphy.egg-info/dependency_links.txt +0 -0
  401. {struphy-3.1.0 → struphy-3.3.0}/src/struphy.egg-info/entry_points.txt +0 -0
  402. {struphy-3.1.0 → struphy-3.3.0}/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: 3.1.0
3
+ Version: 3.3.0
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, max.lindqvist@ipp.mpg.de, eric.sonnendruecker@ipp.mpg.de
@@ -30,70 +30,71 @@ 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.4.3
34
- Requires-Dist: cunumpy<=0.1.1
35
- Requires-Dist: pyccel<=2.2.3,>=2.1
36
- Requires-Dist: feectools<=0.1.3
37
- Requires-Dist: scipy<=1.17.1
33
+ Requires-Dist: numpy<=2.5.0
34
+ Requires-Dist: cunumpy<=0.1.5,>=0.1.4
35
+ Requires-Dist: pyccel<=2.2.3,>=2.2.0
36
+ Requires-Dist: feectools<=0.1.10,>=0.1.10
37
+ Requires-Dist: scipy<=1.18.0
38
38
  Requires-Dist: h5py<=3.16.0
39
- Requires-Dist: matplotlib<=3.10.8
39
+ Requires-Dist: matplotlib<=3.11.0
40
40
  Requires-Dist: pyyaml<=6.0.3
41
- Requires-Dist: vtk<=9.6.1
42
- Requires-Dist: tqdm<=4.67.3
43
- Requires-Dist: argcomplete<=3.6.3
41
+ Requires-Dist: vtk<=9.7.0
42
+ Requires-Dist: tqdm<=4.70.0
43
+ Requires-Dist: argcomplete<=3.7.0
44
44
  Requires-Dist: ipywidgets<=8.1.8
45
- Requires-Dist: plotly<=6.6.0
46
- Requires-Dist: pyvista<=0.47.3
47
- Requires-Dist: trame<=3.12.0
45
+ Requires-Dist: plotly<=6.9.0
46
+ Requires-Dist: pyvista<=0.48.0
47
+ Requires-Dist: trame<=3.13.0
48
48
  Requires-Dist: trame-vtk<=2.11.8
49
- Requires-Dist: trame-vuetify<=3.2.1
49
+ Requires-Dist: trame-vuetify<=3.2.2
50
50
  Requires-Dist: nest_asyncio2<=1.7.2
51
- Requires-Dist: vtk<=9.6.1
52
- Requires-Dist: pytest<=9.0.3
51
+ Requires-Dist: vtk<=9.7.0
52
+ Requires-Dist: pytest<=9.1.0
53
53
  Requires-Dist: pytest-mpi<=0.6
54
54
  Requires-Dist: pytest-testmon<=2.2.0
55
- Requires-Dist: ruff<=0.15.11,>=0.15.0
55
+ Requires-Dist: ruff<=0.16.0,==0.15.0
56
56
  Requires-Dist: line_profiler<=5.0.2
57
- Requires-Dist: scope-profiler<=0.1.9,>=0.1.7
58
- Requires-Dist: jax-finufft<=1.2.0
57
+ Requires-Dist: scope-profiler<=0.5.0,>=0.5.0
58
+ Provides-Extra: mpi
59
+ Requires-Dist: mpi4py<=4.1.1; extra == "mpi"
59
60
  Provides-Extra: phys
60
- Requires-Dist: gvec<=1.4.1,>=1.1.0; extra == "phys"
61
+ Requires-Dist: gvec<=1.5.0,>=1.1.0; extra == "phys"
61
62
  Requires-Dist: desc-opt<=0.17.1; extra == "phys"
62
63
  Provides-Extra: dev
63
64
  Requires-Dist: struphy[mpi]; extra == "dev"
64
- Requires-Dist: notebook<=7.5.5; extra == "dev"
65
- Requires-Dist: autopep8<=2.3.2; extra == "dev"
66
- Requires-Dist: isort<=8.0.1; extra == "dev"
67
- Requires-Dist: flake8<=7.3.0; extra == "dev"
68
- Requires-Dist: pylint<=4.0.5; extra == "dev"
69
- Requires-Dist: ssort<=0.16.0; extra == "dev"
70
- Requires-Dist: add-trailing-comma<=4.0.0; extra == "dev"
71
- Requires-Dist: pre-commit<=4.6.0; extra == "dev"
72
- Requires-Dist: nbstripout<=0.9.1; extra == "dev"
73
- Requires-Dist: tabulate<=0.10.0; extra == "dev"
74
- Requires-Dist: tomli-w<=1.2.0; extra == "dev"
75
- Requires-Dist: kaleido<=1.2.0; extra == "dev"
76
- Requires-Dist: pandas<=3.0.2; extra == "dev"
77
- Provides-Extra: mpi
78
- Requires-Dist: mpi4py<=4.1.1; extra == "mpi"
65
+ Requires-Dist: notebook; extra == "dev"
66
+ Requires-Dist: autopep8; extra == "dev"
67
+ Requires-Dist: isort; extra == "dev"
68
+ Requires-Dist: flake8; extra == "dev"
69
+ Requires-Dist: pylint; extra == "dev"
70
+ Requires-Dist: ssort; extra == "dev"
71
+ Requires-Dist: add-trailing-comma; extra == "dev"
72
+ Requires-Dist: pre-commit; extra == "dev"
73
+ Requires-Dist: nbstripout; extra == "dev"
74
+ Requires-Dist: tabulate; extra == "dev"
75
+ Requires-Dist: tomli-w; extra == "dev"
76
+ Requires-Dist: kaleido; extra == "dev"
77
+ Requires-Dist: pandas; extra == "dev"
78
+ Requires-Dist: scope-profiler[pproc]; extra == "dev"
79
+ Requires-Dist: slurm-script-generator>=0.3.6; extra == "dev"
79
80
  Provides-Extra: doc
80
81
  Requires-Dist: struphy[phys]; extra == "doc"
81
- Requires-Dist: jupyter<=1.1.1; extra == "doc"
82
- Requires-Dist: nbconvert<=6.5.4; extra == "doc"
83
- Requires-Dist: ipykernel<=7.2.0; extra == "doc"
84
- Requires-Dist: sphinx<=9.1.0; extra == "doc"
85
- Requires-Dist: sphinx-design<=0.7.0; extra == "doc"
86
- Requires-Dist: lxml_html_clean<=0.4.4; extra == "doc"
87
- Requires-Dist: sphinxcontrib-napoleon<=0.7; extra == "doc"
88
- Requires-Dist: sphinx-copybutton<=0.5.2; extra == "doc"
89
- Requires-Dist: sphinx-collections<=0.3.1; extra == "doc"
90
- Requires-Dist: pydata-sphinx-theme<=0.17.1; extra == "doc"
91
- Requires-Dist: nbsphinx<=0.9.8; extra == "doc"
92
- Requires-Dist: m2r2<=0.3.4; extra == "doc"
93
- Requires-Dist: myst-parser<=5.0.0; extra == "doc"
94
- Requires-Dist: mistune<=0.8.4; extra == "doc"
95
- Requires-Dist: docutils<=0.22.4; extra == "doc"
96
- Requires-Dist: ipyparallel<=9.1.0; extra == "doc"
82
+ Requires-Dist: jupyter; extra == "doc"
83
+ Requires-Dist: nbconvert; extra == "doc"
84
+ Requires-Dist: ipykernel; extra == "doc"
85
+ Requires-Dist: sphinx; extra == "doc"
86
+ Requires-Dist: sphinx-design; extra == "doc"
87
+ Requires-Dist: lxml_html_clean; extra == "doc"
88
+ Requires-Dist: sphinxcontrib-napoleon; extra == "doc"
89
+ Requires-Dist: sphinx-copybutton; extra == "doc"
90
+ Requires-Dist: sphinx-collections; extra == "doc"
91
+ Requires-Dist: pydata-sphinx-theme; extra == "doc"
92
+ Requires-Dist: nbsphinx; extra == "doc"
93
+ Requires-Dist: m2r2; extra == "doc"
94
+ Requires-Dist: myst-parser; extra == "doc"
95
+ Requires-Dist: docutils; extra == "doc"
96
+ Requires-Dist: ipyparallel; extra == "doc"
97
+ Requires-Dist: scope-profiler[pproc]; extra == "doc"
97
98
  Provides-Extra: likwid
98
99
  Requires-Dist: struphy[dev]; extra == "likwid"
99
100
  Requires-Dist: pylikwid; extra == "likwid"
@@ -122,6 +123,7 @@ Dynamic: license-file
122
123
 
123
124
  - Maxwell’s equations
124
125
  - Magneto-hydrodynamics (MHD)
126
+ - Multi-fluid models
125
127
  - Vlasov-Poisson and Vlasov-Maxwell kinetic models
126
128
  - Drift-kinetic models for strongly magnetized plasma
127
129
  - MHD-kinetic hybrid models
@@ -132,17 +134,10 @@ The code is freely available under an [MIT license](https://github.com/struphy-h
132
134
 
133
135
  ![Max Planck Institute Logo](https://raw.githubusercontent.com/struphy-hub/.github/refs/heads/main/profile/MPI_PP_Logo_Vertical_E_green_rgb_centered.png)
134
136
 
135
- ## Tutorials
136
-
137
- Get familiar with Struphy right away on [mybinder](https://mybinder.org/v2/gh/struphy-hub/struphy-tutorials/main) - no installation needed.
138
-
139
137
  ## Quick install
140
138
 
141
- Quick install on your computer (using a virtual environment):
139
+ Struphy is available on [PyPI](https://pypi.org/project/struphy/), so you can install it with pip:
142
140
 
143
- python -m venv struphy_env
144
- source struphy_env/bin/activate
145
- pip install -U pip
146
141
  pip install -U struphy
147
142
  struphy compile
148
143
 
@@ -151,6 +146,38 @@ In case you face troubles with install/compile:
151
146
  1. check the [prerequisites](https://struphy-hub.github.io/struphy/sections/install.html#requirements)
152
147
  2. visit [trouble shooting](https://struphy-hub.github.io/struphy/sections/install.html#trouble-shooting)
153
148
 
149
+ ## Example: solve Maxwell’s equations
150
+
151
+ Use the command line to generate a default launch file:
152
+
153
+ struphy params Maxwell
154
+
155
+ This will create `params_Maxwell.py` in your current working directory (cwd). You can open the file and - if you feel like it already - change some parameters. Start the simulation with
156
+
157
+ python params_Maxwell.py
158
+
159
+ The default output is in `sim_1/` in your cwd. You can change the output path via the class `EnvironmentOptions` in the parameter file.
160
+
161
+ Parallel simulations are run for example with
162
+
163
+ pip install -U mpi4py
164
+ mpirun -n 4 python params_Maxwell.py
165
+
166
+ You can also put the run command in a batch script.
167
+
168
+ ## Available models
169
+
170
+ Check the list of currently available models in the [documentation](https://struphy-hub.github.io/struphy/sections/models.html). If you want to see a particular model implemented, please let us know via [issues](https://github.com/struphy-hub/struphy/issues).
171
+
172
+ ## Documentation
173
+
174
+ The doc is on [Github pages](https://struphy-hub.github.io/struphy/index.html), we recommend in particular to visit:
175
+
176
+ - [Install](https://struphy-hub.github.io/struphy/sections/install.html)
177
+ - [Userguide](https://struphy-hub.github.io/struphy/sections/userguide.html)
178
+ - [Available models](https://struphy-hub.github.io/struphy/sections/models.html)
179
+ - [Numerical methods](https://struphy-hub.github.io/struphy/sections/numerics.html)
180
+
154
181
  ## Python API
155
182
 
156
183
  Try out the Python API in a Jupyter notebook or any Python environment. For example, you can create a simulation object and show the domain and equilibrium magnetic field of the linear MHD model via
@@ -181,24 +208,9 @@ sim.show_domain(scalars="absB0", window_size = (850, 250), zoom_factor=2.0)
181
208
 
182
209
  This will show the domain and equilibrium magnetic field of the linear MHD model. You can find more examples in the [documentation](https://struphy-hub.github.io/struphy/index.html).
183
210
 
184
- ## Quick run
185
-
186
- As an example, let’s say we want to solve Maxwell’s equations. We can use the CLI and generate a default launch file via
187
-
188
- struphy params Maxwell
189
-
190
- Hit yes when prompted - this will create the file `params_Maxwell.py` in your current working directory (cwd). You can open the file and - if you feel like it already - change some parameters, then run
191
-
192
- python params_Maxwell.py
193
-
194
- The default output is in `sim_1/` in your cwd. You can change the output path via the class `EnvironmentOptions` in the parameter file.
195
-
196
- Parallel simulations are run for example with
197
-
198
- pip install -U mpi4py
199
- mpirun -n 4 python params_Maxwell.py
211
+ ## Tutorials on Binder
200
212
 
201
- You can also put the run command in a batch script.
213
+ Get familiar with Struphy right away on [mybinder](https://mybinder.org/v2/gh/struphy-hub/struphy-tutorials/main) - no installation needed.
202
214
 
203
215
  ## Docker
204
216
 
@@ -217,15 +229,6 @@ There is also a [Docker image with just the prerequisites](https://hub.docker.co
217
229
  docker pull spossann/ubuntu-for-struphy:main
218
230
  docker run -it --rm spossann/ubuntu-for-struphy:main
219
231
 
220
- ## Documentation
221
-
222
- The doc is on [Github pages](https://struphy-hub.github.io/struphy/index.html), we recommend in particular to visit:
223
-
224
- - [Install](https://struphy-hub.github.io/struphy/sections/install.html)
225
- - [Userguide](https://struphy-hub.github.io/struphy/sections/userguide.html)
226
- - [Available models](https://struphy-hub.github.io/struphy/sections/models.html)
227
- - [Numerical methods](https://struphy-hub.github.io/struphy/sections/numerics.html)
228
-
229
232
  ## Get in touch
230
233
 
231
234
  - [Issues](https://github.com/struphy-hub/struphy/issues)
@@ -234,6 +237,21 @@ The doc is on [Github pages](https://struphy-hub.github.io/struphy/index.html),
234
237
  - [@max-models](https://github.com/max-models) [max.lindqvist@ipp.mpg.de](mailto:Max.Lindqvist@ipp.mpg.de) (Maintainer)
235
238
  - [LinkedIn profile](https://www.linkedin.com/company/struphy/)
236
239
 
237
- ## Citing Struphy
240
+ ## Publications
241
+
242
+ - D. Bell, M.C. Pinto, S. Possanner, E. Sonnendrücker,
243
+ [**The linearized Vlasov–Maxwell system as a Hamiltonian system**](https://doi.org/10.1016/j.jcp.2026.114765),
244
+ Journal of Computational Physics, Volume 555, 114765 (2026).
245
+
246
+ - V. Carlier, M.C. Pinto, [**Variational discretizations of ideal magnetohydrodynamics in smooth regime using structure-preserving finite elements**](https://doi.org/10.1016/j.jcp.2024.113647),
247
+ Journal of Computational Physics, Volume 523, 113647 (2025).
248
+
249
+ - Y. Li, M.C. Pinto, F. Holderied, S. Possanner, E. Sonnendrücker, [**Geometric Particle-In-Cell discretizations of a plasma hybrid model with kinetic ions and mass-less fluid electrons**](https://doi.org/10.1016/j.jcp.2023.112671), Journal of Computational Physics 498, 112671 (2023).
250
+
251
+ - S. Possanner, F. Holderied, Y. Li, B.-K. Na, D. Bell, S. Hadjout and Y. Güçlü, [**High-Order Structure-Preserving Algorithms for Plasma Hybrid Models**](https://link.springer.com/chapter/10.1007/978-3-031-38299-4_28), International Conference on Geometric Science of Information, 263-271, Springer Nature Switzerland (2023).
252
+
253
+ - F. Holderied, S. Possanner, [**Magneto-hydrodynamic eigenvalue solver for axisymmetric equilibria based on smooth polar splines**](https://doi.org/10.1016/j.jcp.2022.111329), Journal of Computational Physics 464, 111329 (2022).
254
+
255
+ - F. Holderied, S. Possanner, X. Wang, [**MHD-kinetic hybrid code based on structure-preserving finite elements with particles-in-cell**](https://doi.org/10.1016/j.jcp.2021.110143), Journal of Computational Physics 433, 110143 (2021).
238
256
 
239
- - S. Possanner, F. Holderied, Y. Li, B.-K. Na, D. Bell, S. Hadjout and Y. Güçlü, [**High-Order Structure-Preserving Algorithms for Plasma Hybrid Models**](https://link.springer.com/chapter/10.1007/978-3-031-38299-4_28), International Conference on Geometric Science of Information 2023, 263-271, Springer Nature Switzerland.
257
+ - F. Holderied, S. Possanner, A. Ratnani, X. Wang, [**Structure-preserving vs. standard particle-in-cell methods: The case of an electron hybrid model**](https://doi.org/10.1016/j.jcp.2019.109108), Journal of Computational Physics 402, 109108 (2020).
@@ -15,6 +15,7 @@
15
15
 
16
16
  - Maxwell’s equations
17
17
  - Magneto-hydrodynamics (MHD)
18
+ - Multi-fluid models
18
19
  - Vlasov-Poisson and Vlasov-Maxwell kinetic models
19
20
  - Drift-kinetic models for strongly magnetized plasma
20
21
  - MHD-kinetic hybrid models
@@ -25,17 +26,10 @@ The code is freely available under an [MIT license](https://github.com/struphy-h
25
26
 
26
27
  ![Max Planck Institute Logo](https://raw.githubusercontent.com/struphy-hub/.github/refs/heads/main/profile/MPI_PP_Logo_Vertical_E_green_rgb_centered.png)
27
28
 
28
- ## Tutorials
29
-
30
- Get familiar with Struphy right away on [mybinder](https://mybinder.org/v2/gh/struphy-hub/struphy-tutorials/main) - no installation needed.
31
-
32
29
  ## Quick install
33
30
 
34
- Quick install on your computer (using a virtual environment):
31
+ Struphy is available on [PyPI](https://pypi.org/project/struphy/), so you can install it with pip:
35
32
 
36
- python -m venv struphy_env
37
- source struphy_env/bin/activate
38
- pip install -U pip
39
33
  pip install -U struphy
40
34
  struphy compile
41
35
 
@@ -44,6 +38,38 @@ In case you face troubles with install/compile:
44
38
  1. check the [prerequisites](https://struphy-hub.github.io/struphy/sections/install.html#requirements)
45
39
  2. visit [trouble shooting](https://struphy-hub.github.io/struphy/sections/install.html#trouble-shooting)
46
40
 
41
+ ## Example: solve Maxwell’s equations
42
+
43
+ Use the command line to generate a default launch file:
44
+
45
+ struphy params Maxwell
46
+
47
+ This will create `params_Maxwell.py` in your current working directory (cwd). You can open the file and - if you feel like it already - change some parameters. Start the simulation with
48
+
49
+ python params_Maxwell.py
50
+
51
+ The default output is in `sim_1/` in your cwd. You can change the output path via the class `EnvironmentOptions` in the parameter file.
52
+
53
+ Parallel simulations are run for example with
54
+
55
+ pip install -U mpi4py
56
+ mpirun -n 4 python params_Maxwell.py
57
+
58
+ You can also put the run command in a batch script.
59
+
60
+ ## Available models
61
+
62
+ Check the list of currently available models in the [documentation](https://struphy-hub.github.io/struphy/sections/models.html). If you want to see a particular model implemented, please let us know via [issues](https://github.com/struphy-hub/struphy/issues).
63
+
64
+ ## Documentation
65
+
66
+ The doc is on [Github pages](https://struphy-hub.github.io/struphy/index.html), we recommend in particular to visit:
67
+
68
+ - [Install](https://struphy-hub.github.io/struphy/sections/install.html)
69
+ - [Userguide](https://struphy-hub.github.io/struphy/sections/userguide.html)
70
+ - [Available models](https://struphy-hub.github.io/struphy/sections/models.html)
71
+ - [Numerical methods](https://struphy-hub.github.io/struphy/sections/numerics.html)
72
+
47
73
  ## Python API
48
74
 
49
75
  Try out the Python API in a Jupyter notebook or any Python environment. For example, you can create a simulation object and show the domain and equilibrium magnetic field of the linear MHD model via
@@ -74,24 +100,9 @@ sim.show_domain(scalars="absB0", window_size = (850, 250), zoom_factor=2.0)
74
100
 
75
101
  This will show the domain and equilibrium magnetic field of the linear MHD model. You can find more examples in the [documentation](https://struphy-hub.github.io/struphy/index.html).
76
102
 
77
- ## Quick run
103
+ ## Tutorials on Binder
78
104
 
79
- As an example, let’s say we want to solve Maxwell’s equations. We can use the CLI and generate a default launch file via
80
-
81
- struphy params Maxwell
82
-
83
- Hit yes when prompted - this will create the file `params_Maxwell.py` in your current working directory (cwd). You can open the file and - if you feel like it already - change some parameters, then run
84
-
85
- python params_Maxwell.py
86
-
87
- The default output is in `sim_1/` in your cwd. You can change the output path via the class `EnvironmentOptions` in the parameter file.
88
-
89
- Parallel simulations are run for example with
90
-
91
- pip install -U mpi4py
92
- mpirun -n 4 python params_Maxwell.py
93
-
94
- You can also put the run command in a batch script.
105
+ Get familiar with Struphy right away on [mybinder](https://mybinder.org/v2/gh/struphy-hub/struphy-tutorials/main) - no installation needed.
95
106
 
96
107
  ## Docker
97
108
 
@@ -110,15 +121,6 @@ There is also a [Docker image with just the prerequisites](https://hub.docker.co
110
121
  docker pull spossann/ubuntu-for-struphy:main
111
122
  docker run -it --rm spossann/ubuntu-for-struphy:main
112
123
 
113
- ## Documentation
114
-
115
- The doc is on [Github pages](https://struphy-hub.github.io/struphy/index.html), we recommend in particular to visit:
116
-
117
- - [Install](https://struphy-hub.github.io/struphy/sections/install.html)
118
- - [Userguide](https://struphy-hub.github.io/struphy/sections/userguide.html)
119
- - [Available models](https://struphy-hub.github.io/struphy/sections/models.html)
120
- - [Numerical methods](https://struphy-hub.github.io/struphy/sections/numerics.html)
121
-
122
124
  ## Get in touch
123
125
 
124
126
  - [Issues](https://github.com/struphy-hub/struphy/issues)
@@ -127,6 +129,21 @@ The doc is on [Github pages](https://struphy-hub.github.io/struphy/index.html),
127
129
  - [@max-models](https://github.com/max-models) [max.lindqvist@ipp.mpg.de](mailto:Max.Lindqvist@ipp.mpg.de) (Maintainer)
128
130
  - [LinkedIn profile](https://www.linkedin.com/company/struphy/)
129
131
 
130
- ## Citing Struphy
132
+ ## Publications
133
+
134
+ - D. Bell, M.C. Pinto, S. Possanner, E. Sonnendrücker,
135
+ [**The linearized Vlasov–Maxwell system as a Hamiltonian system**](https://doi.org/10.1016/j.jcp.2026.114765),
136
+ Journal of Computational Physics, Volume 555, 114765 (2026).
137
+
138
+ - V. Carlier, M.C. Pinto, [**Variational discretizations of ideal magnetohydrodynamics in smooth regime using structure-preserving finite elements**](https://doi.org/10.1016/j.jcp.2024.113647),
139
+ Journal of Computational Physics, Volume 523, 113647 (2025).
140
+
141
+ - Y. Li, M.C. Pinto, F. Holderied, S. Possanner, E. Sonnendrücker, [**Geometric Particle-In-Cell discretizations of a plasma hybrid model with kinetic ions and mass-less fluid electrons**](https://doi.org/10.1016/j.jcp.2023.112671), Journal of Computational Physics 498, 112671 (2023).
142
+
143
+ - S. Possanner, F. Holderied, Y. Li, B.-K. Na, D. Bell, S. Hadjout and Y. Güçlü, [**High-Order Structure-Preserving Algorithms for Plasma Hybrid Models**](https://link.springer.com/chapter/10.1007/978-3-031-38299-4_28), International Conference on Geometric Science of Information, 263-271, Springer Nature Switzerland (2023).
144
+
145
+ - F. Holderied, S. Possanner, [**Magneto-hydrodynamic eigenvalue solver for axisymmetric equilibria based on smooth polar splines**](https://doi.org/10.1016/j.jcp.2022.111329), Journal of Computational Physics 464, 111329 (2022).
146
+
147
+ - F. Holderied, S. Possanner, X. Wang, [**MHD-kinetic hybrid code based on structure-preserving finite elements with particles-in-cell**](https://doi.org/10.1016/j.jcp.2021.110143), Journal of Computational Physics 433, 110143 (2021).
131
148
 
132
- - S. Possanner, F. Holderied, Y. Li, B.-K. Na, D. Bell, S. Hadjout and Y. Güçlü, [**High-Order Structure-Preserving Algorithms for Plasma Hybrid Models**](https://link.springer.com/chapter/10.1007/978-3-031-38299-4_28), International Conference on Geometric Science of Information 2023, 263-271, Springer Nature Switzerland.
149
+ - F. Holderied, S. Possanner, A. Ratnani, X. Wang, [**Structure-preserving vs. standard particle-in-cell methods: The case of an electron hybrid model**](https://doi.org/10.1016/j.jcp.2019.109108), Journal of Computational Physics 402, 109108 (2020).
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "struphy"
9
- version = "3.1.0"
9
+ version = "3.3.0"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"
12
12
  authors = [
@@ -23,79 +23,80 @@ classifiers = [
23
23
  "Programming Language :: Python :: 3",
24
24
  ]
25
25
  dependencies = [
26
- "numpy<=2.4.3",
27
- "cunumpy<=0.1.1",
28
- "pyccel<=2.2.3, >=2.1",
29
- "feectools<=0.1.3",
30
- "scipy<=1.17.1",
26
+ "numpy<=2.5.0",
27
+ "cunumpy>=0.1.4, <=0.1.5",
28
+ "pyccel>=2.2.0, <=2.2.3",
29
+ "feectools >= 0.1.10, <=0.1.10",
30
+ "scipy<=1.18.0",
31
31
  "h5py<=3.16.0",
32
- "matplotlib<=3.10.8",
32
+ "matplotlib<=3.11.0",
33
33
  "pyyaml<=6.0.3",
34
- "vtk<=9.6.1",
35
- "tqdm<=4.67.3",
36
- "argcomplete<=3.6.3",
34
+ "vtk<=9.7.0",
35
+ "tqdm<=4.70.0",
36
+ "argcomplete<=3.7.0",
37
37
  "ipywidgets<=8.1.8",
38
- "plotly<=6.6.0",
39
- "pyvista<=0.47.3",
40
- "trame<=3.12.0",
38
+ "plotly<=6.9.0",
39
+ "pyvista<=0.48.0",
40
+ "trame<=3.13.0",
41
41
  "trame-vtk<=2.11.8",
42
- "trame-vuetify<=3.2.1",
42
+ "trame-vuetify<=3.2.2",
43
43
  "nest_asyncio2<=1.7.2",
44
- "vtk<=9.6.1",
45
- "pytest<=9.0.3",
44
+ "vtk<=9.7.0",
45
+ "pytest<=9.1.0",
46
46
  "pytest-mpi<=0.6",
47
47
  "pytest-testmon<=2.2.0",
48
- "ruff<=0.15.11, >=0.15.0",
48
+ "ruff==0.15.0, <=0.16.0",
49
49
  "line_profiler<=5.0.2",
50
- "scope-profiler<=0.1.9, >=0.1.7",
51
- "jax-finufft<=1.2.0",
50
+ "scope-profiler >= 0.5.0, <=0.5.0",
52
51
  ]
53
52
 
54
53
  [project.license]
55
54
  file = "LICENSE"
56
55
 
57
56
  [project.optional-dependencies]
57
+ mpi = [
58
+ "mpi4py<=4.1.1",
59
+ ]
58
60
  phys = [
59
- "gvec<=1.4.1, >=1.1.0",
61
+ "gvec>=1.1.0, <=1.5.0",
60
62
  "desc-opt<=0.17.1",
61
63
  ]
62
64
  dev = [
63
65
  "struphy[mpi]",
64
- "notebook<=7.5.5",
65
- "autopep8<=2.3.2",
66
- "isort<=8.0.1",
67
- "flake8<=7.3.0",
68
- "pylint<=4.0.5",
69
- "ssort<=0.16.0",
70
- "add-trailing-comma<=4.0.0",
71
- "pre-commit<=4.6.0",
72
- "nbstripout<=0.9.1",
73
- "tabulate<=0.10.0",
74
- "tomli-w<=1.2.0",
75
- "kaleido<=1.2.0",
76
- "pandas<=3.0.2",
77
- ]
78
- mpi = [
79
- "mpi4py<=4.1.1",
66
+ "notebook",
67
+ "autopep8",
68
+ "isort",
69
+ "flake8",
70
+ "pylint",
71
+ "ssort",
72
+ "add-trailing-comma",
73
+ "pre-commit",
74
+ "nbstripout",
75
+ "tabulate",
76
+ "tomli-w",
77
+ "kaleido",
78
+ "pandas",
79
+ "scope-profiler[pproc]",
80
+ "slurm-script-generator>=0.3.6",
80
81
  ]
81
82
  doc = [
82
83
  "struphy[phys]",
83
- "jupyter<=1.1.1",
84
- "nbconvert<=6.5.4",
85
- "ipykernel<=7.2.0",
86
- "sphinx<=9.1.0",
87
- "sphinx-design<=0.7.0",
88
- "lxml_html_clean<=0.4.4",
89
- "sphinxcontrib-napoleon<=0.7",
90
- "sphinx-copybutton<=0.5.2",
91
- "sphinx-collections<=0.3.1",
92
- "pydata-sphinx-theme<=0.17.1",
93
- "nbsphinx<=0.9.8",
94
- "m2r2<=0.3.4",
95
- "myst-parser<=5.0.0",
96
- "mistune<=0.8.4",
97
- "docutils<=0.22.4",
98
- "ipyparallel<=9.1.0",
84
+ "jupyter",
85
+ "nbconvert",
86
+ "ipykernel",
87
+ "sphinx",
88
+ "sphinx-design",
89
+ "lxml_html_clean",
90
+ "sphinxcontrib-napoleon",
91
+ "sphinx-copybutton",
92
+ "sphinx-collections",
93
+ "pydata-sphinx-theme",
94
+ "nbsphinx",
95
+ "m2r2",
96
+ "myst-parser",
97
+ "docutils",
98
+ "ipyparallel",
99
+ "scope-profiler[pproc]",
99
100
  ]
100
101
  likwid = [
101
102
  "struphy[dev]",
@@ -179,4 +180,5 @@ markers = [
179
180
  "kinetic",
180
181
  "hybrid",
181
182
  "single",
183
+ "mpi_pic",
182
184
  ]