struphy 2.3.0__tar.gz → 2.3.2__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 (334) hide show
  1. {struphy-2.3.0/src/struphy.egg-info → struphy-2.3.2}/PKG-INFO +21 -19
  2. {struphy-2.3.0 → struphy-2.3.2}/pyproject.toml +22 -20
  3. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/evaluation_kernels_3d.py +219 -3
  4. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/conftest.py +5 -0
  5. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/compile.py +13 -3
  6. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/main.py +131 -66
  7. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/pproc.py +16 -8
  8. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/run.py +89 -20
  9. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/test.py +122 -91
  10. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/diagnostics/console_diagn.py +93 -32
  11. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/diagnostics/continuous_spectra.py +2 -2
  12. struphy-2.3.2/src/struphy/diagnostics/diagn_tools.py +708 -0
  13. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/dispersion_relations/analytic.py +227 -163
  14. struphy-2.3.2/src/struphy/dispersion_relations/base.py +176 -0
  15. struphy-2.3.2/src/struphy/dispersion_relations/utilities.py +29 -0
  16. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_main.py +2 -2
  17. struphy-2.3.2/src/struphy/feec/basis_projection_kernels.py +1976 -0
  18. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/basis_projection_ops.py +102 -184
  19. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/mass.py +196 -84
  20. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/preconditioner.py +9 -2
  21. struphy-2.3.2/src/struphy/feec/projectors.py +1780 -0
  22. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/psydac_derham.py +585 -51
  23. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_basis_ops.py +268 -0
  24. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_field_init.py +75 -51
  25. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_l2_projectors.py +9 -4
  26. struphy-2.3.2/src/struphy/feec/tests/test_local_projectors.py +259 -0
  27. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_mass_matrices.py +26 -25
  28. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/utilities_kernels.py +6 -6
  29. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/variational_utilities.py +63 -44
  30. struphy-2.3.2/src/struphy/fields_background/braginskii_equil/base.py +546 -0
  31. struphy-2.3.2/src/struphy/fields_background/braginskii_equil/equils.py +120 -0
  32. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/base.py +354 -125
  33. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/equils.py +897 -43
  34. struphy-2.3.2/src/struphy/fields_background/mhd_equil/projected_equils.py +291 -0
  35. struphy-2.3.2/src/struphy/fields_background/tests/test_desc_equil.py +220 -0
  36. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/tests/test_gvec_equil.py +24 -18
  37. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/tests/test_numerical_mhd_equil.py +4 -4
  38. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/geometry/base.py +55 -32
  39. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/geometry/domains.py +96 -17
  40. struphy-2.3.2/src/struphy/geometry/evaluation_kernels.py +551 -0
  41. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/geometry/mappings_kernels.py +81 -136
  42. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/geometry/transform_kernels.py +56 -104
  43. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/initial/perturbations.py +130 -18
  44. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovcc.yml +2 -2
  45. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovpc.yml +2 -2
  46. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_landau.yml +2 -2
  47. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_streaming_weibel.yml +2 -2
  48. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_weibel.yml +2 -2
  49. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/parameters.yml +11 -5
  50. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/tutorials/params_02.yml +24 -15
  51. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/tutorials/params_03.yml +15 -11
  52. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/tutorials/params_04a.yml +10 -8
  53. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/tutorials/params_04b.yml +10 -6
  54. struphy-2.3.2/src/struphy/io/inp/tutorials/params_04c.yml +131 -0
  55. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/tutorials/params_05a.yml +5 -3
  56. struphy-2.3.2/src/struphy/io/inp/tutorials/params_05b.yml +77 -0
  57. struphy-2.3.0/src/struphy/io/inp/tutorials/params_05b.yml → struphy-2.3.2/src/struphy/io/inp/tutorials/params_05c.yml +14 -10
  58. struphy-2.3.2/src/struphy/io/inp/tutorials/params_05d.yml +84 -0
  59. struphy-2.3.2/src/struphy/io/inp/tutorials/params_05e.yml +84 -0
  60. struphy-2.3.2/src/struphy/io/inp/tutorials/params_05f.yml +84 -0
  61. struphy-2.3.2/src/struphy/io/inp/tutorials/params_12a.yml +77 -0
  62. struphy-2.3.2/src/struphy/io/inp/tutorials/params_12b.yml +79 -0
  63. struphy-2.3.2/src/struphy/io/setup.py +758 -0
  64. struphy-2.3.2/src/struphy/kinetic_background/base.py +637 -0
  65. struphy-2.3.2/src/struphy/kinetic_background/maxwellians.py +1356 -0
  66. struphy-2.3.2/src/struphy/kinetic_background/tests/test_base.py +93 -0
  67. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/kinetic_background/tests/test_maxwellians.py +407 -127
  68. struphy-2.3.2/src/struphy/linear_algebra/schur_solver.py +266 -0
  69. struphy-2.3.2/src/struphy/main.py +390 -0
  70. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/models/base.py +777 -345
  71. struphy-2.3.2/src/struphy/models/fluid.py +1070 -0
  72. struphy-2.3.2/src/struphy/models/hybrid.py +1132 -0
  73. struphy-2.3.2/src/struphy/models/kinetic.py +1043 -0
  74. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/models/tests/test_fluid_models.py +9 -7
  75. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/models/tests/test_hybrid_models.py +4 -3
  76. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/models/tests/test_kinetic_models.py +9 -6
  77. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/models/tests/test_toy_models.py +7 -6
  78. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/models/tests/test_xxpproc.py +22 -6
  79. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/models/tests/util.py +3 -16
  80. struphy-2.3.2/src/struphy/models/toy.py +1069 -0
  81. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/accumulation/accum_kernels.py +240 -357
  82. struphy-2.3.2/src/struphy/pic/accumulation/accum_kernels_gc.py +862 -0
  83. struphy-2.3.2/src/struphy/pic/accumulation/filter_kernels.py +117 -0
  84. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/accumulation/particle_to_mat_kernels.py +1702 -1934
  85. struphy-2.3.2/src/struphy/pic/accumulation/particles_to_grid.py +662 -0
  86. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/base.py +438 -156
  87. struphy-2.3.2/src/struphy/pic/particles.py +551 -0
  88. struphy-2.3.2/src/struphy/pic/pushing/eval_kernels_gc.py +408 -0
  89. struphy-2.3.2/src/struphy/pic/pushing/pusher.py +477 -0
  90. struphy-2.3.2/src/struphy/pic/pushing/pusher_args_kernels.py +123 -0
  91. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/pushing/pusher_kernels.py +875 -1066
  92. struphy-2.3.2/src/struphy/pic/pushing/pusher_kernels_gc.py +2171 -0
  93. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/pushing/pusher_utilities_kernels.py +68 -98
  94. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_accum_vec_H1.py +47 -14
  95. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_accumulation.py +9 -3
  96. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_binning.py +42 -42
  97. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_mat_vec_filler.py +104 -55
  98. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pushers.py +110 -249
  99. struphy-2.3.2/src/struphy/pic/utilities.py +62 -0
  100. struphy-2.3.2/src/struphy/pic/utilities_kernels.py +637 -0
  101. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/polar/basic.py +24 -2
  102. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/post_processing/post_processing_tools.py +161 -98
  103. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/post_processing/pproc_struphy.py +56 -23
  104. struphy-2.3.2/src/struphy/profiling/profiling.py +176 -0
  105. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/propagators/base.py +124 -7
  106. struphy-2.3.2/src/struphy/propagators/propagators_coupling.py +2166 -0
  107. struphy-2.3.2/src/struphy/propagators/propagators_fields.py +6040 -0
  108. struphy-2.3.2/src/struphy/propagators/propagators_markers.py +1175 -0
  109. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/propagators/tests/test_gyrokinetic_poisson.py +20 -17
  110. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/propagators/tests/test_poisson.py +20 -19
  111. struphy-2.3.0/src/struphy/psydac-0.1.12-py3-none-any.whl → struphy-2.3.2/src/struphy/psydac-0.1.13-py3-none-any.whl +0 -0
  112. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/tutorials/longer_examples/TAE_tokamak.py +2 -2
  113. struphy-2.3.2/src/struphy/tutorials/longer_examples/__init__.py +0 -0
  114. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/tutorials/longer_examples/linearextendedmhd.py +89 -87
  115. struphy-2.3.2/src/struphy/tutorials/tests/__init__.py +0 -0
  116. struphy-2.3.2/src/struphy/tutorials/tests/test_tutorials.py +143 -0
  117. {struphy-2.3.0 → struphy-2.3.2/src/struphy.egg-info}/PKG-INFO +21 -19
  118. {struphy-2.3.0 → struphy-2.3.2}/src/struphy.egg-info/SOURCES.txt +20 -3
  119. struphy-2.3.2/src/struphy.egg-info/requires.txt +28 -0
  120. struphy-2.3.0/src/struphy/diagnostics/diagn_tools.py +0 -363
  121. struphy-2.3.0/src/struphy/dispersion_relations/base.py +0 -153
  122. struphy-2.3.0/src/struphy/eigenvalue_solvers/tests/test_legacy_mhd_projectors.py +0 -986
  123. struphy-2.3.0/src/struphy/feec/basis_projection_kernels.py +0 -557
  124. struphy-2.3.0/src/struphy/feec/projectors.py +0 -662
  125. struphy-2.3.0/src/struphy/feec/tests/test_basis_operators.py +0 -749
  126. struphy-2.3.0/src/struphy/geometry/evaluation_kernels.py +0 -815
  127. struphy-2.3.0/src/struphy/io/setup.py +0 -492
  128. struphy-2.3.0/src/struphy/kinetic_background/base.py +0 -186
  129. struphy-2.3.0/src/struphy/kinetic_background/maxwellians.py +0 -646
  130. struphy-2.3.0/src/struphy/linear_algebra/schur_solver.py +0 -143
  131. struphy-2.3.0/src/struphy/main.py +0 -253
  132. struphy-2.3.0/src/struphy/models/fluid.py +0 -641
  133. struphy-2.3.0/src/struphy/models/hybrid.py +0 -1103
  134. struphy-2.3.0/src/struphy/models/kinetic.py +0 -1499
  135. struphy-2.3.0/src/struphy/models/toy.py +0 -985
  136. struphy-2.3.0/src/struphy/pic/accumulation/accum_kernels_gc.py +0 -2158
  137. struphy-2.3.0/src/struphy/pic/accumulation/particles_to_grid.py +0 -525
  138. struphy-2.3.0/src/struphy/pic/particles.py +0 -352
  139. struphy-2.3.0/src/struphy/pic/pushing/eval_kernels_gc.py +0 -1688
  140. struphy-2.3.0/src/struphy/pic/pushing/pusher.py +0 -319
  141. struphy-2.3.0/src/struphy/pic/pushing/pusher_kernels_gc.py +0 -2921
  142. struphy-2.3.0/src/struphy/pic/utilities.py +0 -132
  143. struphy-2.3.0/src/struphy/pic/utilities_kernels.py +0 -1020
  144. struphy-2.3.0/src/struphy/propagators/propagators_coupling.py +0 -1684
  145. struphy-2.3.0/src/struphy/propagators/propagators_fields.py +0 -4704
  146. struphy-2.3.0/src/struphy/propagators/propagators_markers.py +0 -1425
  147. struphy-2.3.0/src/struphy/tutorials/tests/test_tutorials.py +0 -68
  148. struphy-2.3.0/src/struphy.egg-info/requires.txt +0 -26
  149. {struphy-2.3.0 → struphy-2.3.2}/LICENSE +0 -0
  150. {struphy-2.3.0 → struphy-2.3.2}/README.md +0 -0
  151. {struphy-2.3.0 → struphy-2.3.2}/setup.cfg +0 -0
  152. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/__init__.py +0 -0
  153. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/__init__.py +0 -0
  154. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/bsplines.py +0 -0
  155. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/bsplines_kernels.py +0 -0
  156. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/evaluation_kernels_1d.py +0 -0
  157. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/evaluation_kernels_2d.py +0 -0
  158. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/shapefunc_kernels.py +0 -0
  159. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/tests/__init__.py +0 -0
  160. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/tests/test_bsplines_kernels.py +0 -0
  161. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/bsplines/tests/test_eval_spline_mpi.py +0 -0
  162. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/compile_struphy.mk +0 -0
  163. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/__init__.py +0 -0
  164. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/params.py +0 -0
  165. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/profile.py +0 -0
  166. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/console/units.py +0 -0
  167. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/dependencies.py +0 -0
  168. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/diagnostics/__init__.py +0 -0
  169. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/diagnostics/paraview/__init__.py +0 -0
  170. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/diagnostics/paraview/mesh_creator.py +0 -0
  171. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/diagnostics/paraview/vtk_writer.py +0 -0
  172. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/dispersion_relations/__init__.py +0 -0
  173. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/__init__.py +0 -0
  174. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/derivatives.py +0 -0
  175. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/kernels_2d.py +0 -0
  176. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/kernels_3d.py +0 -0
  177. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/kernels_projectors_global.py +0 -0
  178. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/kernels_projectors_global_mhd.py +0 -0
  179. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/MHD_eigenvalues_cylinder_1D.py +0 -0
  180. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/__init__.py +0 -0
  181. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/__init__.py +0 -0
  182. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/control_variate.py +0 -0
  183. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kernels_control_variate.py +0 -0
  184. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/__init__.py +0 -0
  185. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_control_variate.py +0 -0
  186. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_kernels_control_variate.py +0 -0
  187. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_control_variate.py +0 -0
  188. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_cv_kernel_2.py +0 -0
  189. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_kernels_control_variate.py +0 -0
  190. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_control_variate.py +0 -0
  191. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_cvker.py +0 -0
  192. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_kernels_control_variate.py +0 -0
  193. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/emw_operators.py +0 -0
  194. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/inner_products_1d.py +0 -0
  195. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/inner_products_2d.py +0 -0
  196. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/inner_products_3d.py +0 -0
  197. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/l2_error_1d.py +0 -0
  198. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/l2_error_2d.py +0 -0
  199. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/l2_error_3d.py +0 -0
  200. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/mass_matrices_3d_pre.py +0 -0
  201. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/massless_operators/__init__.py +0 -0
  202. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_arrays.py +0 -0
  203. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bb_kernel.py +0 -0
  204. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bv_kernel.py +0 -0
  205. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_massless_linear_operators.py +0 -0
  206. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_vv_kernel.py +0 -0
  207. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/mhd_operators_MF.py +0 -0
  208. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/__init__.py +0 -0
  209. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/__init__.py +0 -0
  210. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local.py +0 -0
  211. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local_mhd.py +0 -0
  212. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/mhd_operators_3d_local.py +0 -0
  213. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/projectors_local.py +0 -0
  214. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/__init__.py +0 -0
  215. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_L2_projector_kernel.py +0 -0
  216. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_L2.py +0 -0
  217. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_local.py +0 -0
  218. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_local_projector_kernel.py +0 -0
  219. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/mass_matrices_1d.py +0 -0
  220. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/mass_matrices_2d.py +0 -0
  221. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/mass_matrices_3d.py +0 -0
  222. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_pproc.py +0 -0
  223. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/mhd_operators.py +0 -0
  224. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/mhd_operators_core.py +0 -0
  225. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/projectors_global.py +0 -0
  226. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/spline_space.py +0 -0
  227. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/eigenvalue_solvers/tests/__init__.py +0 -0
  228. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/examples/_draw_parallel.py +0 -0
  229. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/__init__.py +0 -0
  230. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/banded_to_stencil_kernels.py +0 -0
  231. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/linear_operators.py +0 -0
  232. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/mass_kernels.py +0 -0
  233. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/__init__.py +0 -0
  234. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_derham.py +0 -0
  235. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_eval_field.py +0 -0
  236. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_lowdim_nel_is_1.py +0 -0
  237. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_toarray_struphy.py +0 -0
  238. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/test_tosparse_struphy.py +0 -0
  239. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/tests/xx_test_preconds.py +0 -0
  240. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/feec/utilities.py +0 -0
  241. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/__init__.py +0 -0
  242. {struphy-2.3.0/src/struphy/fields_background/mhd_equil → struphy-2.3.2/src/struphy/fields_background/braginskii_equil}/__init__.py +0 -0
  243. {struphy-2.3.0/src/struphy/fields_background/mhd_equil/eqdsk → struphy-2.3.2/src/struphy/fields_background/mhd_equil}/__init__.py +0 -0
  244. {struphy-2.3.0/src/struphy/fields_background/mhd_equil/eqdsk/data → struphy-2.3.2/src/struphy/fields_background/mhd_equil/eqdsk}/__init__.py +0 -0
  245. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/eqdsk/data/AUGNLED_g031213.00830.high +0 -0
  246. {struphy-2.3.0/src/struphy/fields_background/mhd_equil/gvec → struphy-2.3.2/src/struphy/fields_background/mhd_equil/eqdsk/data}/__init__.py +0 -0
  247. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +0 -0
  248. {struphy-2.3.0/src/struphy/fields_background/mhd_equil/gvec/output → struphy-2.3.2/src/struphy/fields_background/mhd_equil/gvec}/__init__.py +0 -0
  249. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E1D6_M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -0
  250. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E1D6_M6N6/parameter.ini +0 -0
  251. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E4D6_M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -0
  252. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E4D6_M6N6/parameter.ini +0 -0
  253. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/oldBC_E40D5M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -0
  254. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/oldBC_E40D5M6N6/parameter.ini +0 -0
  255. {struphy-2.3.0/src/struphy/fields_background/mhd_equil/gvec/output/vtk → struphy-2.3.2/src/struphy/fields_background/mhd_equil/gvec/output}/__init__.py +0 -0
  256. {struphy-2.3.0/src/struphy/fields_background/mhd_equil/vmec → struphy-2.3.2/src/struphy/fields_background/mhd_equil/gvec/output/vtk}/__init__.py +0 -0
  257. {struphy-2.3.0/src/struphy/fields_background/tests → struphy-2.3.2/src/struphy/fields_background/mhd_equil/vmec}/__init__.py +0 -0
  258. {struphy-2.3.0/src/struphy/geometry → struphy-2.3.2/src/struphy/fields_background/tests}/__init__.py +0 -0
  259. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/fields_background/tests/test_mhd_equils.py +0 -0
  260. {struphy-2.3.0/src/struphy/geometry/map_coef → struphy-2.3.2/src/struphy/geometry}/__init__.py +0 -0
  261. {struphy-2.3.0/src/struphy/geometry/tests → struphy-2.3.2/src/struphy/geometry/map_coef}/__init__.py +0 -0
  262. {struphy-2.3.0/src/struphy/initial → struphy-2.3.2/src/struphy/geometry/tests}/__init__.py +0 -0
  263. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/geometry/tests/test_domain.py +0 -0
  264. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/geometry/utilities.py +0 -0
  265. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/geometry/utilities_kernels.py +0 -0
  266. {struphy-2.3.0/src/struphy/initial/tests → struphy-2.3.2/src/struphy/initial}/__init__.py +0 -0
  267. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/initial/eigenfunctions.py +0 -0
  268. {struphy-2.3.0/src/struphy/io → struphy-2.3.2/src/struphy/initial/tests}/__init__.py +0 -0
  269. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/initial/tests/test_init_perturbations.py +0 -0
  270. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/initial/utilities.py +0 -0
  271. {struphy-2.3.0/src/struphy/io/inp → struphy-2.3.2/src/struphy/io}/__init__.py +0 -0
  272. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/batch/batch_cobra.sh +0 -0
  273. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/batch/p_016.sh +0 -0
  274. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/batch/p_032.sh +0 -0
  275. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/batch/p_064.sh +0 -0
  276. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/batch/p_128.sh +0 -0
  277. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/batch/p_256.sh +0 -0
  278. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/batch/p_512.sh +0 -0
  279. {struphy-2.3.0/src/struphy/io/out → struphy-2.3.2/src/struphy/io/inp}/__init__.py +0 -0
  280. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/longer_examples/params_TAE_tokamak.yml +0 -0
  281. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/inp/longer_examples/params_linearextendedmhd.yml +0 -0
  282. {struphy-2.3.0/src/struphy/kinetic_background → struphy-2.3.2/src/struphy/io/out}/__init__.py +0 -0
  283. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/io/output_handling.py +0 -0
  284. {struphy-2.3.0/src/struphy/kinetic_background/tests → struphy-2.3.2/src/struphy/kinetic_background}/__init__.py +0 -0
  285. {struphy-2.3.0/src/struphy/linear_algebra → struphy-2.3.2/src/struphy/kinetic_background/tests}/__init__.py +0 -0
  286. {struphy-2.3.0/src/struphy/linear_algebra/tests → struphy-2.3.2/src/struphy/linear_algebra}/__init__.py +0 -0
  287. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/linear_algebra/linalg_kernels.py +0 -0
  288. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/linear_algebra/linalg_kron.py +0 -0
  289. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/linear_algebra/stencil_dot_kernels.py +0 -0
  290. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/linear_algebra/stencil_transpose_kernels.py +0 -0
  291. {struphy-2.3.0/src/struphy/models → struphy-2.3.2/src/struphy/linear_algebra/tests}/__init__.py +0 -0
  292. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/linear_algebra/tests/test_stencil_dot_kernels.py +0 -0
  293. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/linear_algebra/tests/test_stencil_transpose_kernels.py +0 -0
  294. {struphy-2.3.0/src/struphy/models/tests → struphy-2.3.2/src/struphy/models}/__init__.py +0 -0
  295. {struphy-2.3.0/src/struphy/pic → struphy-2.3.2/src/struphy/models/tests}/__init__.py +0 -0
  296. {struphy-2.3.0/src/struphy/pic/accumulation → struphy-2.3.2/src/struphy/pic}/__init__.py +0 -0
  297. {struphy-2.3.0/src/struphy/pic/pushing → struphy-2.3.2/src/struphy/pic/accumulation}/__init__.py +0 -0
  298. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/accumulation/filler_kernels.py +0 -0
  299. {struphy-2.3.0/src/struphy/pic/tests → struphy-2.3.2/src/struphy/pic/pushing}/__init__.py +0 -0
  300. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/sampling_kernels.py +0 -0
  301. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/sobol_seq.py +0 -0
  302. {struphy-2.3.0/src/struphy/pic/tests/test_pic_legacy_files → struphy-2.3.2/src/struphy/pic/tests}/__init__.py +0 -0
  303. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_draw_parallel.py +0 -0
  304. {struphy-2.3.0/src/struphy/polar → struphy-2.3.2/src/struphy/pic/tests/test_pic_legacy_files}/__init__.py +0 -0
  305. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/accumulation.py +0 -0
  306. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/accumulation_kernels_3d.py +0 -0
  307. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d.py +0 -0
  308. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d_fast.py +0 -0
  309. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/pusher.py +0 -0
  310. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/pusher_pos.py +0 -0
  311. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_2d.py +0 -0
  312. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_3d.py +0 -0
  313. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_2d.py +0 -0
  314. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_3d.py +0 -0
  315. {struphy-2.3.0/src/struphy/polar/tests → struphy-2.3.2/src/struphy/polar}/__init__.py +0 -0
  316. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/polar/extraction_operators.py +0 -0
  317. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/polar/linear_operators.py +0 -0
  318. {struphy-2.3.0/src/struphy/post_processing → struphy-2.3.2/src/struphy/polar/tests}/__init__.py +0 -0
  319. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/polar/tests/test_legacy_polar_splines.py +0 -0
  320. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/polar/tests/test_polar.py +0 -0
  321. {struphy-2.3.0/src/struphy/post_processing/tests → struphy-2.3.2/src/struphy/post_processing}/__init__.py +0 -0
  322. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/post_processing/cprofile_analyser.py +0 -0
  323. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/post_processing/profile_struphy.py +0 -0
  324. {struphy-2.3.0/src/struphy/propagators → struphy-2.3.2/src/struphy/post_processing/tests}/__init__.py +0 -0
  325. {struphy-2.3.0/src/struphy/propagators/tests → struphy-2.3.2/src/struphy/profiling}/__init__.py +0 -0
  326. {struphy-2.3.0/src/struphy/tutorials → struphy-2.3.2/src/struphy/propagators}/__init__.py +0 -0
  327. {struphy-2.3.0/src/struphy/tutorials/longer_examples → struphy-2.3.2/src/struphy/propagators/tests}/__init__.py +0 -0
  328. {struphy-2.3.0/src/struphy/tutorials/tests → struphy-2.3.2/src/struphy/tutorials}/__init__.py +0 -0
  329. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/tutorials/longer_examples/linearmhdvlasov_cc.py +0 -0
  330. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/tutorials/longer_examples/linearmhdvlasov_pc.py +0 -0
  331. {struphy-2.3.0 → struphy-2.3.2}/src/struphy/tutorials/utilities.py +0 -0
  332. {struphy-2.3.0 → struphy-2.3.2}/src/struphy.egg-info/dependency_links.txt +0 -0
  333. {struphy-2.3.0 → struphy-2.3.2}/src/struphy.egg-info/entry_points.txt +0 -0
  334. {struphy-2.3.0 → struphy-2.3.2}/src/struphy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: struphy
