struphy 3.2.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 (376) hide show
  1. {struphy-3.2.0/src/struphy.egg-info → struphy-3.3.0}/PKG-INFO +18 -15
  2. {struphy-3.2.0 → struphy-3.3.0}/pyproject.toml +19 -15
  3. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/__init__.py +48 -7
  4. struphy-3.3.0/src/struphy/api/compiler/__init__.py +3 -0
  5. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/options/__init__.py +3 -0
  6. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/bsplines.py +2 -2
  7. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/compile_struphy.mk +2 -3
  8. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/compile.py +87 -80
  9. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/format.py +160 -97
  10. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/main.py +42 -9
  11. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/test.py +2 -1
  12. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/tests/xx_test_console.py +1 -1
  13. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/diagnostics/diagn_tools.py +1 -1
  14. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/basis_projection_ops.py +12 -13
  15. struphy-3.3.0/src/struphy/feec/boundary_mass.py +588 -0
  16. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/mass.py +382 -146
  17. struphy-3.3.0/src/struphy/feec/mass_kernels.py +1268 -0
  18. struphy-3.3.0/src/struphy/feec/memory.py +70 -0
  19. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/preconditioner.py +8 -10
  20. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/psydac_derham.py +46 -16
  21. struphy-3.3.0/src/struphy/feec/tests/test_boundary_integrals.py +372 -0
  22. struphy-3.3.0/src/struphy/feec/tests/test_estimate_mem.py +77 -0
  23. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_mass_matrices.py +200 -41
  24. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/utilities_kernels.py +6 -2
  25. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/base.py +55 -0
  26. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/equils.py +281 -377
  27. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/base.py +219 -48
  28. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/domains.py +193 -269
  29. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/utilities.py +9 -9
  30. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/initial/base.py +55 -0
  31. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/initial/perturbations.py +453 -366
  32. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/io/options.py +24 -9
  33. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/io/output_handling.py +29 -16
  34. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kernel_arguments/pusher_args_kernels.py +14 -12
  35. struphy-3.3.0/src/struphy/kinetic_background/base.py +1013 -0
  36. struphy-3.3.0/src/struphy/kinetic_background/maxwellians.py +846 -0
  37. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kinetic_background/tests/test_base.py +25 -26
  38. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kinetic_background/tests/test_maxwellians.py +199 -213
  39. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/saddle_point.py +2 -0
  40. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/schur_solver.py +4 -0
  41. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/__init__.py +2 -0
  42. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/base.py +187 -36
  43. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/cold_plasma.py +17 -39
  44. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/cold_plasma_vlasov.py +74 -111
  45. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/deterministic_particle_diffusion.py +8 -29
  46. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/drift_kinetic_electrostatic_adiabatic.py +65 -57
  47. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/guiding_center.py +27 -48
  48. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/hasegawa_wakatani.py +47 -72
  49. struphy-3.3.0/src/struphy/models/incompressible_navier_stokes_sph.py +277 -0
  50. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/linear_extended_mh_duniform.py +70 -102
  51. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/linear_mhd.py +4 -24
  52. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/linear_mhd_driftkinetic_cc.py +63 -171
  53. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/linear_mhd_vlasov_cc.py +58 -107
  54. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/linear_mhd_vlasov_pc.py +39 -105
  55. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/linear_vlasov_ampere_one_species.py +113 -171
  56. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/linear_vlasov_maxwell_one_species.py +23 -76
  57. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/maxwell.py +1 -5
  58. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/poisson.py +38 -40
  59. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/pressure_less_sph.py +31 -34
  60. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/random_particle_diffusion.py +8 -28
  61. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/shear_alfven.py +59 -77
  62. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/species.py +1 -1
  63. struphy-3.3.0/src/struphy/models/tests/test_estimate_mem.py +114 -0
  64. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/utils_testing.py +24 -11
  65. struphy-3.3.0/src/struphy/models/tests/verification/test_verif_IncompressibleNavierStokesSPH.py +504 -0
  66. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_LinearMHD.py +0 -1
  67. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_Poisson.py +1 -2
  68. struphy-3.3.0/src/struphy/models/tests/verification/test_verif_ViscousEulerSPH.py +1048 -0
  69. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_VlasovAmpereOneSpecies.py +5 -1
  70. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/toy_drift.py +27 -39
  71. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/two_fluid_quasi_neutral_toy.py +40 -56
  72. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/variables.py +156 -4
  73. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/variational_barotropic_fluid.py +31 -51
  74. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/variational_compressible_fluid.py +77 -105
  75. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/variational_pressureless_fluid.py +31 -49
  76. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_deltaf_mhd.py +80 -108
  77. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_deltaf_mhd_with_q.py +84 -120
  78. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_linear_mhd.py +84 -116
  79. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_linear_mhd_with_q.py +84 -119
  80. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_mhd.py +91 -129
  81. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_mhd_with_p.py +64 -95
  82. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/visco_resistive_mhd_with_q.py +73 -103
  83. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/viscous_euler_sph.py +47 -35
  84. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/viscous_fluid.py +89 -87
  85. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/vlasov.py +13 -25
  86. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/vlasov_ampere_one_species.py +65 -79
  87. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/vlasov_maxwell_one_species.py +119 -112
  88. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/ode/solvers.py +2 -0
  89. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/ode/utils.py +10 -1
  90. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/particles/parameters.py +10 -6
  91. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/accum_kernels.py +43 -321
  92. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/accum_kernels_gc.py +47 -94
  93. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/filler_kernels.py +0 -60
  94. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/filter.py +3 -4
  95. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/particle_to_mat_kernels.py +0 -61
  96. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/particles_to_grid.py +164 -41
  97. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/base.py +3170 -3070
  98. struphy-3.3.0/src/struphy/pic/particles.py +952 -0
  99. struphy-3.3.0/src/struphy/pic/pushing/eval_kernels_gc.py +469 -0
  100. struphy-3.3.0/src/struphy/pic/pushing/eval_kernels_sph.py +535 -0
  101. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher.py +43 -19
  102. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher_kernels.py +101 -648
  103. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher_kernels_gc.py +10 -6
  104. struphy-3.3.0/src/struphy/pic/pushing/pusher_kernels_sph.py +674 -0
  105. struphy-3.3.0/src/struphy/pic/sorting.py +401 -0
  106. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/sph_eval_kernels.py +148 -109
  107. struphy-3.3.0/src/struphy/pic/tests/_bench_push_vxb_analytic.py +91 -0
  108. struphy-3.3.0/src/struphy/pic/tests/bench_openmp_speedup.py +99 -0
  109. struphy-3.3.0/src/struphy/pic/tests/test_accum_vec_H1.py +624 -0
  110. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_binning.py +82 -32
  111. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_draw_parallel.py +2 -0
  112. struphy-3.3.0/src/struphy/pic/tests/test_estimate_mem.py +110 -0
  113. struphy-3.3.0/src/struphy/pic/tests/test_neighbor_ranks.py +106 -0
  114. struphy-3.3.0/src/struphy/pic/tests/test_pusher_openmp_speedup.py +100 -0
  115. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_pushers.py +8 -11
  116. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_set_zero_velocity.py +1 -0
  117. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_sorting.py +10 -6
  118. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_sph.py +129 -3
  119. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_tesselation.py +4 -2
  120. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/utilities_kernels.py +39 -18
  121. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/orbits/orbits_tools.py +2 -2
  122. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/post_processing_tools.py +601 -336
  123. struphy-3.3.0/src/struphy/post_processing/tests/test_eval_grids.py +259 -0
  124. struphy-3.3.0/src/struphy/post_processing/tests/test_eval_grids_mpi.py +243 -0
  125. struphy-3.3.0/src/struphy/post_processing/tests/test_pproc.py +108 -0
  126. struphy-3.3.0/src/struphy/propagators/__init__.py +91 -0
  127. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/adiabatic_phi.py +3 -1
  128. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/base.py +9 -0
  129. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/curl_curl_solve.py +39 -29
  130. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/current_coupling_5d_curlb.py +23 -24
  131. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/current_coupling_5d_density.py +33 -27
  132. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/current_coupling_5d_gradb.py +43 -41
  133. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/current_coupling_6d_current.py +16 -14
  134. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/current_coupling_6d_density.py +26 -21
  135. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/efield_weights_coupling.py +3 -3
  136. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/hall.py +14 -9
  137. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/hasegawa_wakatani_step.py +19 -18
  138. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/implicit_diffusion.py +144 -43
  139. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/jxb_cold.py +3 -1
  140. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/magnetosonic.py +11 -11
  141. struphy-3.3.0/src/struphy/propagators/poisson_adiabatic_gyrokinetic.py +208 -0
  142. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/poisson_solve.py +32 -22
  143. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/pressure_coupling_6d.py +5 -5
  144. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/push_deterministic_diffusion.py +4 -8
  145. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/push_eta.py +3 -10
  146. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/push_eta_pc.py +15 -16
  147. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/push_guiding_center_bx_estar.py +35 -31
  148. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/push_guiding_center_parallel.py +35 -31
  149. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/push_random_diffusion.py +3 -7
  150. struphy-3.3.0/src/struphy/propagators/push_v_in_force_field.py +159 -0
  151. struphy-3.2.0/src/struphy/propagators/push_vin_sph_pressure.py → struphy-3.3.0/src/struphy/propagators/push_v_in_sph_pressure.py +39 -16
  152. struphy-3.2.0/src/struphy/propagators/push_vin_viscous_potential.py → struphy-3.3.0/src/struphy/propagators/push_v_in_viscous_potential.py +5 -5
  153. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/push_vxb.py +20 -20
  154. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/shear_alfven_current_coupling_5d.py +16 -9
  155. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/tests/test_curl_curl.py +3 -5
  156. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/tests/test_gyrokinetic_poisson.py +7 -14
  157. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/tests/test_poisson.py +13 -18
  158. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_density_evolve.py +11 -7
  159. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_entropy_evolve.py +10 -7
  160. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_momentum_advection.py +5 -2
  161. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_pb_evolve.py +31 -21
  162. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_qb_evolve.py +31 -21
  163. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_resistivity.py +20 -17
  164. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_viscosity.py +16 -13
  165. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/vlasov_ampere_coupling.py +3 -3
  166. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/simulation/sim.py +904 -415
  167. struphy-3.3.0/src/struphy/simulation/tests/test_estimate_mem.py +165 -0
  168. struphy-3.3.0/src/struphy/utils/__init__.py +0 -0
  169. struphy-3.3.0/src/struphy/utils/compiler.py +238 -0
  170. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/utils/docstring_converter.py +159 -0
  171. struphy-3.3.0/src/struphy/utils/mpi_launch.py +82 -0
  172. struphy-3.3.0/src/struphy/utils/progress.py +13 -0
  173. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/utils/utils.py +1 -1
  174. {struphy-3.2.0 → struphy-3.3.0/src/struphy.egg-info}/PKG-INFO +18 -15
  175. {struphy-3.2.0 → struphy-3.3.0}/src/struphy.egg-info/SOURCES.txt +28 -5
  176. {struphy-3.2.0 → struphy-3.3.0}/src/struphy.egg-info/requires.txt +17 -14
  177. struphy-3.2.0/src/struphy/feec/mass_kernels.py +0 -768
  178. struphy-3.2.0/src/struphy/kinetic_background/base.py +0 -865
  179. struphy-3.2.0/src/struphy/kinetic_background/maxwellians.py +0 -729
  180. struphy-3.2.0/src/struphy/models/tests/verification/test_verif_ViscousEulerSPH.py +0 -165
  181. struphy-3.2.0/src/struphy/pic/particles.py +0 -707
  182. struphy-3.2.0/src/struphy/pic/pushing/eval_kernels_gc.py +0 -1022
  183. struphy-3.2.0/src/struphy/pic/tests/test_accum_vec_H1.py +0 -206
  184. struphy-3.2.0/src/struphy/post_processing/likwid/plot_time_traces.py +0 -380
  185. struphy-3.2.0/src/struphy/propagators/__init__.py +0 -93
  186. struphy-3.2.0/src/struphy/propagators/push_vin_efield.py +0 -143
  187. struphy-3.2.0/src/struphy/utils/pyccel.py +0 -25
  188. {struphy-3.2.0 → struphy-3.3.0}/LICENSE +0 -0
  189. {struphy-3.2.0 → struphy-3.3.0}/README.md +0 -0
  190. {struphy-3.2.0 → struphy-3.3.0}/setup.cfg +0 -0
  191. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/__init__.py +0 -0
  192. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/domains/__init__.py +0 -0
  193. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/equils/__init__.py +0 -0
  194. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/grids/__init__.py +0 -0
  195. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/maxwellians/__init__.py +0 -0
  196. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/models/__init__.py +0 -0
  197. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/ode/__init__.py +0 -0
  198. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/particles/__init__.py +0 -0
  199. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/perturbations/__init__.py +0 -0
  200. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/post_processing/__init__.py +0 -0
  201. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/api/simulation/__init__.py +0 -0
  202. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/__init__.py +0 -0
  203. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/bsplines_kernels.py +0 -0
  204. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/evaluation_kernels_1d.py +0 -0
  205. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/evaluation_kernels_2d.py +0 -0
  206. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/evaluation_kernels_3d.py +0 -0
  207. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/shapefunc_kernels.py +0 -0
  208. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/tests/__init__.py +0 -0
  209. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/tests/test_bsplines_kers.py +0 -0
  210. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/bsplines/tests/test_eval_spline_mpi.py +0 -0
  211. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/conftest.py +0 -0
  212. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/__init__.py +0 -0
  213. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/likwid.py +0 -0
  214. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/params.py +0 -0
  215. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/parsers.py +0 -0
  216. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/console/profile.py +0 -0
  217. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/dependencies.py +0 -0
  218. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/diagnostics/__init__.py +0 -0
  219. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/diagnostics/console_diagn.py +0 -0
  220. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/diagnostics/paraview/__init__.py +0 -0
  221. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/diagnostics/paraview/mesh_creator.py +0 -0
  222. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/diagnostics/paraview/vtk_writer.py +0 -0
  223. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/dispersion_relations/__init__.py +0 -0
  224. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/dispersion_relations/analytic.py +0 -0
  225. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/dispersion_relations/base.py +0 -0
  226. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/dispersion_relations/utilities.py +0 -0
  227. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/eigenvalue_solvers/derivatives.py +0 -0
  228. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/examples/_draw_parallel.py +0 -0
  229. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/examples/restelli2018/__init__.py +0 -0
  230. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/examples/restelli2018/callables.py +0 -0
  231. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/__init__.py +0 -0
  232. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/banded_to_stencil_kernels.py +0 -0
  233. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/basis_projection_kernels.py +0 -0
  234. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/linear_operators.py +0 -0
  235. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/local_projectors_kernels.py +0 -0
  236. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/projectors.py +0 -0
  237. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/__init__.py +0 -0
  238. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_basis_ops.py +0 -0
  239. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_derham.py +0 -0
  240. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_eval_field.py +0 -0
  241. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_field_init.py +0 -0
  242. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_l2_projectors.py +0 -0
  243. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_local_matrix_vector.py +0 -0
  244. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_local_projectors.py +0 -0
  245. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_lowdim_nel_is_1.py +0 -0
  246. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_toarray_struphy.py +0 -0
  247. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/test_tosparse_struphy.py +0 -0
  248. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/tests/xx_test_preconds.py +0 -0
  249. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/utilities.py +0 -0
  250. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/utilities_local_projectors.py +0 -0
  251. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/feec/variational_utilities.py +0 -0
  252. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/__init__.py +0 -0
  253. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/coil_fields/__init__.py +0 -0
  254. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/coil_fields/base.py +0 -0
  255. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/coil_fields/coil_fields.py +0 -0
  256. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/__init__.py +0 -0
  257. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/__init__.py +0 -0
  258. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/AUGNLED_g031213.00830.high +0 -0
  259. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/__init__.py +0 -0
  260. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +0 -0
  261. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/__init__.py +0 -0
  262. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/output/__init__.py +0 -0
  263. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/output/vtk/__init__.py +0 -0
  264. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00000000.dat +0 -0
  265. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00001000.dat +0 -0
  266. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_01/parameter.ini +0 -0
  267. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000000.dat +0 -0
  268. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000100.dat +0 -0
  269. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_02/parameter-w7x.ini +0 -0
  270. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00000000.dat +0 -0
  271. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00003307.dat +0 -0
  272. {struphy-3.2.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
  273. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/gvec/run_03/parameter-fig8.ini +0 -0
  274. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/mhd_equil/vmec/__init__.py +0 -0
  275. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/projected_equils.py +0 -0
  276. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/tests/__init__.py +0 -0
  277. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_desc_equil.py +0 -0
  278. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_generic_equils.py +0 -0
  279. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_mhd_equils.py +0 -0
  280. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/fields_background/tests/test_numerical_mhd_equil.py +0 -0
  281. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/__init__.py +0 -0
  282. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/evaluation_kernels.py +0 -0
  283. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/map_coef/__init__.py +0 -0
  284. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/mappings_kernels.py +0 -0
  285. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/tests/__init__.py +0 -0
  286. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/tests/test_domain.py +0 -0
  287. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/transform_kernels.py +0 -0
  288. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/geometry/utilities_kernels.py +0 -0
  289. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/initial/__init__.py +0 -0
  290. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/initial/eigenfunctions.py +0 -0
  291. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/initial/tests/__init__.py +0 -0
  292. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/initial/tests/test_init_perturbations.py +0 -0
  293. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/initial/utilities.py +0 -0
  294. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/io/__init__.py +0 -0
  295. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/io/setup.py +0 -0
  296. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kernel_arguments/__init__.py +0 -0
  297. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kernel_arguments/local_projectors_args_kernels.py +0 -0
  298. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kinetic_background/__init__.py +0 -0
  299. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kinetic_background/moment_functions.py +0 -0
  300. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/kinetic_background/tests/__init__.py +0 -0
  301. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/__init__.py +0 -0
  302. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/linalg_kernels.py +0 -0
  303. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/linalg_kron.py +0 -0
  304. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/solver.py +0 -0
  305. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/stencil_dot_kernels.py +0 -0
  306. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/stencil_transpose_kernels.py +0 -0
  307. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/__init__.py +0 -0
  308. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_saddle_point_propagator.py +0 -0
  309. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_saddlepoint_massmatrices.py +0 -0
  310. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_stencil_dot_kers.py +0 -0
  311. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/linear_algebra/tests/test_stencil_transpose_kers.py +0 -0
  312. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/scalars.py +0 -0
  313. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/__init__.py +0 -0
  314. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/default_params/__init__.py +0 -0
  315. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/default_params/test_models.py +0 -0
  316. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/test_examples.py +0 -0
  317. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/verification/__init__.py +0 -0
  318. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/tests/verification/test_verif_Maxwell.py +0 -0
  319. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/models/utils.py +0 -0
  320. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/ode/__init__.py +0 -0
  321. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/ode/tests/__init__.py +0 -0
  322. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/ode/tests/test_ode_feec.py +0 -0
  323. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/particles/__init__.py +0 -0
  324. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/physics/__init__.py +0 -0
  325. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/physics/physics.py +0 -0
  326. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/__init__.py +0 -0
  327. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/__init__.py +0 -0
  328. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/accumulation/filter_kernels.py +0 -0
  329. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/pushing/__init__.py +0 -0
  330. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/pushing/pusher_utilities_kernels.py +0 -0
  331. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/sampling_kernels.py +0 -0
  332. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/sobol_seq.py +0 -0
  333. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/sorting_kernels.py +0 -0
  334. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/sph_smoothing_kernels.py +0 -0
  335. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/__init__.py +0 -0
  336. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/tests/test_mat_vec_filler.py +0 -0
  337. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/pic/utilities.py +0 -0
  338. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/polar/__init__.py +0 -0
  339. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/polar/basic.py +0 -0
  340. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/polar/extraction_operators.py +0 -0
  341. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/polar/linear_operators.py +0 -0
  342. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/polar/tests/__init__.py +0 -0
  343. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/polar/tests/test_polar.py +0 -0
  344. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/__init__.py +0 -0
  345. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/cprofile_analyser.py +0 -0
  346. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/__init__.py +0 -0
  347. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/hardware_dicts.py +0 -0
  348. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/likwid_parser.py +0 -0
  349. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/maxplotlylib.py +0 -0
  350. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/plot_likwidproject.py +0 -0
  351. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/likwid/roofline_plotter.py +0 -0
  352. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/orbits/__init__.py +0 -0
  353. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/orbits/orbits_kernels.py +0 -0
  354. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/profile_struphy.py +0 -0
  355. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/post_processing/tests/__init__.py +0 -0
  356. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/faraday_extended.py +0 -0
  357. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/magnetosonic_uniform.py +0 -0
  358. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/maxwell_weak_ampere.py +0 -0
  359. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/ohm_cold.py +0 -0
  360. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/shear_alfven_b1.py +0 -0
  361. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/shear_alfven_propagator.py +0 -0
  362. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/tests/__init__.py +0 -0
  363. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/time_dependent_source.py +0 -0
  364. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/two_fluid_quasi_neutral_full.py +0 -0
  365. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/propagators/variational_mag_field_evolve.py +0 -0
  366. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/simulation/__init__.py +0 -0
  367. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/simulation/base.py +0 -0
  368. {struphy-3.2.0/src/struphy/topology → struphy-3.3.0/src/struphy/simulation/tests}/__init__.py +0 -0
  369. {struphy-3.2.0/src/struphy/utils → struphy-3.3.0/src/struphy/topology}/__init__.py +0 -0
  370. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/topology/grids.py +0 -0
  371. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/utils/clone_config.py +0 -0
  372. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/utils/cupy_vs_numpy.py +0 -0
  373. {struphy-3.2.0 → struphy-3.3.0}/src/struphy/utils/test_clone_config.py +0 -0
  374. {struphy-3.2.0 → struphy-3.3.0}/src/struphy.egg-info/dependency_links.txt +0 -0
  375. {struphy-3.2.0 → struphy-3.3.0}/src/struphy.egg-info/entry_points.txt +0 -0
  376. {struphy-3.2.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.2.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,35 +30,35 @@ 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
33
+ Requires-Dist: numpy<=2.5.0
34
+ Requires-Dist: cunumpy<=0.1.5,>=0.1.4
35
35
  Requires-Dist: pyccel<=2.2.3,>=2.2.0
36
- Requires-Dist: feectools<=0.1.3
37
- Requires-Dist: scipy<=1.17.1
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.68.1
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.8.0
45
+ Requires-Dist: plotly<=6.9.0
46
46
  Requires-Dist: pyvista<=0.48.0
47
47
  Requires-Dist: trame<=3.13.0
48
48
  Requires-Dist: trame-vtk<=2.11.8
49
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.12,>=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
57
+ Requires-Dist: scope-profiler<=0.5.0,>=0.5.0
58
58
  Provides-Extra: mpi
59
59
  Requires-Dist: mpi4py<=4.1.1; extra == "mpi"
60
60
  Provides-Extra: phys
61
- Requires-Dist: gvec<=1.4.1,>=1.1.0; extra == "phys"
61
+ Requires-Dist: gvec<=1.5.0,>=1.1.0; extra == "phys"
62
62
  Requires-Dist: desc-opt<=0.17.1; extra == "phys"
63
63
  Provides-Extra: dev
64
64
  Requires-Dist: struphy[mpi]; extra == "dev"
@@ -75,6 +75,8 @@ Requires-Dist: tabulate; extra == "dev"
75
75
  Requires-Dist: tomli-w; extra == "dev"
76
76
  Requires-Dist: kaleido; extra == "dev"
77
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"
78
80
  Provides-Extra: doc
79
81
  Requires-Dist: struphy[phys]; extra == "doc"
80
82
  Requires-Dist: jupyter; extra == "doc"
@@ -92,6 +94,7 @@ Requires-Dist: m2r2; extra == "doc"
92
94
  Requires-Dist: myst-parser; extra == "doc"
93
95
  Requires-Dist: docutils; extra == "doc"
94
96
  Requires-Dist: ipyparallel; extra == "doc"
97
+ Requires-Dist: scope-profiler[pproc]; extra == "doc"
95
98
  Provides-Extra: likwid
96
99
  Requires-Dist: struphy[dev]; extra == "likwid"
97
100
  Requires-Dist: pylikwid; extra == "likwid"
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "struphy"
9
- version = "3.2.0"
9
+ version = "3.3.0"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"
12
12
  authors = [
@@ -23,31 +23,31 @@ classifiers = [
23
23
  "Programming Language :: Python :: 3",
24
24
  ]
25
25
  dependencies = [
26
- "numpy<=2.4.3",
27
- "cunumpy<=0.1.1",
26
+ "numpy<=2.5.0",
27
+ "cunumpy>=0.1.4, <=0.1.5",
28
28
  "pyccel>=2.2.0, <=2.2.3",
29
- "feectools<=0.1.3",
30
- "scipy<=1.17.1",
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.68.1",
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.8.0",
38
+ "plotly<=6.9.0",
39
39
  "pyvista<=0.48.0",
40
40
  "trame<=3.13.0",
41
41
  "trame-vtk<=2.11.8",
42
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.0, <=0.15.12",
48
+ "ruff==0.15.0, <=0.16.0",
49
49
  "line_profiler<=5.0.2",
50
- "scope-profiler>=0.1.7, <=0.1.9",
50
+ "scope-profiler >= 0.5.0, <=0.5.0",
51
51
  ]
52
52
 
53
53
  [project.license]
@@ -58,7 +58,7 @@ mpi = [
58
58
  "mpi4py<=4.1.1",
59
59
  ]
60
60
  phys = [
61
- "gvec>=1.1.0, <=1.4.1",
61
+ "gvec>=1.1.0, <=1.5.0",
62
62
  "desc-opt<=0.17.1",
63
63
  ]
64
64
  dev = [
@@ -76,6 +76,8 @@ dev = [
76
76
  "tomli-w",
77
77
  "kaleido",
78
78
  "pandas",
79
+ "scope-profiler[pproc]",
80
+ "slurm-script-generator>=0.3.6",
79
81
  ]
80
82
  doc = [
81
83
  "struphy[phys]",
@@ -94,6 +96,7 @@ doc = [
94
96
  "myst-parser",
95
97
  "docutils",
96
98
  "ipyparallel",
99
+ "scope-profiler[pproc]",
97
100
  ]
98
101
  likwid = [
99
102
  "struphy[dev]",
@@ -177,4 +180,5 @@ markers = [
177
180
  "kinetic",
178
181
  "hybrid",
179
182
  "single",
183
+ "mpi_pic",
180
184
  ]
@@ -2,9 +2,12 @@
2
2
  import atexit
3
3
  import logging
4
4
  import logging.config
5
+ import os
5
6
 
6
7
  from feectools.ddm.mpi import mpi as MPI
7
8
 
9
+ from struphy.utils.mpi_launch import launched_under_mpi
10
+
8
11
 
9
12
  class RankZeroFilter(logging.Filter):
10
13
  def __init__(self, rank: int):
@@ -15,6 +18,13 @@ class RankZeroFilter(logging.Filter):
15
18
  return self.rank == 0
16
19
 
17
20
 
21
+ class BelowWarningFilter(logging.Filter):
22
+ """Let only DEBUG and INFO records pass (WARNING and above go to stderr)."""
23
+
24
+ def filter(self, record):
25
+ return record.levelno < logging.WARNING
26
+
27
+
18
28
  # logger configuration
19
29
  config = {
20
30
  "version": 1,
@@ -26,7 +36,17 @@ config = {
26
36
  "datefmt": "%Y-%m-%dT%H:%M:%S%z",
27
37
  },
28
38
  },
39
+ "filters": {
40
+ "below_warning": {"()": BelowWarningFilter},
41
+ },
29
42
  "handlers": {
43
+ "stdout": {
44
+ "class": "logging.StreamHandler",
45
+ "level": "DEBUG",
46
+ "formatter": "simple",
47
+ "filters": ["below_warning"],
48
+ "stream": "ext://sys.stdout",
49
+ },
30
50
  "stderr": {
31
51
  "class": "logging.StreamHandler",
32
52
  "level": "WARNING",
@@ -35,14 +55,18 @@ config = {
35
55
  },
36
56
  "file": {
37
57
  "class": "logging.handlers.RotatingFileHandler",
38
- "level": "WARNING",
58
+ "level": "DEBUG",
39
59
  "formatter": "detailed",
40
- "filename": "/tmp/struphy.log",
60
+ # Overridable via STRUPHY_LOG_FILE so processes sharing a cwd (e.g. several
61
+ # profiling jobs launched from the same case directory) don't rotate the
62
+ # same file concurrently -- RotatingFileHandler's rollover isn't safe across
63
+ # separate OS processes and races with FileNotFoundError when they collide.
64
+ "filename": os.environ.get("STRUPHY_LOG_FILE", "struphy.log"),
41
65
  "maxBytes": 10000,
42
66
  "backupCount": 3,
43
67
  },
44
68
  },
45
- "loggers": {"struphy": {"level": "WARNING", "handlers": ["stderr", "file"]}},
69
+ "loggers": {"struphy": {"level": "WARNING", "handlers": ["stdout", "stderr", "file"]}},
46
70
  }
47
71
 
48
72
 
@@ -55,11 +79,12 @@ def set_logging_level(level: int = logging.WARNING):
55
79
  * logging.WARNING: for warnings about potential issues that do not stop the simulation.
56
80
  * logging.ERROR: for errors that occur during the simulation, which may affect results but do not necessarily stop the simulation.
57
81
  * logging.CRITICAL: for critical errors that likely cause the simulation to stop or produce invalid results.
82
+
83
+ Which handler a record ends up in is fixed by the configuration and not changed here:
84
+ DEBUG/INFO go to stdout, WARNING and above to stderr; records that pass the logger level are also written to the log file.
58
85
  """
59
86
  logger = logging.getLogger("struphy")
60
87
  logger.setLevel(level)
61
- for handler in logger.handlers:
62
- handler.setLevel(level)
63
88
 
64
89
  logger.debug(
65
90
  f"\nNew logger level: {logger.level}, effective: {logger.getEffectiveLevel()}, propagate: {logger.propagate}"
@@ -72,12 +97,24 @@ def setup_logging(logging_level: int = logging.WARNING):
72
97
  """Setup logging configuration for struphy."""
73
98
  logger = logging.getLogger("struphy")
74
99
 
100
+ log_path = config["handlers"]["file"]["filename"]
101
+ os.makedirs(os.path.dirname(log_path) or ".", exist_ok=True)
102
+
75
103
  logging.config.dictConfig(config)
76
104
 
77
105
  set_logging_level(logging_level)
78
106
 
79
107
  # Add RankZeroFilter to all handlers
80
- rank = MPI.COMM_WORLD.Get_rank()
108
+ # This helper function figures out whether
109
+ # the current process is launched with mpirun
110
+ # or not without importing mpi4py, which would initialize MPI
111
+ # and cause issues if imported prematurely.
112
+ # Instead, it checks for the presence of certain environment
113
+ # variables that are typically set by MPI launchers (like mpirun or mpiexec).
114
+ if not launched_under_mpi():
115
+ rank = 0
116
+ else:
117
+ rank = MPI.COMM_WORLD.Get_rank()
81
118
  rank_filter = RankZeroFilter(rank)
82
119
 
83
120
  # Apply filter to struphy logger handlers
@@ -103,9 +140,10 @@ def setup_logging(logging_level: int = logging.WARNING):
103
140
  # Default logging setup
104
141
  logger = logging.getLogger("struphy")
105
142
  setup_logging(logging_level=logging.WARNING)
106
- logger.info("Logging setup complete.")
143
+ logger.info(f"Logging setup complete, log-file at {config['handlers']['file']['filename']}")
107
144
 
108
145
  # Import API components
146
+ from struphy.api.compiler import Compiler
109
147
  from struphy.api.domains import domains
110
148
  from struphy.api.equils import equils
111
149
  from struphy.api.grids import grids
@@ -116,6 +154,7 @@ from struphy.api.options import (
116
154
  DerhamOptions,
117
155
  EnvironmentOptions,
118
156
  FieldsBackground,
157
+ ProfilingOptions,
119
158
  Time,
120
159
  )
121
160
  from struphy.api.particles import (
@@ -132,6 +171,7 @@ from struphy.api.post_processing import PlottingData, PostProcessor
132
171
  from struphy.api.simulation import Simulation
133
172
 
134
173
  __all__ = [
174
+ "Compiler",
135
175
  "domains",
136
176
  "equils",
137
177
  "grids",
@@ -139,6 +179,7 @@ __all__ = [
139
179
  "EnvironmentOptions",
140
180
  "BaseUnits",
141
181
  "Time",
182
+ "ProfilingOptions",
142
183
  "perturbations",
143
184
  "LoadingParameters",
144
185
  "WeightsParameters",
@@ -0,0 +1,3 @@
1
+ from struphy.utils.compiler import Compiler
2
+
3
+ __all__ = ["Compiler"]
@@ -1,3 +1,5 @@
1
+ from scope_profiler import ProfilingOptions
2
+
1
3
  from struphy.io.options import (
2
4
  BaseUnits,
3
5
  DerhamOptions,
@@ -10,6 +12,7 @@ __all__ = [
10
12
  "EnvironmentOptions",
11
13
  "BaseUnits",
12
14
  "Time",
15
+ "ProfilingOptions",
13
16
  #
14
17
  "DerhamOptions",
15
18
  "FieldsBackground",
@@ -611,8 +611,8 @@ def make_knots(breaks, degree, periodic):
611
611
 
612
612
  if periodic:
613
613
  period = breaks[-1] - breaks[0]
614
- T[0:p] = [xi - period for xi in breaks[-p - 1 : -1]]
615
- T[-p:] = [xi + period for xi in breaks[1 : p + 1]]
614
+ T[0:p] = xp.asarray([xi - period for xi in breaks[-p - 1 : -1]])
615
+ T[-p:] = xp.asarray([xi + period for xi in breaks[1 : p + 1]])
616
616
  else:
617
617
  T[0:p] = breaks[0]
618
618
  T[-p:] = breaks[-1]
@@ -10,8 +10,7 @@ struphy_path := $(shell $(PYTHON) -c "import struphy; print(struphy.__path__[0])
10
10
  # Arguments to this script are:
11
11
  STRUPHY_SOURCES := $(sources)
12
12
  FLAGS := --libdir $(LIBDIR) $(flags) #--debug
13
- FLAGS_openmp_pic := $(flags_openmp_pic)
14
- FLAGS_openmp_mhd := $(flags_openmp_mhd)
13
+ FLAGS_openmp := $(flags_openmp)
15
14
 
16
15
  #--------------------------------------
17
16
  # SOURCE FILES
@@ -35,7 +34,7 @@ all: $(OUTPUTS)
35
34
  @for dep in $^ ; do \
36
35
  echo $$dep ; \
37
36
  done
38
- pyccel compile -v $(FLAGS) $(FLAGS_openmp_pic) $(FLAGS_openmp_mhd) $<
37
+ pyccel compile -v $(FLAGS) $(FLAGS_openmp) $<
39
38
  @echo ""
40
39
 
41
40
  #--------------------------------------
@@ -1,16 +1,64 @@
1
1
  import logging
2
+ import os
3
+ import sysconfig
2
4
 
3
5
  from struphy.utils.utils import STRUPHY_LIBPATH, subp_run
4
6
 
5
7
  logger = logging.getLogger("struphy")
8
+ from struphy import set_logging_level
9
+
10
+ set_logging_level(logging.WARNING)
11
+ so_suffix = sysconfig.get_config_var("EXT_SUFFIX")
12
+
13
+
14
+ def count_compiled_kernels(state):
15
+ """Count the number of compiled kernels in the state dictionary."""
16
+ count_c = 0
17
+ count_f90 = 0
18
+ list_not_compiled = [s for s in state["kernels"]]
19
+ for subdir, _, files in os.walk(STRUPHY_LIBPATH):
20
+ # logger.info(f'{subdir = }')
21
+ if subdir[-10:] == "__pyccel__" and "__epyccel__" not in subdir:
22
+ dir_stem = "/".join(subdir.split("/")[:-1])
23
+ # logger.info(f'{dir_stem = }')
24
+ for file in files:
25
+ if file[-2:] == ".c" and "wrapper" not in file and "bind_c_" not in file:
26
+ stem = file[:-2]
27
+ is_c = True
28
+ elif file[-4:] == ".f90" and "wrapper" not in file and "bind_c_" not in file:
29
+ stem = file[:-4]
30
+ is_c = False
31
+ else:
32
+ continue
33
+
34
+ py_file = stem + ".py"
35
+ matches = [ker for ker in state["kernels"] if py_file in ker and dir_stem in ker]
36
+ # logger.info(f'{matches = }')
37
+ matching = None
38
+ for match in matches:
39
+ py_ker = match.split("/")[-1]
40
+ if py_ker == py_file:
41
+ matching = match
42
+ if matching is None:
43
+ continue
44
+ matching_so = matching.replace(".py", so_suffix)
45
+ # logger.info(f'{matching_so = }')
46
+ if os.path.isfile(matching_so):
47
+ if is_c and state["last_used_language"] == "c":
48
+ count_c += 1
49
+ elif not is_c and state["last_used_language"] == "fortran":
50
+ count_f90 += 1
51
+ if matching in list_not_compiled:
52
+ list_not_compiled.remove(matching)
53
+
54
+ return count_c, count_f90, list_not_compiled
6
55
 
7
56
 
8
57
  def struphy_compile(
9
58
  language,
10
59
  compiler,
11
60
  compiler_config,
12
- omp_pic,
13
- omp_feec,
61
+ openmp,
14
62
  delete,
15
63
  status,
16
64
  verbose,
@@ -32,11 +80,8 @@ def struphy_compile(
32
80
  compiler_config : str
33
81
  Path to a JSON compiler file.
34
82
 
35
- omp_pic : bool
36
- Whether to compile PIC kernels with OpenMP (default=False).
37
-
38
- omp_feec : bool
39
- WHether to compile FEEC kernels with OpenMP (default=False).
83
+ openmp : bool
84
+ Whether to compile all kernels with OpenMP (default=False).
40
85
 
41
86
  delete : bool
42
87
  If True, deletes generated Fortran/C files and .so files (default=False).
@@ -59,9 +104,7 @@ def struphy_compile(
59
104
 
60
105
  import importlib.metadata
61
106
  import importlib.util
62
- import os
63
107
  import re
64
- import sysconfig
65
108
 
66
109
  import pyccel
67
110
 
@@ -83,23 +126,27 @@ def struphy_compile(
83
126
 
84
127
  # collect kernels
85
128
  if "kernels" not in state:
86
- state["kernels"] = []
129
+ tmp = []
87
130
  for subdir, dirs, files in os.walk(libpath):
131
+ logger.debug(f"\n{subdir = }")
88
132
  for file in files:
133
+ logger.debug(f"{file = }")
89
134
  if (
90
135
  "kernels" in file
91
136
  and ".py" in file
92
137
  and "_tmp.py" not in file
93
138
  and "test" not in file
94
139
  and "__pycache__" not in subdir
140
+ and "__pyccel__" not in subdir
95
141
  ):
96
- state["kernels"] += [os.path.join(subdir, file)]
142
+ tmp += [os.path.join(subdir, file)]
143
+
144
+ state["kernels"] = sorted(tmp)
97
145
 
98
146
  # set initial compiler infos to None
99
147
  state["last_used_language"] = None
100
148
  state["last_used_compiler"] = None
101
- state["last_used_omp_pic"] = None
102
- state["last_used_omp_feec"] = None
149
+ state["last_used_omp"] = None
103
150
 
104
151
  utils.save_state(state)
105
152
  # source files
@@ -108,7 +155,7 @@ def struphy_compile(
108
155
  # actions
109
156
  if delete:
110
157
  # (change dir not to be in source path)
111
- logger.info("\nDeleting .f90/.c and .so files ...")
158
+ print("\nDeleting .f90/.c and .so files ...")
112
159
  # TODO: for using pyccel clean in the future
113
160
  # cmd = [
114
161
  # "pyccel",
@@ -122,72 +169,37 @@ def struphy_compile(
122
169
  "sources=" + sources,
123
170
  ]
124
171
  subp_run(cmd)
125
- logger.info("Done.")
172
+ print("Done.")
126
173
 
127
- logger.info("\nDeleting psydac kernels ...")
174
+ print("\nDeleting psydac kernels ...")
128
175
  cmd = [
129
176
  "psydac-accelerate",
130
177
  "--cleanup",
131
178
  ]
132
179
  subp_run(cmd)
133
- logger.info("Done.")
180
+ print("Done.")
134
181
 
135
- logger.info("\nDeleting state.yml ...")
182
+ print("\nDeleting state.yml ...")
136
183
  os.remove(os.path.join(libpath, "state.yml"))
137
- logger.info("Done.")
184
+ print("Done.")
138
185
 
139
186
  elif status:
140
187
  # update status
141
- count_c = 0
142
- count_f90 = 0
143
- list_not_compiled = [s for s in state["kernels"]]
144
- for subdir, _, files in os.walk(libpath):
145
- # logger.info(f'{subdir = }')
146
- if subdir[-10:] == "__pyccel__" and "__epyccel__" not in subdir:
147
- dir_stem = "/".join(subdir.split("/")[:-1])
148
- # logger.info(f'{dir_stem = }')
149
- for file in files:
150
- if file[-2:] == ".c" and "wrapper" not in file and "bind_c_" not in file:
151
- stem = file[:-2]
152
- is_c = True
153
- elif file[-4:] == ".f90" and "wrapper" not in file and "bind_c_" not in file:
154
- stem = file[:-4]
155
- is_c = False
156
- else:
157
- continue
158
-
159
- py_file = stem + ".py"
160
- matches = [ker for ker in state["kernels"] if py_file in ker and dir_stem in ker]
161
- # logger.info(f'{matches = }')
162
- matching = None
163
- for match in matches:
164
- py_ker = match.split("/")[-1]
165
- if py_ker == py_file:
166
- matching = match
167
- matching_so = matching.replace(".py", so_suffix)
168
- # logger.info(f'{matching_so = }')
169
- if os.path.isfile(matching_so):
170
- if is_c and state["last_used_language"] == "c":
171
- count_c += 1
172
- elif not is_c and state["last_used_language"] == "fortran":
173
- count_f90 += 1
174
- if matching in list_not_compiled:
175
- list_not_compiled.remove(matching)
176
-
188
+ count_c, count_f90, list_not_compiled = count_compiled_kernels(state)
177
189
  n_kernels = len(state["kernels"])
178
- logger.info("")
179
- logger.info(f"{count_c} of {n_kernels} Struphy kernels are compiled with language C.")
180
- logger.info(
190
+ print("")
191
+ print(f"{count_c} of {n_kernels} Struphy kernels are compiled with language C.")
192
+ print(
181
193
  f"{count_f90} of {n_kernels} Struphy kernels are compiled with language Fortran.",
182
194
  )
183
- logger.info(f"{n_kernels - count_c - count_f90} of {n_kernels} Struphy kernels are not compiled (pure Python).")
184
- logger.info(
185
- f"\ncompiler={state['last_used_compiler']}\nflags_omp_pic={state['last_used_omp_pic']}\nflags_omp_feec={state['last_used_omp_feec']}",
195
+ print(f"{n_kernels - count_c - count_f90} of {n_kernels} Struphy kernels are not compiled (pure Python).")
196
+ print(
197
+ f"\ncompiler={state['last_used_compiler']}\nflags_omp={state.get('last_used_omp')}",
186
198
  )
187
199
  if len(list_not_compiled) > 0:
188
- logger.info("\nPure Python kernels (not compiled) are:")
200
+ print("\nPure Python kernels (not compiled) are:")
189
201
  for ker in list_not_compiled:
190
- logger.info(ker)
202
+ print(ker)
191
203
 
192
204
  state["kernels_n"] = n_kernels
193
205
  state["compiled_in_c"] = count_c
@@ -198,23 +210,20 @@ def struphy_compile(
198
210
  utils.save_state(state)
199
211
 
200
212
  elif dependencies:
201
- logger.info("\nAuto-detect dependencies ...")
213
+ print("\nAuto-detect dependencies ...")
202
214
  for ker in state["kernels"]:
203
215
  deps = depmod.get_dependencies(ker.replace(".py", so_suffix))
204
216
  deps_li = deps.split(" ")
205
- logger.info("-" * 28)
206
- logger.info(f"{ker =}")
217
+ print("-" * 28)
218
+ print(f"{ker =}")
207
219
  for dep in deps_li:
208
- logger.info(f"{dep =}")
220
+ print(f"{dep =}")
209
221
 
210
222
  else:
211
223
  # struphy and psydac (change dir not to be in source path)
212
- flag_omp_pic = ""
213
- flag_omp_feec = ""
214
- if omp_pic:
215
- flag_omp_pic = " --openmp"
216
- if omp_feec:
217
- flag_omp_feec = " --openmp"
224
+ flag_omp = ""
225
+ if openmp:
226
+ flag_omp = " --openmp"
218
227
 
219
228
  # pyccel flags
220
229
  flags = "--language=" + language
@@ -248,15 +257,14 @@ def struphy_compile(
248
257
 
249
258
  state["last_used_language"] = language
250
259
  state["last_used_compiler"] = compiler
251
- state["last_used_omp_pic"] = flag_omp_pic
252
- state["last_used_omp_feec"] = flag_omp_feec
260
+ state["last_used_omp"] = flag_omp
253
261
 
254
262
  utils.save_state(state)
255
263
 
256
264
  # Compile psydac kernels, note that this is a special function call in psydac-for-struphy.
257
265
  # Otherwise, psydac only allows for recompiling the kernels when installed in editable mode.
258
266
 
259
- logger.info("\nCompiling Psydac kernels ...")
267
+ print("\nCompiling Psydac kernels ...")
260
268
  cmd = [
261
269
  "psydac-accelerate",
262
270
  "--language=" + language,
@@ -278,7 +286,7 @@ def struphy_compile(
278
286
  flags += " --verbose"
279
287
 
280
288
  # compilation
281
- logger.info("\nCompiling Struphy kernels ...")
289
+ print("\nCompiling Struphy kernels ...")
282
290
  kernel_file = os.path.join(libpath, "kernels.txt")
283
291
  # TODO: for using pyccel make in the future
284
292
  # cmd = [
@@ -294,11 +302,10 @@ def struphy_compile(
294
302
  "compile_struphy.mk",
295
303
  "sources=" + sources,
296
304
  "flags=" + flags,
297
- "flags_openmp_pic=" + flag_omp_pic,
298
- "flags_openmp_mhd=" + flag_omp_feec,
305
+ "flags_openmp=" + flag_omp,
299
306
  ]
300
307
  subp_run(cmd)
301
- logger.info("Done.")
308
+ print("Done.")
302
309
 
303
310
  cmd = [
304
311
  "struphy",