Constants (astropy.constants
)¶
Introduction¶
astropy.constants
contains a number of physical constants useful in
Astronomy. Constants are Quantity
objects with
additional meta-data describing their provenance and uncertainties.
Getting Started¶
To use the constants in S.I. units, you can import the constants directly from
the astropy.constants
sub-package:
>>> from astropy.constants import G
or, if you want to avoid having to explicitly import all the constants you need, you can simply do:
>>> from astropy import constants as const
and then subsequently use for example const.G
. Constants are fully-fledged
Quantity
objects, so you can easily convert them to
different units for example:
>>> print(const.c)
Name = Speed of light in vacuum
Value = 299792458.0
Uncertainty = 0.0
Unit = m / s
Reference = CODATA 2014
>>> print(const.c.to('km/s'))
299792.458 km / s
>>> print(const.c.to('pc/yr'))
0.306601393788 pc / yr
and you can use them in conjunction with unit and other non-constant
Quantity
objects:
>>> from astropy import units as u
>>> F = (const.G * 3. * const.M_sun * 100 * u.kg) / (2.2 * u.au) ** 2
>>> print(F.to(u.N))
0.3675671602160826 N
It is possible to convert most constants to cgs using e.g.:
>>> const.c.cgs
<Quantity 2.99792458e+10 cm / s>
However, some constants are defined with different physical dimensions in cgs and cannot be directly converted. Because of this ambiguity, such constants cannot be used in expressions without specifying a system:
>>> 100 * const.e
Traceback (most recent call last):
...
TypeError: Constant u'e' does not have physically compatible units
across all systems of units and cannot be combined with other
values without specifying a system (eg. e.emu)
>>> 100 * const.e.esu
<Quantity 4.8032045057134676e-08 Fr>
Collections of constants (and prior versions)¶
Constants are organized into version modules. The constants for
Astropy 1.3 can be accessed in the astropyconst13
module.
For example:
>>> from astropy.constants import astropyconst13 as const
>>> print(const.e)
Name = Electron charge
Value = 1.602176565e-19
Uncertainty = 3.5e-27
Unit = C
Reference = CODATA 2010
Physical CODATA constants are in modules with names like codata2010
or
codata2014
:
>>> from astropy.constants import codata2010 as const
>>> print(const.h)
Name = Planck constant
Value = 6.62606957e-34
Uncertainty = 2.9e-41
Unit = J s
Reference = CODATA 2010
Astronomical constants defined (primarily) by the IAU are collected in
modules with names like iau2012
or iau2015
:
>>> from astropy.constants import iau2012 as const
>>> print(const.L_sun)
Name = Solar luminosity
Value = 3.846e+26
Uncertainty = 5e+22
Unit = W
Reference = Allen's Astrophysical Quantities 4th Ed.
>>> from astropy.constants import iau2015 as const
>>> print(const.L_sun)
Name = Nominal solar luminosity
Value = 3.828e+26
Uncertainty = 0.0
Unit = W
Reference = IAU 2015 Resolution B 3
The astronomical and physical constants are combined into modules with
names like astropyconst13
and astropyconst20
. To temporarily set
constants to an older version (e.g., for regression testing), a context
manager is available, as follows:
>>> from astropy import constants as const
>>> with const.set_enabled_constants('astropyconst13'):
... print(const.h)
Name = Planck constant
Value = 6.62606957e-34
Uncertainty = 2.9e-41
Unit = J s
Reference = CODATA 2010
>>> print(const.h)
Name = Planck constant
Value = 6.62607004e-34
Uncertainty = 8.1e-42
Unit = J s
Reference = CODATA 2014
Warning
Units such as u.M_sun
will use the current version of the
corresponding constant. When using prior versions of the constants,
quantities should be constructed with constants instead of units.
Reference/API¶
astropy.constants Package¶
Contains astronomical and physical constants for use in Astropy or other places.
A typical use case might be:
>>> from astropy.constants import c, m_e
>>> # ... define the mass of something you want the rest energy of as m ...
>>> m = m_e
>>> E = m * c**2
>>> E.to('MeV')
<Quantity 0.510998927603161 MeV>
The following constants are available:
Name | Value | Unit | Description |
---|---|---|---|
G | 6.67408e-11 | m3 / (kg s2) | Gravitational constant |
N_A | 6.02214086e+23 | 1 / (mol) | Avogadro’s number |
R | 8.3144598 | J / (K mol) | Gas constant |
Ryd | 10973731.6 | 1 / (m) | Rydberg constant |
a0 | 5.29177211e-11 | m | Bohr radius |
alpha | 0.00729735257 | Fine-structure constant | |
atm | 101325 | Pa | Standard atmosphere |
b_wien | 0.0028977729 | m K | Wien wavelength displacement law constant |
c | 299792458 | m / (s) | Speed of light in vacuum |
e | 1.60217662e-19 | C | Electron charge |
eps0 | 8.85418782e-12 | F/m | Electric constant |
g0 | 9.80665 | m / s2 | Standard acceleration of gravity |
h | 6.62607004e-34 | J s | Planck constant |
hbar | 1.0545718e-34 | J s | Reduced Planck constant |
k_B | 1.38064852e-23 | J / (K) | Boltzmann constant |
m_e | 9.10938356e-31 | kg | Electron mass |
m_n | 1.67492747e-27 | kg | Neutron mass |
m_p | 1.6726219e-27 | kg | Proton mass |
mu0 | 1.25663706e-06 | N/A2 | Magnetic constant |
muB | 9.27400999e-24 | J/T | Bohr magneton |
sigma_T | 6.65245872e-29 | m2 | Thomson scattering cross-section |
sigma_sb | 5.670367e-08 | W / (K4 m2) | Stefan-Boltzmann constant |
u | 1.66053904e-27 | kg | Atomic mass |
GM_earth | 3.986004e+14 | m3 / (s2) | Nominal Earth mass parameter |
GM_jup | 1.2668653e+17 | m3 / (s2) | Nominal Jupiter mass parameter |
GM_sun | 1.3271244e+20 | m3 / (s2) | Nominal solar mass parameter |
L_bol0 | 3.0128e+28 | W | Luminosity for absolute bolometric magnitude 0 |
L_sun | 3.828e+26 | W | Nominal solar luminosity |
M_earth | 5.97236473e+24 | kg | Earth mass |
M_jup | 1.89818717e+27 | kg | Jupiter mass |
M_sun | 1.98847542e+30 | kg | Solar mass |
R_earth | 6378100 | m | Nominal Earth equatorial radius |
R_jup | 71492000 | m | Nominal Jupiter equatorial radius |
R_sun | 695700000 | m | Nominal solar radius |
au | 1.49597871e+11 | m | Astronomical Unit |
kpc | 3.08567758e+19 | m | Kiloparsec |
pc | 3.08567758e+16 | m | Parsec |
Functions¶
set_enabled_constants (modname) |
Context manager to temporarily set values in the constants namespace to an older version. |
Classes¶
Constant |
A physical or astronomical constant. |
EMConstant |
An electromagnetic constant. |