@cindex physical constants
@cindex constants, physical
@cindex conversion of units
@cindex units, conversion of
This chapter describes macros for the values of physical constants, such
as the speed of light, @math{c}, and gravitational constant, @math{G}.
The values are available in different unit systems, including the
standard MKSA system (meters, kilograms, seconds, amperes) and the CGSM
system (centimeters, grams, seconds, gauss), which is commonly used in
Astronomy.

The definitions of constants in the MKSA system are available in the file
@file{gsl_const_mksa.h}.  The constants in the CGSM system are defined in
@file{gsl_const_cgsm.h}.  Dimensionless constants, such as the fine
structure constant, which are pure numbers are defined in
@file{gsl_const_num.h}.

@menu
* Fundamental Constants::       
* Astronomy and Astrophysics::  
* Atomic and Nuclear Physics::  
* Measurement of Time::         
* Imperial Units ::             
* Speed and Nautical Units::    
* Printers Units::              
* Volume Area and Length::      
* Mass and Weight ::            
* Thermal Energy and Power::    
* Pressure::                    
* Viscosity::                   
* Light and Illumination::      
* Radioactivity::               
* Force and Energy::            
* Prefixes::                    
* Physical Constant Examples::  
* Physical Constant References and Further Reading::  
@end menu

The full list of constants is described briefly below.  Consult the
header files themselves for the values of the constants used in the
library.

@node Fundamental Constants
@section Fundamental Constants
@cindex fundamental constants
@cindex constants, fundamental
@table @code
@item GSL_CONST_MKSA_SPEED_OF_LIGHT
The speed of light in vacuum, @math{c}.

@item GSL_CONST_MKSA_VACUUM_PERMEABILITY
The permeability of free space, @math{\mu_0}. This constant is defined
in the MKSA system only.

@item GSL_CONST_MKSA_VACUUM_PERMITTIVITY
The permittivity of free space, @math{\epsilon_0}.  This constant is
defined in the MKSA system only.

@item GSL_CONST_MKSA_PLANCKS_CONSTANT_H
Planck's constant, @math{h}.

@item GSL_CONST_MKSA_PLANCKS_CONSTANT_HBAR
Planck's constant divided by @math{2\pi}, @math{\hbar}.

@item GSL_CONST_NUM_AVOGADRO
Avogadro's number, @math{N_a}.

@item GSL_CONST_MKSA_FARADAY
The molar charge of 1 Faraday.

@item GSL_CONST_MKSA_BOLTZMANN
The Boltzmann constant, @math{k}.

@item GSL_CONST_MKSA_MOLAR_GAS
The molar gas constant, @math{R_0}.

@item GSL_CONST_MKSA_STANDARD_GAS_VOLUME
The standard gas volume, @math{V_0}.

@item GSL_CONST_MKSA_STEFAN_BOLTZMANN_CONSTANT
The Stefan-Boltzmann radiation constant, @math{\sigma}.

@item GSL_CONST_MKSA_GAUSS
The magnetic field of 1 Gauss.
@end table

@node Astronomy and Astrophysics
@section Astronomy and Astrophysics
@cindex astronomical constants
@table @code
@item GSL_CONST_MKSA_ASTRONOMICAL_UNIT
The length of 1 astronomical unit (mean earth-sun distance), @math{au}.

@item GSL_CONST_MKSA_GRAVITATIONAL_CONSTANT
The gravitational constant, @math{G}.

@item GSL_CONST_MKSA_LIGHT_YEAR
The distance of 1 light-year, @math{ly}.

@item GSL_CONST_MKSA_PARSEC
The distance of 1 parsec, @math{pc}.

@item GSL_CONST_MKSA_GRAV_ACCEL
The standard gravitational acceleration on Earth, @math{g}.

@item GSL_CONST_MKSA_SOLAR_MASS
The mass of the Sun.
@end table

@node Atomic and Nuclear Physics
@section Atomic and Nuclear Physics
@cindex atomic physics, constants
@cindex nuclear physics, constants
@table @code
@item GSL_CONST_MKSA_ELECTRON_CHARGE
The charge of the electron, @math{e}.

@item GSL_CONST_MKSA_ELECTRON_VOLT
The energy of 1 electron volt, @math{eV}.