3
- Version: 2.3.0
3
+ Version: 2.3.2
4
4
  Summary: Multi-model plasma physics package
5
5
  Author: Max Planck Institute for Plasma Physics
6
6
  Author-email: stefan.possanner@ipp.mpg.de, eric.sonnendruecker@ipp.mpg.de
@@ -27,33 +27,35 @@ Project-URL: changelog, https://gitlab.mpcdf.mpg.de/struphy/struphy/-/blob/devel
27
27
  Project-URL: Bug Tracker, https://gitlab.mpcdf.mpg.de/struphy/struphy/-/issues
28
28
  Keywords: plasma physics, fusion, numerical modeling, partial differential equations, energetic particles
29
29
  Classifier: Programming Language :: Python :: 3
30
- Requires-Python: <3.12,>=3.7
30
+ Requires-Python: <3.12,>=3.10
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
33
  Requires-Dist: PyYAML==6.0.1
34
- Requires-Dist: argcomplete==3.2.3
35
- Requires-Dist: docutils==0.20.1
36
- Requires-Dist: gvec-to-python==1.2.1
37
- Requires-Dist: h5py==3.10.0
38
- Requires-Dist: ipyparallel==8.7.0
39
- Requires-Dist: lxml_html_clean==0.1.0
34
+ Requires-Dist: argcomplete==3.4.0
35
+ Requires-Dist: desc-opt==0.12.0
36
+ Requires-Dist: docutils==0.21.2
37
+ Requires-Dist: gvec-to-python==1.2.2
38
+ Requires-Dist: h5py==3.11.0
39
+ Requires-Dist: ipyparallel==8.8.0
40
+ Requires-Dist: lxml_html_clean==0.1.1
40
41
  Requires-Dist: m2r2==0.3.3.post2
