Repository: PlasmaPy/PlasmaPy
Pull request #820 (2020-05-29 19:19:41)

Mag reynolds
<!--
Thank you for contributing to PlasmaPy! Here's a bunch of pointers to
make things easier for all of us:

* If this PR will solve an issue tracked by GitHub, please add a phrase like
  "Closes #404." to automatically close the issue once the pull request is
  merged.  If your PR will not completely solve the issue, please still
  reference the issue. For an overview of this functionality, see
  https://help.github.com/articles/closing-issues-using-keywords/

* Remember to add some description of your changes in this text box.

* Tests and docstrings are required for new or changed functionality.
  Please make sure tests are passing before requesting a review - they
  will pop up at the bottom, in the Checks box. If you're unsure why
  they're failing, ask!
  
* If your pull request is not yet ready for review, submit it as a draft.
  Remember to change its' status once it's ready.

* If this is your first contribution, please add your name to the author
  list in `docs/about/credits.rst`.
  
* Feel free to chat with other developers on our Matrix channel at:
   https://riot.im/app/#/room/#plasmapy:openastronomy.org
  
* We have a developer's guide, where some answers to your questions may
  possibly be found, at
  http://docs.plasmapy.org/en/master/development/index.html

Many thanks in advance for following these pointers and for being willing to contribute!

When submitting a pull request, please ensure that you can (eventually,
sometime before it is merged) check the following basic requirements:

-->

- [x] I have added a changelog entry for this pull request (please see
  `changelog/README.rst` for instructions, and if you need help with picking the PR type, ask!)
- [x] If adding new functionality, I have added (passing) tests and
      docstrings. (Tests pop up at the bottom, in the checks box).