@item GSL_CONST_MKSA_UNIFIED_ATOMIC_MASS
The unified atomic mass, @math{amu}.

@item GSL_CONST_MKSA_MASS_ELECTRON
The mass of the electron, @math{m_e}.

@item GSL_CONST_MKSA_MASS_MUON
The mass of the muon, @math{m_\mu}.

@item GSL_CONST_MKSA_MASS_PROTON
The mass of the proton, @math{m_p}.

@item GSL_CONST_MKSA_MASS_NEUTRON
The mass of the neutron, @math{m_n}.

@item GSL_CONST_NUM_FINE_STRUCTURE
The electromagnetic fine structure constant @math{\alpha}.

@item GSL_CONST_MKSA_RYDBERG
The Rydberg constant, @math{Ry}, in units of energy.  This is related to
the Rydberg inverse wavelength @math{R} by @math{Ry = h c R}.

@item GSL_CONST_MKSA_BOHR_RADIUS
The Bohr radius, @math{a_0}.

@item GSL_CONST_MKSA_ANGSTROM
The length of 1 angstrom.

@item GSL_CONST_MKSA_BARN
The area of 1 barn.

@item GSL_CONST_MKSA_BOHR_MAGNETON
The Bohr Magneton, @math{\mu_B}.

@item GSL_CONST_MKSA_NUCLEAR_MAGNETON
The Nuclear Magneton, @math{\mu_N}.

@item GSL_CONST_MKSA_ELECTRON_MAGNETIC_MOMENT
The absolute value of the magnetic moment of the electron, @math{\mu_e}.
The physical magnetic moment of the electron is negative.

@item GSL_CONST_MKSA_PROTON_MAGNETIC_MOMENT
The magnetic moment of the proton, @math{\mu_p}.

@item GSL_CONST_MKSA_THOMSON_CROSS_SECTION
The Thomson cross section, @math{\sigma_T}.

@item GSL_CONST_MKSA_DEBYE
The electric dipole moment of 1 Debye, @math{D}.
@end table


@node Measurement of Time
@section Measurement of Time
@cindex time units
@table @code
@item GSL_CONST_MKSA_MINUTE
The number of seconds in 1 minute.

@item GSL_CONST_MKSA_HOUR
The number of seconds in 1 hour.

@item GSL_CONST_MKSA_DAY
The number of seconds in 1 day.

@item GSL_CONST_MKSA_WEEK
The number of seconds in 1 week.
@end table


@node Imperial Units 
@section Imperial Units
@cindex imperial units
@cindex units, imperial
@table @code
@item GSL_CONST_MKSA_INCH
The length of 1 inch.

@item GSL_CONST_MKSA_FOOT
The length of 1 foot.

@item GSL_CONST_MKSA_YARD
The length of 1 yard.

@item GSL_CONST_MKSA_MILE
The length of 1 mile.

@item GSL_CONST_MKSA_MIL
The length of 1 mil (1/1000th of an inch).
@end table


@node Speed and Nautical Units
@section Speed and Nautical Units
@cindex nautical units

@table @code
@item GSL_CONST_MKSA_KILOMETERS_PER_HOUR
The speed of 1 kilometer per hour.

@item GSL_CONST_MKSA_MILES_PER_HOUR
The speed of 1 mile per hour.

@item GSL_CONST_MKSA_NAUTICAL_MILE
The length of 1 nautical mile.

@item GSL_CONST_MKSA_FATHOM
The length of 1 fathom.

@item GSL_CONST_MKSA_KNOT
The speed of 1 knot.
@end table


@node Printers Units
@section Printers Units
@cindex printers units

@table @code
@item GSL_CONST_MKSA_POINT
The length of 1 printer's point (1/72 inch).

@item GSL_CONST_MKSA_TEXPOINT
The length of 1 TeX point (1/72.27 inch).
@end table


@node Volume Area and Length
@section Volume, Area and Length
@cindex volume units

@table @code
@item GSL_CONST_MKSA_MICRON
The length of 1 micron.

@item GSL_CONST_MKSA_HECTARE
The area of 1 hectare.

@item GSL_CONST_MKSA_ACRE
The area of 1 acre.

@item GSL_CONST_MKSA_LITER
The volume of 1 liter.