41
- Requires-Dist: matplotlib==3.8.3
42
+ Requires-Dist: matplotlib==3.9.0
42
43
  Requires-Dist: mistune==0.8.4
43
- Requires-Dist: mpi4py==3.1.5
44
- Requires-Dist: myst-parser==2.0.0
45
- Requires-Dist: nbsphinx==0.9.3
46
- Requires-Dist: notebook==7.1.2
44
+ Requires-Dist: mpi4py==3.1.6
45
+ Requires-Dist: myst-parser==3.0.1
46
+ Requires-Dist: nbsphinx==0.9.4
47
+ Requires-Dist: netCDF4==1.6.5
48
+ Requires-Dist: notebook==7.2.1
47
49
  Requires-Dist: numpy==1.24.4
48
- Requires-Dist: pyccel==1.11.2
49
- Requires-Dist: pydata-sphinx-theme==0.15.2
50
- Requires-Dist: pytest==8.1.1
50
+ Requires-Dist: pyccel==1.12.1
51
+ Requires-Dist: pydata-sphinx-theme==0.15.3
52
+ Requires-Dist: pytest==8.2.2
51
53
  Requires-Dist: pytest-monitor==1.6.6
52
54
  Requires-Dist: pytest-mpi==0.6
53
- Requires-Dist: scipy==1.12.0
54
- Requires-Dist: Sphinx==7.2.6
55
+ Requires-Dist: scipy==1.13.1
56
+ Requires-Dist: Sphinx==7.3.7
55
57
  Requires-Dist: sphinxcontrib-napoleon==0.7