- [x] I have fixed any new failing tests (if you're unsure why
  they're failing, ask!).
This Pull request partially solves #49 and covers part of #769
It also merged all of #815 with it 

pep8speaks: Hello @KhalilBryant! Thanks for submitting your pull request.







* In the file [`plasmapy/formulary/tests/test_dimensionless.py`](https://github.com/PlasmaPy/PlasmaPy/blob/d5fdbab201568c9505bed2cd9c311dda8defa47a/plasmapy/formulary/tests/test_dimensionless.py):

> [Line 53:1](https://github.com/PlasmaPy/PlasmaPy/blob/d5fdbab201568c9505bed2cd9c311dda8defa47a/plasmapy/formulary/tests/test_dimensionless.py#L53): [E302](https://duckduckgo.com/?q=pep8%20E302) expected 2 blank lines, found 1

PlasmaPy follows the [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/), which may be checked locally using [pycodestyle](http://pycodestyle.pycqa.org/en/latest/intro.html)
codecov[bot]: # [Codecov](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820?src=pr&el=h1) Report
> Merging [#820](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820?src=pr&el=desc) into [master](https://codecov.io/gh/PlasmaPy/PlasmaPy/commit/caf19055644715b4a75a87275955ab4fec73aea4&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `100.00%`.

[![Impacted file tree graph](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/graphs/tree.svg?width=650&height=150&src=pr&token=LzZ5mnXVad)](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master     #820      +/-   ##
==========================================
- Coverage   95.87%   95.85%   -0.03%     
==========================================
  Files          56       56              
  Lines        5113     5086      -27     
==========================================
- Hits         4902     4875      -27     
  Misses        211      211              
```


| [Impacted Files](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [plasmapy/formulary/relativity.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvZm9ybXVsYXJ5L3JlbGF0aXZpdHkucHk=) | `100.00% <ø> (ø)` | |
| [plasmapy/formulary/dimensionless.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvZm9ybXVsYXJ5L2RpbWVuc2lvbmxlc3MucHk=) | `100.00% <100.00%> (ø)` | |
| [plasmapy/classes/plasma\_base.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvY2xhc3Nlcy9wbGFzbWFfYmFzZS5weQ==) | `67.74% <0.00%> (-4.49%)` | :arrow_down: |
| [plasmapy/simulation/abstractions.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvc2ltdWxhdGlvbi9hYnN0cmFjdGlvbnMucHk=) | `75.00% <0.00%> (-2.78%)` | :arrow_down: |
| [plasmapy/classes/sources/openpmd\_hdf5.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvY2xhc3Nlcy9zb3VyY2VzL29wZW5wbWRfaGRmNS5weQ==) | `78.40% <0.00%> (-1.17%)` | :arrow_down: |
| [plasmapy/simulation/particletracker.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvc2ltdWxhdGlvbi9wYXJ0aWNsZXRyYWNrZXIucHk=) | `98.27% <0.00%> (-0.03%)` | :arrow_down: |
| [plasmapy/particles/ionization\_state.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvcGFydGljbGVzL2lvbml6YXRpb25fc3RhdGUucHk=) | `92.91% <0.00%> (-0.03%)` | :arrow_down: |
| [plasmapy/utils/pytest\_helpers/pytest\_helpers.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvdXRpbHMvcHl0ZXN0X2hlbHBlcnMvcHl0ZXN0X2hlbHBlcnMucHk=) | `93.38% <0.00%> (-0.03%)` | :arrow_down: |
| [plasmapy/particles/particle\_class.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvcGFydGljbGVzL3BhcnRpY2xlX2NsYXNzLnB5) | `95.73% <0.00%> (-0.01%)` | :arrow_down: |
| [plasmapy/formulary/braginskii.py](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree#diff-cGxhc21hcHkvZm9ybXVsYXJ5L2JyYWdpbnNraWkucHk=) | `99.72% <0.00%> (-0.01%)` | :arrow_down: |
| ... and [6 more](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820?src=pr&el=footer). Last update [caf1905...d5fdbab](https://codecov.io/gh/PlasmaPy/PlasmaPy/pull/820?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

StanczakDominik: I merged the PR for Reynolds, could you merge those changes in? I squashed them into a single commit so as to make the git history tree less verbose.

Patch:
diff --git a/changelog/820.feature.rst b/changelog/820.feature.rst
new file mode 100644
index 00000000..f97ecead
--- /dev/null
+++ b/changelog/820.feature.rst
@@ -0,0 +1,1 @@
+Create :func:`~plasmapy.formulary.dimensionless.Mag_Reynolds` function.
diff --git a/changelog/822.breaking.rst b/changelog/822.breaking.rst
new file mode 100644
index 00000000..ab3a8071
--- /dev/null
+++ b/changelog/822.breaking.rst
@@ -0,0 +1,1 @@
+Officially delete :mod:`plasmapy.examples`.
\ No newline at end of file
diff --git a/changelog/825.doc.rst b/changelog/825.doc.rst
new file mode 100644
index 00000000..d443313c
--- /dev/null
+++ b/changelog/825.doc.rst
@@ -0,0 +1,1 @@
+Linked various instances of classes and functions in the `.ipynb` examples in `docs/notebooks/` to the respective API docs.
diff --git a/changelog/827.doc.rst b/changelog/827.doc.rst
new file mode 100644
index 00000000..15d84190
--- /dev/null
+++ b/changelog/827.doc.rst
@@ -0,0 +1,1 @@
+Fixed a few documentation formatting errors.
diff --git a/docs/about/credits.rst b/docs/about/credits.rst
index 3adddc01..886b091c 100644
--- a/docs/about/credits.rst
+++ b/docs/about/credits.rst
@@ -79,6 +79,7 @@ in parentheses are `ORCID author identifiers <https://orcid.org>`__.
 * `Thomas Varnish <https://github.com/tvarnish>`__
 * `Sixue Xu <https://github.com/hzxusx>`__
 * `Carol Zhang <https://github.com/carolyz>`__
+* `Ankur Chattopadhyay <https://github.com/chttrjeankr>`__
 
 This list contains contributors to PlasmaPy's core package and vision
 statement, including a few people who do not show up as `PlasmaPy
diff --git a/docs/development/doc_guide.rst b/docs/development/doc_guide.rst
index 86cd2ec4..11499eb7 100644
--- a/docs/development/doc_guide.rst
+++ b/docs/development/doc_guide.rst
@@ -19,7 +19,7 @@ To build docs locally, either:
 * use `Tox <https://tox.readthedocs.io/en/latest/>`_ with ``tox -e build_docs`` from within the main PlasmaPy repository directory, or
 * enter the ``docs`` directory and run ``make html``.
 
-Afterwards, open ``docs/_build/index.html`` with your browser of choice.
+Afterwards, open ``docs/_build/html/index.html`` with your browser of choice.
 
 Do try to solve warnings in documentation when writing your code. To enforce this,
 The ``build_docs`` environment is set to fail on encountering any warnings via
diff --git a/docs/notebooks/braginskii.ipynb b/docs/notebooks/braginskii.ipynb
index 397ba1a1..7d2c60b5 100644
--- a/docs/notebooks/braginskii.ipynb
+++ b/docs/notebooks/braginskii.ipynb
@@ -70,10 +70,12 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
-    "We now make the default ClassicalTransport object:\n",
+    "We now make the default :class:`~plasmapy.formulary.braginskii.ClassicalTransport` object:\n",
     "\n"
    ]
   },
@@ -181,14 +183,16 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
     "They also change with direction with respect to the magnetic field. Here,\n",
     "we choose to print out, as arrays, the (parallel, perpendicular,\n",
-    "and cross) directions. Take a look at the docs to `ClassicalTransport`\n",
-    "for more information on these.\n",
-    "\n"
+    "and cross) directions. Take a look at the docs to\n",
+    ":class:`~plasmapy.formulary.braginskii.ClassicalTransport`\n",
+    "for more information on these."
    ]
   },
   {
diff --git a/docs/notebooks/cold_plasma_tensor_elements.ipynb b/docs/notebooks/cold_plasma_tensor_elements.ipynb
index 8164cae1..a2883969 100644
--- a/docs/notebooks/cold_plasma_tensor_elements.ipynb
+++ b/docs/notebooks/cold_plasma_tensor_elements.ipynb
@@ -45,6 +45,15 @@
     "                                cold_plasma_permittivity_LRP)"
    ]
   },
+  {
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
+   "source": [
+    "Take a look at the docs to :func:`~plasmapy.formulary.dielectric.cold_plasma_permittivity_SDP` and :func:`~plasmapy.formulary.dielectric.cold_plasma_permittivity_LRP` for more information on these."
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/docs/notebooks/dispersion_function.ipynb b/docs/notebooks/dispersion_function.ipynb
index 63f57bf6..98f32444 100644
--- a/docs/notebooks/dispersion_function.ipynb
+++ b/docs/notebooks/dispersion_function.ipynb
@@ -56,6 +56,15 @@
     "help(plasmapy.formulary.dispersionfunction.plasma_dispersion_func)"
    ]
   },
+  {
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
+   "source": [
+    "Take a look at the docs to :func:`~plasmapy.formulary.dispersionfunction.plasma_dispersion_func` for more information on this."
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/docs/notebooks/distribution.ipynb b/docs/notebooks/distribution.ipynb
index a90b2d34..fab873c5 100644
--- a/docs/notebooks/distribution.ipynb
+++ b/docs/notebooks/distribution.ipynb
@@ -45,6 +45,15 @@
     "from plasmapy.formulary import Maxwellian_1D"
    ]
   },
+  {
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
+   "source": [
+    "Take a look at the docs to :func:`~plasmapy.formulary.distribution.Maxwellian_1D` for more information on these."
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/docs/notebooks/langmuir_analysis.ipynb b/docs/notebooks/langmuir_analysis.ipynb
index 8fe74874..17560d04 100644
--- a/docs/notebooks/langmuir_analysis.ipynb
+++ b/docs/notebooks/langmuir_analysis.ipynb
@@ -47,12 +47,14 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
     "The first characteristic we analyze is a simple single-probe measurement in\n",
     "a low (ion) temperature, low density plasma with a cylindrical probe. This\n",
-    "allows us to utilize OML theory implemented in `swept_probe_analysis`.\n",
+    "allows us to utilize OML theory implemented in :func:`~plasmapy.diagnostics.langmuir.swept_probe_analysis`.\n",
     "The data has been preprocessed with some smoothing, which allows us to obtain\n",
     "a Electron Energy Distribution Function (EEDF) as well.\n",
     "\n"
diff --git a/docs/notebooks/magnetic_statics.ipynb b/docs/notebooks/magnetic_statics.ipynb
index 713def19..43b04020 100644
--- a/docs/notebooks/magnetic_statics.ipynb
+++ b/docs/notebooks/magnetic_statics.ipynb
@@ -140,11 +140,12 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
-    "A circular current-carring wire\n",
-    "\n"
+    "A circular current-carring wire (:class:`~plasmapy.formulary.magnetostatics.CircularWire`)\n"
    ]
   },
   {
@@ -220,10 +221,12 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
-    "a circular wire can be described as parametric equation and converted to GeneralWire\n",
+    "a circular wire can be described as parametric equation and converted to :class:`~plasmapy.formulary.magnetostatics.GeneralWire`\n",
     "\n"
    ]
   },
