struphy 3.0.0__tar.gz → 3.0.1__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 (363) hide show
  1. {struphy-3.0.0/src/struphy.egg-info → struphy-3.0.1}/PKG-INFO +5 -3
  2. {struphy-3.0.0 → struphy-3.0.1}/pyproject.toml +5 -14
  3. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/bsplines.py +1 -1
  4. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/tests/test_bsplines_kernels.py +2 -2
  5. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/tests/test_eval_spline_mpi.py +1 -1
  6. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/conftest.py +8 -0
  7. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/compile.py +0 -1
  8. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/params.py +1 -1
  9. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/profile.py +1 -1
  10. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/test.py +45 -24
  11. struphy-3.0.1/src/struphy/console/tests/test_console.py +158 -0
  12. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/diagnostics/diagn_tools.py +3 -3
  13. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/examples/_draw_parallel.py +1 -1
  14. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/basis_projection_ops.py +17 -17
  15. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/linear_operators.py +9 -9
  16. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/mass.py +18 -19
  17. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/preconditioner.py +14 -14
  18. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/projectors.py +39 -39
  19. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/psydac_derham.py +41 -33
  20. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_basis_ops.py +4 -289
  21. struphy-3.0.1/src/struphy/feec/tests/test_derham.py +73 -0
  22. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_eval_field.py +2 -2
  23. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_field_init.py +4 -4
  24. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_l2_projectors.py +1 -1
  25. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_local_projectors.py +2 -2
  26. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_lowdim_nel_is_1.py +3 -3
  27. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_mass_matrices.py +6 -150
  28. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_toarray_struphy.py +1 -1
  29. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/test_tosparse_struphy.py +2 -2
  30. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/tests/xx_test_preconds.py +3 -3
  31. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/utilities.py +11 -15
  32. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/utilities_local_projectors.py +3 -3
  33. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/variational_utilities.py +5 -5
  34. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/coil_fields/base.py +1 -0
  35. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/equils.py +39 -10
  36. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/generic.py +4 -2
  37. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/projected_equils.py +2 -2
  38. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/utilities.py +2 -0
  39. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/initial/eigenfunctions.py +1 -1
  40. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/initial/perturbations.py +25 -20
  41. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/initial/tests/test_init_perturbations.py +1 -1
  42. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/initial/utilities.py +7 -8
  43. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/io/options.py +1 -1
  44. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/io/output_handling.py +44 -43
  45. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/io/setup.py +1 -1
  46. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/kinetic_background/tests/test_maxwellians.py +4 -4
  47. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/saddle_point.py +8 -8
  48. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/schur_solver.py +17 -17
  49. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/tests/test_saddle_point_propagator.py +2 -2
  50. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/tests/test_saddlepoint_massmatrices.py +3 -3
  51. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/tests/test_stencil_dot_kernels.py +6 -6
  52. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/tests/test_stencil_transpose_kernels.py +6 -6
  53. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/main.py +34 -37
  54. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/base.py +114 -124
  55. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/fluid.py +128 -3
  56. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/hybrid.py +1 -1
  57. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/kinetic.py +1 -1
  58. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/species.py +1 -1
  59. struphy-3.0.1/src/struphy/models/tests/default_params/test_models.py +67 -0
  60. struphy-3.0.0/src/struphy/models/tests/test_models.py → struphy-3.0.1/src/struphy/models/tests/utils_testing.py +31 -69
  61. {struphy-3.0.0/src/struphy/models/tests → struphy-3.0.1/src/struphy/models/tests/verification}/test_verif_EulerSPH.py +5 -3
  62. {struphy-3.0.0/src/struphy/models/tests → struphy-3.0.1/src/struphy/models/tests/verification}/test_verif_LinearMHD.py +5 -4
  63. {struphy-3.0.0/src/struphy/models/tests → struphy-3.0.1/src/struphy/models/tests/verification}/test_verif_Maxwell.py +8 -5
  64. {struphy-3.0.0/src/struphy/models/tests → struphy-3.0.1/src/struphy/models/tests/verification}/test_verif_Poisson.py +5 -3
  65. {struphy-3.0.0/src/struphy/models/tests → struphy-3.0.1/src/struphy/models/tests/verification}/test_verif_VlasovAmpereOneSpecies.py +5 -3
  66. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/toy.py +1 -1
  67. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/variables.py +3 -3
  68. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/ode/solvers.py +2 -2
  69. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/ode/tests/test_ode_feec.py +3 -3
  70. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/accumulation/filter.py +1 -0
  71. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/accumulation/particles_to_grid.py +3 -3
  72. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/base.py +153 -29
  73. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/pushing/eval_kernels_gc.py +3 -1
  74. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/pushing/pusher.py +1 -1
  75. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_accum_vec_H1.py +6 -3
  76. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_binning.py +8 -8
  77. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_draw_parallel.py +1 -1
  78. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_mat_vec_filler.py +3 -3
  79. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_pushers.py +29 -243
  80. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_sorting.py +1 -1
  81. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_sph.py +436 -13
  82. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/tests/test_tesselation.py +1 -1
  83. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/utilities.py +2 -2
  84. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/polar/basic.py +4 -4
  85. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/polar/extraction_operators.py +2 -8
  86. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/polar/linear_operators.py +3 -3
  87. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/polar/tests/test_polar.py +2 -54
  88. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/cprofile_analyser.py +5 -5
  89. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/likwid/roofline_plotter.py +2 -2
  90. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/orbits/orbits_tools.py +5 -3
  91. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/post_processing_tools.py +202 -255
  92. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/profile_struphy.py +1 -1
  93. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/profiling/profiling.py +1 -1
  94. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/propagators/base.py +2 -2
  95. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/propagators/propagators_coupling.py +5 -5
  96. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/propagators/propagators_fields.py +28 -25
  97. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/propagators/propagators_markers.py +53 -157
  98. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/propagators/tests/test_gyrokinetic_poisson.py +1 -1
  99. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/propagators/tests/test_poisson.py +1 -1
  100. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/utils/clone_config.py +2 -2
  101. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/utils/test_clone_config.py +2 -2
  102. {struphy-3.0.0 → struphy-3.0.1/src/struphy.egg-info}/PKG-INFO +5 -3
  103. {struphy-3.0.0 → struphy-3.0.1}/src/struphy.egg-info/SOURCES.txt +9 -118
  104. {struphy-3.0.0 → struphy-3.0.1}/src/struphy.egg-info/requires.txt +4 -2
  105. struphy-3.0.0/src/struphy/__init__.py +0 -77
  106. struphy-3.0.0/src/struphy/console/tests/test_console.py +0 -328
  107. struphy-3.0.0/src/struphy/diagnostics/continuous_spectra.py +0 -368
  108. struphy-3.0.0/src/struphy/eigenvalue_solvers/kernels_2d.py +0 -182
  109. struphy-3.0.0/src/struphy/eigenvalue_solvers/kernels_3d.py +0 -234
  110. struphy-3.0.0/src/struphy/eigenvalue_solvers/kernels_projectors_global.py +0 -714
  111. struphy-3.0.0/src/struphy/eigenvalue_solvers/kernels_projectors_global_mhd.py +0 -1436
  112. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/MHD_eigenvalues_cylinder_1D.py +0 -749
  113. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/control_variate.py +0 -787
  114. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kernels_control_variate.py +0 -188
  115. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_control_variate.py +0 -444
  116. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_kernels_control_variate.py +0 -719
  117. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_control_variate.py +0 -672
  118. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_cv_kernel_2.py +0 -87
  119. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_kernels_control_variate.py +0 -766
  120. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_control_variate.py +0 -595
  121. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_cvker.py +0 -257
  122. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_kernels_control_variate.py +0 -1140
  123. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/emw_operators.py +0 -226
  124. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/inner_products_1d.py +0 -112
  125. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/inner_products_2d.py +0 -338
  126. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/inner_products_3d.py +0 -360
  127. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/l2_error_1d.py +0 -112
  128. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/l2_error_2d.py +0 -590
  129. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/l2_error_3d.py +0 -622
  130. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/mass_matrices_3d_pre.py +0 -393
  131. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_arrays.py +0 -815
  132. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bb_kernel.py +0 -457
  133. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bv_kernel.py +0 -788
  134. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_massless_linear_operators.py +0 -2621
  135. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_vv_kernel.py +0 -824
  136. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/mhd_operators_MF.py +0 -3205
  137. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local.py +0 -371
  138. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local_mhd.py +0 -598
  139. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/mhd_operators_3d_local.py +0 -4905
  140. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/projectors_local.py +0 -1648
  141. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_L2_projector_kernel.py +0 -2315
  142. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_L2.py +0 -979
  143. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_local.py +0 -1148
  144. struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_local_projector_kernel.py +0 -3327
  145. struphy-3.0.0/src/struphy/eigenvalue_solvers/mass_matrices_1d.py +0 -256
  146. struphy-3.0.0/src/struphy/eigenvalue_solvers/mass_matrices_2d.py +0 -534
  147. struphy-3.0.0/src/struphy/eigenvalue_solvers/mass_matrices_3d.py +0 -581
  148. struphy-3.0.0/src/struphy/eigenvalue_solvers/mhd_axisymmetric_main.py +0 -267
  149. struphy-3.0.0/src/struphy/eigenvalue_solvers/mhd_axisymmetric_pproc.py +0 -73
  150. struphy-3.0.0/src/struphy/eigenvalue_solvers/mhd_operators.py +0 -1184
  151. struphy-3.0.0/src/struphy/eigenvalue_solvers/mhd_operators_core.py +0 -2009
  152. struphy-3.0.0/src/struphy/eigenvalue_solvers/projectors_global.py +0 -2215
  153. struphy-3.0.0/src/struphy/eigenvalue_solvers/spline_space.py +0 -3284
  154. struphy-3.0.0/src/struphy/feec/tests/test_derham.py +0 -262
  155. struphy-3.0.0/src/struphy/io/batch/batch_cobra.sh +0 -33
  156. struphy-3.0.0/src/struphy/io/batch/p_016.sh +0 -42
  157. struphy-3.0.0/src/struphy/io/batch/p_032.sh +0 -41
  158. struphy-3.0.0/src/struphy/io/batch/p_064.sh +0 -41
  159. struphy-3.0.0/src/struphy/io/batch/p_128.sh +0 -41
  160. struphy-3.0.0/src/struphy/io/batch/p_256.sh +0 -41
  161. struphy-3.0.0/src/struphy/io/batch/p_512.sh +0 -41
  162. struphy-3.0.0/src/struphy/io/inp/longer_examples/params_TAE_tokamak.yml +0 -89
  163. struphy-3.0.0/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovcc.yml +0 -131
  164. struphy-3.0.0/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovpc.yml +0 -125
  165. struphy-3.0.0/src/struphy/io/inp/longer_examples/params_linearextendedmhd.yml +0 -89
  166. struphy-3.0.0/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_landau.yml +0 -144
  167. struphy-3.0.0/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_streaming_weibel.yml +0 -124
  168. struphy-3.0.0/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_weibel.yml +0 -133
  169. struphy-3.0.0/src/struphy/io/inp/parameters.yml +0 -118
  170. struphy-3.0.0/src/struphy/io/inp/params_Maxwell.py +0 -63
  171. struphy-3.0.0/src/struphy/io/inp/params_Maxwell_lw.py +0 -66
  172. struphy-3.0.0/src/struphy/io/inp/tutorials/params_02.yml +0 -132
  173. struphy-3.0.0/src/struphy/io/inp/tutorials/params_03.yml +0 -86
  174. struphy-3.0.0/src/struphy/io/inp/tutorials/params_04a.yml +0 -47
  175. struphy-3.0.0/src/struphy/io/inp/tutorials/params_04b.yml +0 -71
  176. struphy-3.0.0/src/struphy/io/inp/tutorials/params_04c.yml +0 -131
  177. struphy-3.0.0/src/struphy/io/inp/tutorials/params_05a.yml +0 -74
  178. struphy-3.0.0/src/struphy/io/inp/tutorials/params_05b.yml +0 -74
  179. struphy-3.0.0/src/struphy/io/inp/tutorials/params_05c.yml +0 -77
  180. struphy-3.0.0/src/struphy/io/inp/tutorials/params_05d.yml +0 -77
  181. struphy-3.0.0/src/struphy/io/inp/tutorials/params_05e.yml +0 -77
  182. struphy-3.0.0/src/struphy/io/inp/tutorials/params_05f.yml +0 -77
  183. struphy-3.0.0/src/struphy/io/inp/tutorials/params_12a.yml +0 -74
  184. struphy-3.0.0/src/struphy/io/inp/tutorials/params_12b.yml +0 -76
  185. struphy-3.0.0/src/struphy/io/inp/verification/IsothermalEulerSPH_soundwave.yml +0 -46
  186. struphy-3.0.0/src/struphy/io/inp/verification/LinearVlasovAmpereOneSpecies_weakLandau.yml +0 -68
  187. struphy-3.0.0/src/struphy/io/inp/verification/Maxwell_coaxial.py +0 -60
  188. struphy-3.0.0/src/struphy/io/inp/verification/Maxwell_coaxial.yml +0 -73
  189. struphy-3.0.0/src/struphy/io/inp/verification/VlasovAmpereOneSpecies_weakLandau.yml +0 -67
  190. struphy-3.0.0/src/struphy/models/tests/test_xxpproc.py +0 -69
  191. struphy-3.0.0/src/struphy/models/tests/util.py +0 -426
  192. struphy-3.0.0/src/struphy/models/tests/verification.py +0 -373
  193. struphy-3.0.0/src/struphy/pic/tests/test_accumulation.py +0 -691
  194. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/accumulation.py +0 -544
  195. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/accumulation_kernels_3d.py +0 -1492
  196. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d.py +0 -823
  197. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d_fast.py +0 -736
  198. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/pusher.py +0 -442
  199. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/pusher_pos.py +0 -3463
  200. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_2d.py +0 -791
  201. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_3d.py +0 -1622
  202. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_2d.py +0 -470
  203. struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_3d.py +0 -1443
  204. struphy-3.0.0/src/struphy/polar/__init__.py +0 -0
  205. struphy-3.0.0/src/struphy/polar/tests/__init__.py +0 -0
  206. struphy-3.0.0/src/struphy/polar/tests/test_legacy_polar_splines.py +0 -169
  207. struphy-3.0.0/src/struphy/post_processing/__init__.py +0 -0
  208. struphy-3.0.0/src/struphy/post_processing/likwid/__init__.py +0 -0
  209. struphy-3.0.0/src/struphy/post_processing/orbits/__init__.py +0 -0
  210. struphy-3.0.0/src/struphy/post_processing/pproc_struphy.py +0 -257
  211. struphy-3.0.0/src/struphy/post_processing/tests/__init__.py +0 -0
  212. struphy-3.0.0/src/struphy/profiling/__init__.py +0 -0
  213. struphy-3.0.0/src/struphy/propagators/tests/__init__.py +0 -0
  214. struphy-3.0.0/src/struphy/psydac-3.0.0.dev0-py3-none-any.whl +0 -0
  215. struphy-3.0.0/src/struphy/topology/__init__.py +0 -0
  216. struphy-3.0.0/src/struphy/utils/__init__.py +0 -0
  217. {struphy-3.0.0 → struphy-3.0.1}/LICENSE +0 -0
  218. {struphy-3.0.0 → struphy-3.0.1}/README.md +0 -0
  219. {struphy-3.0.0 → struphy-3.0.1}/setup.cfg +0 -0
  220. {struphy-3.0.0/src/struphy/bsplines → struphy-3.0.1/src/struphy}/__init__.py +0 -0
  221. {struphy-3.0.0/src/struphy/bsplines/tests → struphy-3.0.1/src/struphy/bsplines}/__init__.py +0 -0
  222. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/bsplines_kernels.py +0 -0
  223. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/evaluation_kernels_1d.py +0 -0
  224. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/evaluation_kernels_2d.py +0 -0
  225. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/evaluation_kernels_3d.py +0 -0
  226. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/bsplines/shapefunc_kernels.py +0 -0
  227. {struphy-3.0.0/src/struphy/console → struphy-3.0.1/src/struphy/bsplines/tests}/__init__.py +0 -0
  228. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/compile_struphy.mk +0 -0
  229. {struphy-3.0.0/src/struphy/diagnostics → struphy-3.0.1/src/struphy/console}/__init__.py +0 -0
  230. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/format.py +0 -0
  231. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/likwid.py +0 -0
  232. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/main.py +0 -0
  233. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/console/parsers.py +0 -0
  234. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/dependencies.py +0 -0
  235. {struphy-3.0.0/src/struphy/diagnostics/paraview → struphy-3.0.1/src/struphy/diagnostics}/__init__.py +0 -0
  236. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/diagnostics/console_diagn.py +0 -0
  237. {struphy-3.0.0/src/struphy/dispersion_relations → struphy-3.0.1/src/struphy/diagnostics/paraview}/__init__.py +0 -0
  238. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/diagnostics/paraview/mesh_creator.py +0 -0
  239. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/diagnostics/paraview/vtk_writer.py +0 -0
  240. {struphy-3.0.0/src/struphy/eigenvalue_solvers → struphy-3.0.1/src/struphy/dispersion_relations}/__init__.py +0 -0
  241. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/dispersion_relations/analytic.py +0 -0
  242. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/dispersion_relations/base.py +0 -0
  243. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/dispersion_relations/utilities.py +0 -0
  244. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/eigenvalue_solvers/derivatives.py +0 -0
  245. {struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy → struphy-3.0.1/src/struphy/examples/restelli2018}/__init__.py +0 -0
  246. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/examples/restelli2018/callables.py +0 -0
  247. {struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates → struphy-3.0.1/src/struphy/feec}/__init__.py +0 -0
  248. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/banded_to_stencil_kernels.py +0 -0
  249. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/basis_projection_kernels.py +0 -0
  250. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/local_projectors_kernels.py +0 -0
  251. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/mass_kernels.py +0 -0
  252. {struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended → struphy-3.0.1/src/struphy/feec/tests}/__init__.py +0 -0
  253. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/feec/utilities_kernels.py +0 -0
  254. {struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/massless_operators → struphy-3.0.1/src/struphy/fields_background}/__init__.py +0 -0
  255. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/base.py +0 -0
  256. {struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local → struphy-3.0.1/src/struphy/fields_background/coil_fields}/__init__.py +0 -0
  257. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/coil_fields/coil_fields.py +0 -0
  258. {struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local → struphy-3.0.1/src/struphy/fields_background/mhd_equil}/__init__.py +0 -0
  259. {struphy-3.0.0/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local → struphy-3.0.1/src/struphy/fields_background/mhd_equil/eqdsk}/__init__.py +0 -0
  260. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/eqdsk/data/AUGNLED_g031213.00830.high +0 -0
  261. {struphy-3.0.0/src/struphy/eigenvalue_solvers/tests → struphy-3.0.1/src/struphy/fields_background/mhd_equil/eqdsk/data}/__init__.py +0 -0
  262. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +0 -0
  263. {struphy-3.0.0/src/struphy/examples/restelli2018 → struphy-3.0.1/src/struphy/fields_background/mhd_equil/gvec}/__init__.py +0 -0
  264. {struphy-3.0.0/src/struphy/feec → struphy-3.0.1/src/struphy/fields_background/mhd_equil/gvec/output}/__init__.py +0 -0
  265. {struphy-3.0.0/src/struphy/feec/tests → struphy-3.0.1/src/struphy/fields_background/mhd_equil/gvec/output/vtk}/__init__.py +0 -0
  266. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00000000.dat +0 -0
  267. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_01/CIRCTOK_State_0000_00001000.dat +0 -0
  268. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_01/parameter.ini +0 -0
  269. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000000.dat +0 -0
  270. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_02/W7X_State_0000_00000100.dat +0 -0
  271. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_02/parameter-w7x.ini +0 -0
  272. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00000000.dat +0 -0
  273. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_03/NEO-SPITZER_State_0000_00003307.dat +0 -0
  274. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_03/Neo-spitzer-mirror23-well-opt-1-AR10-1.nc +0 -0
  275. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/mhd_equil/gvec/run_03/parameter-fig8.ini +0 -0
  276. {struphy-3.0.0/src/struphy/fields_background → struphy-3.0.1/src/struphy/fields_background/mhd_equil/vmec}/__init__.py +0 -0
  277. {struphy-3.0.0/src/struphy/fields_background/coil_fields → struphy-3.0.1/src/struphy/fields_background/tests}/__init__.py +0 -0
  278. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/tests/test_desc_equil.py +0 -0
  279. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/tests/test_generic_equils.py +0 -0
  280. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/tests/test_mhd_equils.py +0 -0
  281. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/fields_background/tests/test_numerical_mhd_equil.py +0 -0
  282. {struphy-3.0.0/src/struphy/fields_background/mhd_equil → struphy-3.0.1/src/struphy/geometry}/__init__.py +0 -0
  283. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/base.py +0 -0
  284. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/domains.py +0 -0
  285. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/evaluation_kernels.py +0 -0
  286. {struphy-3.0.0/src/struphy/fields_background/mhd_equil/eqdsk → struphy-3.0.1/src/struphy/geometry/map_coef}/__init__.py +0 -0
  287. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/mappings_kernels.py +0 -0
  288. {struphy-3.0.0/src/struphy/fields_background/mhd_equil/eqdsk/data → struphy-3.0.1/src/struphy/geometry/tests}/__init__.py +0 -0
  289. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/tests/test_domain.py +0 -0
  290. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/transform_kernels.py +0 -0
  291. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/geometry/utilities_kernels.py +0 -0
  292. {struphy-3.0.0/src/struphy/fields_background/mhd_equil/gvec → struphy-3.0.1/src/struphy/initial}/__init__.py +0 -0
  293. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/initial/base.py +0 -0
  294. {struphy-3.0.0/src/struphy/fields_background/mhd_equil/gvec/output → struphy-3.0.1/src/struphy/initial/tests}/__init__.py +0 -0
  295. {struphy-3.0.0/src/struphy/fields_background/mhd_equil/gvec/output/vtk → struphy-3.0.1/src/struphy/io}/__init__.py +0 -0
  296. {struphy-3.0.0/src/struphy/fields_background/mhd_equil/vmec → struphy-3.0.1/src/struphy/kernel_arguments}/__init__.py +0 -0
  297. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/kernel_arguments/local_projectors_args_kernels.py +0 -0
  298. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/kernel_arguments/pusher_args_kernels.py +0 -0
  299. {struphy-3.0.0/src/struphy/fields_background/tests → struphy-3.0.1/src/struphy/kinetic_background}/__init__.py +0 -0
  300. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/kinetic_background/base.py +0 -0
  301. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/kinetic_background/maxwellians.py +0 -0
  302. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/kinetic_background/moment_functions.py +0 -0
  303. {struphy-3.0.0/src/struphy/geometry → struphy-3.0.1/src/struphy/kinetic_background/tests}/__init__.py +0 -0
  304. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/kinetic_background/tests/test_base.py +0 -0
  305. {struphy-3.0.0/src/struphy/geometry/map_coef → struphy-3.0.1/src/struphy/linear_algebra}/__init__.py +0 -0
  306. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/linalg_kernels.py +0 -0
  307. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/linalg_kron.py +0 -0
  308. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/solver.py +0 -0
  309. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/stencil_dot_kernels.py +0 -0
  310. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/linear_algebra/stencil_transpose_kernels.py +0 -0
  311. {struphy-3.0.0/src/struphy/geometry → struphy-3.0.1/src/struphy/linear_algebra}/tests/__init__.py +0 -0
  312. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/models/__init__.py +0 -0
  313. {struphy-3.0.0/src/struphy/initial → struphy-3.0.1/src/struphy/models/tests}/__init__.py +0 -0
  314. {struphy-3.0.0/src/struphy/initial/tests → struphy-3.0.1/src/struphy/models/tests/default_params}/__init__.py +0 -0
  315. {struphy-3.0.0/src/struphy/io → struphy-3.0.1/src/struphy/models/tests/verification}/__init__.py +0 -0
  316. {struphy-3.0.0/src/struphy/io/inp → struphy-3.0.1/src/struphy/ode}/__init__.py +0 -0
  317. {struphy-3.0.0/src/struphy/io/inp/verification → struphy-3.0.1/src/struphy/ode/tests}/__init__.py +0 -0
  318. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/ode/utils.py +0 -0
  319. {struphy-3.0.0/src/struphy/io/out → struphy-3.0.1/src/struphy/physics}/__init__.py +0 -0
  320. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/physics/physics.py +0 -0
  321. {struphy-3.0.0/src/struphy/kernel_arguments → struphy-3.0.1/src/struphy/pic}/__init__.py +0 -0
  322. {struphy-3.0.0/src/struphy/kinetic_background → struphy-3.0.1/src/struphy/pic/accumulation}/__init__.py +0 -0
  323. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/accumulation/accum_kernels.py +0 -0
  324. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/accumulation/accum_kernels_gc.py +0 -0
  325. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/accumulation/filler_kernels.py +0 -0
  326. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/accumulation/filter_kernels.py +0 -0
  327. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/accumulation/particle_to_mat_kernels.py +0 -0
  328. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/particles.py +0 -0
  329. {struphy-3.0.0/src/struphy/kinetic_background/tests → struphy-3.0.1/src/struphy/pic/pushing}/__init__.py +0 -0
  330. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/pushing/pusher_kernels.py +0 -0
  331. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/pushing/pusher_kernels_gc.py +0 -0
  332. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/pushing/pusher_utilities_kernels.py +0 -0
  333. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/sampling_kernels.py +0 -0
  334. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/sobol_seq.py +0 -0
  335. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/sorting_kernels.py +0 -0
  336. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/sph_eval_kernels.py +0 -0
  337. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/sph_smoothing_kernels.py +0 -0
  338. {struphy-3.0.0/src/struphy/linear_algebra → struphy-3.0.1/src/struphy/pic/tests}/__init__.py +0 -0
  339. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/pic/utilities_kernels.py +0 -0
  340. {struphy-3.0.0/src/struphy/linear_algebra/tests → struphy-3.0.1/src/struphy/polar}/__init__.py +0 -0
  341. {struphy-3.0.0/src/struphy/models → struphy-3.0.1/src/struphy/polar}/tests/__init__.py +0 -0
  342. {struphy-3.0.0/src/struphy/ode → struphy-3.0.1/src/struphy/post_processing}/__init__.py +0 -0
  343. {struphy-3.0.0/src/struphy/ode/tests → struphy-3.0.1/src/struphy/post_processing/likwid}/__init__.py +0 -0
  344. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/likwid/hardware_dicts.py +0 -0
  345. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/likwid/likwid_parser.py +0 -0
  346. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/likwid/maxplotlylib.py +0 -0
  347. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/likwid/plot_likwidproject.py +0 -0
  348. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/likwid/plot_time_traces.py +0 -0
  349. {struphy-3.0.0/src/struphy/physics → struphy-3.0.1/src/struphy/post_processing/orbits}/__init__.py +0 -0
  350. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/post_processing/orbits/orbits_kernels.py +0 -0
  351. {struphy-3.0.0/src/struphy/pic → struphy-3.0.1/src/struphy/post_processing/tests}/__init__.py +0 -0
  352. {struphy-3.0.0/src/struphy/pic/accumulation → struphy-3.0.1/src/struphy/profiling}/__init__.py +0 -0
  353. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/propagators/__init__.py +0 -0
  354. {struphy-3.0.0/src/struphy/pic/pushing → struphy-3.0.1/src/struphy/propagators/tests}/__init__.py +0 -0
  355. {struphy-3.0.0/src/struphy/pic/tests → struphy-3.0.1/src/struphy/topology}/__init__.py +0 -0
  356. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/topology/grids.py +0 -0
  357. {struphy-3.0.0/src/struphy/pic/tests/test_pic_legacy_files → struphy-3.0.1/src/struphy/utils}/__init__.py +0 -0
  358. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/utils/cupy_vs_numpy.py +0 -0
  359. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/utils/pyccel.py +0 -0
  360. {struphy-3.0.0 → struphy-3.0.1}/src/struphy/utils/utils.py +0 -0
  361. {struphy-3.0.0 → struphy-3.0.1}/src/struphy.egg-info/dependency_links.txt +0 -0
  362. {struphy-3.0.0 → struphy-3.0.1}/src/struphy.egg-info/entry_points.txt +0 -0
  363. {struphy-3.0.0 → struphy-3.0.1}/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.0.0