56
- Requires-Dist: tqdm==4.66.2
58
+ Requires-Dist: tqdm==4.66.4
57
59
  Requires-Dist: vtk==9.3.0
58
60
  Requires-Dist: wheel==0.43.0
59
61
 
@@ -4,9 +4,9 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "struphy"
7
- version = "2.3.0"
7
+ version = "2.3.2"
8
8
  readme = "README.md"
9
- requires-python = ">=3.7, <3.12"
9
+ requires-python = ">=3.10, <3.12"
10
10
  license = {file = "LICENSE"}
11
11
  authors = [
12
12
  { name = "Max Planck Institute for Plasma Physics"},
@@ -20,29 +20,31 @@ classifiers = [
20
20
  ]
21
21
  dependencies = [
22
22
  'PyYAML==6.0.1',
23
- 'argcomplete==3.2.3',
24
- 'docutils==0.20.1',
25
- 'gvec-to-python==1.2.1',
26
- 'h5py==3.10.0',
27
- 'ipyparallel==8.7.0',
28
- 'lxml_html_clean==0.1.0',
23
+ 'argcomplete==3.4.0',
24
+ 'desc-opt==0.12.0',
25
+ 'docutils==0.21.2',
26
+ 'gvec-to-python==1.2.2',
27
+ 'h5py==3.11.0',
28
+ 'ipyparallel==8.8.0',
29
+ 'lxml_html_clean==0.1.1',
29
30
  'm2r2==0.3.3.post2',
30
- 'matplotlib==3.8.3',
31
+ 'matplotlib==3.9.0',
31
32
  'mistune==0.8.4',
32
- 'mpi4py==3.1.5',
33
- 'myst-parser==2.0.0',
34
- 'nbsphinx==0.9.3',
35
- 'notebook==7.1.2',
33
+ 'mpi4py==3.1.6',
34
+ 'myst-parser==3.0.1',
35
+ 'nbsphinx==0.9.4',
36
+ 'netCDF4==1.6.5',
37
+ 'notebook==7.2.1',
36
38
  'numpy==1.24.4',
37
- 'pyccel==1.11.2',
38
- 'pydata-sphinx-theme==0.15.2',
39
- 'pytest==8.1.1',
39
+ 'pyccel==1.12.1',
40
+ 'pydata-sphinx-theme==0.15.3',
41
+ 'pytest==8.2.2',
40
42
  'pytest-monitor==1.6.6',
41
43
  'pytest-mpi==0.6',
42
- 'scipy==1.12.0',
43
- 'Sphinx==7.2.6',
44
+ 'scipy==1.13.1',
45
+ 'Sphinx==7.3.7',
44
46
  'sphinxcontrib-napoleon==0.7',
45
- 'tqdm==4.66.2',
47
+ 'tqdm==4.66.4',
46
48
  'vtk==9.3.0',
47
49
  'wheel==0.43.0',
48
50
  ]
@@ -80,5 +82,5 @@ struphy = "struphy.console.main:struphy"
80
82
  ]
