项目作者: JuliaPhysics

项目描述 :
Collection of fundamental physical constants with uncertainties. It supports arbitrary-precision constants
高级语言: Julia
项目地址: git://github.com/JuliaPhysics/PhysicalConstants.jl.git
创建时间: 2018-09-05T22:46:26Z
项目社区:https://github.com/JuliaPhysics/PhysicalConstants.jl

开源协议:Other

下载


PhysicalConstants.jl

Documentation Build Status Code Coverage
Build Status

Introduction

PhysicalConstants.jl provides common physical constants. They are defined as
instances of the new Constant type, which is subtype of AbstractQuantity
(from Unitful.jl package) and can
also be turned into Measurement objects (from
Measurements.jl package) at
request.

Constants are grouped into different submodules, so that the user can choose
different datasets as needed. Currently, 2014, 2018, and 2022 editions of
CODATA recommended values of the
fundamental physical constants are provided.

Installation

The latest version of PhysicalConstants.jl is available for Julia 1.0 and
later versions, and can be installed with Julia built-in package
manager
. After entering the
package manager mode by pressing ], run the command

  1. pkg> add PhysicalConstants

Usage

You can load the package as usual with using PhysicalConstants but this module
does not provide anything useful for the end-users. You most probably want to
directly load the submodule with the dataset you are interested in. For
example, for CODATA 2022 load PhysicalConstants.CODATA2022:

  1. julia> using PhysicalConstants.CODATA2022
  2. julia> SpeedOfLightInVacuum
  3. Speed of light in vacuum (c_0)
  4. Value = 2.99792458e8 m s^-1
  5. Standard uncertainty = (exact)
  6. Relative standard uncertainty = (exact)
  7. Reference = CODATA 2022
  8. julia> NewtonianConstantOfGravitation
  9. Newtonian constant of gravitation (G)
  10. Value = 6.6743e-11 m^3 kg^-1 s^-2
  11. Standard uncertainty = 1.5e-15 m^3 kg^-1 s^-2
  12. Relative standard uncertainty = 2.2e-5
  13. Reference = CODATA 2022

SpeedOfLightInVacuum and NewtonianConstantOfGravitation are two of the
PhysicalConstants defined in the PhysicalConstants.CODATA2022 module, the
full list of available constants is given below.

PhysicalConstants can be readily used in mathematical operations, using by
default their Float64 value:

  1. julia> import PhysicalConstants.CODATA2022: c_0, ε_0, μ_0
  2. julia> 2 * ε_0
  3. 1.77083756376e-11 F m^-1
  4. julia> ε_0 - 1 / _0 * c_0 ^ 2)
  5. 1.0567555442791707e-23 A^2 s^4 kg^-1 m^-3

If you want to use a different precision for the value of the constant, use the
function float(float_type, constant), for example:

  1. julia> float(Float32, ε_0)
  2. 8.854188f-12 F m^-1
  3. julia> float(BigFloat, ε_0)
  4. 8.854187818800000000000000000000000000000000000000000000000000000000000000000059e-12 F m^-1
  5. julia> big_0)
  6. 8.854187818800000000000000000000000000000000000000000000000000000000000000000059e-12 F m^-1
  7. julia> big_0) - inv(big_0) * big(c_0)^2)
  8. 1.056704162590924117341831987227432956066714823419574007586677144869010778731235e-23 A^2 s^4 kg^-1 m^-3

Note that big(constant) is an alias for float(BigFloat, constant).

If in addition to units you also want the standard uncertainty associated with
the constant, use measurement(x):

  1. julia> using Measurements
  2. julia> import PhysicalConstants.CODATA2022: h, ħ
  3. julia> measurement(ħ)
  4. 1.0545718176461565e-34 ± 0.0 J s
  5. julia> measurement(Float32, ħ)
  6. 1.0545718e-34 ± 0.0 J s
  7. julia> measurement(BigFloat, ħ)
  8. 1.054571817646156391262428003302280744722826330020413122421923470598435912734741e-34 ± 0.0 J s
  9. julia> measurement(BigFloat, ħ) / (measurement(BigFloat, h) / (2 * big(pi)))
  10. 1.0 ± 0.0

For more information read the
documentation,
which includes the full list of constants defined by the package.

License

The PhysicalConstants.jl package is licensed under the MIT “Expat” License.
The original author is Mosè Giordano.