@item GSL_CONST_MKSA_US_GALLON
The volume of 1 US gallon.

@item GSL_CONST_MKSA_CANADIAN_GALLON
The volume of 1 Canadian gallon.

@item GSL_CONST_MKSA_UK_GALLON
The volume of 1 UK gallon.

@item GSL_CONST_MKSA_QUART
The volume of 1 quart.

@item GSL_CONST_MKSA_PINT
The volume of 1 pint.
@end table


@comment @node Cookery
@comment @section Cookery
@comment @commentindex cookery units

@comment @table @commentode
@comment @item GSL_CONST_MKSA_CUP
@comment The volume of 1 cup.

@comment @item GSL_CONST_MKSA_FLUID_OUNCE
@comment The volume of 1 fluid ounce.

@comment @item GSL_CONST_MKSA_TABLESPOON
@comment The volume of 1 tablespoon.

@comment @item GSL_CONST_MKSA_TEASPOON
@comment The volume of 1 teaspoon.
@comment @end table


@node Mass and Weight 
@section Mass and Weight
@cindex mass, units of
@cindex weight, units of
@table @code
@item GSL_CONST_MKSA_POUND_MASS
The mass of 1 pound.

@item GSL_CONST_MKSA_OUNCE_MASS
The mass of 1 ounce.

@item GSL_CONST_MKSA_TON
The mass of 1 ton.

@item GSL_CONST_MKSA_METRIC_TON
The mass of 1 metric ton (1000 kg).

@item GSL_CONST_MKSA_UK_TON
The mass of 1 UK ton.

@item GSL_CONST_MKSA_TROY_OUNCE
The mass of 1 troy ounce.

@item GSL_CONST_MKSA_CARAT
The mass of 1 carat.

@item GSL_CONST_MKSA_GRAM_FORCE
The force of 1 gram weight.

@item GSL_CONST_MKSA_POUND_FORCE
The force of 1 pound weight.

@item GSL_CONST_MKSA_KILOPOUND_FORCE
The force of 1 kilopound weight.

@item GSL_CONST_MKSA_POUNDAL
The force of 1 poundal.
@end table


@node Thermal Energy and Power
@section Thermal Energy and Power
@cindex energy, units of
@cindex power, units of
@cindex thermal energy, units of
@table @code
@item GSL_CONST_MKSA_CALORIE
The energy of 1 calorie.

@item GSL_CONST_MKSA_BTU
The energy of 1 British Thermal Unit, @math{btu}.

@item GSL_CONST_MKSA_THERM
The energy of 1 Therm.

@item GSL_CONST_MKSA_HORSEPOWER
The power of 1 horsepower.
@end table


@node Pressure
@section Pressure
@cindex pressure, units of
@table @code
@item GSL_CONST_MKSA_BAR
The pressure of 1 bar.

@item GSL_CONST_MKSA_STD_ATMOSPHERE
The pressure of 1 standard atmosphere.

@item GSL_CONST_MKSA_TORR
The pressure of 1 torr.

@item GSL_CONST_MKSA_METER_OF_MERCURY
The pressure of 1 meter of mercury.

@item GSL_CONST_MKSA_INCH_OF_MERCURY
The pressure of 1 inch of mercury.

@item GSL_CONST_MKSA_INCH_OF_WATER
The pressure of 1 inch of water.

@item GSL_CONST_MKSA_PSI
The pressure of 1 pound per square inch.
@end table

@node Viscosity
@section Viscosity
@cindex viscosity, units of
@table @code
@item GSL_CONST_MKSA_POISE
The dynamic viscosity of 1 poise.

@item GSL_CONST_MKSA_STOKES
The kinematic viscosity of 1 stokes.
@end table


@node Light and Illumination
@section Light and Illumination
@cindex light, units of
@cindex illumination, units of

@table @code
@item GSL_CONST_MKSA_STILB
The luminance of 1 stilb.

@item GSL_CONST_MKSA_LUMEN
The luminous flux of 1 lumen.

@item GSL_CONST_MKSA_LUX
The illuminance of 1 lux.

@item GSL_CONST_MKSA_PHOT
The illuminance of 1 phot.

@item GSL_CONST_MKSA_FOOTCANDLE
The illuminance of 1 footcandle.