81
83
 
82
84
  struphy = ['compile_struphy.mk',
83
- 'psydac-0.1.12-py3-none-any.whl',
85
+ 'psydac-0.1.13-py3-none-any.whl',
84
86
  ]
@@ -24,9 +24,14 @@ from numpy import empty, zeros
24
24
 
25
25
  import struphy.bsplines.bsplines_kernels as bsplines_kernels
26
26
 
27
+ import struphy.pic.pushing.pusher_args_kernels as pusher_args_kernels
28
+ from struphy.pic.pushing.pusher_args_kernels import DerhamArguments, DomainArguments
29
+
27
30
  #################################
28
31
  ### Single process evaluation ###
29
32
  #################################
33
+
34
+
30
35
  def evaluation_kernel_3d(p1: int, p2: int, p3: int, basis1: 'float[:]', basis2: 'float[:]', basis3: 'float[:]', ind1: 'int[:]', ind2: 'int[:]', ind3: 'int[:]', coeff: 'float[:,:,:]') -> float:
31
36
  """
32
37
  Summing non-zero contributions of a spline function (serial, needs global arrays).
@@ -404,7 +409,19 @@ def evaluate_sparse(t1: 'float[:]', t2: 'float[:]', t3: 'float[:]', p1: int, p2:
404
409
  ##############################
405
410
  ### Distributed evaluation ###
406
411
  ##############################
407
- def eval_spline_mpi_kernel(p1: 'int', p2: 'int', p3: 'int', basis1: 'float[:]', basis2: 'float[:]', basis3: 'float[:]', span1: 'int', span2: 'int', span3: 'int', _data: 'float[:,:,:]', starts: 'int[:]') -> float:
412
+
413
+
414
+ def eval_spline_mpi_kernel(p1: 'int',
415
+ p2: 'int',
416
+ p3: 'int',
417
+ basis1: 'float[:]',
418
+ basis2: 'float[:]',
419
+ basis3: 'float[:]',
420
+ span1: 'int',
421
+ span2: 'int',
422
+ span3: 'int',
423
+ _data: 'float[:,:,:]',
424
+ starts: 'int[:]') -> float:
408
425
  """