3
+ Version: 3.0.1
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
@@ -32,7 +32,8 @@ Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
33
  Requires-Dist: numpy<=2.2.6
34
34
  Requires-Dist: cunumpy<=0.1
35
- Requires-Dist: pyccel<=2.0.1,>=2.0
35
+ Requires-Dist: pyccel<=2.1.0,>=2.0
36
+ Requires-Dist: feectools<=0.1.0
36
37
  Requires-Dist: scipy<=1.15.3
37
38
  Requires-Dist: h5py<=3.14.0
38
39
  Requires-Dist: matplotlib<=3.10.5
@@ -40,8 +41,9 @@ Requires-Dist: pyyaml<=6.0.3
40
41
  Requires-Dist: vtk<=9.5.2
41
42
  Requires-Dist: tqdm<=4.67.1
42
43
  Requires-Dist: argcomplete<=3.6.3
43
- Requires-Dist: pytest<=9.0.1
44
+ Requires-Dist: pytest<=9.0.2
44
45
  Requires-Dist: pytest-mpi<=0.6
46
+ Requires-Dist: pytest-testmon<=2.2.0
45
47
  Requires-Dist: line_profiler<=5.0.0
46
48
  Provides-Extra: phys
47
49
  Requires-Dist: gvec<=1.2.0,>=1.1.0; extra == "phys"
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "struphy"
9
- version = "3.0.0"
9
+ version = "3.0.1"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"
12
12
  authors = [
@@ -25,7 +25,8 @@ classifiers = [
25
25
  dependencies = [
26
26
  "numpy<=2.2.6",
27
27
  "cunumpy<=0.1",
28
- "pyccel<=2.0.1, >=2.0",
28
+ "pyccel<=2.1.0, >=2.0",
29
+ "feectools<=0.1.0",
29
30
  "scipy<=1.15.3",
30
31
  "h5py<=3.14.0",
31
32
  "matplotlib<=3.10.5",
@@ -33,8 +34,9 @@ dependencies = [
33
34
  "vtk<=9.5.2",
34
35
  "tqdm<=4.67.1",
35
36
  "argcomplete<=3.6.3",
36
- "pytest<=9.0.1",
37
+ "pytest<=9.0.2",
37
38
  "pytest-mpi<=0.6",
39
+ "pytest-testmon<=2.2.0",
38
40
  "line_profiler<=5.0.0",
39
41
  ]
40
42
 
@@ -120,19 +122,8 @@ kinetic-diagnostics = "struphy.diagnostics.console_diagn:main"
120
122
  "run_03/*.ini",
121
123
  "run_03/*.nc",
122
124
  ]
123
- "struphy.io" = [
124
- "batch/*.sh",
125
- ]
126
- "struphy.io.inp" = [
127
- "parameters.yml",
128
- "tests/*.yml",
129
- "tutorials/*.yml",
130
- "longer_examples/*.yml",
131
- "verification/*.yml",
132
- ]
133
125
  struphy = [
134
126
  "compile_struphy.mk",
135
- "psydac-3.0.0.dev0-py3-none-any.whl",
136
127
  ]
137
128
 
138
129
  [tool.autopep8]
@@ -534,7 +534,7 @@ def elements_spans(knots, degree):
534
534
  Examples
535
535
  --------
536
536
  >>> import numpy as np
537
- >>> from psydac.core.bsplines import make_knots, elements_spans
537
+ >>> from feectools.core.bsplines import make_knots, elements_spans
538
538
 
539
539
  >>> p = 3 ; n = 8
540
540
  >>> grid = xp.arange( n-p+1 )
@@ -2,7 +2,7 @@ import time
2
2
 
3
3
  import cunumpy as xp
4
4
  import pytest
5
- from psydac.ddm.mpi import mpi as MPI
5
+ from feectools.ddm.mpi import mpi as MPI
6
6
 
7
7
 
8
8
  @pytest.mark.parametrize("Nel", [[8, 9, 10]])
@@ -14,7 +14,7 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
14
14
  Print timings.
15
15
  """
16
16
 
17
- import psydac.core.bsplines_kernels as bsp_psy
17
+ import feectools.core.bsplines_kernels as bsp_psy
18
18
 
19
19
  import struphy.bsplines.bsplines_kernels as bsp
20
20
  from struphy.feec.psydac_derham import Derham
@@ -3,7 +3,7 @@ from time import sleep
3
3
 
4
4
  import cunumpy as xp
5
5
  import pytest
6
- from psydac.ddm.mpi import mpi as MPI
6
+ from feectools.ddm.mpi import mpi as MPI
7
7
 
8
8
 
9
9
  @pytest.mark.parametrize("Nel", [[8, 9, 10]])
@@ -1,3 +1,11 @@
1
+ import pytest
2
+
3
+
4
+ def pytest_unconfigure(config):
5
+ if hasattr(config, "testmon_data"):
6
+ config.testmon_data.db.con.close()
7
+
8
+
1
9
  def pytest_addoption(parser):
2
10
  parser.addoption("--with-desc", action="store_true")
3
11
  parser.addoption("--vrbose", action="store_true")
@@ -89,7 +89,6 @@ def struphy_compile(
89
89
  and ".py" in file
90
90
  and "_tmp.py" not in file
91
91
  and "test" not in file
92
- and "legacy" not in subdir
93
92
  and "__pycache__" not in subdir
94
93
  ):
95
94
  state["kernels"] += [os.path.join(subdir, file)]
@@ -1,7 +1,7 @@
1
1
  import sys
2
2
 
3
3
  import yaml
4
- from psydac.ddm.mpi import mpi as MPI
4
+ from feectools.ddm.mpi import mpi as MPI
5
5
 
6
6
  from struphy.models import fluid, hybrid, kinetic, toy
7
7
  from struphy.models.base import StruphyModel
@@ -110,7 +110,7 @@ def struphy_profile(dirs, replace, all, n_lines, print_callers, savefig):
110
110
  )
111
111
  print("-" * 154)
112
112
  for position, key in enumerate(dicts[0].keys()):
113
- if list_of_funcs == None:
113
+ if list_of_funcs is None:
114
114
  for dict, sim_name, n, dim in zip(dicts, sim_names, nproc, Nel):
115
115
  string = f"{sim_name}".ljust(20) + f"{n}".ljust(7) + f"{position:2d}".ljust(5) + str(key.ljust(70))
116
116
  for value in dict[key].values():
@@ -1,5 +1,10 @@
1
+ import os
2
+
3
+ import struphy
1
4
  from struphy.utils.utils import subp_run
2
5
 
6
+ LIBPATH = struphy.__path__[0]
7
+
3
8
 
4
9
  def struphy_test(
5
10
  group: str,
@@ -35,22 +40,36 @@ def struphy_test(
35
40
  """
36
41
 
37
42
  if "unit" in group:
43
+ list_of_tests = [
44
+ f"{LIBPATH}/bsplines/tests/",
45
+ f"{LIBPATH}/console/tests/",
46
+ f"{LIBPATH}/feec/tests/",
47
+ f"{LIBPATH}/fields_background/tests/",
48
+ f"{LIBPATH}/geometry/tests/",
49
+ f"{LIBPATH}/initial/tests/",
50
+ f"{LIBPATH}/kinetic_background/tests/",
51
+ f"{LIBPATH}/linear_algebra/tests/",
52
+ f"{LIBPATH}/ode/tests/",
53
+ f"{LIBPATH}/pic/tests/",
54
+ f"{LIBPATH}/polar/tests/",
55
+ f"{LIBPATH}/post_processing/tests/",
56
+ f"{LIBPATH}/propagators/tests/",
57
+ ]
58
+
38
59
  if mpi > 1:
39
60
  cmd = [
40
61
  "mpirun",
41
62
  "-n",
42
63
  str(mpi),
43
64
  "pytest",
44
- "-k",
45
- "not _models and not _tutorial and not pproc and not _verif_",
65
+ "--testmon",
46
66
  "--with-mpi",
47
- ]
67
+ ] + list_of_tests
48
68
  else:
49
69
  cmd = [
50
70
  "pytest",
51
- "-k",
52
- "not _models and not _tutorial and not pproc and not _verif_",
53
- ]
71
+ "--testmon",
72
+ ] + list_of_tests
54
73
 
