struphy 2.3.2__tar.gz → 2.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {struphy-2.3.2 → struphy-2.4.0}/LICENSE +1 -1
- {struphy-2.3.2/src/struphy.egg-info → struphy-2.4.0}/PKG-INFO +42 -32
- struphy-2.4.0/pyproject.toml +158 -0
- {struphy-2.3.2 → struphy-2.4.0}/setup.cfg +3 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/bsplines_kernels.py +15 -11
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/tests/test_bsplines_kernels.py +30 -29
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/compile_struphy.mk +1 -13
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/conftest.py +8 -3
- struphy-2.4.0/src/struphy/console/compile.py +326 -0
- struphy-2.4.0/src/struphy/console/format.py +1321 -0
- struphy-2.4.0/src/struphy/console/main.py +1132 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/console/pproc.py +26 -21
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/console/profile.py +3 -5
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/console/run.py +148 -122
- struphy-2.4.0/src/struphy/console/test.py +137 -0
- struphy-2.4.0/src/struphy/console/tests/test_console.py +537 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/console/units.py +4 -5
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/dependencies.py +27 -26
- struphy-2.4.0/src/struphy/diagnostics/console_diagn.py +280 -0
- struphy-2.4.0/src/struphy/diagnostics/continuous_spectra.py +362 -0
- struphy-2.4.0/src/struphy/diagnostics/diagn_tools.py +1017 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/dispersion_relations/analytic.py +308 -322
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/dispersion_relations/base.py +43 -52
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/kernels_2d.py +94 -31
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/kernels_projectors_global_mhd.py +523 -339
- struphy-2.4.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_control_variate.py +444 -0
- struphy-2.4.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_control_variate.py +672 -0
- struphy-2.4.0/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_control_variate.py +595 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/mhd_operators_MF.py +692 -757
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_main.py +4 -5
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_pproc.py +4 -5
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/examples/_draw_parallel.py +21 -11
- struphy-2.4.0/src/struphy/feec/basis_projection_kernels.py +598 -0
- struphy-2.4.0/src/struphy/feec/basis_projection_ops.py +2331 -0
- struphy-2.4.0/src/struphy/feec/local_projectors_args_kernels.py +120 -0
- struphy-2.4.0/src/struphy/feec/local_projectors_kernels.py +1202 -0
- struphy-2.4.0/src/struphy/feec/mass.py +3174 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/preconditioner.py +319 -196
- struphy-2.4.0/src/struphy/feec/projectors.py +2159 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/psydac_derham.py +1096 -686
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_field_init.py +529 -271
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_l2_projectors.py +45 -45
- struphy-2.4.0/src/struphy/feec/tests/test_local_projectors.py +1537 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_mass_matrices.py +137 -2
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/utilities.py +96 -55
- struphy-2.4.0/src/struphy/feec/utilities_local_projectors.py +915 -0
- struphy-2.4.0/src/struphy/feec/variational_utilities.py +284 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/braginskii_equil/base.py +215 -211
- struphy-2.4.0/src/struphy/fields_background/fluid_equils/base.py +366 -0
- struphy-2.4.0/src/struphy/fields_background/fluid_equils/equils.py +49 -0
- struphy-2.4.0/src/struphy/fields_background/mhd_equil/base.py +1048 -0
- struphy-2.4.0/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +261 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/equils.py +1053 -962
- struphy-2.4.0/src/struphy/fields_background/tests/test_gvec_equil.py +164 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/base.py +719 -386
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/domains.py +309 -188
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/mappings_kernels.py +467 -344
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/utilities.py +42 -35
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/initial/eigenfunctions.py +3 -4
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/initial/perturbations.py +232 -203
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/initial/utilities.py +3 -3
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/parameters.yml +13 -8
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_02.yml +13 -4
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05a.yml +3 -6
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05b.yml +3 -6
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05c.yml +3 -10
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05d.yml +3 -10
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05e.yml +3 -10
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05f.yml +3 -10
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_12a.yml +3 -6
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_12b.yml +3 -6
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/setup.py +161 -129
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/kinetic_background/base.py +11 -9
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/kinetic_background/maxwellians.py +415 -379
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/schur_solver.py +24 -34
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/main.py +158 -121
- struphy-2.4.0/src/struphy/models/base.py +2293 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/models/fluid.py +261 -205
- struphy-2.4.0/src/struphy/models/hybrid.py +1244 -0
- struphy-2.4.0/src/struphy/models/kinetic.py +1265 -0
- struphy-2.4.0/src/struphy/models/tests/test_fluid_models.py +53 -0
- struphy-2.4.0/src/struphy/models/tests/test_hybrid_models.py +53 -0
- struphy-2.4.0/src/struphy/models/tests/test_kinetic_models.py +53 -0
- struphy-2.4.0/src/struphy/models/tests/test_toy_models.py +42 -0
- struphy-2.4.0/src/struphy/models/tests/util.py +214 -0
- struphy-2.4.0/src/struphy/models/toy.py +1201 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/accumulation/accum_kernels.py +583 -467
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/accumulation/particles_to_grid.py +181 -115
- struphy-2.4.0/src/struphy/pic/base.py +2935 -0
- struphy-2.4.0/src/struphy/pic/particles.py +944 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/pushing/eval_kernels_gc.py +197 -161
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/pushing/pusher.py +103 -80
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_args_kernels.py +56 -53
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_kernels.py +1448 -829
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_kernels_gc.py +915 -737
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_utilities_kernels.py +117 -142
- struphy-2.4.0/src/struphy/pic/sorting_kernels.py +166 -0
- struphy-2.4.0/src/struphy/pic/sph_eval_kernels.py +239 -0
- struphy-2.4.0/src/struphy/pic/tests/test_accum_vec_H1.py +170 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_accumulation.py +239 -126
- struphy-2.4.0/src/struphy/pic/tests/test_binning.py +1075 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_draw_parallel.py +42 -29
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pushers.py +350 -205
- struphy-2.4.0/src/struphy/pic/tests/test_sorting.py +94 -0
- struphy-2.4.0/src/struphy/pic/tests/test_sph.py +74 -0
- struphy-2.4.0/src/struphy/pic/utilities.py +67 -0
- struphy-2.4.0/src/struphy/pic/utilities_kernels.py +807 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/polar/basic.py +63 -37
- struphy-2.4.0/src/struphy/post_processing/orbits/orbits_kernels.py +68 -0
- struphy-2.4.0/src/struphy/post_processing/orbits/orbits_tools.py +223 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/post_processing/post_processing_tools.py +219 -111
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/post_processing/pproc_struphy.py +53 -7
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/propagators/base.py +105 -86
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/propagators/propagators_coupling.py +1104 -766
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/propagators/propagators_fields.py +2971 -1961
- struphy-2.4.0/src/struphy/propagators/propagators_markers.py +1445 -0
- struphy-2.4.0/src/struphy/psydac-2.4.0-py3-none-any.whl +0 -0
- struphy-2.4.0/src/struphy/tutorials/tests/test_tutorials.py +175 -0
- struphy-2.4.0/src/struphy/utils/utils.py +77 -0
- {struphy-2.3.2 → struphy-2.4.0/src/struphy.egg-info}/PKG-INFO +42 -32
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy.egg-info/SOURCES.txt +18 -10
- struphy-2.4.0/src/struphy.egg-info/requires.txt +41 -0
- struphy-2.3.2/pyproject.toml +0 -86
- struphy-2.3.2/src/struphy/console/compile.py +0 -273
- struphy-2.3.2/src/struphy/console/main.py +0 -770
- struphy-2.3.2/src/struphy/console/test.py +0 -367
- struphy-2.3.2/src/struphy/diagnostics/console_diagn.py +0 -217
- struphy-2.3.2/src/struphy/diagnostics/continuous_spectra.py +0 -360
- struphy-2.3.2/src/struphy/diagnostics/diagn_tools.py +0 -708
- struphy-2.3.2/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_control_variate.py +0 -139
- struphy-2.3.2/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_control_variate.py +0 -208
- struphy-2.3.2/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_control_variate.py +0 -159
- struphy-2.3.2/src/struphy/feec/basis_projection_kernels.py +0 -1976
- struphy-2.3.2/src/struphy/feec/basis_projection_ops.py +0 -1371
- struphy-2.3.2/src/struphy/feec/mass.py +0 -1764
- struphy-2.3.2/src/struphy/feec/projectors.py +0 -1780
- struphy-2.3.2/src/struphy/feec/tests/test_local_projectors.py +0 -259
- struphy-2.3.2/src/struphy/feec/variational_utilities.py +0 -226
- struphy-2.3.2/src/struphy/fields_background/mhd_equil/base.py +0 -927
- struphy-2.3.2/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +0 -238
- struphy-2.3.2/src/struphy/fields_background/tests/test_gvec_equil.py +0 -175
- struphy-2.3.2/src/struphy/models/base.py +0 -2101
- struphy-2.3.2/src/struphy/models/hybrid.py +0 -1132
- struphy-2.3.2/src/struphy/models/kinetic.py +0 -1043
- struphy-2.3.2/src/struphy/models/tests/test_fluid_models.py +0 -53
- struphy-2.3.2/src/struphy/models/tests/test_hybrid_models.py +0 -52
- struphy-2.3.2/src/struphy/models/tests/test_kinetic_models.py +0 -55
- struphy-2.3.2/src/struphy/models/tests/test_toy_models.py +0 -40
- struphy-2.3.2/src/struphy/models/tests/util.py +0 -144
- struphy-2.3.2/src/struphy/models/toy.py +0 -1069
- struphy-2.3.2/src/struphy/pic/base.py +0 -1471
- struphy-2.3.2/src/struphy/pic/particles.py +0 -551
- struphy-2.3.2/src/struphy/pic/tests/test_accum_vec_H1.py +0 -123
- struphy-2.3.2/src/struphy/pic/tests/test_binning.py +0 -638
- struphy-2.3.2/src/struphy/pic/utilities.py +0 -62
- struphy-2.3.2/src/struphy/pic/utilities_kernels.py +0 -637
- struphy-2.3.2/src/struphy/propagators/propagators_markers.py +0 -1175
- struphy-2.3.2/src/struphy/psydac-0.1.13-py3-none-any.whl +0 -0
- struphy-2.3.2/src/struphy/tutorials/longer_examples/TAE_tokamak.py +0 -252
- struphy-2.3.2/src/struphy/tutorials/longer_examples/linearextendedmhd.py +0 -217
- struphy-2.3.2/src/struphy/tutorials/longer_examples/linearmhdvlasov_cc.py +0 -142
- struphy-2.3.2/src/struphy/tutorials/longer_examples/linearmhdvlasov_pc.py +0 -142
- struphy-2.3.2/src/struphy/tutorials/tests/__init__.py +0 -0
- struphy-2.3.2/src/struphy/tutorials/tests/test_tutorials.py +0 -143
- struphy-2.3.2/src/struphy/tutorials/utilities.py +0 -12
- struphy-2.3.2/src/struphy.egg-info/requires.txt +0 -28
- {struphy-2.3.2 → struphy-2.4.0}/README.md +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/bsplines.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/evaluation_kernels_1d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/evaluation_kernels_2d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/evaluation_kernels_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/shapefunc_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/bsplines/tests/test_eval_spline_mpi.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/console/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/console/params.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/diagnostics/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/diagnostics/paraview/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/diagnostics/paraview/mesh_creator.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/diagnostics/paraview/vtk_writer.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/dispersion_relations/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/dispersion_relations/utilities.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/derivatives.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/kernels_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/kernels_projectors_global.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/MHD_eigenvalues_cylinder_1D.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/control_variate.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kernels_control_variate.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_kernels_control_variate.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_cv_kernel_2.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_kernels_control_variate.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_cvker.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_kernels_control_variate.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/emw_operators.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/inner_products_1d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/inner_products_2d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/inner_products_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/l2_error_1d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/l2_error_2d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/l2_error_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/mass_matrices_3d_pre.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_arrays.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bb_kernel.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bv_kernel.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_massless_linear_operators.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_vv_kernel.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local_mhd.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/mhd_operators_3d_local.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/projectors_local.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_L2_projector_kernel.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_L2.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_local.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_local_projector_kernel.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mass_matrices_1d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mass_matrices_2d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mass_matrices_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_operators.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_operators_core.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/projectors_global.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/spline_space.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/banded_to_stencil_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/linear_operators.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/mass_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_basis_ops.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_derham.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_eval_field.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_lowdim_nel_is_1.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_toarray_struphy.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/test_tosparse_struphy.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/tests/xx_test_preconds.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/feec/utilities_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/braginskii_equil/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/braginskii_equil/equils.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/eqdsk/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/AUGNLED_g031213.00830.high +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E1D6_M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E1D6_M6N6/parameter.ini +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E4D6_M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E4D6_M6N6/parameter.ini +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/oldBC_E40D5M6N6/GVEC_ELLIPSTELL_V2_State_0000_00200000.dat +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/oldBC_E40D5M6N6/parameter.ini +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/output/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/output/vtk/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/projected_equils.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/vmec/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/tests/test_desc_equil.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/tests/test_mhd_equils.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/fields_background/tests/test_numerical_mhd_equil.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/evaluation_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/map_coef/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/tests/test_domain.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/transform_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/geometry/utilities_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/initial/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/initial/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/initial/tests/test_init_perturbations.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/batch/batch_cobra.sh +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/batch/p_016.sh +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/batch/p_032.sh +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/batch/p_064.sh +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/batch/p_128.sh +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/batch/p_256.sh +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/batch/p_512.sh +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_TAE_tokamak.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovcc.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovpc.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linearextendedmhd.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_landau.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_streaming_weibel.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_weibel.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_03.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_04a.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_04b.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_04c.yml +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/out/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/io/output_handling.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/kinetic_background/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/kinetic_background/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/kinetic_background/tests/test_base.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/kinetic_background/tests/test_maxwellians.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/linalg_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/linalg_kron.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/stencil_dot_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/stencil_transpose_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/tests/test_stencil_dot_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/linear_algebra/tests/test_stencil_transpose_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/models/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/models/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/models/tests/test_xxpproc.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/accumulation/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/accumulation/accum_kernels_gc.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/accumulation/filler_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/accumulation/filter_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/accumulation/particle_to_mat_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/pushing/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/sampling_kernels.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/sobol_seq.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_mat_vec_filler.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/accumulation.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/accumulation_kernels_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d_fast.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher_pos.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_2d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_2d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_3d.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/polar/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/polar/extraction_operators.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/polar/linear_operators.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/polar/tests/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/polar/tests/test_legacy_polar_splines.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/polar/tests/test_polar.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/post_processing/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/post_processing/cprofile_analyser.py +0 -0
- {struphy-2.3.2/src/struphy/post_processing/tests → struphy-2.4.0/src/struphy/post_processing/orbits}/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/post_processing/profile_struphy.py +0 -0
- {struphy-2.3.2/src/struphy/profiling → struphy-2.4.0/src/struphy/post_processing/tests}/__init__.py +0 -0
- {struphy-2.3.2/src/struphy/propagators → struphy-2.4.0/src/struphy/profiling}/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/profiling/profiling.py +0 -0
- {struphy-2.3.2/src/struphy/propagators/tests → struphy-2.4.0/src/struphy/propagators}/__init__.py +0 -0
- {struphy-2.3.2/src/struphy/tutorials → struphy-2.4.0/src/struphy/propagators/tests}/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/propagators/tests/test_gyrokinetic_poisson.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy/propagators/tests/test_poisson.py +0 -0
- {struphy-2.3.2/src/struphy/tutorials/longer_examples → struphy-2.4.0/src/struphy/utils}/__init__.py +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy.egg-info/dependency_links.txt +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy.egg-info/entry_points.txt +0 -0
- {struphy-2.3.2 → struphy-2.4.0}/src/struphy.egg-info/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright (c) 2019-
|
|
1
|
+
Copyright (c) 2019-2025, Struphy developers, Max Planck Institute for Plasma Physics
|
|
2
2
|
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
4
4
|
associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: struphy
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
4
4
|
Summary: Multi-model plasma physics package
|
|
5
5
|
Author: Max Planck Institute for Plasma Physics
|
|
6
6
|
Author-email: stefan.possanner@ipp.mpg.de, eric.sonnendruecker@ipp.mpg.de
|
|
7
|
-
License: Copyright (c) 2019-
|
|
7
|
+
License: Copyright (c) 2019-2025, Struphy developers, Max Planck Institute for Plasma Physics
|
|
8
8
|
|
|
9
9
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
10
10
|
associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
@@ -27,37 +27,47 @@ 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:
|
|
30
|
+
Requires-Python: >=3.10
|
|
31
31
|
Description-Content-Type: text/markdown
|
|
32
32
|
License-File: LICENSE
|
|
33
|
-
Requires-Dist:
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist:
|
|
57
|
-
Requires-Dist:
|
|
58
|
-
Requires-Dist:
|
|
59
|
-
|
|
60
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: numpy
|
|
34
|
+
Requires-Dist: pyccel>=1.11.1
|
|
35
|
+
Requires-Dist: mpi4py<4
|
|
36
|
+
Requires-Dist: scipy
|
|
37
|
+
Requires-Dist: h5py
|
|
38
|
+
Requires-Dist: matplotlib
|
|
39
|
+
Requires-Dist: pyyaml
|
|
40
|
+
Requires-Dist: vtk
|
|
41
|
+
Requires-Dist: tqdm
|
|
42
|
+
Requires-Dist: argcomplete
|
|
43
|
+
Requires-Dist: gvec-to-python
|
|
44
|
+
Requires-Dist: desc-opt
|
|
45
|
+
Requires-Dist: netcdf4<1.7
|
|
46
|
+
Provides-Extra: test
|
|
47
|
+
Requires-Dist: pytest; extra == "test"
|
|
48
|
+
Requires-Dist: pytest-mpi; extra == "test"
|
|
49
|
+
Provides-Extra: dev
|
|
50
|
+
Requires-Dist: struphy[test]; extra == "dev"
|
|
51
|
+
Requires-Dist: notebook; extra == "dev"
|
|
52
|
+
Requires-Dist: autopep8; extra == "dev"
|
|
53
|
+
Requires-Dist: isort; extra == "dev"
|
|
54
|
+
Requires-Dist: flake8; extra == "dev"
|
|
55
|
+
Requires-Dist: pylint; extra == "dev"
|
|
56
|
+
Requires-Dist: add-trailing-comma; extra == "dev"
|
|
57
|
+
Requires-Dist: ruff>=0.9.1; extra == "dev"
|
|
58
|
+
Requires-Dist: pre-commit; extra == "dev"
|
|
59
|
+
Provides-Extra: doc
|
|
60
|
+
Requires-Dist: sphinx; extra == "doc"
|
|
61
|
+
Requires-Dist: sphinx-design; extra == "doc"
|
|
62
|
+
Requires-Dist: lxml_html_clean; extra == "doc"
|
|
63
|
+
Requires-Dist: sphinxcontrib-napoleon; extra == "doc"
|
|
64
|
+
Requires-Dist: pydata-sphinx-theme; extra == "doc"
|
|
65
|
+
Requires-Dist: nbsphinx; extra == "doc"
|
|
66
|
+
Requires-Dist: m2r2; extra == "doc"
|
|
67
|
+
Requires-Dist: myst-parser; extra == "doc"
|
|
68
|
+
Requires-Dist: mistune; extra == "doc"
|
|
69
|
+
Requires-Dist: docutils; extra == "doc"
|
|
70
|
+
Requires-Dist: ipyparallel; extra == "doc"
|
|
61
71
|
|
|
62
72
|
# Struphy - Structure-preserving hybrid codes
|
|
63
73
|
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "struphy"
|
|
7
|
+
version = "2.4.0"
|
|
8
|
+
readme = "README.md"
|
|
9
|
+
requires-python = ">=3.10"
|
|
10
|
+
license = {file = "LICENSE"}
|
|
11
|
+
authors = [
|
|
12
|
+
{ name = "Max Planck Institute for Plasma Physics"},
|
|
13
|
+
{ email = "stefan.possanner@ipp.mpg.de"},
|
|
14
|
+
{ email = "eric.sonnendruecker@ipp.mpg.de"}
|
|
15
|
+
]
|
|
16
|
+
description = "Multi-model plasma physics package"
|
|
17
|
+
keywords = ["plasma physics, fusion, numerical modeling, partial differential equations, energetic particles"]
|
|
18
|
+
classifiers = [
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
]
|
|
21
|
+
dependencies = [
|
|
22
|
+
'numpy',
|
|
23
|
+
'pyccel>=1.11.1',
|
|
24
|
+
'mpi4py<4',
|
|
25
|
+
'scipy',
|
|
26
|
+
'h5py',
|
|
27
|
+
'matplotlib',
|
|
28
|
+
'pyyaml',
|
|
29
|
+
'vtk',
|
|
30
|
+
'tqdm',
|
|
31
|
+
'argcomplete',
|
|
32
|
+
'gvec-to-python',
|
|
33
|
+
'desc-opt',
|
|
34
|
+
'netcdf4<1.7',
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
[project.optional-dependencies]
|
|
38
|
+
test = [
|
|
39
|
+
'pytest',
|
|
40
|
+
'pytest-mpi',
|
|
41
|
+
]
|
|
42
|
+
dev = [
|
|
43
|
+
'struphy[test]',
|
|
44
|
+
'notebook',
|
|
45
|
+
'autopep8',
|
|
46
|
+
'isort',
|
|
47
|
+
'flake8',
|
|
48
|
+
'pylint',
|
|
49
|
+
'add-trailing-comma',
|
|
50
|
+
'ruff>=0.9.1',
|
|
51
|
+
'pre-commit',
|
|
52
|
+
]
|
|
53
|
+
doc = [
|
|
54
|
+
'sphinx',
|
|
55
|
+
'sphinx-design',
|
|
56
|
+
'lxml_html_clean',
|
|
57
|
+
'sphinxcontrib-napoleon',
|
|
58
|
+
'pydata-sphinx-theme',
|
|
59
|
+
'nbsphinx',
|
|
60
|
+
'm2r2',
|
|
61
|
+
'myst-parser',
|
|
62
|
+
'mistune',
|
|
63
|
+
'docutils',
|
|
64
|
+
'ipyparallel',
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
[project.urls]
|
|
69
|
+
homepage = "https://struphy.pages.mpcdf.de/struphy/"
|
|
70
|
+
documentation = "https://struphy.pages.mpcdf.de/struphy/"
|
|
71
|
+
repository = "https://gitlab.mpcdf.mpg.de/struphy/struphy"
|
|
72
|
+
changelog = "https://gitlab.mpcdf.mpg.de/struphy/struphy/-/blob/devel/CHANGELOG.md"
|
|
73
|
+
"Bug Tracker" = "https://gitlab.mpcdf.mpg.de/struphy/struphy/-/issues"
|
|
74
|
+
|
|
75
|
+
[project.scripts]
|
|
76
|
+
struphy = "struphy.console.main:struphy"
|
|
77
|
+
|
|
78
|
+
[tool.setuptools.package-data]
|
|
79
|
+
'struphy.fields_background.mhd_equil.eqdsk' = [
|
|
80
|
+
'data/*.high',
|
|
81
|
+
]
|
|
82
|
+
|
|
83
|
+
'struphy.fields_background.mhd_equil.gvec' = [
|
|
84
|
+
'ellipstell_v2/newBC_E1D6_M6N6/*.dat',
|
|
85
|
+
'ellipstell_v2/newBC_E1D6_M6N6/*.ini',
|
|
86
|
+
'ellipstell_v2/newBC_E4D6_M6N6/*.dat',
|
|
87
|
+
'ellipstell_v2/newBC_E4D6_M6N6/*.ini',
|
|
88
|
+
'ellipstell_v2/oldBC_E40D5M6N6/*.dat',
|
|
89
|
+
'ellipstell_v2/oldBC_E40D5M6N6/*.ini',
|
|
90
|
+
]
|
|
91
|
+
|
|
92
|
+
'struphy.io' = ['batch/*.sh']
|
|
93
|
+
|
|
94
|
+
'struphy.io.inp' = ['parameters.yml',
|
|
95
|
+
'tests/*.yml',
|
|
96
|
+
'tutorials/*.yml',
|
|
97
|
+
'longer_examples/*.yml',
|
|
98
|
+
]
|
|
99
|
+
|
|
100
|
+
struphy = ['compile_struphy.mk',
|
|
101
|
+
'psydac-2.4.0-py3-none-any.whl',]
|
|
102
|
+
|
|
103
|
+
[tool.autopep8]
|
|
104
|
+
# Add specific settings for autopep8
|
|
105
|
+
max_line_length = 120
|
|
106
|
+
ignore = ["E221,E226,E203,E265,E731,E711"]
|
|
107
|
+
# Descriptions of error codes: https://www.flake8rules.com/
|
|
108
|
+
# E201 – Whitespace after (, [ or {
|
|
109
|
+
# E202 – Whitespace before (, [ or {
|
|
110
|
+
# E221 – Multiple spaces before operator
|
|
111
|
+
# E226 – Missing whitespace around arithmetic operators
|
|
112
|
+
# E265 - Block comment should start with '# '
|
|
113
|
+
# E266 – Too many leading # for block comment
|
|
114
|
+
# E731 – Do not assign a lambda expression
|
|
115
|
+
# E203 – Whitespace before : (used in slicing)
|
|
116
|
+
# E711 - Ignore enforcing 'is not None' over '!= None'
|
|
117
|
+
|
|
118
|
+
[tool.isort]
|
|
119
|
+
# Configuration for isort
|
|
120
|
+
profile = "black" # Using the Black profile to match formatting styles
|
|
121
|
+
line_length = 120
|
|
122
|
+
multi_line_output = 3 # Control how isort wraps imports
|
|
123
|
+
include_trailing_comma = true
|
|
124
|
+
force_grid_wrap = 0
|
|
125
|
+
combine_as_imports = true
|
|
126
|
+
|
|
127
|
+
[tool.pylint]
|
|
128
|
+
max-line-length=120
|
|
129
|
+
quote-style = "single"
|
|
130
|
+
|
|
131
|
+
[tool.ruff]
|
|
132
|
+
line-length=120
|
|
133
|
+
lint.ignore = [
|
|
134
|
+
"E265", # Checks for block comments that lack a single space after the leading # character.
|
|
135
|
+
"E402", # Module-level imports should be placed at the top of the file (before any other code)
|
|
136
|
+
"E701", # Multiple statements on one line (colon)
|
|
137
|
+
# "E711", # Comparison to `None` should be `cond is None`
|
|
138
|
+
# "E712", # Comparison to True, False, or None should be avoided (e.g., use `if variable:` instead of `if variable == True:`)
|
|
139
|
+
# "E713", # Convert to `not in`
|
|
140
|
+
# "E721", # Avoid comparing types directly with `type()` (e.g., use `isinstance()` instead of `type(variable) == list`)
|
|
141
|
+
"E722", # Do not use bare 'except'
|
|
142
|
+
"E731", # Do not assign a lambda expression, use a def
|
|
143
|
+
"E741", # Do not use variables named 'l', 'O', or 'I'
|
|
144
|
+
"E742", # Do not define classes named 'l', 'O', or 'I'
|
|
145
|
+
"E743", # Do not define functions named 'l', 'O', or 'I'
|
|
146
|
+
"E902", # IOError
|
|
147
|
+
# "E999", # SyntaxError
|
|
148
|
+
"F401", # Module imported but unused
|
|
149
|
+
"F403", # 'from module import *' used; unable to detect undefined names
|
|
150
|
+
"F405", # Name may be undefined, or defined from star imports: module
|
|
151
|
+
# "F811", # Redefinition of a variable that might cause ambiguity (e.g., reusing a variable name in a conflicting scope)
|
|
152
|
+
# "F821", # Undefined name
|
|
153
|
+
# "F822", # Undefined name in __all__
|
|
154
|
+
# "F823", # Local variable name referenced before assignment
|
|
155
|
+
# "F841", # Local variable name assigned to but never used
|
|
156
|
+
"D211", # Checks for docstrings on class definitions that are preceded by a blank line
|
|
157
|
+
"D213", # Checks for docstring summary lines that are not positioned on the second physical line of the docstring
|
|
158
|
+
]
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
"""
|
|
4
4
|
Basic functions for point-wise B-spline evaluation
|
|
5
5
|
"""
|
|
6
|
-
from pyccel.decorators import pure, stack_array
|
|
7
|
-
|
|
8
6
|
from numpy import empty, zeros
|
|
7
|
+
from pyccel.decorators import pure, stack_array
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
@pure
|
|
@@ -256,8 +255,9 @@ def basis_funs_all_ders(knots: 'float[:]', degree: int, eta: float, span: int, l
|
|
|
256
255
|
d = a[s2, 0] * ndu[rk, pk]
|
|
257
256
|
j1 = 1 if (rk > -1) else -rk
|
|
258
257
|
j2 = k-1 if (r-1 <= pk) else degree-r
|
|
259
|
-
a[s2, j1:j2+1] = (
|
|
260
|
-
|
|
258
|
+
a[s2, j1:j2+1] = (
|
|
259
|
+
a[s1, j1:j2+1] - a[s1, j1-1:j2]
|
|
260
|
+
) * ndu[pk+1, rk+j1:rk+j2+1]
|
|
261
261
|
for l in range(j2 + 1 - j1):
|
|
262
262
|
d += a[s2, j1 + l] * ndu[rk + j1 + l, pk]
|
|
263
263
|
#d += dot(a[s2, j1:j2+1], ndu[rk+j1:rk+j2+1, pk])
|
|
@@ -375,8 +375,10 @@ def d_splines_slim(tn: 'float[:]', pn: 'int', eta: 'float', span: 'int', values:
|
|
|
375
375
|
|
|
376
376
|
# compute D-splines values by scaling
|
|
377
377
|
for il in range(pd + 1):
|
|
378
|
-
values[pd - il] = pn/(
|
|
379
|
-
|
|
378
|
+
values[pd - il] = pn/(
|
|
379
|
+
tn[span - il + pn] -
|
|
380
|
+
tn[span - il]
|
|
381
|
+
) * b_values[pd - il]
|
|
380
382
|
|
|
381
383
|
|
|
382
384
|
@pure
|
|
@@ -427,8 +429,10 @@ def b_d_splines_slim(tn: 'float[:]', pn: 'int', eta: 'float', span: 'int', bn: '
|
|
|
427
429
|
if j == pn-1:
|
|
428
430
|
# compute D-splines values by scaling B-splines of degree pn-1
|
|
429
431
|
for il in range(pd + 1):
|
|
430
|
-
bd[pd - il] = pn/(
|
|
431
|
-
|
|
432
|
+
bd[pd - il] = pn/(
|
|
433
|
+
tn[span - il + pn] -
|
|
434
|
+
tn[span - il]
|
|
435
|
+
) * bn[pd - il]
|
|
432
436
|
|
|
433
437
|
for r in range(j + 1):
|
|
434
438
|
temp = bn[r]/(right[r] + left[j - r])
|
|
@@ -656,7 +660,7 @@ def b_spl_1st_der_slim(t: 'float[:]', p: 'int', eta: 'float', span: 'int', value
|
|
|
656
660
|
def piecewise(p: 'int', delta: 'float', eta: 'float') -> 'float':
|
|
657
661
|
r"""
|
|
658
662
|
evaluate a hat function (B-spline) centered at eta0 (the center of the support) at eta1, i.e.
|
|
659
|
-
|
|
663
|
+
|
|
660
664
|
.. math::
|
|
661
665
|
1.0 / delta * S((eta1 - eta0)/ delta)
|
|
662
666
|
|
|
@@ -753,7 +757,7 @@ def piecewise_der(p: 'int', delta: 'float', eta: 'float') -> 'float':
|
|
|
753
757
|
def convolution(p: 'int', grids: 'float[:]', eta: 'float') -> 'float':
|
|
754
758
|
r"""
|
|
755
759
|
evaluate a hat function (B-spline) at eta, i.e.
|
|
756
|
-
|
|
760
|
+
|
|
757
761
|
.. math::
|
|
758
762
|
1.0 / delta * S(eta/ delta)
|
|
759
763
|
|
|
@@ -808,7 +812,7 @@ def convolution(p: 'int', grids: 'float[:]', eta: 'float') -> 'float':
|
|
|
808
812
|
def convolution_der(p: 'int', grids: 'float[:]', eta: 'float') -> 'float':
|
|
809
813
|
r"""
|
|
810
814
|
evaluate the derivative of a hat function (B-spline) at eta, i.e.
|
|
811
|
-
|
|
815
|
+
|
|
812
816
|
.. math::
|
|
813
817
|
1.0 / delta^2 * S'(eta/ delta)
|
|
814
818
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import time
|
|
2
|
+
|
|
2
3
|
import numpy as np
|
|
4
|
+
import pytest
|
|
3
5
|
from mpi4py import MPI
|
|
4
|
-
import time
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
@pytest.mark.mpi(min_size=2)
|
|
@@ -14,11 +15,11 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
14
15
|
Print timings.
|
|
15
16
|
'''
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
import psydac.core.bsplines_kernels as bsp_psy
|
|
18
19
|
|
|
19
|
-
from struphy.feec.utilities import create_equal_random_arrays as cera
|
|
20
20
|
import struphy.bsplines.bsplines_kernels as bsp
|
|
21
|
-
|
|
21
|
+
from struphy.feec.psydac_derham import Derham
|
|
22
|
+
from struphy.feec.utilities import create_equal_random_arrays as cera
|
|
22
23
|
|
|
23
24
|
comm = MPI.COMM_WORLD
|
|
24
25
|
assert comm.size >= 2
|
|
@@ -48,7 +49,7 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
48
49
|
t1 = time.time()
|
|
49
50
|
if rank == 0:
|
|
50
51
|
print(f'struphy find_span : {t1 - t0}')
|
|
51
|
-
|
|
52
|
+
|
|
52
53
|
# psydac find_span_p
|
|
53
54
|
t0 = time.time()
|
|
54
55
|
span1s_psy, span2s_psy, span3s_psy = [], [], []
|
|
@@ -59,20 +60,20 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
59
60
|
t1 = time.time()
|
|
60
61
|
if rank == 0:
|
|
61
62
|
print(f'psydac find_span_p : {t1 - t0}')
|
|
62
|
-
|
|
63
|
+
|
|
63
64
|
assert np.allclose(span1s, span1s_psy)
|
|
64
65
|
assert np.allclose(span2s, span2s_psy)
|
|
65
66
|
assert np.allclose(span3s, span3s_psy)
|
|
66
|
-
|
|
67
|
+
|
|
67
68
|
# allocate tmps
|
|
68
69
|
bn1 = np.empty(derham.p[0] + 1, dtype=float)
|
|
69
70
|
bn2 = np.empty(derham.p[1] + 1, dtype=float)
|
|
70
71
|
bn3 = np.empty(derham.p[2] + 1, dtype=float)
|
|
71
|
-
|
|
72
|
+
|
|
72
73
|
bd1 = np.empty(derham.p[0], dtype=float)
|
|
73
74
|
bd2 = np.empty(derham.p[1], dtype=float)
|
|
74
75
|
bd3 = np.empty(derham.p[2], dtype=float)
|
|
75
|
-
|
|
76
|
+
|
|
76
77
|
# struphy b_splines_slim
|
|
77
78
|
val1s, val2s, val3s = [], [], []
|
|
78
79
|
t0 = time.time()
|
|
@@ -86,7 +87,7 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
86
87
|
t1 = time.time()
|
|
87
88
|
if rank == 0:
|
|
88
89
|
print(f'bsp.b_splines_slim : {t1 - t0}')
|
|
89
|
-
|
|
90
|
+
|
|
90
91
|
# psydac basis_funs_p
|
|
91
92
|
val1s_psy, val2s_psy, val3s_psy = [], [], []
|
|
92
93
|
t0 = time.time()
|
|
@@ -100,17 +101,17 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
100
101
|
t1 = time.time()
|
|
101
102
|
if rank == 0:
|
|
102
103
|
print(f'bsp_psy.basis_funs_p for N: {t1 - t0}')
|
|
103
|
-
|
|
104
|
+
|
|
104
105
|
# compare
|
|
105
106
|
for val1, val1_psy in zip(val1s, val1s_psy):
|
|
106
107
|
assert np.allclose(val1, val1_psy)
|
|
107
|
-
|
|
108
|
+
|
|
108
109
|
for val2, val2_psy in zip(val2s, val2s_psy):
|
|
109
110
|
assert np.allclose(val2, val2_psy)
|
|
110
|
-
|
|
111
|
+
|
|
111
112
|
for val3, val3_psy in zip(val3s, val3s_psy):
|
|
112
113
|
assert np.allclose(val3, val3_psy)
|
|
113
|
-
|
|
114
|
+
|
|
114
115
|
# struphy b_d_splines_slim
|
|
115
116
|
val1s_n, val2s_n, val3s_n = [], [], []
|
|
116
117
|
val1s_d, val2s_d, val3s_d = [], [], []
|
|
@@ -128,24 +129,24 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
128
129
|
t1 = time.time()
|
|
129
130
|
if rank == 0:
|
|
130
131
|
print(f'bsp.b_d_splines_slim : {t1 - t0}')
|
|
131
|
-
|
|
132
|
+
|
|
132
133
|
# compare
|
|
133
134
|
for val1, val1_psy in zip(val1s_n, val1s_psy):
|
|
134
135
|
assert np.allclose(val1, val1_psy)
|
|
135
|
-
|
|
136
|
+
|
|
136
137
|
for val2, val2_psy in zip(val2s_n, val2s_psy):
|
|
137
138
|
assert np.allclose(val2, val2_psy)
|
|
138
|
-
|
|
139
|
+
|
|
139
140
|
for val3, val3_psy in zip(val3s_n, val3s_psy):
|
|
140
141
|
assert np.allclose(val3, val3_psy)
|
|
141
|
-
|
|
142
|
+
|
|
142
143
|
# struphy d_splines_slim
|
|
143
144
|
span1s, span2s, span3s = [], [], []
|
|
144
145
|
for eta1, eta2, eta3 in zip(eta1s, eta2s, eta3s):
|
|
145
146
|
span1s += [bsp.find_span(td1, derham.p[0] - 1, eta1)]
|
|
146
147
|
span2s += [bsp.find_span(td2, derham.p[1] - 1, eta2)]
|
|
147
148
|
span3s += [bsp.find_span(td3, derham.p[2] - 1, eta3)]
|
|
148
|
-
|
|
149
|
+
|
|
149
150
|
val1s, val2s, val3s = [], [], []
|
|
150
151
|
t0 = time.time()
|
|
151
152
|
for eta1, eta2, eta3, span1, span2, span3 in zip(eta1s, eta2s, eta3s, span1s, span2s, span3s):
|
|
@@ -158,7 +159,7 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
158
159
|
t1 = time.time()
|
|
159
160
|
if rank == 0:
|
|
160
161
|
print(f'bsp.d_splines_slim : {t1 - t0}')
|
|
161
|
-
|
|
162
|
+
|
|
162
163
|
# psydac basis_funs_p for D-splines
|
|
163
164
|
val1s_psy, val2s_psy, val3s_psy = [], [], []
|
|
164
165
|
t0 = time.time()
|
|
@@ -172,26 +173,26 @@ def test_bsplines_span_and_basis(Nel, p, spl_kind):
|
|
|
172
173
|
t1 = time.time()
|
|
173
174
|
if rank == 0:
|
|
174
175
|
print(f'bsp_psy.basis_funs_p for D: {t1 - t0}')
|
|
175
|
-
|
|
176
|
+
|
|
176
177
|
# compare
|
|
177
178
|
for val1, val1_psy in zip(val1s, val1s_psy):
|
|
178
179
|
assert np.allclose(val1, val1_psy)
|
|
179
|
-
|
|
180
|
+
|
|
180
181
|
for val2, val2_psy in zip(val2s, val2s_psy):
|
|
181
182
|
assert np.allclose(val2, val2_psy)
|
|
182
|
-
|
|
183
|
+
|
|
183
184
|
for val3, val3_psy in zip(val3s, val3s_psy):
|
|
184
185
|
assert np.allclose(val3, val3_psy)
|
|
185
|
-
|
|
186
|
+
|
|
186
187
|
for val1, val1_psy in zip(val1s_d, val1s_psy):
|
|
187
188
|
assert np.allclose(val1, val1_psy)
|
|
188
|
-
|
|
189
|
+
|
|
189
190
|
for val2, val2_psy in zip(val2s_d, val2s_psy):
|
|
190
191
|
assert np.allclose(val2, val2_psy)
|
|
191
|
-
|
|
192
|
+
|
|
192
193
|
for val3, val3_psy in zip(val3s_d, val3s_psy):
|
|
193
194
|
assert np.allclose(val3, val3_psy)
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
|
|
196
|
+
|
|
196
197
|
if __name__ == '__main__':
|
|
197
198
|
test_bsplines_span_and_basis([8, 9, 10], [3, 4, 3], [False, False, True])
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
PYTHON := python3
|
|
6
6
|
SO_EXT := $(shell $(PYTHON) -c "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))")
|
|
7
7
|
LIBDIR := $(shell $(PYTHON) -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
|
|
8
|
-
psydac_path := $(shell $(PYTHON) -c "import psydac as _; print(_.__path__[0])")
|
|
9
8
|
struphy_path := $(shell $(PYTHON) -c "import struphy as _; print(_.__path__[0])")
|
|
10
9
|
|
|
11
10
|
# Arguments to this script are:
|
|
@@ -18,13 +17,7 @@ FLAGS_openmp_mhd := $(flags_openmp_mhd)
|
|
|
18
17
|
# SOURCE FILES
|
|
19
18
|
#--------------------------------------
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
PSY1 := $(psydac_path)/core/kernels
|
|
23
|
-
PSY2 := $(psydac_path)/core/bsplines_pyccel
|
|
24
|
-
PSY3 := $(psydac_path)/linalg/kernels
|
|
25
|
-
PSY4 := $(psydac_path)/feec/dof_kernels
|
|
26
|
-
|
|
27
|
-
SOURCES := $(PSY0).py $(PSY1).py $(PSY2).py $(PSY3).py $(PSY4).py $(STRUPHY_SOURCES)
|
|
20
|
+
SOURCES := $(STRUPHY_SOURCES)
|
|
28
21
|
|
|
29
22
|
OUTPUTS := $(SOURCES:.py=$(SO_EXT))
|
|
30
23
|
|
|
@@ -52,11 +45,6 @@ all: $(OUTPUTS)
|
|
|
52
45
|
.PHONY: clean
|
|
53
46
|
clean:
|
|
54
47
|
rm -rf $(OUTPUTS)
|
|
55
|
-
|
|
56
|
-
rm -rf $(psydac_path)/__pyccel__ $(psydac_path)/__pycache__
|
|
57
|
-
rm -rf $(psydac_path)/core/__pyccel__ $(psydac_path)/core/__pycache__ $(psydac_path)/core/.lock_acquisition.lock
|
|
58
|
-
rm -rf $(psydac_path)/linalg/__pyccel__ $(psydac_path)/linalg/__pycache__ $(psydac_path)/linalg/.lock_acquisition.lock
|
|
59
|
-
rm -rf $(psydac_path)/feec/__pyccel__ $(psydac_path)/feec/__pycache__ $(psydac_path)/feec/.lock_acquisition.lock
|
|
60
48
|
|
|
61
49
|
find $(struphy_path)/ -type d -name '__pyccel__' -prune -exec rm -rf {} \;
|
|
62
50
|
find $(struphy_path)/ -type d -name '__pycache__' -prune -exec rm -rf {} \;
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
def pytest_addoption(parser):
|
|
2
2
|
parser.addoption("--fast", action="store_true")
|
|
3
3
|
parser.addoption("--with-desc", action="store_true")
|
|
4
|
+
parser.addoption("--vrbose", action="store_true")
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
def pytest_generate_tests(metafunc):
|
|
7
8
|
# This is called for every test. Only get/set command line arguments
|
|
8
9
|
# if the argument is specified in the list of test "fixturenames".
|
|
9
10
|
option_value = metafunc.config.option.fast
|
|
10
|
-
if
|
|
11
|
+
if "fast" in metafunc.fixturenames and option_value is not None:
|
|
11
12
|
metafunc.parametrize("fast", [option_value])
|
|
12
|
-
|
|
13
|
+
|
|
13
14
|
option_value = metafunc.config.option.with_desc
|
|
14
|
-
if
|
|
15
|
+
if "with_desc" in metafunc.fixturenames and option_value is not None:
|
|
15
16
|
metafunc.parametrize("with_desc", [option_value])
|
|
17
|
+
|
|
18
|
+
option_value = metafunc.config.option.vrbose
|
|
19
|
+
if "vrbose" in metafunc.fixturenames and option_value is not None:
|
|
20
|
+
metafunc.parametrize("vrbose", [option_value])
|