물리 상수

이 단원에서는 물리 상수들을 위한 매크로들을 기술합니다. 예를 들어 빛의 속도 \(c\) 나, 중력 상수 \(G\) 등이 있습니다. 각각의 값들은 다른 단위계들로 존재합니다. 천체물리에서 빈번히 쓰이는 표준 MKSA 계 (meter, kilogransms, seconds, ampers)와 CGSM 계 (centimeters, grams, seconds, gauss)가 있습니다

MKSA 계로 정의된 함수들은 gsl_const_mksa.h 에 정의되어 있습니다. CGSM 계로 정의된 상수들은 gsl_const_cgsm.h 에 정의되어 있습니다.

차원이 없는 단위, 예를 들어서 미세 구조 상수와 같은 순수한 숫자들은 gsl_const_num.h 에 정의되어 있습니다

상수들의 완전한 목록은 다음 소단원들에 간단하게 기술되어있습니다. 라이브러리에서 사용되는 상수 값들은 헤더 파일을 참고할 수 있습니다

기초 상수

GSL_CONST_MKSA_SPEED_OF_LIGHT

진공에서의 빛의 속도 \(c\)

GSL_CONST_MKSA_VACUUM_PERMEABILITY

진공 투자율 \(\mu_0\) 이 상수는 MKSA 계에서만 정의되었습니다

GSL_CONST_MKSA_VACUUM_PERMITTIVITY

진공 유전율 \(\epsilon_0\) 이 상수는 MKSA 계에서만 정의되었습니다

GSL_CONST_MKSA_PLANKS_CONSTANT_H

플랑크 상수 \(h\)

GSL_CONST_MKSA_PLANKS_CONSTANT_HBAR

플랑크 상수를 \(2 \pi\) 로 나눈 값 \(\hbar\)

GSL_CONST_NUM_AVOGADRO

아보가드로 수 \(N_\alpha\)

GSL_CONST_MKSA_FARADAY

\(1\) 패러데이(F)

GSL_CONST_MKSA_BOLTZMANN

볼츠만 상수 \(k\)

GSL_CONST_MKSA_MOLAR_GAS

표준 기체 상수 \(R_0\)

GSL_CONST_MKSA_STANDARD_GAS_VOLUME

표준 기체 부피 \(V_0\)

GSL_CONST_MKSA_STEFAN_BOLTZMANN_CONSTANT

슈테판 볼츠만 방사 상수 \(\sigma\)

GSL_CONST_MKSA_GAUSS

\(1\) 가우스(Gauss) 크기의 자기장 세기

천문학과 천체물리

GSL_CONST_MKSA_ASTRONOMICAL_UNIT

천문 단위 (지구-태양 사이의 거리), \(au\)

GSL_CONST_MKSA_GRAVITATIONAL_CONSTANT

중력 상수, \(G\)

GSL_CONST_MKSA_LIGHT_YEAR

\(1\) 광년 거리, \(ly\)

GSL_CONST_MKSA_PASRSEC

\(1\) 파섹 거리, \(pc\)

GSL_CONST_MKSA_GRAV_ACCEL

지구 표면에서의 표준 중력 가속도, \(g\)

GSL_CONST_MKSA_SOLAR_MASS

태양의 질량

입자, 핵물리

GSL_CONST_MKSA_ELECTRON_CHARGE

전자의 전하, \(e\)

GSL_CONST_MKSA_ELECTORN_VOLT

\(1\) 전자 볼트, \(eV\)

GSL_CONST_MKSA_UNIFIED_ATOMIC_MASS

원자 질량 단위, \(amu\)

GSL_CONST_MKSA_MASS_ELECTRON

전자의 질량, \(m_e\)

GSL_CONST_MKSA_MASS_MUON

뮤온의 질량, \(m_\mu\)

GSL_CONST_MKSA_MASS_PROTON

광자의 질량, \(m_p\)

GSL_CONST_MKSA_MASS_NEUTRON

중성자의 질량, \(m_n\)

GSL_CONST_NUM_FINE_STRUCTURE

미세 구조 상수, \(\alpha\)

GSL_CONST_MKSA_RYDBERG

에너지 단위 리드버그 수, \(R_y\) 리드버그 상수와 다음과 같은 관계를 가집니다. \(R_y =hcR_{\infty}\)

GSL_CONST_MKSA_BOHR_RADIUS

보어 반지름, \(a_0\)

GSL_CONST_MKSA_ANGSTOM

\(1\) 옴스트롱, \(\text{Å}\)

GSL_CONST_MKSA_BARN

\(1\) 바른, \(b\)

GSL_CONST_MKSA_BOHR_MAGNETON