@item GSL_CONST_MKSA_LAMBERT
The luminance of 1 lambert.

@item GSL_CONST_MKSA_FOOTLAMBERT
The luminance of 1 footlambert.
@end table


@node Radioactivity
@section Radioactivity
@cindex radioactivity, units of
@table @code
@item GSL_CONST_MKSA_CURIE
The activity of 1 curie.

@item GSL_CONST_MKSA_ROENTGEN
The exposure of 1 roentgen.

@item GSL_CONST_MKSA_RAD
The absorbed dose of 1 rad.
@end table


@node Force and Energy
@section Force and Energy
@cindex force and energy, units of
@table @code
@item GSL_CONST_MKSA_NEWTON
The SI unit of force, 1 Newton.

@item GSL_CONST_MKSA_DYNE
The force of 1 Dyne = @c{$10^{-5}$}
@math{10^-5} Newton.

@item GSL_CONST_MKSA_JOULE
The SI unit of energy, 1 Joule.

@item GSL_CONST_MKSA_ERG 
The energy 1 erg = @c{$10^{-7}$} 
@math{10^-7} Joule.
@end table


@node Prefixes
@section Prefixes
@cindex prefixes
@cindex constants, prefixes

These constants are dimensionless scaling factors.

@table @code
@item GSL_CONST_NUM_YOTTA
@c{$10^{24}$}
@math{10^24}

@item GSL_CONST_NUM_ZETTA
@c{$10^{21}$}
@math{10^21}

@item GSL_CONST_NUM_EXA
@c{$10^{18}$}
@math{10^18}

@item GSL_CONST_NUM_PETA
@c{$10^{15}$}
@math{10^15}

@item GSL_CONST_NUM_TERA
@c{$10^{12}$}
@math{10^12}

@item GSL_CONST_NUM_GIGA
@math{10^9}

@item GSL_CONST_NUM_MEGA
@math{10^6}

@item GSL_CONST_NUM_KILO
@math{10^3}

@item GSL_CONST_NUM_MILLI
@c{$10^{-3}$}
@math{10^-3}

@item GSL_CONST_NUM_MICRO
@c{$10^{-6}$}
@math{10^-6}

@item GSL_CONST_NUM_NANO
@c{$10^{-9}$}
@math{10^-9}

@item GSL_CONST_NUM_PICO
@c{$10^{-12}$}
@math{10^-12}

@item GSL_CONST_NUM_FEMTO
@c{$10^{-15}$}
@math{10^-15}

@item GSL_CONST_NUM_ATTO
@c{$10^{-18}$}
@math{10^-18}

@item GSL_CONST_NUM_ZEPTO
@c{$10^{-21}$}
@math{10^-21}

@item GSL_CONST_NUM_YOCTO
@c{$10^{-24}$}
@math{10^-24}
@end table

@node Physical Constant Examples
@section Examples

The following program demonstrates the use of the physical constants in
a calculation.  In this case, the goal is to calculate the range of
light-travel times from Earth to Mars.

The required data is the average distance of each planet from the Sun in
astronomical units (the eccentricities and inclinations of the orbits
will be neglected for the purposes of this calculation).  The average
radius of the orbit of Mars is 1.52 astronomical units, and for the
orbit of Earth it is 1 astronomical unit (by definition).  These values
are combined with the MKSA values of the constants for the speed of
light and the length of an astronomical unit to produce a result for the
shortest and longest light-travel times in seconds.  The figures are
converted into minutes before being displayed.

@example
@verbatiminclude examples/const.c
@end example

@noindent
Here is the output from the program,

@example
@verbatiminclude examples/const.out
@end example

@node Physical Constant References and Further Reading
@section References and Further Reading

The authoritative sources for physical constants are the 2002 CODATA
recommended values, published in the articles below. Further information
on the values of physical constants is also available from the cited
articles and the NIST website. 

@itemize @asis
@item Journal of Physical and Chemical Reference Data, 28(6), 1713-1852, 1999
@item Reviews of Modern Physics, 72(2), 351-495, 2000
@item @uref{http://www.physics.nist.gov/cuu/Constants/index.html}
@item @uref{http://physics.nist.gov/Pubs/SP811/appenB9.html}
@end itemize