55
74
  if with_desc:
56
75
  cmd += ["--with-desc"]
@@ -62,6 +81,10 @@ def struphy_test(
62
81
  subp_run(cmd)
63
82
 
64
83
  elif group in {"models", "fluid", "kinetic", "hybrid", "toy"}:
84
+ list_of_tests = [
85
+ f"{LIBPATH}/models/tests/default_params/",
86
+ ]
87
+
65
88
  if mpi > 1:
66
89
  cmd = [
67
90
  "mpirun",
@@ -69,22 +92,18 @@ def struphy_test(
69
92
  "-n",
70
93
  str(mpi),
71
94
  "pytest",
72
- "-k",
73
- "_models",
74
95
  "-m",
75
96
  group,
76
- "-s",
97
+ "--testmon-forceselect",
77
98
  "--with-mpi",
78
- ]
99
+ ] + list_of_tests
79
100
  else:
80
101
  cmd = [
81
102
  "pytest",
82
- "-k",
83
- "_models",
84
103
  "-m",
85
104
  group,
86
- "-s",
87
- ]
105
+ "--testmon-forceselect",
106
+ ] + list_of_tests
88
107
 
89
108
  if vrbose:
90
109
  cmd += ["--vrbose"]
@@ -92,9 +111,14 @@ def struphy_test(
92
111
  cmd += ["--nclones", f"{nclones}"]
93
112
  if show_plots:
94
113
  cmd += ["--show-plots"]
114
+
95
115
  subp_run(cmd)
96
116
 
97
117
  elif "verification" in group:
118
+ list_of_tests = [
119
+ f"{LIBPATH}/models/tests/verification/",
120
+ ]
121
+
98
122
  if mpi > 1:
99
123
  cmd = [
100
124
  "mpirun",
@@ -102,18 +126,14 @@ def struphy_test(
102
126
  "-n",
103
127
  str(mpi),
104
128
  "pytest",
105
- "-k",
106
- "_verif_",
107
- "-s",
129
+ "--testmon",
108
130
  "--with-mpi",
109
- ]
131
+ ] + list_of_tests
110
132
  else:
111
133
  cmd = [
112
134
  "pytest",
113
- "-k",
114
- "_verif_",
115
- "-s",
116
- ]
135
+ "--testmon",
136
+ ] + list_of_tests
117
137
 
