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