[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #60635] physical constants may need updating
From: |
Patrick Alken |
Subject: |
[bug #60635] physical constants may need updating |
Date: |
Tue, 18 May 2021 22:23:29 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0 |
URL:
<https://savannah.gnu.org/bugs/?60635>
Summary: physical constants may need updating
Project: GNU Scientific Library
Submitted by: psa
Submitted on: Wed 19 May 2021 02:23:28 AM UTC
Category: Accuracy problem
Severity: 3 - Normal
Operating System:
Status: None
Assigned to: None
Open/Closed: Open
Release:
Discussion Lock: Any
_______________________________________________________
Details:
from M. Galassi
I happened to come across a definition of the gravitational constant, which we
have as:
usr/include/gsl/gsl_const_cgs.h:#define GSL_CONST_CGS_GRAVITATIONAL_CONSTANT
(6.673e-8) /* cm^3 / g s^2 */
/usr/include/gsl/gsl_const_cgsm.h:#define
GSL_CONST_CGSM_GRAVITATIONAL_CONSTANT (6.673e-8) /* cm^3 / g s^2 */
/usr/include/gsl/gsl_const_mksa.h:#define
GSL_CONST_MKSA_GRAVITATIONAL_CONSTANT (6.673e-11) /* m^3 / kg s^2 */
/usr/include/gsl/gsl_const_mks.h:#define GSL_CONST_MKS_GRAVITATIONAL_CONSTANT
(6.673e-11) /* m^3 / kg s^2 */
and the one I saw was different: 6.67430 m^3/(kg*s^2).
Looking it up, it turns out that since 1998 (when our number was valid), the
measurement has been updated. You can see the history of updates at:
https://en.wikipedia.org/wiki/Gravitational_constant#Modern_value
and indeed the most recent is 6.67430.
We might want to do an audit to make sure that we follow the NIST or LBL or
another standards body on *all* the physical constants, since you want to
update them in lockstep to make sure that some identities still apply. Our
constants were introduced around 2000 and have not been touched since some
additions in 2006.
At the same time we might want to do a bit of soul searching on where our
cutoff is for accepting constants into GSL. I do some work with earth
parameters, and am shocked at the lack of a clear reference set of C header
files (from NASA or whoever) with earth constants.
gsl currently has fundamental constants (boltzmann, gravitational, bohr
radius, electron charge, ... But we also have some more solar-system bound
ones, like the astronomical unit, and we even reach pedestrian earth with
things like GSL_CONST_MKSA_GRAM_FORCE which relates to the acceleration of
gravity on the earth's surface. In fact we also have
GSL_CONST_MKSA_GRAV_ACCEL, which is 9.80665 m/s^2.
So I'd like to propose that we add a suite of earth radius values based on
concepts from:
https://en.wikipedia.org/wiki/Earth_radius#Global_average_radii
https://gis.stackexchange.com/questions/25494/how-accurate-is-approximating-the-earth-as-a-sphere
and fact sheets like:
https://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html (and the
references they give)
To start with the earth radius,
The International Union of Geodesy and Geophysics (IUGG) defines various types
of mean earth radius, and they tend to stem from the definition of earth
equatorial radius A and earth polar radius B. Setting R1 might be enough to
cover what most people need.
A patch for the gravity constant and addition of the earth stuff I mentioned
would be like below, and similar for mks, cgs, and cgsm.
At this point I'm just proposing it as food for thought - there is no urgency,
and it might be best to apply this patch when we have audited *all* the
physical constants we use, and possibly documented their provenance.
diff --git a/const/gsl_const_mksa.h b/const/gsl_const_mksa.h
index 5d91d1ca..4c82e272 100644
--- a/const/gsl_const_mksa.h
+++ b/const/gsl_const_mksa.h
@@ -22,12 +22,15 @@
#define __GSL_CONST_MKSA__
#define GSL_CONST_MKSA_SPEED_OF_LIGHT (2.99792458e8) /* m / s */
-#define GSL_CONST_MKSA_GRAVITATIONAL_CONSTANT (6.673e-11) /* m^3 / kg s^2 */
+#define GSL_CONST_MKSA_GRAVITATIONAL_CONSTANT (6.67430-11) /* m^3 / (kg s^2)
*/
#define GSL_CONST_MKSA_PLANCKS_CONSTANT_H (6.62606896e-34) /* kg m^2 / s */
#define GSL_CONST_MKSA_PLANCKS_CONSTANT_HBAR (1.05457162825e-34) /* kg m^2 /
s */
#define GSL_CONST_MKSA_ASTRONOMICAL_UNIT (1.49597870691e11) /* m */
#define GSL_CONST_MKSA_LIGHT_YEAR (9.46053620707e15) /* m */
#define GSL_CONST_MKSA_PARSEC (3.08567758135e16) /* m */
+#define GSL_CONST_MKSA_EARTH_EQUATORIAL_RADIUS_A (6378137.0) /* m */
+#define GSL_CONST_MKSA_EARTH_POLAR_RADIUS_B (6356752.3) /* m */
+#define GSL_CONST_MKSA_EARTH_MEAN_RADIUS_R1
((2*GSL_CONST_MKS_EARTH_EQUATORIAL_RADIUS_A +
GSL_CONST_MKS_EARTH_POLAR_RADIUS_B) / 3.0) /* m */
#define GSL_CONST_MKSA_GRAV_ACCEL (9.80665e0) /* m / s^2 */
#define GSL_CONST_MKSA_ELECTRON_VOLT (1.602176487e-19) /* kg m^2 / s^2 */
#define GSL_CONST_MKSA_MASS_ELECTRON (9.10938188e-31) /* kg */
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60635>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug #60635] physical constants may need updating,
Patrick Alken <=