409
426
  Summing non-zero contributions of a spline function with distributed memory (domain decomposition).
410
427
 
@@ -767,7 +784,7 @@ def eval_spline_mpi_tensor_product_fixed(span1s: 'int[:]', span2s: 'int[:]', spa
767
784
  for k in range(nk):
768
785
  span3 = span3s[k]
769
786
  b3[:] = b3s[k, :]
770
-
787
+
771
788
  values[i, j, k] = eval_spline_mpi_kernel(pn[0] - kind[0],
772
789
  pn[1] - kind[1],
773
790
  pn[2] - kind[2],
@@ -876,4 +893,203 @@ def eval_spline_mpi_sparse_meshgrid(eta1: 'float[:,:,:]', eta2: 'float[:,:,:]',
876
893
  continue # point not in process domain
877
894
 
878
895
  values[i, j, k] = eval_spline_mpi(
879
- eta1[i, 0, 0], eta2[0, j, 0], eta3[0, 0, k], _data, kind, pn, tn1, tn2, tn3, starts)
896
+ eta1[i, 0, 0], eta2[0, j, 0], eta3[0, 0, k], _data, kind, pn, tn1, tn2, tn3, starts)
897
+
898
+
899
+ ###########################################
900
+ ### Distributed Derham field evaluation ###
901
+ ###########################################
902
+
903
+ def get_spans(eta1: float,
904
+ eta2: float,
905
+ eta3: float,
906
+ args_derham: 'DerhamArguments'):
907
+ '''Compute the knot span index,
908
+ the N-spline values (in bn) and the D-spline values (in bd)
909
+ at (eta1, eta2, eta3).'''
910
+
911
+ # find spans
912
+ span1 = bsplines_kernels.find_span(
913
+ args_derham.tn1, args_derham.pn[0], eta1)
914
+ span2 = bsplines_kernels.find_span(
915
+ args_derham.tn2, args_derham.pn[1], eta2)
916
+ span3 = bsplines_kernels.find_span(
917
+ args_derham.tn3, args_derham.pn[2], eta3)
918
+
919
+ # get spline values at eta
920
+ bsplines_kernels.b_d_splines_slim(
921
+ args_derham.tn1, args_derham.pn[0], eta1, int(span1), args_derham.bn1, args_derham.bd1)
922
+ bsplines_kernels.b_d_splines_slim(
923
+ args_derham.tn2, args_derham.pn[1], eta2, int(span2), args_derham.bn2, args_derham.bd2)
924
+ bsplines_kernels.b_d_splines_slim(
925
+ args_derham.tn3, args_derham.pn[2], eta3, int(span3), args_derham.bn3, args_derham.bd3)
926
+
927
+ return span1, span2, span3
928
+
929
+
930
+ def eval_0form_spline_mpi(span1: int,
931
+ span2: int,
932
+ span3: int,
933
+ args_derham: 'DerhamArguments',
934
+ form_coeffs: 'float[:,:,:]') -> float:
935
+ '''Single-point evaluation of Derham 0-form spline defined by form_coeffs,
936
+ given N-spline values (in bn) and knot span indices span.'''
937
+
938
+ out = eval_spline_mpi_kernel(args_derham.pn[0],
939
+ args_derham.pn[1],
940
+ args_derham.pn[2],
941
+ args_derham.bn1,
942
+ args_derham.bn2,
943
+ args_derham.bn3,
944
+ span1, span2, span3,
945
+ form_coeffs,
946
+ args_derham.starts)
947
+ return out
948
+
949
+
950
+ def eval_1form_spline_mpi(span1: int,
951
+ span2: int,
952
+ span3: int,
953
+ args_derham: 'DerhamArguments',
954
+ form_coeffs_1: 'float[:,:,:]',
955
+ form_coeffs_2: 'float[:,:,:]',
956
+ form_coeffs_3: 'float[:,:,:]',
957
+ out: 'float[:]'):
958
+ '''Single-point evaluation of Derham 1-form spline defined by form_coeffs,
959
+ given N-spline values (in bn), D-spline values (in bd)
960
+ and knot span indices span.'''
961
+
962
+ out[0] = eval_spline_mpi_kernel(args_derham.pn[0] - 1,
963
+ args_derham.pn[1],
964
+ args_derham.pn[2],
965
+ args_derham.bd1,
966
+ args_derham.bn2,
967
+ args_derham.bn3,
968
+ span1, span2, span3,
969
+ form_coeffs_1,
970
+ args_derham.starts)
971
+
972
+ out[1] = eval_spline_mpi_kernel(args_derham.pn[0],
973
+ args_derham.pn[1] - 1,
974
+ args_derham.pn[2],
975
+ args_derham.bn1,
976
+ args_derham.bd2,
977
+ args_derham.bn3,
978
+ span1, span2, span3,
979
+ form_coeffs_2,
980
+ args_derham.starts)
981
+
982
+ out[2] = eval_spline_mpi_kernel(args_derham.pn[0],
983
+ args_derham.pn[1],
984
+ args_derham.pn[2] - 1,
985
+ args_derham.bn1,
986
+ args_derham.bn2,
987
+ args_derham.bd3,
988
+ span1, span2, span3,
989
+ form_coeffs_3,
990
+ args_derham.starts)
991
+
992
+
993
+ def eval_2form_spline_mpi(span1: int,
994
+ span2: int,
995
+ span3: int,
996
+ args_derham: 'DerhamArguments',
997
+ form_coeffs_1: 'float[:,:,:]',
998
+ form_coeffs_2: 'float[:,:,:]',
999
+ form_coeffs_3: 'float[:,:,:]',
1000
+ out: 'float[:]'):
1001
+ '''Single-point evaluation of Derham 2-form spline defined by form_coeffs,
1002
+ given N-spline values (in bn), D-spline values (in bd)
1003
+ and knot span indices span.'''
1004
+
1005
+ out[0] = eval_spline_mpi_kernel(args_derham.pn[0],
1006
+ args_derham.pn[1] - 1,
1007
+ args_derham.pn[2] - 1,
1008
+ args_derham.bn1,
1009
+ args_derham.bd2,
1010
+ args_derham.bd3,
1011
+ span1, span2, span3,
1012
+ form_coeffs_1,
1013
+ args_derham.starts)
1014
+
1015
+ out[1] = eval_spline_mpi_kernel(args_derham.pn[0] - 1,
1016
+ args_derham.pn[1],
1017
+ args_derham.pn[2] - 1,
1018
+ args_derham.bd1,
1019
+ args_derham.bn2,
1020
+ args_derham.bd3,
1021
+ span1, span2, span3,
1022
+ form_coeffs_2,
1023
+ args_derham.starts)
1024
+
1025
+ out[2] = eval_spline_mpi_kernel(args_derham.pn[0] - 1,
1026
+ args_derham.pn[1] - 1,
1027
+ args_derham.pn[2],
1028
+ args_derham.bd1,
1029
+ args_derham.bd2,
1030
+ args_derham.bn3,
1031
+ span1, span2, span3,
1032
+ form_coeffs_3,
1033
+ args_derham.starts)
1034
+
1035
+
1036
+ def eval_3form_spline_mpi(span1: int,
1037
+ span2: int,
1038
+ span3: int,
1039
+ args_derham: 'DerhamArguments',
1040
+ form_coeffs: 'float[:,:,:]') -> float:
1041
+ '''Single-point evaluation of Derham 0-form spline defined by form_coeffs,
1042
+ given D-spline values (in bd) and knot span indices span.'''
1043
+
1044
+ out = eval_spline_mpi_kernel(args_derham.pn[0] - 1,
1045
+ args_derham.pn[1] - 1,
1046
+ args_derham.pn[2] - 1,
1047
+ args_derham.bd1,
1048
+ args_derham.bd2,
1049
+ args_derham.bd3,
1050
+ span1, span2, span3,
1051
+ form_coeffs,
1052
+ args_derham.starts)
1053
+ return out
1054
+
1055
+
1056
+ def eval_vectorfield_spline_mpi(span1: int,
1057
+ span2: int,
1058
+ span3: int,
1059
+ args_derham: 'DerhamArguments',
1060
+ form_coeffs_1: 'float[:,:,:]',
1061
+ form_coeffs_2: 'float[:,:,:]',
1062
+ form_coeffs_3: 'float[:,:,:]',
1063
+ out: 'float[:]'):
1064
+ '''Single-point evaluation of vector-field spline (H^1)^3 defined by form_coeffs,
1065
+ given N-spline values (in bn) and knot span indices span.'''
1066
+
1067
+ out[0] = eval_spline_mpi_kernel(args_derham.pn[0],
1068
+ args_derham.pn[1],
1069
+ args_derham.pn[2],
1070
+ args_derham.bn1,
1071
+ args_derham.bn2,
1072
+ args_derham.bn3,
1073
+ span1, span2, span3,
1074
+ form_coeffs_1,
1075
+ args_derham.starts)
1076
+
1077
+ out[1] = eval_spline_mpi_kernel(args_derham.pn[0],
1078
+ args_derham.pn[1],
1079
+ args_derham.pn[2],
1080
+ args_derham.bn1,
1081
+ args_derham.bn2,
1082
+ args_derham.bn3,
1083
+ span1, span2, span3,
1084
+ form_coeffs_2,
1085
+ args_derham.starts)
1086
+
1087
+ out[2] = eval_spline_mpi_kernel(args_derham.pn[0],
1088
+ args_derham.pn[1],
1089
+ args_derham.pn[2],
1090
+ args_derham.bn1,
1091
+ args_derham.bn2,
1092
+ args_derham.bn3,
1093
+ span1, span2, span3,
1094
+ form_coeffs_3,
1095
+ args_derham.starts)
@@ -1,5 +1,6 @@
1
1
  def pytest_addoption(parser):
2
2
  parser.addoption("--fast", action="store_true")
3
+ parser.addoption("--with-desc", action="store_true")
3
4
 
4
5
 
5
6
  def pytest_generate_tests(metafunc):
@@ -8,3 +9,7 @@ def pytest_generate_tests(metafunc):
8
9
  option_value = metafunc.config.option.fast
9
10
  if 'fast' in metafunc.fixturenames and option_value is not None:
10
11
  metafunc.parametrize("fast", [option_value])
12
+
13
+ option_value = metafunc.config.option.with_desc
14
+ if 'with_desc' in metafunc.fixturenames and option_value is not None:
15
+ metafunc.parametrize("with_desc", [option_value])
@@ -28,7 +28,7 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
28
28
 
29
29
  dependencies : bool
30
30
  Whether to print Struphy kernels (to be compiled) and their dependencies on screen.
31
-
31
+
32
32
  yes : bool
33
33
  Whether to say yes to prompt when changing the language.
34
34
  """
@@ -91,6 +91,10 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
91
91
  '--status',
92
92
  ], check=True, cwd=libpath)
93
93
 
94
+ print('\nDeleting state.yml ...')
95
+ os.remove(os.path.join(libpath, 'state.yml'))
96
+ print('Done.')
97
+
94
98
  elif status:
95
99
 
96
100
  # update status
@@ -183,7 +187,7 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
183
187
  else:
184
188
  yesno = input(
185
189
  f'Kernels compiled in language {state["last_used_language"]} exist, will be deleted, continue (Y/n)?')
186
-
190
+
187
191
  if yesno in ('', 'Y', 'y', 'yes'):
188
192
  subprocess.run(['struphy',
189
193
  'compile',
@@ -208,7 +212,7 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
208
212
  flags += ' --verbose'
209
213
 
210
214
  # install psydac from wheel if not there
211
- current_ver = '0.1.12'
215
+ current_ver = '0.1.13'
212
216
  psydac_file = 'psydac-' + current_ver + '-py3-none-any.whl'
213
217
 
214
218
  try:
@@ -261,3 +265,9 @@ def struphy_compile(language, compiler, omp_pic, omp_feec, delete, status, verbo
261
265
  'compile',
262
266
  '--status',
263
267
  ], check=True, cwd=libpath)
268
+
269
+ # collect available models
270
+ print('')
271
+ subprocess.run(['struphy',
272
+ '--refresh-models',
273
+ ], check=True, cwd=libpath)