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: Liam Healy
Subject: Re: physical constants that might need updating
Date: Thu, 6 May 2021 11:35:54 -0400

I think that those that need precision values in a specific area will have
their own data sources and libraries and will not rely on GSL; in the case
of the earth's gravity, this would an EGM (
https://en.wikipedia.org/wiki/Earth_Gravitational_Model). It is useful to
retain the constants that are in GSL (though I agree, there should be some
attribution in the documentation) for casual users who don't need precision
values. Trying to keep these up to date is a significant undertaking and
likely to be of little importance to users, and worse, potentially can
change applications that use the values in GSL in ways that are meaningless
to the end product but adversely affect regression testing. I don't think
there is one standards source, they tend to vary by application area; for
earth properties for example, the gravitation comes under EGM and geodetics
(e.g., earth radius) are under world geodetic systems (WGS,
https://en.wikipedia.org/wiki/World_Geodetic_System).

On Thu, May 6, 2021 at 1:17 AM Mark Galassi <mark@galassi.org> 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]