bug-gsl
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]