help-gsl
[Top][All Lists]
Advanced

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




reply via email to

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