Skip to content

Latest commit

 

History

History
272 lines (237 loc) · 12.2 KB

File metadata and controls

272 lines (237 loc) · 12.2 KB

PlasmaPy v2024.10.0 (2024-10-30)

New Features

  • Added the option to pass |inf| to the ~plasmapy.particles.particle_class.Particle.ionize method of |Particle| to return the nucleus of the particle. (:pr:`2800`)
  • Implemented ~plasmapy.simulation.resolution_constraints.CFL_limit_electromagnetic_yee to calculate the CFL condition for electromagnetic simulations. (:pr:`2832`)
  • ~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography.synthetic_radiograph now accepts a file path to an HDF5 file saved by ~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography.Tracker as input to create a synthetic radiograph. (:pr:`2868`)
  • Save routines in ~plasmapy.simulation.particle_tracker.save_routines now take an optional keyword argument output_basename that sets the basename of the saved file(s). ~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography.Tracker now also accepts an output_basename keyword, which is passed to the save routine. (:pr:`2868`)

Documentation Improvements

  • Updated the docstring of ~plasmapy.formulary.dimensionless.beta to explicitly use definitions of p_{th} and p_{mag}, and added links to ~plasmapy.formulary.misc.thermal_pressure and ~plasmapy.formulary.misc.magnetic_pressure. (:pr:`2822`)
  • Restructured sections in the ~plasmapy.formulary.mathematics.rot_a_to_b docstring to be consistent with other docstrings, and added 'Raises' and 'Examples' sections. (:pr:`2824`)
  • Added the :term:`force-free` definition to the |glossary|. (:pr:`2830`)
  • Updated docstrings in plasmapy.formulary to follow the numpydoc standard. (:pr:`2831`)
  • Added examples to the |ParticleTracker| docstring. (:pr:`2833`)
  • Added a section in the installation instructions for installing PlasmaPy with |uv|. (:pr:`2861`)

Backwards Incompatible Changes

  • Removed the optical_density keyword argument in ~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography. (:pr:`2843`)
  • The property ~plasmapy.plasma.grids.AbstractGrid.recognized_quantities of ~plasmapy.plasma.grids.AbstractGrid is now a class method instead of a class property, as using classmethod and property decorators together is no longer allowed in Python 3.13. The syntax for accessing this dictionary has therefore changed from :py:`AbstractGrid.recognized_quantities` to :py:`AbstractGrid.recognized_quantities()`. (:pr:`2871`)

Bug Fixes

  • Patched a bug in ~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography in which particles stopped before the detector were still included in synthetic radiographs. (:pr:`2843`)

Internal Changes and Refactorings

  • Updated the release checklist. (:pr:`2784`)
  • Added a |Nox| session to verify that the pinned requirements files used in continuous integration tests are consistent with the requirements in :file:`pyproject.toml`. (:pr:`2794`)
  • Fixed a bug in the |Nox| session for running tests that prevented doctests from being run, and fixed doctest errors that were introduced while doctests were not enabled. (:pr:`2834`)
  • Removed Numba as a project dependency. Consequently, ~plasmapy.formulary.frequencies.plasma_frequency_lite and ~plasmapy.formulary.speeds.thermal_speed_lite are no longer just-in-time compiled by Numba. (:pr:`2841`)
  • Adjusted the Sphinx configuration to account for recent deprecations in Read the Docs. (:pr:`2857`)
  • Added testing support for Python 3.13. (:pr:`2869`)
  • Updated the versions of Python used in continuous integration workflows. (:pr:`2879`)

Additional Changes

  • Tentatively reverted :pr:`2715` because it introduced doctest errors during a time when doctests were not enabled. (:pr:`2834`)

PlasmaPy v2024.7.0 (2024-07-21)

New Features

  • Implemented ~plasmapy.particles.atomic.stopping_power to calculate stopping powers using the NIST's ASTAR and PSTAR data. (:pr:`2555`)
  • Added ionization energy data from NIST to the |Particle| class. This can now be accessed using the ~plasmapy.particles.particle_class.Particle.ionization_energy attribute from the |Particle| class. (:pr:`2657`)
  • Renamed the ~plasmapy.particles.particle_class.Particle.binding_energy attribute of |Particle| to ~plasmapy.particles.particle_class.Particle.nuclear_binding_energy to avoid confusion with ~plasmapy.particles.particle_class.Particle.electron_binding_energy. (:pr:`2693`)
  • Added electron binding energy data, relying on ionization energy data from NIST, to the |Particle| class. This can now be accessed using the ~plasmapy.particles.particle_class.Particle.electron_binding_energy attribute from the |Particle| class. (:pr:`2693`)
  • Added a return_interpolator keyword to ~plasmapy.particles.atomic.stopping_power to allow the user to specify the return of an interpolator function (~scipy.interpolate.CubicSpline under the hood). (:pr:`2712`)
  • Added the ~plasmapy.formulary.collisions.misc.Bethe_stopping function to the ~plasmapy.formulary.collisions subpackage. (:pr:`2712`)
  • Added the ability to enable particle stopping in the |ParticleTracker|. (:pr:`2712`)

Documentation Improvements

Backwards Incompatible Changes

  • Added a __str__ method to the |CustomParticle| class that returns the symbol of the particle if provided, and otherwise falls back to using __repr__. (:pr:`2702`)
  • Changed default keyword argument for the fraction_exited_threshold in ~plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography.Tracker and ~plasmapy.simulation.particle_tracker.termination_conditions.AllParticlesOffGridTerminationCondition to correspond with the fraction of particles that have entered and subsequently exited the grids. Previously this keyword was a misnomer, causing the simulation to instead terminate when the specified fraction of particles remaining on the grids was less than or equal to the provided fraction_exited_threshold. (:pr:`2712`)
  • Convert particle to a required argument of the ~plasmapy.simulation.particle_tracker.particle_tracker.ParticleTracker.load_particles method of |ParticleTracker|. (:pr:`2746`)

Bug Fixes

  • Changed the |charge number| (Z) dependence of the ion contribution to the optical Thomson scattering spectral density function in ~plasmapy.diagnostics.thomson.spectral_density_lite from Z to z^2 / \bar{z} to match Eq. 5.1.2 and following equations in :cite:t:`sheffield:2011`. The result is a small change in the ion acoustic wave spectrum for plasmas with multiple ion species. (:pr:`2699`)
  • Add axes removed by numpy.squeeze to arrays in ~plasmapy.dispersion.analytical.mhd_waves_ (:pr:`2715`)

Internal Changes and Refactorings

Additional Changes