118
138
  if vrbose:
119
139
  cmd += ["--vrbose"]
@@ -121,6 +141,7 @@ def struphy_test(
121
141
  cmd += ["--nclones", f"{nclones}"]
122
142
  if show_plots:
123
143
  cmd += ["--show-plots"]
144
+
124
145
  subp_run(cmd)
125
146
 
126
147
  else:
@@ -130,10 +151,9 @@ def struphy_test(
130
151
  "-n",
131
152
  str(mpi),
132
153
  "pytest",
133
- "-k",
134
- "_models",
135
154
  "-m",
136
155
  "single",
156
+ "--testmon-forceselect",
137
157
  "-s",
138
158
  "--with-mpi",
139
159
  "--model-name",
@@ -145,4 +165,5 @@ def struphy_test(
145
165
  cmd += ["--nclones", f"{nclones}"]
146
166
  if show_plots:
147
167
  cmd += ["--show-plots"]
168
+
148
169
  subp_run(cmd)
@@ -0,0 +1,158 @@
1
+ import os
2
+ import pickle
3
+ import sys
4
+ from unittest import mock
5
+ from unittest.mock import patch
6
+
7
+ import pytest
8
+
9
+ import struphy as struphy_lib
10
+ from struphy.console.compile import struphy_compile
11
+ from struphy.console.main import struphy
12
+ from struphy.console.params import struphy_params
13
+ from struphy.utils.utils import read_state, subp_run
14
+
15
+ libpath = struphy_lib.__path__[0]
16
+ state = read_state()
17
+
18
+ # Create models_list if it doesn't exist
19
+ if not os.path.isfile(os.path.join(libpath, "models", "models_list")):
20
+ cmd = ["struphy", "--refresh-models"]
21
+ subp_run(cmd)
22
+
23
+ with open(os.path.join(libpath, "models", "models_list"), "rb") as fp:
24
+ struphy_models = pickle.load(fp)
25
+
26
+
27
+ def is_sublist(main_list, sub_list):
28
+ """
29
+ Check if sub_list is a sublist of main_list.
30
+ """
31
+ sub_len = len(sub_list)
32
+ return any(main_list[i : i + sub_len] == sub_list for i in range(len(main_list) - sub_len + 1))
33
+
34
+
35
+ def split_command(command):
36
+ """
37
+ Split a command string into a list of arguments.
38
+ """
39
+ # only works if there are no real spaces in the element.
40
+ # Could be improved by not splitting if the space is '\ ' with regex
41
+ spl = []
42
+ for element in command:
43
+ spl.extend(element.split())
44
+ return spl
45
+
46
+
47
+ @pytest.mark.mpi_skip
48
+ @pytest.mark.parametrize(
49
+ "args",
50
+ [
51
+ # Test cases for 'compile' sub-command with options
52
+ ["compile"],
53
+ ["compile", "-y"],
54
+ ["compile", "--language", "fortran"],
55
+ ["compile", "--compiler", "intel"],
56
+ ["compile", "--omp-pic"],
57
+ ["compile", "--verbose"],
58
+ ["compile", "--delete"],
59
+ # Test cases for 'params' sub-command
60
+ ["params", "Maxwell"],
61
+ ["params", "Vlasov"],
62
+ # ["params", "Maxwell", "-f", "params_Maxwell.yml"],
63
+ # Test cases for 'profile' sub-command
64
+ ["profile", "sim_1"],
65
+ ["profile", "sim_2", "--replace"],
66
+ ["profile", "sim_3", "--n-lines", "10"],
67
+ ["profile", "sim_1", "--savefig", "profile_output.png"],
68
+ # Test cases for 'test' sub-command
69
+ ["test", "models"],
70
+ ["test", "unit"],
71
+ ["test", "Maxwell"],
72
+ ["test", "hybrid", "--mpi", "8"],
73
+ ],
74
+ )
75
+ def test_main(args):
76
+ # Mock the func call (don't execute it)
77
+ with (
78
+ patch("struphy.console.compile.struphy_compile") as mock_compile,
79
+ patch("struphy.console.params.struphy_params") as mock_params,
80
+ patch("struphy.console.profile.struphy_profile") as mock_profile,
81
+ patch("struphy.console.test.struphy_test") as mock_test,
82
+ ):
83
+ funcs = {
84
+ "compile": mock_compile,
85
+ "params": mock_params,
86
+ "profile": mock_profile,
87
+ "test": mock_test,
88
+ }
89
+
90
+ # Set sys args
91
+ sys.argv = ["struphy"] + args
92
+
93
+ # Call struphy
94
+ try:
95
+ struphy()
96
+ except SystemExit:
97
+ pass # Ignore the exit in tests
98
+
99
+ for func_name, func in funcs.items():
100
+ if args[0] == func_name:
101
+ func.assert_called_once()
102
+ else:
103
+ func.assert_not_called()
104
+
105
+
106
+ def run_struphy(args):
107
+ with mock.patch.object(sys, "argv", ["struphy"] + args):
108
+ struphy()
109
+
110
+
111
+ @pytest.mark.mpi_skip
112
+ @pytest.mark.parametrize(
113
+ "args_expected",
114
+ [
115
+ [["--version"], [""]],
116
+ [["--short-help"], ["available commands"]],
117
+ [["--fluid"], ["Fluid models"]],
118
+ [["--kinetic"], ["Kinetic models"]],
119
+ [["--hybrid"], ["Hybrid models"]],
120
+ [["--toy"], ["Toy models"]],
121
+ [["--refresh-models"], ["Collecting available models"]],
122
+ ],
123
+ )
124
+ def test_main_options(args_expected, capsys):
125
+ args = args_expected[0]
126
+
127
+ with pytest.raises(SystemExit):
128
+ run_struphy(args)
129
+
130
+ # Capture the output
131
+ captured = capsys.readouterr()
132
+
133
+ # Assert that output was printed
134
+ assert captured.out != ""
135
+
136
+ for expected in args_expected[1]:
137
+ assert expected in captured.out
138
+
139
+
140
+ @pytest.mark.mpi_skip
141
+ @pytest.mark.parametrize("model", ["Maxwell"])
142
+ @pytest.mark.parametrize("yes", [True])
143
+ def test_struphy_params(model, yes):
144
+ struphy_params(model, yes=yes)
145
+
146
+
147
+ if __name__ == "__main__":
148
+ # Set test parameters
149
+ model = "Maxwell"
150
+ input_abs = os.path.join(libpath, "io/inp/parameters.yml")
151
+ output_abs = os.path.join(libpath, "io/out/sim_1")
152
+ batch_abs = os.path.join(libpath, "io/batch/batch_cobra.sh")
153
+ runtime = 300
154
+ save_step = 300
155
+ restart = True
156
+ cprofile = False
157
+ likwid = False
158
+ mpi = 2
@@ -120,19 +120,19 @@ def power_spectrum_2d(
120
120
  temp[n, :, :, :] = snapshot[component]
121
121
 
122
122
  # Extract 2d data (t, eta) for fft
123
- if slice_at[0] == None:
123
+ if slice_at[0] is None:
124
124
  data = temp[:, :, slice_at[1], slice_at[2]]
125
125
  grid = grids[0]
126
126
  if grids_mapped is not None:
127
127
  grid = grids_mapped[0][:, slice_at[1], slice_at[2]]
128
128
 
129
- elif slice_at[1] == None:
129
+ elif slice_at[1] is None:
130
130
  data = temp[:, slice_at[0], :, slice_at[2]]
131
131
  grid = grids[1]
132
132
  if grids_mapped is not None:
133
133
  grid = grids_mapped[1][slice_at[0], :, slice_at[2]]
134
134
 
135
- elif slice_at[2] == None:
135
+ elif slice_at[2] is None:
136
136
  data = temp[:, slice_at[0], slice_at[1], :]
137
137
  grid = grids[2].flatten()
138
138
  if grids_mapped is not None:
@@ -1,5 +1,5 @@
1
1
  import cunumpy as xp
2
- from psydac.ddm.mpi import mpi as MPI
2
+ from feectools.ddm.mpi import mpi as MPI
3
3
 
4
4
  from struphy.feec.psydac_derham import Derham
5
5
  from struphy.geometry import domains
@@ -1,11 +1,11 @@
1
1
  import cunumpy as xp
2
- from psydac.api.settings import PSYDAC_BACKEND_GPYCCEL
3
- from psydac.ddm.mpi import mpi as MPI
4
- from psydac.fem.basic import FemSpace
5
- from psydac.fem.tensor import TensorFemSpace
6
- from psydac.linalg.basic import IdentityOperator, LinearOperator, Vector
7
- from psydac.linalg.block import BlockLinearOperator, BlockVector, BlockVectorSpace
8
- from psydac.linalg.stencil import StencilMatrix, StencilVector, StencilVectorSpace
2
+ from feectools.api.settings import PSYDAC_BACKEND_GPYCCEL
3
+ from feectools.ddm.mpi import mpi as MPI
4
+ from feectools.fem.basic import FemSpace
5
+ from feectools.fem.tensor import TensorFemSpace
6
+ from feectools.linalg.basic import IdentityOperator, LinearOperator, Vector
7
+ from feectools.linalg.block import BlockLinearOperator, BlockVector, BlockVectorSpace
8
+ from feectools.linalg.stencil import StencilMatrix, StencilVector, StencilVectorSpace
9
9
 
10
10
  from struphy.feec import basis_projection_kernels
11
11
  from struphy.feec.linear_operators import BoundaryOperator, LinOpWithTransp
@@ -950,7 +950,7 @@ class BasisProjectionOperatorLocal(LinOpWithTransp):
950
950
  P : struphy.feec.projectors.CommutingProjectorLocal
951
951
  Local commuting projector mapping into TensorFemSpace/VectorFemSpace W = P.space (codomain of operator).
952
952
 
953
- V : psydac.fem.basic.FemSpace
953
+ V : feectools.fem.basic.FemSpace
954
954
  Finite element spline space (domain, input space).
955
955
 
956
956
  weights : list
@@ -1158,15 +1158,15 @@ class BasisProjectionOperatorLocal(LinOpWithTransp):
1158
1158
 
1159
1159
  Parameters
1160
1160
  ----------
1161
- v : psydac.linalg.basic.Vector
1161
+ v : feectools.linalg.basic.Vector
1162
1162
  Vector the operator shall be applied to.
1163
1163
 
1164
- out : psydac.linalg.basic.Vector, optional
1164
+ out : feectools.linalg.basic.Vector, optional
1165
1165
  If given, the output will be written in-place into this vector.
1166
1166
 
1167
1167
  Returns
1168
1168
  -------
1169
- out : psydac.linalg.basic.Vector
1169
+ out : feectools.linalg.basic.Vector
1170
1170
  The output (codomain) vector.
1171
1171
  """
1172
1172
 
@@ -1609,7 +1609,7 @@ class BasisProjectionOperator(LinOpWithTransp):
1609
1609
  P : struphy.feec.projectors.Projector
1610
1610
  Global commuting projector mapping into TensorFemSpace/VectorFemSpace W = P.space (codomain of operator).
1611
1611
 
1612
- V : psydac.fem.basic.FemSpace
1612
+ V : feectools.fem.basic.FemSpace
1613
1613
  Finite element spline space (domain, input space).
1614
1614
 
1615
1615
  weights : list
@@ -1804,10 +1804,10 @@ class BasisProjectionOperator(LinOpWithTransp):
1804
1804
 
1805
1805
  Parameters
1806
1806
  ----------
1807
- v : psydac.linalg.basic.Vector
1807
+ v : feectools.linalg.basic.Vector
1808
1808
  Vector the operator shall be applied to.
1809
1809
 
1810
- out : psydac.linalg.basic.Vector, optional
1810
+ out : feectools.linalg.basic.Vector, optional
1811
1811
  If given, the output will be written in-place into this vector.
1812
1812
 
1813
1813
  tol : float, optional
@@ -1821,7 +1821,7 @@ class BasisProjectionOperator(LinOpWithTransp):
1821
1821
 
1822
1822
  Returns
1823
1823
  -------
1824
- out : psydac.linalg.basic.Vector
1824
+ out : feectools.linalg.basic.Vector
1825
1825
  The output (codomain) vector.
1826
1826
  """
1827
1827
 
@@ -2161,7 +2161,7 @@ def prepare_projection_of_basis(V1d, W1d, starts_out, ends_out, n_quad=None, pol
2161
2161
 
2162
2162
  class CoordinateProjector(LinearOperator):
2163
2163
  r"""
2164
- Class of projectors on one component of a :class:`~psydac.linalg.block.BlockVectorSpace`.
2164
+ Class of projectors on one component of a :class:`~feectools.linalg.block.BlockVectorSpace`.
2165
2165
  Represent the projection on the :math:`\mu`-th component :
2166
2166
 
2167
2167
  .. math::
@@ -2265,7 +2265,7 @@ class CoordinateProjector(LinearOperator):
2265
2265
 
2266
2266
  class CoordinateInclusion(LinearOperator):
2267
2267
  r"""
2268
- Class of inclusion operator from one component of a :class:`~psydac.linalg.block.BlockVectorSpace`.
2268
+ Class of inclusion operator from one component of a :class:`~feectools.linalg.block.BlockVectorSpace`.
2269
2269
  Represent the canonical inclusion on the :math:`\mu`-th component :
2270
2270
 
2271
2271
  .. math::
@@ -2,11 +2,11 @@ import itertools
2
2
  from abc import abstractmethod
3
3
 
4
4
  import cunumpy as xp
5
- from psydac.ddm.mpi import MockComm
6
- from psydac.ddm.mpi import mpi as MPI
7
- from psydac.linalg.basic import LinearOperator, Vector, VectorSpace
8
- from psydac.linalg.block import BlockVectorSpace
9
- from psydac.linalg.stencil import StencilVectorSpace
5
+ from feectools.ddm.mpi import MockComm
6
+ from feectools.ddm.mpi import mpi as MPI
7
+ from feectools.linalg.basic import LinearOperator, Vector, VectorSpace
8
+ from feectools.linalg.block import BlockVectorSpace
9
+ from feectools.linalg.stencil import StencilVectorSpace
10
10
  from scipy import sparse
11
11
 
12
12
  from struphy.feec.utilities import apply_essential_bc_to_array
@@ -303,7 +303,7 @@ class BoundaryOperator(LinOpWithTransp):
303
303
 
304
304
  Parameters
305
305
  ----------
306
- vector_space : psydac.linalg.basic.VectorSpace
306
+ vector_space : feectools.linalg.basic.VectorSpace
307
307
  The vector space associated to the operator.
308
308
 
309
309
  space_id : str
@@ -476,15 +476,15 @@ class BoundaryOperator(LinOpWithTransp):
476
476
 
477
477
  Parameters
478
478
  ----------
479
- v : psydac.linalg.basic.Vector
479
+ v : feectools.linalg.basic.Vector
480
480
  The input (domain) vector.
481
481
 
482
- out : psydac.linalg.basic.Vector, optional
482
+ out : feectools.linalg.basic.Vector, optional
483
483
  If given, the output will be written in-place into this vector.
484
484
 
485
485
  Returns
486
486
  -------
487
- out : psydac.linalg.basic.Vector
487
+ out : feectools.linalg.basic.Vector
488
488
  The output (codomain) vector.
489
489
  """
490
490