struphy 2.3.3__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.3 → struphy-2.4.0}/LICENSE +1 -1
- {struphy-2.3.3/src/struphy.egg-info → struphy-2.4.0}/PKG-INFO +42 -38
- {struphy-2.3.3 → struphy-2.4.0}/pyproject.toml +78 -39
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/tests/test_bsplines_kernels.py +30 -29
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/compile_struphy.mk +1 -13
- {struphy-2.3.3 → 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.3.3 → struphy-2.4.0}/src/struphy/console/main.py +442 -389
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/console/pproc.py +15 -22
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/console/run.py +142 -125
- 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.3 → struphy-2.4.0}/src/struphy/dependencies.py +27 -26
- struphy-2.4.0/src/struphy/diagnostics/continuous_spectra.py +362 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/diagnostics/diagn_tools.py +251 -184
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/dispersion_relations/analytic.py +308 -322
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/dispersion_relations/base.py +43 -52
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/kernels_2d.py +94 -36
- {struphy-2.3.3 → 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.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/mhd_operators_MF.py +692 -757
- 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.3.3 → struphy-2.4.0}/src/struphy/feec/mass.py +1179 -609
- {struphy-2.3.3 → 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.3 → struphy-2.4.0}/src/struphy/feec/psydac_derham.py +882 -631
- struphy-2.4.0/src/struphy/feec/tests/test_local_projectors.py +1537 -0
- {struphy-2.3.3 → 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.3 → 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.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/base.py +387 -318
- struphy-2.4.0/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +261 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/equils.py +897 -947
- struphy-2.4.0/src/struphy/fields_background/tests/test_gvec_equil.py +164 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/base.py +572 -380
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/domains.py +215 -158
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/mappings_kernels.py +467 -344
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/initial/perturbations.py +175 -174
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/parameters.yml +5 -4
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/setup.py +160 -128
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/kinetic_background/maxwellians.py +287 -345
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/schur_solver.py +24 -34
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/main.py +134 -129
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/models/base.py +809 -778
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/models/fluid.py +259 -182
- 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.3.3 → struphy-2.4.0}/src/struphy/models/toy.py +418 -320
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/accumulation/particles_to_grid.py +75 -35
- struphy-2.4.0/src/struphy/pic/base.py +2935 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/particles.py +316 -145
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_kernels.py +926 -555
- 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.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_accum_vec_H1.py +48 -33
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_accumulation.py +1 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_binning.py +334 -330
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_draw_parallel.py +1 -1
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pushers.py +6 -6
- 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.3.3 → struphy-2.4.0}/src/struphy/pic/utilities_kernels.py +201 -168
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/polar/basic.py +63 -37
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/base.py +70 -62
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/propagators_coupling.py +612 -529
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/propagators_fields.py +2025 -1701
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/propagators_markers.py +349 -270
- struphy-2.4.0/src/struphy/psydac-2.4.0-py3-none-any.whl +0 -0
- {struphy-2.3.3 → struphy-2.4.0/src/struphy.egg-info}/PKG-INFO +42 -38
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy.egg-info/SOURCES.txt +9 -1
- struphy-2.4.0/src/struphy.egg-info/requires.txt +41 -0
- struphy-2.3.3/src/struphy/console/compile.py +0 -273
- struphy-2.3.3/src/struphy/console/format.py +0 -778
- struphy-2.3.3/src/struphy/console/test.py +0 -384
- struphy-2.3.3/src/struphy/diagnostics/continuous_spectra.py +0 -359
- struphy-2.3.3/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_control_variate.py +0 -139
- struphy-2.3.3/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_control_variate.py +0 -208
- struphy-2.3.3/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_control_variate.py +0 -159
- struphy-2.3.3/src/struphy/feec/basis_projection_kernels.py +0 -1976
- struphy-2.3.3/src/struphy/feec/basis_projection_ops.py +0 -1371
- struphy-2.3.3/src/struphy/feec/projectors.py +0 -1780
- struphy-2.3.3/src/struphy/feec/tests/test_local_projectors.py +0 -259
- struphy-2.3.3/src/struphy/feec/variational_utilities.py +0 -226
- struphy-2.3.3/src/struphy/fields_background/mhd_equil/eqdsk/readeqdsk.py +0 -238
- struphy-2.3.3/src/struphy/fields_background/tests/test_gvec_equil.py +0 -175
- struphy-2.3.3/src/struphy/models/hybrid.py +0 -1182
- struphy-2.3.3/src/struphy/models/kinetic.py +0 -1122
- struphy-2.3.3/src/struphy/models/tests/test_fluid_models.py +0 -53
- struphy-2.3.3/src/struphy/models/tests/test_hybrid_models.py +0 -52
- struphy-2.3.3/src/struphy/models/tests/test_kinetic_models.py +0 -55
- struphy-2.3.3/src/struphy/models/tests/test_toy_models.py +0 -40
- struphy-2.3.3/src/struphy/models/tests/util.py +0 -144
- struphy-2.3.3/src/struphy/pic/base.py +0 -2088
- struphy-2.3.3/src/struphy/pic/sorting_kernels.py +0 -85
- struphy-2.3.3/src/struphy/pic/tests/test_sorting.py +0 -80
- struphy-2.3.3/src/struphy/pic/utilities.py +0 -62
- struphy-2.3.3/src/struphy/psydac-0.1.13-py3-none-any.whl +0 -0
- struphy-2.3.3/src/struphy.egg-info/requires.txt +0 -34
- {struphy-2.3.3 → struphy-2.4.0}/README.md +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/setup.cfg +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/bsplines.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/bsplines_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/evaluation_kernels_1d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/evaluation_kernels_2d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/evaluation_kernels_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/shapefunc_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/bsplines/tests/test_eval_spline_mpi.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/console/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/console/params.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/console/profile.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/console/units.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/diagnostics/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/diagnostics/console_diagn.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/diagnostics/paraview/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/diagnostics/paraview/mesh_creator.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/diagnostics/paraview/vtk_writer.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/dispersion_relations/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/dispersion_relations/utilities.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/derivatives.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/kernels_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/kernels_projectors_global.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/MHD_eigenvalues_cylinder_1D.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/control_variate.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kernels_control_variate.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fB_massless_kernels_control_variate.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_cv_kernel_2.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/fnB_massless_kernels_control_variate.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_cvker.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/control_variates/kinetic_extended/massless_kernels_control_variate.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/emw_operators.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/inner_products_1d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/inner_products_2d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/inner_products_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/l2_error_1d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/l2_error_2d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/l2_error_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/mass_matrices_3d_pre.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_arrays.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bb_kernel.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_bv_kernel.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_massless_linear_operators.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/massless_operators/fB_vv_kernel.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/kernels_projectors_local_mhd.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/mhd_operators_3d_local.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/pro_local/projectors_local.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_L2_projector_kernel.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_L2.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_function_projectors_local.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/legacy/projectors_local/shape_pro_local/shape_local_projector_kernel.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mass_matrices_1d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mass_matrices_2d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mass_matrices_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_main.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_axisymmetric_pproc.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_operators.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/mhd_operators_core.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/projectors_global.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/spline_space.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/eigenvalue_solvers/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/examples/_draw_parallel.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/banded_to_stencil_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/linear_operators.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/mass_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_basis_ops.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_derham.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_eval_field.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_field_init.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_l2_projectors.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_lowdim_nel_is_1.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_mass_matrices.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_toarray_struphy.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/test_tosparse_struphy.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/tests/xx_test_preconds.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/feec/utilities_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/braginskii_equil/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/braginskii_equil/equils.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/eqdsk/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/AUGNLED_g031213.00830.high +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/eqdsk/data/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/__init__.py +0 -0
- {struphy-2.3.3 → 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.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E1D6_M6N6/parameter.ini +0 -0
- {struphy-2.3.3 → 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.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/newBC_E4D6_M6N6/parameter.ini +0 -0
- {struphy-2.3.3 → 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.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/ellipstell_v2/oldBC_E40D5M6N6/parameter.ini +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/output/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/gvec/output/vtk/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/projected_equils.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/mhd_equil/vmec/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/tests/test_desc_equil.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/tests/test_mhd_equils.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/fields_background/tests/test_numerical_mhd_equil.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/evaluation_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/map_coef/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/tests/test_domain.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/transform_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/utilities.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/geometry/utilities_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/initial/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/initial/eigenfunctions.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/initial/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/initial/tests/test_init_perturbations.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/initial/utilities.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/batch/batch_cobra.sh +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/batch/p_016.sh +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/batch/p_032.sh +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/batch/p_064.sh +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/batch/p_128.sh +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/batch/p_256.sh +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/batch/p_512.sh +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_TAE_tokamak.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovcc.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_hybridmhdvlasovpc.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linearextendedmhd.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_landau.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_streaming_weibel.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/longer_examples/params_linvlasovmaxwell_weibel.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_02.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_03.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_04a.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_04b.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_04c.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05a.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05b.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05c.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05d.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05e.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_05f.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_12a.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/inp/tutorials/params_12b.yml +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/out/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/io/output_handling.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/kinetic_background/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/kinetic_background/base.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/kinetic_background/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/kinetic_background/tests/test_base.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/kinetic_background/tests/test_maxwellians.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/linalg_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/linalg_kron.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/stencil_dot_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/stencil_transpose_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/tests/test_stencil_dot_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/linear_algebra/tests/test_stencil_transpose_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/models/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/models/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/models/tests/test_xxpproc.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/accumulation/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/accumulation/accum_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/accumulation/accum_kernels_gc.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/accumulation/filler_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/accumulation/filter_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/accumulation/particle_to_mat_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/pushing/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/pushing/eval_kernels_gc.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/pushing/pusher.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_args_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_kernels_gc.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/pushing/pusher_utilities_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/sampling_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/sobol_seq.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_mat_vec_filler.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/accumulation.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/accumulation_kernels_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/mappings_3d_fast.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher_pos.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_2d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/pusher_vel_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_2d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/pic/tests/test_pic_legacy_files/spline_evaluation_3d.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/polar/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/polar/extraction_operators.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/polar/linear_operators.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/polar/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/polar/tests/test_legacy_polar_splines.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/polar/tests/test_polar.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/cprofile_analyser.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/orbits/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/orbits/orbits_kernels.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/orbits/orbits_tools.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/post_processing_tools.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/pproc_struphy.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/profile_struphy.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/post_processing/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/profiling/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/profiling/profiling.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/tests/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/tests/test_gyrokinetic_poisson.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/propagators/tests/test_poisson.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/tutorials/tests/test_tutorials.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/utils/__init__.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy/utils/utils.py +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy.egg-info/dependency_links.txt +0 -0
- {struphy-2.3.3 → struphy-2.4.0}/src/struphy.egg-info/entry_points.txt +0 -0
- {struphy-2.3.3 → 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,43 +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:
|
|
61
|
-
Requires-Dist:
|
|
62
|
-
Requires-Dist:
|
|
63
|
-
Requires-Dist: sphinxcontrib-napoleon==
|
|
64
|
-
Requires-Dist:
|
|
65
|
-
Requires-Dist:
|
|
66
|
-
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"
|
|
67
71
|
|
|
68
72
|
# Struphy - Structure-preserving hybrid codes
|
|
69
73
|
|
|
@@ -4,9 +4,9 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "struphy"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.4.0"
|
|
8
8
|
readme = "README.md"
|
|
9
|
-
requires-python = ">=3.10
|
|
9
|
+
requires-python = ">=3.10"
|
|
10
10
|
license = {file = "LICENSE"}
|
|
11
11
|
authors = [
|
|
12
12
|
{ name = "Max Planck Institute for Plasma Physics"},
|
|
@@ -19,42 +19,52 @@ classifiers = [
|
|
|
19
19
|
"Programming Language :: Python :: 3",
|
|
20
20
|
]
|
|
21
21
|
dependencies = [
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'
|
|
30
|
-
'
|
|
31
|
-
'
|
|
32
|
-
'
|
|
33
|
-
'
|
|
34
|
-
'
|
|
35
|
-
'matplotlib==3.9.0',
|
|
36
|
-
'mistune==0.8.4',
|
|
37
|
-
'mpi4py==3.1.6',
|
|
38
|
-
'myst-parser==3.0.1',
|
|
39
|
-
'nbsphinx==0.9.4',
|
|
40
|
-
'netCDF4==1.6.5',
|
|
41
|
-
'notebook==7.2.1',
|
|
42
|
-
'numpy==1.24.4',
|
|
43
|
-
'pre_commit==4.0.1',
|
|
44
|
-
'pyccel==1.12.1',
|
|
45
|
-
'pydata-sphinx-theme==0.15.3',
|
|
46
|
-
'pylint==3.3.1',
|
|
47
|
-
'pytest==8.2.2',
|
|
48
|
-
'pytest-monitor==1.6.6',
|
|
49
|
-
'pytest-mpi==0.6',
|
|
50
|
-
'scipy==1.13.1',
|
|
51
|
-
'Sphinx==7.3.7',
|
|
52
|
-
'sphinxcontrib-napoleon==0.7',
|
|
53
|
-
'tqdm==4.66.4',
|
|
54
|
-
'vtk==9.3.0',
|
|
55
|
-
'wheel==0.43.0',
|
|
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',
|
|
56
35
|
]
|
|
57
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
|
+
|
|
58
68
|
[project.urls]
|
|
59
69
|
homepage = "https://struphy.pages.mpcdf.de/struphy/"
|
|
60
70
|
documentation = "https://struphy.pages.mpcdf.de/struphy/"
|
|
@@ -88,8 +98,7 @@ struphy = "struphy.console.main:struphy"
|
|
|
88
98
|
]
|
|
89
99
|
|
|
90
100
|
struphy = ['compile_struphy.mk',
|
|
91
|
-
'psydac-
|
|
92
|
-
]
|
|
101
|
+
'psydac-2.4.0-py3-none-any.whl',]
|
|
93
102
|
|
|
94
103
|
[tool.autopep8]
|
|
95
104
|
# Add specific settings for autopep8
|
|
@@ -116,4 +125,34 @@ force_grid_wrap = 0
|
|
|
116
125
|
combine_as_imports = true
|
|
117
126
|
|
|
118
127
|
[tool.pylint]
|
|
119
|
-
max-line-length=120
|
|
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
|
+
]
|
|
@@ -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])
|