보어 마그네톤, \(\mu_B\)

GSL_CONST_MKSA_NUCLEAR_MAGNERON

핵 마그네톤, \(\mu_N\)

GSL_CONST_MKSA__ELECTRON_MAGNETIC_MOMENT

전자의 자기 모멘트 절대 값, \(\mu_e\) 실제 물리적인 전자의 자기 모멘트는 음수 값을 가집니다

GSL_CONST_MKSA_PROTON_MAFNETIC_MOMENT

양성자의 자기 모멘트 값, \(\mu_p\)

GSL_CONST_MKSA_THOMSON_CROSS_SECTION

톰슨 단면적, \(\sigma_T\)

GSL_CONST_MKSA_DEBYE

전기 쌍극자 모멘트 단위; \(1\) 디바이, \(D\)

시간 측정

다음 상수들은 모두 초 단위 값을 가집니다.(*)

GSL_CONST_MKSA_MINUTE

\(1\) 분; 60초

GSL_CONST_MKSA_HOUR

\(1\) 시간; 360초

GSL_CONST_MKSA_DAY

\(1\) 일; 8,640초

GSL_CONST_MKSA_WEEK

\(1\) 주일; 60,480초

야드-파운드 단위

GSL_CONST_MKSA_INCH

\(1\) 인치 길이

GSL_CONST_MKSA_FOOT

\(1\) 피트 길이

GSL_CONST_MKSA_YARD

\(1\) 야드 길이

GSL_CONST_MKSA_MILE

\(1\) 마일 길이

GSL_CONST_MKSA_MIL

\(1\) 밀 길이 (인치의 1/10000 배)

속도, 해리 단위

GSL_CONST_MKSA_KILOMETERS_PER_HOUR

\(1\) 킬로미터

GSL_CONST_MKSA_MILES_PER_HOUR

시속 \(1\) 마일

GSL_CONST_MKSA_NAUTICAL_MILE

\(1\) 해리 길이

GSL_CONST_MKSA_FATHOM

\(1\) 패덤 길이

GSL_CONST_MKSA_KNOT

\(1\) 노트 속도

출력 단위

GSL_CONST_MKSA_POINT

\(1\) 출력 크기 (1/72 인치)

GSL_CONST_MKSA_TEXPOINT

\(1\) Tex 크기 (1/72.27 인치)

부피, 면적 그리고 길이

GSL_CONST_MKSA_MICRON

\(1\) 마이크론 길이

GSL_CONST_MKSA_HECTARE

\(1\) 헥타르 크기

GSL_CONST_MKSA_ACRE

\(1\) 에이커 크기

GSL_CONST_MKSA_LITER

\(1\) 리터 부피

GSL_CONST_MKSA_US_GALLON

\(1\) US 갤런 부피

GSL_CONST_MKSA_CANADIAN_GALLON

\(1\) Canada 갤런 부피

GSL_CONST_MKSA_UK_GALLON

\(1\) UK 갤런 부피

GSL_CONST_MKSA_QUART

\(1\) 쿼트 부피

GSL_CONST_MKSA_PINT

\(1\) 파인트 부피

질량과 무게

GSL_CONST_MKSA_POUND_MASS

\(1\) 파운드 질량

GSL_CONST_MKSA_OUNCE_MASS

\(1\) 온스 질량

GSL_CONST_MKSA_TON

\(1\) 톤 질량

GSL_CONST_MKSA_METRIC_TON

\(1\) (metric) 톤 질량

GSL_CONST_MKSA_UK_TON

\(1\) UK 톤 질량

GSL_CONST_MKSA_TROY_OUNCE

\(1\) 트로이 온스 질량

GSL_CONST_MKSA_CARAT

\(1\) 케럿 질량

GSL_CONST_MKSA_GRAM_FORCE

\(1\) 그램 무게

GSL_CONST_MKSA_POUND_FORCE

\(1\) 파운드 무게

GSL_CONST_MKSA_KILOPOUND_FORCE

\(1\) 킬로 파운드 무게

GSL_CONST_MKSA_POUNDAL

\(1\) 파운달 크기

열 에너지와 힘

GSL_CONST_MKSA_CALORIE

\(1\) 칼로리 에너지량

GSL_CONST_MKSA_BTU

\(1\) 영국 열 단위, \(btu\)

GSL_CONST_MKSA_THERM

\(1\)

GSL_CONST_MKSA_HORSEPOWER

\(1\) 마력

압력

GSL_CONST_MKSA_BAR

\(1\) 바 압력

GSL_CONST_MKSA_STD_ATOMSPHERE

\(1\) 표준 대기압

GSL_CONST_MKSA_TORR