@@ -245,10 +248,12 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
-    "A infinite straight wire\n",
+    "A infinite straight wire (:class:`~plasmapy.formulary.magnetostatics.InfiniteStraightWire`)\n",
     "\n"
    ]
   },
diff --git a/docs/notebooks/particle_stepper.ipynb b/docs/notebooks/particle_stepper.ipynb
index cf4136db..7b07bdc9 100644
--- a/docs/notebooks/particle_stepper.ipynb
+++ b/docs/notebooks/particle_stepper.ipynb
@@ -44,6 +44,15 @@
     "from plasmapy.formulary import gyrofrequency"
    ]
   },
+  {
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
+   "source": [
+    "Take a look at the docs to :func:`~plasmapy.formulary.parameters.gyrofrequency` and :class:`~plasmapy.simulation.particletracker.ParticleTracker` for more information"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/docs/notebooks/physics.ipynb b/docs/notebooks/physics.ipynb
index e223a49b..2292d27a 100644
--- a/docs/notebooks/physics.ipynb
+++ b/docs/notebooks/physics.ipynb
@@ -44,10 +44,12 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
-    "The radius of electric field shielding clouds, also known as the Debye length,\n",
+    "The radius of electric field shielding clouds, also known as the :func:`~plasmapy.formulary.parameters.Debye_length`,\n",
     "would be\n",
     "\n"
    ]
@@ -119,10 +121,12 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
-    "The electron inertial length would be\n",
+    "The electron :func:`~plasmapy.formulary.parameters.inertial_length` would be\n",
     "\n"
    ]
   },
