This release of PlasmaPy contains 50 commits in 46 merged pull requests closing 25 issues from 9 people, 5 of which are first-time contributors to PlasmaPy.
The people who have contributed to the code for this release are:
- Ankur Chattopadhyay *
- Anthony Vo *
- Diego Diaz
- Dominik Stańczak
- Jakub Polak *
- KhalilBryant *
- Nick Murphy
- Peter Heuer *
- rocco8773
Where a * indicates their first contribution to PlasmaPy.
- Rename
plasmapy.atomic
to ~plasmapy.particles. In ~plasmapy.formulary.collisions and ~plasmapy.formulary.braginskii, change arguments named particles tospecies
and arguments namedion_particle
toion
for multiple functions. (#742) - Officially delete
plasmapy.examples
. (#822) - Move
plasmapy.data
toplasmapy.particle.data
. (#823) - Renamed the
plasmapy.classes
subpackage to plasmapy.plasma. (#842)
- Added units to reprs of
formulary.magnetostatics
classes. (#743) - Create prototype abstract interfaces for plasma simulations (#753)
- Created classes to represent custom and dimensionless particles in
plasmapy.particles
. (#755) - Create
~plasmapy.formulary.relativity.relativistic_energy
function, which uses the established~plasmapy.formulary.relativity.Lorentz_factor
function to aid in the calculation of the relativistic energy of an object. (#805) - Create
~plasmapy.formulary.dimensionless.Reynolds_number
function. (#815) - Create
~plasmapy.formulary.dimensionless.Mag_Reynolds
function. (#820) - Create
plasmapy.formulary.parameters.Bohm_diffusion
function. (#830) - Added a new diagnostics module
thomson
containing a functionspectral_density
that calculates Thomson scattering spectra for Maxwellian plasmas in both the collective and non-collective regimes. As a followup to PR #835, set the minimal required Numpy version to 1.18.1 to finally fix unit dropping bugs. (#831) - Revised
plasmapy.formulary.parameters.thermal_speed
to support 1D and 2D distributions as well as 3D, and added an example notebook for this function. (#850) - Create
plasmapy/formulary/ionization.py
Createplasmapy.formulary.ionization.Z_bal
function. (#851) - Create
~plasmapy.formulary.ionization.Saha
function. (#860) Added aliases (with trailing underscores) for parameters in the formulary:
- plasmapy.formulary.dimensionless.Reynolds_number → ~plasmapy.formulary.dimensionless.Re_
- plasmapy.formulary.dimensionless.Mag_Reynolds → ~plasmapy.formulary.dimensionless.Rm_
- plasmapy.formulary.drifts.ExB_drift → ~plasmapy.formulary.drifts.veb_
- plasmapy.formulary.drifts.force_drift → ~plasmapy.formulary.drifts.vfd_
plasmapy.formulary.parameters.mass_density
→plasmapy.formulary.parameters.rho_
plasmapy.formulary.parameters.Alfven_speed
→plasmapy.formulary.parameters.va_
plasmapy.formulary.parameters.ion_sound_speed
→plasmapy.formulary.parameters.cs_
plasmapy.formulary.parameters.thermal_speed
→plasmapy.formulary.parameters.vth_
plasmapy.formulary.parameters.thermal_pressure
→plasmapy.formulary.parameters.pth_
plasmapy.formulary.parameters.kappa_thermal_speed
→plasmapy.formulary.parameters.vth_kappa_
plasmapy.formulary.parameters.inertial_length
→plasmapy.formulary.parameters.cwp_
plasmapy.formulary.parameters.Hall_parameter
→plasmapy.formulary.parameters.betaH_
plasmapy.formulary.parameters.gyrofrequency
→plasmapy.formulary.parameters.oc_
,plasmapy.formulary.parameters.wc_
plasmapy.formulary.parameters.gyroradius
→plasmapy.formulary.parameters.rc_
,plasmapy.formulary.parameters.rhoc_
plasmapy.formulary.parameters.plasma_frequency
→plasmapy.formulary.parameters.wp_
plasmapy.formulary.parameters.Debye_length
→plasmapy.formulary.parameters.lambdaD_
plasmapy.formulary.parameters.Debye_number
→plasmapy.formulary.parameters.nD_
plasmapy.formulary.parameters.magnetic_pressure
→plasmapy.formulary.parameters.pmag_
plasmapy.formulary.parameters.magnetic_energy_density
→plasmapy.formulary.parameters.ub_
plasmapy.formulary.parameters.upper_hybrid_frequency
→plasmapy.formulary.parameters.wuh_
plasmapy.formulary.parameters.lower_hybrid_frequency
→plasmapy.formulary.parameters.wlh_
plasmapy.formulary.parameters.Bohm_diffusion
→plasmapy.formulary.parameters.DB_
- plasmapy.formulary.quantum.deBroglie_wavelength → ~plasmapy.formulary.quantum.lambdaDB_
- plasmapy.formulary.quantum.thermal_deBroglie_wavelength → ~plasmapy.formulary.quantum.lambdaDB_th_
- plasmapy.formulary.quantum.Fermi_energy → ~plasmapy.formulary.quantum.Ef_ (#865)
- Add
json_dumps
method to ~plasmapy.particles.particle_class.AbstractParticle to convert a particle object into a JSON string. Addjson_dump
method to ~plasmapy.particles.particle_class.AbstractParticle to serialize a particle object and writes it to a file. Add JSON decoder ~plasmapy.particles.serialization.ParticleJSONDecoder to deserialize JSON objects into particle objects. Addplasmapy.particles.serialization.json_loads_particle
function to convert JSON strings to particle objects (using ~plasmapy.particles.serialization.ParticleJSONDecoder). Addplasmapy.particles.json_load_particle
function to deserialize a JSON file into a particle object (using ~plasmapy.particles.serialization.ParticleJSONDecoder). (#836)
- Fix incorrect use of
pkg.resources
when defining plasmapy.__version__. Addsetuptools
to package dependencies. Add a definition of__version__
for developers using source files. (#774) - Repair notebook links that are defined in the
nbsphinx_prolog
sphinx configuration variable. (#828) - Increase the required Astropy version from 3.1 to 4.0, Numpy from 1.14 to 1.16.6, Scipy from 0.19 to 1.2 and lmfit from 0.9.7 to 1.0.1. This fixes long-standing issues with Numpy operations dropping units from AstroPy quantities. (#835)
- Added documentation to file test_converters (#756)
- Updated installation instructions. (#772)
- Reorder documentation page (#777)
- Fix failing documentation build due to duplicate docstrings for
ParticleTracker.kinetic_energy_history
and incompatibility ofsphinx-automodapi
withsphinx
v3.0.0
. (#780) - Automate definition of documentation
release
andversion
indocs/conf.py
with plasmapy.__version__. (#781) - Add a docstring to
__init__.py
in plasmapy.formulary. (#788) - Replaced sphinx-gallery with nbsphinx, turning
.py
example files into.ipynb
files and allowing for easier example submission. (#792) - Linked various instances of classes and functions in the
.ipynb
examples indocs/notebooks/
to the respective API docs. (#825) - Fixed a few documentation formatting errors. (#827)
- Add notes on the PlasmaPy benchmarks repository to documentation. (#841)
- Improve readability of the plasmapy.formulary page by replacing the
toctree
list with a cleaner reST table. (#867)
- Remove mutable arguments from
Particle.is_category
method. (#751) - Remove all occurrences of default mutable arguments (#754)
- Handle ModuleNotFoundError when trying to import
__version__
butsetuptools_scm
has not generated theversion.py
file. This commonly happens during development when plasmapy is not installed in the python environment. (#763) - Updated pep8speaks/flake8 configuration and added
.pre-commit-config.yaml
to simplify automated style checks during development. (#770) - Removes some lint from setup.py and setup.cfg. Use pkg_resources for version checking in code. Remove version.py file in favor of pkg_resources. (#771)
- Default settings for isort were set to be consistent with default settings for black. (#773)
- Update community meeting and funding information in docs. (#784)
- Improved pull request template to include more information about changelog entries. (#843)
- Added GitHub actions that apply pre-commit and flake8 (separately) to incoming pull requests. (#845)
- Apply pre-commit hooks to entire repository, so that GitHub actions do not shout at contributors needlessly. (#846)
- Update
~plasmapy.particles.particle_class.CustomParticle
so input parametersmass
andcharge
can accept string representations of astropyQuantities
. (#862)