\(1\) 토르

GSL_CONST_MKSA_METER_OF_MERCURT

\(1\) 미터 높이 수은의 압력

GSL_CONST_MKSA_INCH_OF_MERCURY

\(1\) 인치 높이 수은의 압력

GSL_CONST_MKSA_INCH_OF_WATER

\(1\) 인치 높이 물의 압력

GSL_CONST_MKSA__PSI

\(1\) 파운드의 제곱 인치당 압력.

밀도

GSL_CONST_MKSA_POISE

\(1\) 푸아스

GSL_CONST_MKSA_STOKES

\(1\) 스토크스

빛과 광량

GSL_CONST_MKSA_STILB

\(1\) 스틸브 휘도

GSL_CONST_MKSA_LUMEN

\(1\) 루멘

GSL_CONST_MKSA_LUX

\(1\) 럭스

GSL_CONST_MKSA_PHOT

\(1\) 포트

GSL_CONST_MKSA_FOOTCANDLE

\(1\) 푸트캔들

GSL_CONST_MKSA_LAMBERT

\(1\) 람베르트

GSL_CONST_MKSA_FOOTLAMBERT

\(1\) 푸트 람베르트

방사능

GSL_CONST_MKSA_CURIE

\(1\) 퀴리

GSL_CONST_MKSA_ROENTGEN

\(1\) 뢴트겐

GSL_CONST_MKSA_RAD

\(1\) 라디. (방사선 흡수선량; Radiation Absorbed Dose)

힘과 에너지

GSL_CONST_MKSA_NEWTON

\(1\) 뉴턴

GSL_CONST_MKSA_DYNE

\(1\) 다인

GSL_CONST_MKSA_JOULE

\(1\)

GSL_CONST_MKSA_ERG

\(1\) 에르그. (\(1\) erg = \(10^{-7}\) 줄)

접두사

GSL_CONST_NUM_YOTTA

\(10^{24}\)

GSL_CONST_NUM_ZETTA

\(10^{21}\)

GSL_CONST_NUM_EXA

\(10^{18}\)

GSL_CONST_NUM_PETA

\(10^{15}\)

GSL_CONST_NUM_TERA

\(10^{12}\)

GSL_CONST_NUM_GIGA

\(10^{9}\)

GSL_CONST_NUM_MEGA

\(10^{6}\)

GSL_CONST_NUM_KILO

\(10^{5}\)

GSL_CONST_NUM_MILLI

\(10^{-3}\)

GSL_CONST_NUM_MICRO

\(10^{-6}\)

GSL_CONST_NUM_NANO

\(10^{-9}\)

GSL_CONST_NUM_PICO

\(10^{-12}\)

GSL_CONST_NUM_FEMTO

\(10^{-15}\)

GSL_CONST_NUM_ATTO

\(10^{-18}\)

GSL_CONST_NUM_ZEPTO

\(10^{-21}\)

GSL_CONST_NUM_YOCTO

\(10^{-24}\)

예제

다음 예제는 계산에서 물리상수들을 사용하는 방법을 보여줍니다. 이 예제는, 지구에서 화성까지 빛이 이동하는 시간 범위를 구하는 방법을 보여줍니다.

이때, 행성이 태양으로 부터 떨어진 평균 거리를 천문 단위로 나타낸 데이터가 필요합니다. 궤도의 기울기와 타원 궤도의 편향은 무시됩니다. 화성의 평균 궤도 반지름은 천문 단위로 1.52입니다. 지구는 1입니다. 이 값들은 MKSA 단위 상수들과 함께 사용되어, 가장 짧은 이동 시간과 가장 긴 이동시간을 초단위로 계산할 수 있고, 화면에는 분으로 바뀌어 표시됩니다

#include <stdio.h>
#include <gsl/gsl_const_mksa.h>

int
main (void)
{
  double c  = GSL_CONST_MKSA_SPEED_OF_LIGHT;
  double au = GSL_CONST_MKSA_ASTRONOMICAL_UNIT;
  double minutes = GSL_CONST_MKSA_MINUTE;

  /* distance stored in meters */
  double r_earth = 1.00 * au;
  double r_mars  = 1.52 * au;

  double t_min, t_max;

  t_min = (r_mars - r_earth) / c;
  t_max = (r_mars + r_earth) / c;

  printf ("light travel time from Earth to Mars:\n");
  printf ("minimum = %.1f minutes\n", t_min / minutes);
  printf ("maximum = %.1f minutes\n", t_max / minutes);

  return 0;
}

다음은 프로그램의 실행 결과입니다

light travel time from Earth to Mars:
minimum = 4.3 minutes
maximum = 21.0 minutes