def beta(T: u.K, n: u.m**-3, B: u.T): """ The ratio of thermal pressure to magnetic pressure. Parameters ---------- T : ~astropy.units.Quantity The temperature of the plasma. n : ~astropy.units.Quantity The particle density of the plasma. B : ~astropy.units.Quantity The magnetic field in the plasma. Examples -------- >>> import astropy.units as u >>> beta(1*u.eV, 1e20*u.m**-3, 1*u.T) <Quantity 4.02670904e-05> >>> beta(8.8e3*u.eV, 1e20*u.m**-3, 5.3*u.T) <Quantity 0.01261482> Returns ------- beta: ~astropy.units.Quantity Dimensionless quantity. """ thermal_pressure = parameters.thermal_pressure(T, n) magnetic_pressure = parameters.magnetic_pressure(B) return thermal_pressure / magnetic_pressure
def test_magnetic_energy_density(): r"""Test the magnetic_energy_density function in parameters.py.""" assert magnetic_energy_density(B_arr).unit.is_equivalent(u.J / u.m ** 3) assert magnetic_energy_density(B).unit.is_equivalent('J / m3') assert magnetic_energy_density(B).value == magnetic_pressure(B).value assert_quantity_allclose(magnetic_energy_density(2 * B), 4 * magnetic_energy_density(B)) assert_quantity_allclose(magnetic_energy_density(B).value, 397887.35772973835) assert_quantity_allclose(magnetic_energy_density(B), magnetic_energy_density(B.to(u.G))) assert isinstance(magnetic_energy_density(B_arr), u.Quantity) with pytest.warns(u.UnitsWarning): magnetic_energy_density(5) with pytest.raises(u.UnitConversionError): magnetic_energy_density(5 * u.m) assert np.isnan(magnetic_energy_density(np.nan * u.T)) with pytest.raises(ValueError): magnetic_energy_density(5j * u.T) assert np.isnan(magnetic_energy_density(B_nanarr)[-1]) with pytest.warns(u.UnitsWarning): assert magnetic_energy_density(22.2) == magnetic_energy_density(22.2 * u.T) assert_can_handle_nparray(magnetic_energy_density)
def test_magnetic_pressure(): r"""Test the magnetic_pressure function in parameters.py.""" assert magnetic_pressure(B_arr).unit.is_equivalent(u.Pa) assert magnetic_pressure(B).unit.is_equivalent(u.Pa) assert magnetic_pressure(B).unit.name == 'Pa' assert magnetic_pressure(B).value == magnetic_energy_density(B).value assert magnetic_pressure(B) == magnetic_energy_density(B.to(u.G)) assert np.isclose(magnetic_pressure(B).value, 397887.35772973835) with pytest.warns(u.UnitsWarning): magnetic_pressure(5) with pytest.raises(u.UnitConversionError): magnetic_pressure(5 * u.m) with pytest.raises(ValueError): magnetic_pressure(np.nan * u.T) with pytest.raises(ValueError): magnetic_pressure(5j * u.T) with pytest.raises(ValueError): magnetic_pressure(B_nanarr) with pytest.warns(u.UnitsWarning): assert magnetic_pressure(22.2) == magnetic_pressure(22.2 * u.T) assert_can_handle_nparray(magnetic_pressure)
def time_magnetic_pressure(self): magnetic_pressure(0.1*u.T)