[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: physical constants that might need updating
From: |
Patrick Alken |
Subject: |
Re: physical constants that might need updating |
Date: |
Tue, 18 May 2021 20:25:13 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
I logged this email into the bug tracker so it won't be lost. I agree it
would be best to stay current with the latest values of the constants. I
am concerned that such a change could potentially break existing
software which might depend on certain values.
Patrick
On 5/5/21 11:17 PM, Mark Galassi wrote:
> 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 */
>