@@ -163,10 +167,12 @@
    ]
   },
   {
-   "cell_type": "markdown",
-   "metadata": {},
+   "cell_type": "raw",
+   "metadata": {
+    "raw_mimetype": "text/restructuredtext"
+   },
    "source": [
-    "And the Langmuir wave plasma frequency should be on the order of\n",
+    "And the Langmuir wave :func:`~plasmapy.formulary.parameters.plasma_frequency` should be on the order of\n",
     "\n"
    ]
   },
diff --git a/plasmapy/examples/README.txt b/plasmapy/examples/README.txt
deleted file mode 100644
index d451e4e4..00000000
--- a/plasmapy/examples/README.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-.. _examples-index:
-
-Examples
-========
-
-
-.. _general_examples:
-
-General examples
-----------------
-
-General-purpose and introductory examples from PlasmaPy.
-
-`You may also run these online via Binder (link uses the current master version). <https://mybinder.org/v2/gh/PlasmaPy/PlasmaPy/master?filepath=plasmapy%2Fexamples>`_
diff --git a/plasmapy/formulary/dimensionless.py b/plasmapy/formulary/dimensionless.py
index 8ccb96b1..88777a90 100644
--- a/plasmapy/formulary/dimensionless.py
+++ b/plasmapy/formulary/dimensionless.py
@@ -12,8 +12,11 @@
 
 from astropy import constants
 from astropy import units as u
+from astropy.constants.codata2010 import mu0
+
 from plasmapy.formulary import quantum, parameters, electron_viscosity
 from plasmapy.utils.decorators import validate_quantities
