1 /* Physical constants for ezunits
2 * CODATA 2006 values. See: http://physics.nist.gov/constants
3 * This program copyright 2008 by Robert Dodier.
4 * I release this program under the terms of
5 * the GNU General Public License.
8 /* After loading this program, the following prints a LaTeX document
9 * in which all the physical constants appear.
13 print ("\\documentclass{article}"),
14 print ("\\begin{document}"),
15 for x in propvars (physical_constant)
16 do printf (true, "~a~%~a~%~%", get (x, description), tex (x = constvalue (x), false)),
17 print ("\\end{document}"));
20 qput (physical_constants, "experimental, usable", version);
22 if get ('ezunits, 'version) = false then load (ezunits) else 'already_loaded;
24 declare (physical_constant, feature);
28 declare (%c, physical_constant);
29 declare (%c, dimensional);
30 declare (%c, constant);
31 qput (%c, "speed of light in vacuum", description);
32 declare_constvalue (%c, 299792458 ` m/s);
36 declare (%mu_0, physical_constant);
37 declare (%mu_0, dimensional);
38 declare (%mu_0, constant);
39 qput (%mu_0, "magnetic constant", description);
40 declare_constvalue (%mu_0, 4*314159265358979323/10^17*10^-7 ` N/A^2);
42 texput (%mu_0, "\\mu_0");
44 declare (%e_0, physical_constant);
45 declare (%e_0, dimensional);
46 declare (%e_0, constant);
47 qput (%e_0, "electric constant $1/(\\mu_0 c^2)$", description);
48 declare_constvalue (%e_0, constvalue (1/(%mu_0*%c^2)));
50 texput (%e_0, "\\epsilon_0");
52 declare (%Z_0, physical_constant);
53 declare (%Z_0, dimensional);
54 declare (%Z_0, constant);
55 qput (%Z_0, "characteristic impedance of vacuum $\\sqrt{\\mu_0/\\epsilon_0} = \\mu_0 c$", description);
56 declare_constvalue (%Z_0, constvalue (%mu_0*%c));
60 declare (%G, physical_constant);
61 declare (%G, dimensional);
62 declare (%G, constant);
63 qput (%G, "Newtonian constant of gravitation", description);
64 declare_constvalue (%G, 667428/100000*10^(-11) ` m^3/kg/s^2);
65 qput (%G, 10^-4, RSU);
68 declare (%h, physical_constant);
69 declare (%h, dimensional);
70 declare (%h, constant);
71 qput (%h, "Planck constant", description);
72 declare_constvalue (%h, 662606896*10^-8*10^-34 ` J*s);
73 qput (%h, 5*10^-8, RSU);
76 declare (%h_bar, physical_constant);
77 declare (%h_bar, dimensional);
78 declare (%h_bar, constant);
79 qput (%h_bar, "Planck constant $h/2\\pi$", description);
80 declare_constvalue (%h_bar, constvalue (%h/(2*%pi)));
81 qput (%h_bar, 5*10^-8, RSU);
82 texput (%h_bar, "\\hbar");
84 declare (%m_P, physical_constant);
85 declare (%m_P, dimensional);
86 declare (%m_P, constant);
87 qput (%m_P, "Planck mass $\\sqrt{\\hbar c/G}$", description);
88 declare_constvalue (%m_P, constvalue (sqrt(%h_bar * %c / %G)));
89 qput (%m_P, 5*10^-5, RSU);
92 /* Boltzmann constant out of order; need it for Planck temperature */
94 declare (%%k, physical_constant);
95 declare (%%k, dimensional);
96 declare (%%k, constant);
97 qput (%%k, "Boltzmann constant $R/N_A$", description);
98 declare_constvalue (%%k, 1.3806504e-23 ` J/K);
99 qput (%%k, 1.7e-6, RSU);
102 declare (%T_P, physical_constant);
103 declare (%T_P, dimensional);
104 declare (%T_P, constant);
105 qput (%T_P, "Planck temperature $\\sqrt{\\hbar c^5/G}/k$", description);
106 declare_constvalue (%T_P, constvalue (sqrt (%h_bar * %c^5 / %G) / %%k));
107 qput (%T_P, 5*10^-5, RSU);
108 texput (%T_P, "T_P");
110 declare (%l_P, physical_constant);
111 declare (%l_P, dimensional);
112 declare (%l_P, constant);
113 qput (%l_P, "Planck length $\\hbar/(m_P c) = \\sqrt{\\hbar G/c^3}$", description);
114 declare_constvalue (%l_P, constvalue (%h_bar / (%m_P * %c)));
115 qput (%l_P, 5*10^-5, RSU);
116 texput (%l_P, "l_P");
118 declare (%t_P, physical_constant);
119 declare (%t_P, dimensional);
120 declare (%t_P, constant);
121 qput (%t_P, "Planck time $l_P/c = \\sqrt{\\hbar G/c^5}$", description);
122 declare_constvalue (%t_P, constvalue (%l_P / %c));
123 qput (%t_P, 5*10^-5, RSU);
124 texput (%t_P, "t_P");
126 /* ELECTROMAGNETIC */
128 declare (%%e, physical_constant);
129 declare (%%e, dimensional);
130 declare (%%e, constant);
131 qput (%%e, "elementary charge", description);
132 declare_constvalue (%%e, 1602176487*10^-9*10^-19 ` C);
133 qput (%%e, 25*10^-1*10^-8, RSU);
136 declare (%Phi_0, physical_constant);
137 declare (%Phi_0, dimensional);
138 declare (%Phi_0, constant);
139 qput (%Phi_0, "magnetic flux quantum $h/(2 e)$", description);
140 declare_constvalue (%Phi_0, 2.067833667e-15 ` Wb);
141 qput (%Phi_0, 2.5e-8, RSU);
142 texput (%Phi_0, "\\Phi_0");
144 declare (%G_0, physical_constant);
145 declare (%G_0, dimensional);
146 declare (%G_0, constant);
147 qput (%G_0, "conductance quantum $2 e^2 / h$", description);
148 declare_constvalue (%G_0, 7.7480917004e-5 ` S);
149 qput (%G_0, 6.8e-10, RSU);
150 texput (%G_0, "G_0");
152 declare (%K_J, physical_constant);
153 declare (%K_J, dimensional);
154 declare (%K_J, constant);
155 qput (%K_J, "Josephson constant $2 e/h$", description);
156 declare_constvalue (%K_J, 483597.891e9 ` Hz/V);
157 qput (%K_J, 2.5e-8, RSU);
158 texput (%K_J, "K_J");
160 declare (%R_K, physical_constant);
161 declare (%R_K, dimensional);
162 declare (%R_K, constant);
163 qput (%R_K, "von Klitzing constant $h/e^2 = \\mu_0 c/(2 \\alpha)$", description);
164 declare_constvalue (%R_K, 25812.807557 ` ohm);
165 qput (%R_K, 6.8-10, RSU);
166 texput (%R_K, "R_K");
168 declare (%mu_B, physical_constant);
169 declare (%mu_B, dimensional);
170 declare (%mu_B, constant);
171 qput (%mu_B, "Bohr magneton $e \\hbar/(2 m_{\\mathrm{e}})$", description);
172 declare_constvalue (%mu_B, 927.400915e-26 ` J/T);
173 qput (%mu_B, 2.5e-8, RSU);
174 texput (%mu_B, "\\mu_B");
176 declare (%mu_N, physical_constant);
177 declare (%mu_N, dimensional);
178 declare (%mu_N, constant);
179 qput (%mu_N, "nuclear magneton $e \\hbar/(2 m_P)$", description);
180 declare_constvalue (%mu_N, 5.05078324e-27 ` J/T);
181 qput (%mu_N, 2.5e-8, RSU);
182 texput (%mu_N, "\\mu_N");
184 /* ATOMIC AND NUCLEAR */
187 declare (%alpha, physical_constant);
188 declare (%alpha, dimensional);
189 declare (%alpha, constant);
190 qput (%alpha, "fine-structure constant $e^2/(4\\pi \\epsilon_0 \\hbar c)$", description);
191 declare_constvalue (%alpha, 7.2973525376e-3);
192 qput (%alpha, 6.8e-10, RSU);
193 texput (%alpha, "\\alpha");
195 declare (%R_inf, physical_constant);
196 declare (%R_inf, dimensional);
197 declare (%R_inf, constant);
198 qput (%R_inf, "Rydberg constant $\\alpha^2 m_{\\mathrm{e}} c /(2 h)$", description);
199 declare_constvalue (%R_inf, 10973731.568527 ` 1/m);
200 qput (%R_inf, 6.6e-12, RSU);
201 texput (%R_inf, "R_{\\infty}");
203 declare (%a_0, physical_constant);
204 declare (%a_0, dimensional);
205 declare (%a_0, constant);
206 qput (%a_0, "Bohr radius $\\alpha/(4\\pi R_{\\infty}) = 4\\pi \\epsilon_0 \\hbar^2 / (m_{\\mathrm{e}} e^2)$", description);
207 declare_constvalue (%a_0, 0.52917720859e-10 ` m);
208 qput (%a_0, 6.8e-10, RSU);
209 texput (%a_0, "a_0");
211 declare (%E_h, physical_constant);
212 declare (%E_h, dimensional);
213 declare (%E_h, constant);
214 qput (%E_h, "Hartree energy $e^2/(4\\pi \\epsilon_0 \\alpha_0) = 2 R_{\\infty} hc = \\alpha^2 m_{\\mathrm{e}} c^2$", description);
215 declare_constvalue (%E_h, 4.35974394e-18 ` J);
216 qput (%E_h, 5e-8, RSU);
217 texput (%E_h, "E_{\\mathrm{h}}");
219 declare (%ratio_h_me, physical_constant);
220 declare (%ratio_h_me, dimensional);
221 declare (%ratio_h_me, constant);
222 qput (%ratio_h_me, "quantum of circulation $h/m_{\\mathrm{e}}$", description);
223 declare_constvalue (%ratio_h_me, 3.6369475199e-4 ` m^2/s);
224 qput (%ratio_h_me, 1.4e-9, RSU);
225 texput (%ratio_h_me, "(h/m_{\\mathrm{e}})");
227 /* OMITTED: Electro-weak */
231 declare (%m_e, physical_constant);
232 declare (%m_e, dimensional);
233 declare (%m_e, constant);
234 qput (%m_e, "electron mass", description);
235 declare_constvalue (%m_e, 9.10938215e-31 ` kg);
236 qput (%m_e, 5e-8, RSU);
237 texput (%m_e, "m_{\\mathrm{e}}");
239 /* REMAINDER OF SECTION OMITTED */
243 /* OMITTED: Proton */
244 /* OMITTED: Neutron */
245 /* OMITTED: Deuteron */
246 /* OMITTED: Triton */
247 /* OMITTED: Helion */
248 /* OMITTED: Alpha particle */
250 /* PHYSICOCHEMICAL */
252 declare (%N_A, physical_constant);
253 declare (%N_A, dimensional);
254 declare (%N_A, constant);
255 qput (%N_A, "Avogadro constant", description);
256 declare_constvalue (%N_A, 602214179*10^-8*10^23 ` 1/mol);
257 qput (%N_A, 5*10^-8, RSU);
258 texput (%N_A, "N_A");
260 declare (%m_u, physical_constant);
261 declare (%m_u, dimensional);
262 declare (%m_u, constant);
263 qput (%m_u, "atomic mass constant", description);
264 declare_constvalue (%m_u, 1.660538782e-27 ` kg);
265 qput (%m_u, 5e-8, RSU);
266 texput (%m_u, "\\mu_{\\mathrm{u}}");
268 declare (%F, physical_constant);
269 declare (%F, dimensional);
270 declare (%F, constant);
271 qput (%F, "Faraday constant $N_A e$", description);
272 declare_constvalue (%F, 96485.3399 ` C/mol);
273 qput (%F, 2.5e-8, RSU);
276 declare (%R, physical_constant);
277 declare (%R, dimensional);
278 declare (%R, constant);
279 qput (%R, "molar gas constant", description);
280 declare_constvalue (%R, 8314472*10^-6 ` J/mol/K);
281 qput (%R, 1.7e-6, RSU);
284 /* Boltzmann constant moved -- put it before Planck temperature */
286 declare (%V_m, physical_constant);
287 declare (%V_m, dimensional);
288 declare (%V_m, constant);
289 qput (%V_m, "molar volume of ideal gas $R T/p$, $T = 273.15 \\; \\mathrm{K}, p = 101.325 \\; \\mathrm{kPa}$", description);
290 declare_constvalue (%V_m, 22.413996e-3 ` m^3/mol);
291 qput (%V_m, 1.7e-6, RSU);
292 texput (%V_m, "V_m");
294 declare (%n_0, physical_constant);
295 declare (%n_0, dimensional);
296 declare (%n_0, constant);
297 qput (%n_0, "Loschmidt constant $N_A/V_m$", description);
298 declare_constvalue (%n_0, 2.6867774e25 ` 1/m^3);
299 qput (%n_0, 1.7e-6, RSU);
300 texput (%n_0, "n_0");
302 declare (%ratio_S0_R, physical_constant);
303 declare (%ratio_S0_R, dimensional);
304 declare (%ratio_S0_R, constant);
305 qput (%ratio_S0_R, "Sackur-Tetrode constant (absolute entropy constant) $5/2 + \\log\\left((2\\pi m_{\\mathrm{u}} k T_1/h^2)^{3/2} k T_1/p_0\\right)$, $T_1 = 1 \\; \\mathrm{K}, p_0 = 101.325 \\; \\mathrm{kPa}$", description);
306 declare_constvalue (%ratio_S0_R, -1.1648677);
307 qput (%ratio_S0_R, 3.8e-6, RSU);
308 texput (%ratio_S0_R, "(S_0/R)");
310 declare (%sigma, physical_constant);
311 declare (%sigma, dimensional);
312 declare (%sigma, constant);
313 qput (%sigma, "Stefan-Boltzmann constant $(\\pi^2/60) k^4/(\\hbar^3 c^2)$", description);
314 declare_constvalue (%sigma, 5.670400e-8 ` W/m^2/K^4);
315 qput (%sigma, 7e-6, RSU);
316 texput (%sigma, "\\sigma");
318 declare (%c_1, physical_constant);
319 declare (%c_1, dimensional);
320 declare (%c_1, constant);
321 qput (%c_1, "first radiation constant $2\\pi h c^2$", description);
322 declare_constvalue (%c_1, 3.74177118e-16 ` W*m^2);
323 qput (%c_1, 5e-8, RSU);
324 texput (%c_1, "c_1");
326 declare (%c_1L, physical_constant);
327 declare (%c_1L, dimensional);
328 declare (%c_1L, constant);
329 qput (%c_1L, "first radiation constant for spectral radiance $2 h c^2$", description);
330 declare_constvalue (%c_1L, 1.191042759e-16 ` W*m^2/sr);
331 qput (%c_1L, 5e-8, RSU);
332 texput (%c_1L, "c_{\\mathrm{1L}}");
334 declare (%c_2, physical_constant);
335 declare (%c_2, dimensional);
336 declare (%c_2, constant);
337 qput (%c_2, "second radiation constant $h c/k$", description);
338 declare_constvalue (%c_2, 1.4387752e-2 ` m*K);
339 qput (%c_2, 1.7e-6, RSU);
340 texput (%c_2, "c_2");
342 declare (%b, physical_constant);
343 declare (%b, dimensional);
344 declare (%b, constant);
345 qput (%b, "Wien displacement law constant $b = \\lambda_{\\mathrm{max}} T = c_2/4.965 114 231\\ldots$", description);
346 declare_constvalue (%b, 2.8977685e-3 ` m*K);
347 qput (%b, 1.7e-6, RSU);
350 declare (%b_prime, physical_constant);
351 declare (%b_prime, dimensional);
352 declare (%b_prime, constant);
353 qput (%b_prime, "Wien displacement law constant $b' = \\nu_{\\mathrm{max}}/T = 2.821 439 372\\ldots c/c_2$", description);
354 declare_constvalue (%b_prime, 5.878933e10 ` Hz/K);
355 qput (%b_prime, 1.7e-6, RSU);
356 texput (%b_prime, "b'");