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.

Class Inheritance Diagram

Inheritance diagram of astropy.constants.constant.Constant, astropy.constants.constant.EMConstant