+from astropy.constants import c
 
 
 @validate_quantities(
@@ -91,32 +94,32 @@ def beta(T: u.K, n: u.m ** -3, B: u.T) -> u.dimensionless_unscaled:
     return thermal_pressure / magnetic_pressure
 
 
-@validate_quantities(v={"can_be_negative": True})
-def Reynolds_number(rho: u.kg / u.m ** 3, v: u.m / u.s, L: u.m,
+@validate_quantities(U={"can_be_negative": True})
+def Reynolds_number(rho: u.kg / u.m ** 3, U: u.m / u.s, L: u.m,
                     mu: u.kg / (u.m * u.s)) -> u.dimensionless_unscaled:
     r"""
-    The Reynold's Number is a dimensionless quantity
+    The Reynolds Number is a dimensionless quantity
     that is used to predict flow patterns in fluids.
-    The Reynold's Number is defined as the ratio of inertial forces to viscous forces.
-    A low Reynold's Number describes smooth, laminar flow
-    while a high Reynold's Number describes rough, turbulent flow.
+    The Reynolds Number is defined as the ratio of inertial forces to viscous forces.
+    A low Reynolds Number describes smooth, laminar flow
+    while a high Reynolds Number describes rough, turbulent flow.
 
     .. math::
 
-        Re = \frac{\rho v L }{\mu}
+        Re = \frac{\rho U L }{\mu}
 
     Parameters
     ----------
     rho : `~astropy.units.Quantity`
         The density of the plasma.
-    v : `~astropy.units.Quantity`
+    U : `~astropy.units.Quantity`
         The flow velocity of the plasma.
     L : `~astropy.units.Quantity`
         The characteristic length scale.
     mu : `~astropy.units.Quantity`
         The dynamic viscosity of the plasma.
 
-     Warns
+    Warns
     -----
     ~astropy.units.UnitsWarning
         If units are not provided, SI units are assumed.
@@ -124,29 +127,29 @@ def Reynolds_number(rho: u.kg / u.m ** 3, v: u.m / u.s, L: u.m,
     Raises
     ------
     TypeError
-        The `v` is not a `~astropy.units.Quantity` and cannot be
+        The `U` is not a `~astropy.units.Quantity` and cannot be
         converted into a ~astropy.units.Quantity.
 
     ~astropy.units.UnitConversionError
-        If the `v` is not in appropriate units.
+        If the `U` is not in appropriate units.
 
     :exc:`~plasmapy.utils.exceptions.RelativityError`
-        If the velocity `v` is greater than the speed of light.
+        If the velocity `U` is greater than the speed of light.
 
     Examples
     --------
     >>> import astropy.units as u
     >>> rho = 1000 * u.kg / u.m ** 3
-    >>> v = 10 * u.m / u.s
+    >>> U = 10 * u.m / u.s
     >>> L = 1 * u.m
     >>> mu = 8.9e-4 * u.kg / (u.m * u.s)
-    >>> Reynolds_number(rho, v, L, mu)
+    >>> Reynolds_number(rho, U, L, mu)
     <Quantity 11235955.05617978>
     >>> rho = 1490 * u.kg / u.m ** 3
-    >>> v = 0.1 * u.m / u.s
+    >>> U = 0.1 * u.m / u.s
     >>> L = 0.05 * u.m
     >>> mu = 10 * u.kg / (u.m * u.s)
-    >>> Reynolds_number(rho, v, L, mu)
+    >>> Reynolds_number(rho, U, L, mu)
     <Quantity 0.745>
 
     Returns
@@ -155,5 +158,71 @@ def Reynolds_number(rho: u.kg / u.m ** 3, v: u.m / u.s, L: u.m,
         Dimensionless quantity.
 
     """
-    Re = abs(rho * v * L / mu)
+    Re = abs(rho * U * L / mu)
     return Re
+
+
+@validate_quantities(U={"can_be_negative": True})
+def Mag_Reynolds(U: u.m / u.s, L: u.m, sigma: u.S / u.m) -> u.dimensionless_unscaled:
+    r"""
+    The Magnetic Reynolds number is a dimensionless quantity that
+    estimates the relative contributions of advection and induction
+    to magnetic diffusion in a conducting medium.
+
+    .. math::
+
+        Rm = \frac{U L}{\\eta}
+
+        where: \eta = \frac{1}{\mu_0 \sigma}
+
+        and \mu_0 is the permeability of free space.
+
+    Parameters
+    ----------
+    U : `~astropy.units.Quantity`
+        The velocity scale of the plasma.
+    L : `~astropy.units.Quantity`
+        The length scale of the plasma.
+    sigma : `~astropy.units.Quantity`
+        The conductivity of the plasma.
+
+    Warns
+    -----
+    ~astropy.units.UnitsWarning
+        If units are not provided, SI units are assumed.
+
+    Raises
+    ------
+    TypeError
+        The `U` is not a `~astropy.units.Quantity` and cannot be
+        converted into a ~astropy.units.Quantity.
+
+    ~astropy.units.UnitConversionError
+        If the `U` is not in appropriate units.
+
+    :exc:`~plasmapy.utils.exceptions.RelativityError`
+        If the velocity `U` is greater than the speed of light.
+
+    Examples
+    --------
+    >>> import astropy.units as u
+    >>> sigma = 5.96e7 * u.S / u.m
+    >>> U = 10 * u.m / u.s
+    >>> L = 1 * u.cm
+    >>> Mag_Reynolds(U, L, sigma)
+    <Quantity 7.48955689>
+    >>> rho = 1e-8 * u.S / u.m
+    >>> U = 0.1 * u.m / u.s
+    >>> L = 0.05 * u.m
+    >>> Mag_Reynolds(U, L, sigma)
+    <Quantity 0.37447784>
+
+    Returns
+    -------
+    Rm: `~astropy.Quantity`
+        Dimensionless quantity.
+
+    """
+    eta = 1 / (mu0 * sigma)
+    Rm = abs(U * L / eta)
+    return Rm
diff --git a/plasmapy/simulation/particletracker.py b/plasmapy/simulation/particletracker.py
index 99adba78..8ce176df 100644
--- a/plasmapy/simulation/particletracker.py
+++ b/plasmapy/simulation/particletracker.py
@@ -52,8 +52,9 @@ class ParticleTracker:
 
     Examples
     ----------
-    See `plasmapy/examples/particle-stepper.ipynb.`
+    See `Particle Stepper Notebook`_.
 
+    .. _`Particle Stepper Notebook`: ../notebooks/particle_stepper.ipynb
     """
     @u.quantity_input(dt=u.s)
     def __init__(self, plasma, particle_type='p', n_particles=1, scaling=1,
diff --git a/setup.cfg b/setup.cfg
index 8bdf7af2..bcc265e9 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -62,7 +62,6 @@ docs =
 
 [options.package_data]
 plasmapy.data = *
-plasmapy.examples.langmuir_samples = *.npy
 plasmapy.tests = coveragerc
 
 [build_docs]


Test patch:
diff --git a/docs/development/testing_guide.rst b/docs/development/testing_guide.rst
index 972013f0..ea1a5b65 100644
--- a/docs/development/testing_guide.rst
+++ b/docs/development/testing_guide.rst
@@ -32,7 +32,7 @@ Overview
 Pull requests that create or change functionality must include tests
 and documentation before being merged.
 
-PlasmaPy uses **`pytest <https://docs.pytest.org>`_** for software
+PlasmaPy uses `pytest <https://docs.pytest.org>`_ for software
 testing.  The test suite may be run locally or automatically via pull
 requests on `GitHub <https://github.com/>`_.  PlasmaPy undergoes
 continuous integration testing of the code base by `Travis CI
diff --git a/plasmapy/formulary/tests/test_dimensionless.py b/plasmapy/formulary/tests/test_dimensionless.py
index 742c448a..3ab86f44 100644
--- a/plasmapy/formulary/tests/test_dimensionless.py
+++ b/plasmapy/formulary/tests/test_dimensionless.py
@@ -1,7 +1,7 @@
 import pytest
 from astropy.constants import c
 
-from plasmapy.formulary.dimensionless import beta, quantum_theta, Reynolds_number
+from plasmapy.formulary.dimensionless import beta, quantum_theta, Reynolds_number, Mag_Reynolds
 
 import astropy.units as u
 import numpy as np
@@ -36,12 +36,12 @@ def test_beta_nan():
 def test_Reynolds_number():
     r"""Test Reynolds_number in dimensionless.py"""
     rho = 1490 * u.kg / u.m ** 3
-    v = 0.1 * u.m / u.s
+    U = 0.1 * u.m / u.s
     L = 0.05 * u.m
     mu = 10 * u.kg / (u.m * u.s)
 
     assert (
-        Reynolds_number(rho, v, L, mu) * u.dimensionless_unscaled
+        Reynolds_number(rho, U, L, mu) * u.dimensionless_unscaled
            ).unit == u.dimensionless_unscaled
 
     with pytest.warns(u.UnitsWarning):
@@ -49,3 +49,21 @@ def test_Reynolds_number():
 
     with pytest.raises(u.UnitTypeError):
         Reynolds_number(rho, 4 * u.kg, L, mu)
+
+
+def test_Mag_Reynolds():
+    r"""Test Mag_Reynolds in dimensionless.py"""
+
+    sigma = 1e8 * u.S / u.m
+    U = 0.1 * u.m / u.s
+    L = 0.05 * u.m
+
+    assert (
+                   Mag_Reynolds(U, L, sigma) * u.dimensionless_unscaled
+           ).unit == u.dimensionless_unscaled
+
+    with pytest.warns(u.UnitsWarning):
+        Mag_Reynolds(2.2, L, sigma)
+
+    with pytest.raises(u.UnitTypeError):
+        Mag_Reynolds(2.2 * u.kg, L, sigma)