Unreleased changes
PlasmaPy v2024.10.1.dev36+g8910b5d (2025-01-16)
New Features
The new method
soften_edges
applies an error function mask to the edges of all quantities on a grid. This is useful for any application where the grid must go to zero smoothly at the edges, e.g. for particle tracking withParticleTracker
. (#2911)
Documentation Improvements
Updated author metadata in
CITATION.cff
. (#2890)Removed duplicate section headers for example notebooks in documentation for
plasmapy.formulary
. (#2892)Added acknowledgements to several organizations that have supported PlasmaPy or are aligned with its mission. (#2895)
Fixed formatting problems and improved verb tense consistency in prior changelog entries. (#2901)
Fixed references to the
astropy.units.equivalencies
module in the docs. Astropy now considers this file to be private API, and wants its contents imported through theunits
module namespace, which broke PlasmaPy’s intersphinx links. This PR changes those links to a direct URL to the page in the astropy docs: Astropy Equivalencies. (#2915)Added a sentence to introduce what a dispersion relation is and why it’s useful. (#2932)
Backwards Incompatible Changes
The method
add_stopping
argumentI
must now be a list ofQuantity
objects rather than a singleQuantity
array. This is becauseNone
entries are now also accepted to that keyword as placeholders for grids on which stopping will not be applied. (#2911)ParticleTracker
no longer takes the keywordreq_quantities
, but instead automatically requires quantitities required by the tracker for the given setup. Users wishing to require quantitities may use the methodrequire_quantities
. (#2911)Variables in
ParticleTracker
andTracker
have been updated such thatn*
is nownum_*
, e.g.nparticles
is nownum_particles
. Similarly,v_init
is nowv0
to be consistent withx0
. (#2911)
Internal Changes and Refactorings
Dropped support for Python 3.10 and bumped the minimum required versions of several dependencies following SPEC 0. (#2880)
Updated the release checklist following the
v2024.10.0
release. (#2886)The internal structure of
ParticleTracker
was optimized by caching some variables (e.g.,tracked_particle_mask
) which are then reset after every push cycle by a_reset_cache
method. Instead of adding zero arrays for missing quantities, only quantities provided on the grid are interpolated, and other required quantities are filled in with an array of zeros automatically. Particle stopping can now be enabled on a subset of the provided grids. Adaptive time steps do not include magnetic field candidates if a magnetic field does not exist on the grid. The adaptive timestep is now set to that of the highest resolution grid for particles that are not currently on any grid. (#2911)Added
User-Agent
to the header ofDownloader
to resolve an issue with GitHub blocking API access. (#2915)
Additional Changes
ax#
,dx#
and*_si
properties ofAbstractGrid
are now cached properties for faster access, since these attributes do not change after the grid has been initialized. (#2911)