Similitude
Physical unit system constants (Metric, English, Natural, etc...)
In aggregate, the UnitSystem
data generated
here constitutes a new universal standardization for
dimensional analysis, which generalizes upon previous
historical systems up to the 2019 redefinition and
Unified
in a common Universe
.
This enables a more precise and generalized standardization
than the 2019 redefinition, which was comparatively limited
in scope. Specified default UnitSystem
values
are to be taken as a newly defined mutually-compatible
recommended standard, verified to be consistent and
coherent. A UnitSystem
can only be useful as a
measuring standard if it can be scientifically reproduced,
so the data here has been implemented in several important
scientific programming languages (initially in the Julia
language but also Wolfram language and Rust language) as
well as presented abstractly in terms of dimensional
formulas.
In fact there is nothing transcendental about dimensions; the ultimate principle is precisely expressible (in Newton's terminology) as one of similitude, exact or approximate, to be tested by the rule that mere change in the magnitudes of the ordered scheme of units of measurement that is employed must not affect sensibly the forms of the equations that are the adequate expression of the underlying relations of the problem. (J.L., 1914)
Specifications for dimensional units are in the UnitSystems.jl
and Similitude.jl
and MeasureSystems.jl
repositories. The three packages are designed so that they
can be interchanged with compatibility. On its own
UnitSystems
is the fastest package, while
Similitude
(provides Quantity
type) and MeasureSystems
(introduces Measurements.jl
uncertainty) build additional features on top of
UnitSystems
base defintions. Additionally, in
the UnitSystems
repository there is an
equivalent Wolfram language paclet Kernel
and
also an unmaintained Rust src
implementation.
Defaults are shared: Metric
,
SI2019
, CODATA
,
Conventional
, International
,
InternationalMean
, MetricTurn
,
MetricGradian
, MetricDegree
,
MetricArcminute
, MetricArcsecond
,
Engineering
, Gravitational
,
FPS
, IPS
, British
,
English
, Survey
,
Gauss
, LorentzHeaviside
,
EMU
, ESU
, IAU
,
IAUE
, IAUJ
, Hubble
,
Cosmological
,
CosmologicalQuantum
, Meridian
,
Nautical
, MPH
, KKH
,
MTS
, FFF
, Planck
,
PlanckGauss
, Stoney
,
Hartree
, Rydberg
,
Schrodinger
, Electronic
,
Natural
, NaturalGauss
,
QCD
, QCDGauss
,
QCDoriginal
.
UnitSystems.similitude
— Function
UnitSystems.similitude() = haskey(ENV,"SIMILITUDE")
An optional environment variable
ENV["SIMILITUDE"]
induces
UnitSystems.similitude()
to return
true
, giving flexibility for building
dependencies whenever it is desirable to toggle usage
between UnitSystems
(default) and
Similitude
(requires environment
variable specification). For example, in
MeasureSystems
and
Geophysics
this option is used to
increase flexibility with variety in local
compilation workflow.
A UnitSystem
is a consistent set of
dimensional values selected to accomodate a particular use
case standardization. It is possible to convert derived
physical quantities from any UnitSystem
specification into any other using accurate values. Eleven
fundamental constants kB
, ħ
,
𝘤
, μ₀
, mₑ
,
Mᵤ
, Kcd
, ϕ
,
λ
, αL
, g₀
are used
to govern a specific unit system consistent scaling. These
are the constants boltzmann
,
planckreduced
, lightspeed
,
vacuumpermeability
, electronmass
,
molarmass
, luminousefficacy
,
angle
, rationalization
,
lorentz
, and gravity
. Different
choices of natural units or physical measurements result in
a variety of unit systems for many purposes.
\[k_B, \quad \hbar, \quad c, \quad \mu_0, \quad m_e, \quad M_u, \quad K_{cd}, \quad \phi, \quad \lambda, \quad \alpha_L, \quad g_0\]
Historically, older electromagnetic unit systems also
relied on a rationalization
constant
λ
and a lorentz
force
proportionality constant αL
. In most unit
systems these extra constants have a value of 1 unless
specified.
UnitSystems.UnitSystem
— Type
UnitSystem(kB, ħ, 𝘤, μ₀, mₑ, Mᵤ, Kcd, ϕ, λ, αL, g₀, Universe)
A UnitSystem
is a consistent set of
dimensional values selected to accomodate a
particular use case or standardization. It is
possible to convert derived physical quantities from
any UnitSystem
specification into any
other using accurate values. Eleven fundamental
constants kB
, ħ
,
𝘤
, μ₀
, mₑ
,
Mᵤ
, Kcd
, ϕ
,
λ
, αL
, g₀
are
used to govern a specific unit system consistent
scaling. Different choices of natural units or
physical measurements result in a variety of unit
systems for many purposes.
Fundamental constants of physics are:
kB
Boltzmann's constant, ħ
reduced Planck's constant, 𝘤
speed of
light, μ₀
vacuum permeability,
mₑ
electron rest mass, Mᵤ
molar mass, Kcd
luminous efficacy,
ϕ
radian angle, λ
Gauss
rationalization, αL
Lorentz's constant,
and g₀
gravitational force reference.
Primarily the Metric
SI unit system is
used in addition to the historic English
engineering unit system. These constants induce
derived values for avogadro
,
boltzmann
, molargas
,
planck
, planckreduced
,
lightspeed
, planckmass
,
dalton
, protonmass
,
electronmass
, newton
,
einstein
,
vacuumpermeability
,
vacuumpermittivity
,
electrostatic
, and additional constants
molarmass
,
luminousefficacy
, gravity
,
radian
, turn
,
spat
, stefan
,
radiationdensity
,
magnetostatic
, lorentz
,
biotsavart
,
rationalization
,
vacuumimpedance
,
elementarycharge
, magneton
,
conductancequantum
,
faraday
,
magneticfluxquantum
,
josephson
, klitzing
,
hartree
, rydberg
,
bohr
.
Standardized unit/derived quantities are
hyperfine
, loschmidt
,
wienwavelength
,
wienfrequency
,
mechanicalheat
, eddington
,
solarmass
, jupitermass
,
earthmass
, lunarmass
,
earthradius
, greatcircle
,
radarmile
, hubble
,
cosmological
, steradian
,
spatian
, degree
,
squaredegree
, gradian
,
bradian
, arcminute
,
arcsecond
, second
,
minute
, hour
,
day
, gaussianmonth
,
siderealmonth
,
synodicmonth
, year
,
gaussianyear
, siderealyear
,
jovianyear
, angstrom
,
inch
, foot
,
surveyfoot
, yard
,
meter
, earthmeter
,
mile
, statutemile
,
meridianmile
,
admiraltymile
,
nauticalmile
,
lunardistance
,
astronomicalunit
,
jupiterdistance
, lightyear
,
parsec
, barn
,
hectare
, acre
,
surveyacre
, liter
,
gallon
, quart
,
pint
, cup
,
fluidounce
, teaspoon
,
tablespoon
, bubnoff
,
ips
, fps
, fpm
,
ms
, kmh
, mph
,
knot
, mps
,
grain
, gram
,
earthgram
, kilogram
,
tonne
, ton
,
pound
, ounce
,
slug
, slinch
,
hyl
, dyne
,
newton
, poundal
,
poundforce
, kilopond
,
psi
, pascal
,
bar
, barye
,
technicalatmosphere
,
atmosphere
, inchmercury
,
torr
, electronvolt
,
erg
, joule
,
footpound
, calorie
,
kilocalorie
, meancalorie
,
earthcalorie
, thermalunit
,
gasgallon
, tontnt
,
watt
, horsepower
,
horsepowerwatt
,
horsepowermetric
,
electricalhorsepower
,
tonsrefrigeration
,
boilerhorsepower
, coulomb
,
earthcoulomb
, ampere
,
volt
, henry
,
ohm
, siemens
,
farad
, weber
,
tesla
, abcoulomb
,
abampere
, abvolt
,
abhenry
, abohm
,
abmho
, abfarad
,
maxwell
, gauss
,
oersted
, gilbert
,
statcoulomb
, statampere
,
statvolt
, stathenry
,
statohm
, statmho
,
statfarad
, statweber
,
stattesla
, kelvin
,
rankine
, celsius
,
fahrenheit
, sealevel
,
boiling
, mole
,
earthmole
, poundmole
,
slugmole
, slinchmole
,
katal
, amagat
,
lumen
, candela
,
lux
, phot
,
footcandle
, nit
,
apostilb
, stilb
,
lambert
, footlambert
,
bril
, talbot
,
lumerg
, neper
,
bel
, decibel
,
hertz
, apm
,
rpm
, kayser
,
diopter
, rayleigh
,
flick
, gforce
,
galileo
, eotvos
,
darcy
, poise
,
reyn
, stokes
,
rayl
, mpge
,
langley
, jansky
,
solarflux
, curie
,
gray
, roentgen
,
rem
.
Additional reference UnitSystem
variants: EMU
, ESU
,
Gauss
, LorentzHeaviside
,
SI2019
, SI1976
,
CODATA
, Conventional
,
International
,
InternationalMean
,
Engineering
, Gravitational
,
IAU
, IAUE
,
IAUJ
, FPS
,
IPS
, British
,
Survey
, Hubble
,
Cosmological
,
CosmologicalQuantum
,
Meridian
, Nautical
,
MPH
, KKH
, MTS
,
FFF
; and natural atomic units based on
gravitational coupling
and
finestructure
constant
(Planck
, PlanckGauss
,
Stoney
, Hartree
,
Rydberg
, Schrodinger
,
Electronic
, Natural
,
NaturalGauss
, QCD
,
QCDGauss
, and
QCDoriginal
).
Derived dimensions can be obtained from
multiplicative base of 11 fundamental dimension
symbols F
, M
,
L
, T
, Q
,
Θ
, N
, J
,
A
, R
, C
corresponding to force
,
mass
, length
,
time
, charge
,
temperature
, molaramount
,
luminousflux
, angle
,
demagnetizingfactor
, and a
nonstandard
dimension. Specification of
a UnitSystem
is in dimensions of
entropy
, angularmomentum
,
speed
, permeability
,
mass
, molarmass
,
luminousefficacy
, angle
,
rationalization
, lorentz
,
gravityforce
; whose
Constant
values are interpreted by
units.
Mechanics: angle
, angle
,
solidangle
, time
,
angulartime
, length
,
angularlength
, area
,
angulararea
, volume
,
wavenumber
,
angularwavenumber
,
fuelefficiency
,
numberdensity
, frequency
,
angularfrequency
,
frequencydrift
, stagnance
,
speed
, acceleration
,
jerk
, snap
,
crackle
, pop
,
volumeflow
, etendue
,
photonintensity
,
photonirradiance
,
photonradiance
, inertia
,
mass
, massflow
,
lineardensity
, areadensity
,
density
, specificweight
,
specificvolume
, force
,
specificforce
,
gravityforce
, pressure
,
compressibility
, viscosity
,
diffusivity
,
rotationalinertia
, impulse
,
momentum
, angularmomentum
,
yank
, energy
,
specificenergy
, action
,
fluence
, power
,
powerdensity
, irradiance
,
radiance
, radiantintensity
,
spectralflux
,
spectralexposure
,
soundexposure
, impedance
,
specificimpedance
,
admittance
, compliance
,
inertance
; Electromagnetics:
charge
, chargedensity
,
linearchargedensity
,
exposure
, mobility
,
current
, currentdensity
,
resistance
, conductance
,
resistivity
, conductivity
,
capacitance
, inductance
,
reluctance
, permeance
,
permittivity
, permeability
,
susceptibility
,
specificsusceptibility
,
demagnetizingfactor
,
vectorpotential
,
electricpotential
,
magneticpotential
,
electricfield
,
magneticfield
,
electricflux
, magneticflux
,
electricdisplacement
,
magneticfluxdensity
,
electricdipolemoment
,
magneticdipolemoment
,
electricpolarizability
,
magneticpolarizability
,
magneticmoment
,
specificmagnetization
,
polestrength
; Thermodynamics:
temperature
, entropy
,
specificentropy
,
volumeheatcapacity
,
thermalconductivity
,
thermalconductance
,
thermalresistivity
,
thermalresistance
,
thermalexpansion
,
lapserate
, molarmass
,
molality
, molaramount
,
molarity
, molarvolume
,
molarentropy
, molarenergy
,
molarconductivity
,
molarsusceptibility
,
catalysis
, specificity
,
diffusionflux
,
luminousflux
,
luminousintensity
,
luminance
, illuminance
,
luminousenergy
,
luminousexposure
,
luminousefficacy
.
Specification of Universe
with the
dimensionless Coupling
constants
coupling
, finestructure
,
electronunit
, protonunit
,
protonelectron
, and
darkenergydensity
. Alterations to these values
can be facilitated and quantified using parametric
polymorphism. Due to the Coupling
interoperability, the MeasureSystems
package
is made possible to support calculations with
Measurements
having error standard
deviations.
Similar packages UnitSystems.jl, Similitude.jl, MeasureSystems.jl, PhysicalConstants.jl, MathPhysicalConstants.jl, Unitful.jl, UnitfulUS.jl, UnitfulAstro.jl, UnitfulAtomic.jl, NaturallyUnitful.jl, and UnitfulMoles.jl.
Multiplicative Group
In the base UnitSystems
package, simply
Float64
numbers are used to generate the group
of UnitSystem
constants. However, in the
Similitude
package, instead
Constant
numbers are used to generate an
abstract multiplicative Group
, which is only
converted to a Float64
value at compile time
where appropriate.
FieldConstants.Constant
— Type
In UnitSystems
and
Similitude
, the spectrum of
Constant
values is generated by a group
of 11 mathematical constants (7 Integer
primes and 4 Irrational
numbers) with 33
physical measurement definitions. These are
𝟐
, 𝟑
, 𝟓
,
𝟕
, 𝟏𝟏
, 𝟏𝟗
,
𝟒𝟑
, φ
, γ
,
ℯ
, τ
, kB
,
NA
, 𝘩
, 𝘤
,
𝘦
, Kcd
, ΔνCs
,
R∞
, α
, μₑᵤ
,
μₚᵤ
, ΩΛ
, H0
,
g₀
, aⱼ
, au
,
ft
, ftUS
, lb
,
T₀
, atm
, inHg
,
RK90
, KJ90
,
RK
, KJ
,
Rᵤ2014
, Ωᵢₜ
,
Vᵢₜ
, kG
, mP
,
GME
, GMJ
.
MeasureSystems.two
— Constant
julia> one # 𝟏
𝟏 = 1.0
julia> two # 𝟐
2 = 2.0
julia> three # 𝟑
3 = 3.0
julia> five # 𝟓
5 = 5.0
julia> seven # 𝟕
7 = 7.0
julia> eleven # 𝟏𝟏
11 = 11.0
julia> nineteen # 𝟏𝟗
19 = 19.0
julia> fourtythree # 𝟒𝟑
43 = 43.0
julia> sixty # 𝟔𝟎
2²3⋅5 = 60.0
MeasureSystems.tau
— Constant
Constant{N} where N
Truncated Irrational
constant
N
with known value at compile time.
julia> golden # φ
φ = 1.618033988749895
julia> eulergamma # γ
γ = 0.5772156649015329
julia> exp # ℯ
ℯ = 2.718281828459045
julia> pi # π
3.141592653589793
julia> tau # τ
τ = 6.283185307179586
Furthermore, in Similitude
there is a
dimension type which encodes the dimensional
Group{:USQ}
for the Quantity
type. This enables the Unified
usage of
Group
homomorphisms to transform
Quantity
algebra elements with varying numbers
of dimensionless constants.
Originally, the Newtonian group used for
UnitSystems
would be made up of
force
, mass
, length
,
time
(or F
, M
,
L
, T
). Although
force
is typically thought of as a derived
dimension when the reference gravity
is taken
to be dimensionless, force
is actually
considered a base dimension in general engineering
UnitSystem
foundations. With the development
of electricity and magnetism came an interest for an
additional dimension called charge
or
Q
. When the thermodynamics of
entropy
became further developed, the
temperature
or Θ
was introduced
as another dimension. In the field of chemistry, it became
desirable to introduce another dimension of
molaramount
or N
as fundamental.
To complete the existing International System of Quantities
(ISQ) it is also necessary to consider
luminousflux
or J
as a visual
perception related dimension. In order to resolve ambiguity
with solidangle
unit conversion,
angle
or A
is explicitly tracked
in the underlying dimension and Group
.
However, this is yet insufficient to fully specify all the
historical variations of UnitSystem
, including
the EMU
, ESU
, Gauss
and LorentzHeavise
specifications. Therefore,
there is also a dimension basis for
rationalization
(denoted R
) and
lorentz
(denoted by C⁻¹
).
In combination, all these required base dimension
definitions are necessary in order to coherently implement
unit conversion for Quantity
elements. Since
the existing International System of Quantities (ISQ) is an
insufficient definition for dimension, a new
Unified
System of Quantities
(USQ
) is being proposed here as composed of
force
, mass
, length
,
time
, charge
,
temperature
, molaramount
,
luminousflux
, angle
,
rationalization
, and a
nonstandard
dimension (denoted by
F
, M
, L
,
T
, Q
, Θ
,
N
, J
, A
,
R
, C
).
Similitude.USQ
—
Constant
Physical dimension Constant
represented by Group
element
D
.
F, M, L, T, Q, Θ, N, J, A, R, C
Operations on Constant
are closed
(*
, /
, +
,
-
, ^
).
julia> force(Unified)
F [ħ⁵𝘤⁻⁸μ₀⁻¹mₑ⁻⁶Kcd⁻¹ϕ⁵λ⁻¹g₀⁵] Unified
julia> mass(Unified)
M [ħ¹ᐟ²𝘤⁻¹ᐟ²μ₀⁻¹ᐟ²ϕ¹ᐟ²λ⁻¹ᐟ²αL⁻¹] Unified
julia> length(Unified)
L [ħ⁻⁵ᐟ²𝘤¹¹ᐟ²μ₀¹ᐟ²mₑ⁴Kcd⋅ϕ⁻⁵ᐟ²λ¹ᐟ²g₀⁻³] Unified
julia> time(Unified)
T [ħ⁻⁷ᐟ²𝘤¹³ᐟ²μ₀¹ᐟ²mₑ⁵Kcd⋅ϕ⁻⁷ᐟ²λ¹ᐟ²g₀⁻⁴] Unified
julia> charge(Unified)
Q [ħ⁻³ᐟ²𝘤⁷ᐟ²mₑ⁵ᐟ²Kcd¹ᐟ²ϕ⁻²λ⁻¹g₀⁻²] Unified
julia> temperature(Unified)
Θ [ħ⁷ᐟ²𝘤⁻¹¹ᐟ²μ₀⁻¹ᐟ²mₑ⁻⁴ϕ⁷ᐟ²λ⁻¹ᐟ²g₀⁴] Unified
julia> molaramount(Unified)
N [kB⋅ħ¹ᐟ²𝘤⁻⁵ᐟ²μ₀⁻¹ᐟ²mₑ⁻¹ϕ¹ᐟ²λ⁻¹ᐟ²αL⁻¹g₀] Unified
julia> luminousflux(Unified)
J [ħ⁶𝘤⁻⁹μ₀⁻¹mₑ⁻⁶Mᵤ⁻¹Kcd⁻¹ϕ⁶λ⁻¹g₀⁶] Unified
julia> angle(Unified)
A [ħ⁻¹𝘤⁴mₑ²Kcd⋅ϕ⁻¹g₀⁻²] Unified
julia> rationalization(Unified)
R [ϕ] Unified
julia> lorentz(Unified)
C⁻¹ [λ] Unified
Derived dimension can be obtained from
multiplicative base of 11 fundamental dimension
symbols corresponding to force
,
mass
, length
,
time
, charge
,
temperature
, molaramount
,
luminousflux
, angle
,
demagnetizingfactor
, and a
nonstandard
dimension.
Mechanics: angle
, angle
,
solidangle
, time
,
angulartime
, length
,
angularlength
, area
,
angulararea
, volume
,
wavenumber
,
angularwavenumber
,
fuelefficiency
,
numberdensity
, frequency
,
angularfrequency
,
frequencydrift
, stagnance
,
speed
, acceleration
,
jerk
, snap
,
crackle
, pop
,
volumeflow
, etendue
,
photonintensity
,
photonirradiance
,
photonradiance
, inertia
,
mass
, massflow
,
lineardensity
, areadensity
,
density
, specificweight
,
specificvolume
, force
,
specificforce
,
gravityforce
, pressure
,
compressibility
, viscosity
,
diffusivity
,
rotationalinertia
, impulse
,
momentum
, angularmomentum
,
yank
, energy
,
specificenergy
, action
,
fluence
, power
,
powerdensity
, irradiance
,
radiance
, radiantintensity
,
spectralflux
,
spectralexposure
,
soundexposure
, impedance
,
specificimpedance
,
admittance
, compliance
,
inertance
; Electromagnetics:
charge
, chargedensity
,
linearchargedensity
,
exposure
, mobility
,
current
, currentdensity
,
resistance
, conductance
,
resistivity
, conductivity
,
capacitance
, inductance
,
reluctance
, permeance
,
permittivity
, permeability
,
susceptibility
,
specificsusceptibility
,
demagnetizingfactor
,
vectorpotential
,
electricpotential
,
magneticpotential
,
electricfield
,
magneticfield
,
electricflux
, magneticflux
,
electricdisplacement
,
magneticfluxdensity
,
electricdipolemoment
,
magneticdipolemoment
,
electricpolarizability
,
magneticpolarizability
,
magneticmoment
,
specificmagnetization
,
polestrength
; Thermodynamics:
temperature
, entropy
,
specificentropy
,
volumeheatcapacity
,
thermalconductivity
,
thermalconductance
,
thermalresistivity
,
thermalresistance
,
thermalexpansion
,
lapserate
, molarmass
,
molality
, molaramount
,
molarity
, molarvolume
,
molarentropy
, molarenergy
,
molarconductivity
,
molarsusceptibility
,
catalysis
, specificity
,
diffusionflux
,
luminousflux
,
luminousintensity
,
luminance
, illuminance
,
luminousenergy
,
luminousexposure
,
luminousefficacy
.
Similitude.Quantity
— Type
(U::UnitSystem)(v::Number, d) ↦ Quantity(U,v,d) = Quantity{U}(v,d)
Numerical Quantity
having value
v
with dimension d
specified in U::UnitSystem
.
julia> Metric(1,energy)
1 [J] Metric
julia> English(1,energy)
1 [lbf⋅ft] English
An alternate syntax Quantity(U::UnitSystem,
v::Number, d)
is also available as standard
syntax. When using UnitSystems
instead
of using Similitude
, this same syntax
can be written so that code doesn't need to be
changed while the output is generated.
Similitude.ConvertUnit
— Type
(D::Group{:USQ})(U::UnitSystem,S::UnitSystem) = ConvertUnit{U,S}(D)
Constant for unit conversion for
D::Group{:USQ}
from
U::UnitSystem
to
S::UnitSystem
.
julia> energy(Metric,CGS)
2⁷5⁷ = 1.0e7 [erg]/[J] Metric -> Gauss
julia> energy(Metric,English)
g₀⁻¹ft⁻¹lb⁻¹ = 0.7375621492772653 [lbf⋅ft]/[J] Metric -> English
There still exists further opportunity to expand
on the implementation of
ConvertUnit
.
Unified System of Quantities (USQ)
The new Unified
System of Quantities
proposed here is a convenient way of specifying
UnitSystem
definitions. As proposed by
Planck
(both a person and his proposed
UnitSystem
), specification of the
dimensionless boltzmann
,
planckreduced
, and lightspeed
is
of immense interest in the syntactic grammar of
UnitSystem
definitions. In fact, it turns out
that these are the Natural
units of
entropy
, angularmomentum
and
speed
induced by the
UnitSystem
.
For electromagnetism, there have been several proposed
base definitions for extension. Recently with the
SI2019
redefinition, it was proposed that
elementarycharge
is to be taken as a base
definition for electromagnetic units. Yet, this is a
mistake as elementarycharge
is not the
Natural
unit of charge induced by the
UnitSystem
, making it unsuitable as
fundamental Constant
for any
UnitSystem
. Meanwhile,
vacuumpermeability
exactly corresponds to the
Natural
unit of permeability
induced by the UnitSystem
, making it suitable
as a base definition for the electromagnetic unit
extension.
Much simpler to understand is that
electronmass
is the Natural
unit
of mass
induced by the
UnitSystem
. Molecular chemistry units are then
defined by the Natural
unit of
molarmass
induced by the
UnitSytem
. Specification of
luminousefficacy
is a Natural
unit of human perception induced by the
UnitSystem
. Altered angle
scaling
is defined by the Natural
unit of
radian
induced by the UnitSystem
.
Additionally, for the Gauss
and
LorentzHeaviside
electromagnetic
UnitSystem
definitions, there is an induced
Natural
unit of rationalization
and a nonstandard
unit named
lorentz
. Finally, the
gravityforce
specifies the reference
Natural
unit of gravity
induced
by the UnitSystem
.
Therefore, for the sake of Natural
units,
instead of defining a UnitSystem
in terms of
the USQ
dimensions the following are used:
boltzmann
, planckreduced
,
lightspeed
, vacuumpermeability
,
electronmass
, molarmass
,
luminousefficacy
, angle
,
rationalization
, lorentz
,
gravityforce
(or entropy
,
angularmomentum
, speed
,
permeability
, mass
,
molarmass
, luminousefficacy
,
angle
, rationalization
, and the
nonstandard
one).
Similitude.Unified
— Constant
Unified = UnitSystem(...) # Unified System of Quantities (USQ)
F, M, L, T, Q, Θ, N, J, A, R, C # fundamental base dimensions
Standard Unified
system of
Quantities
(USQ) in terms of
UnitSystem
basis, transformed from the
basis of force
, mass
,
length
, time
,
charge
, temperature
,
molaramount
, luminousflux
,
angle
, rationalization
, and
a nonstandard
dimension.
julia> boltzmann(Unified) # entropy
FLΘ⁻¹ [ħ⁻¹𝘤³mₑ²ϕ⁻¹g₀⁻²] Unified
julia> planckreduced(Unified) # angularmomentum
FLTA⁻¹ [mₑ] Unified
julia> lightspeed(Unified) # speed
LT⁻¹ [ħ⋅𝘤⁻¹mₑ⁻¹ϕ⋅g₀] Unified
julia> vacuumpermeability(Unified) # permeability
FT²Q⁻²R⁻¹C² [ħ⋅𝘤⁻²mₑ⁻¹ϕ⋅g₀] Unified
julia> electronmass(Unified) # mass
M [ħ¹ᐟ²𝘤⁻¹ᐟ²μ₀⁻¹ᐟ²ϕ¹ᐟ²λ⁻¹ᐟ²αL⁻¹] Unified
julia> molarmass(Unified) # molarmass
MN⁻¹ [kB⁻¹𝘤²mₑ⋅g₀⁻¹] Unified
julia> luminousefficacy(Unified) # luminousefficacy
F⁻¹L⁻¹TJ [mₑ⋅Mᵤ⁻¹] Unified
julia> radian(Unified) # angle
A [ħ⁻¹𝘤⁴mₑ²Kcd⋅ϕ⁻¹g₀⁻²] Unified
julia> rationalization(Unified) # demagnetizingfactor
R [ϕ] Unified
julia> lorentz(Unified) # nonstandard
C⁻¹ [λ] Unified
julia> gravity(Unified) # gravityforce
F⁻¹MLT⁻² [αL⁻¹] Unified
MeasureSystems.@unitgroup
— Macro
@unitgroup(U::UnitSystem,S::UnitSystem) -> (u::typeof(normal(U)))(d::Group) = normal(S)(d)
Implements Group
homomorphism for
U
in terms of existing specification
from S
.
Similitude.@unitdim
— Macro
@unitdim(U::UnitSystem,F,M,L,T,Q,Θ,N,J="lm",A="rad")
Specify the print
output for each
base dimension of U::UnitSystem
with
String
input arguments
force
, mass
,
length
, time
,
charge
, temperature
,
molaramount
, luminousflux
,
angle
.
@unitdim Gauss "gf" "g" "cm" "s" "C" "K" "mol"
@unitdim Metric "kgf" "kg" "m" "s" "C" "K" "mol"
@unitdim British "lb" "slug" "ft" "s" "C" "°R" "slug-mol"
@unitdim IPS "lb" "slinch" "in" "s" "C" "°R" "slinch-mol"
@unitdim FPS "pdl" "lb" "ft" "s" "C" "°R" "lb-mol"
@unitdim English "lbf" "lbm" "ft" "s" "C" "°R" "lb-mol"
@unitdim IAU☉ "M☉f" "M☉" "au" "D" "C" "K" "mol"
These standard examples are some of the built-in defaults.
@unitdim(U::UnitSystem,S::UnitSystem) -> dimtext(::typeof(normal(U))) = dimtext(normal(S))
Specify the print
output for each
base dimension of U
upon prior existing
S
data.
@unitdim EMU Gauss
@unitdim ESU Gauss
@unitdim LorentzHeaviside Gauss
@unitdim SI2019 Metric
@unitdim SI1976 Metric
@unitdim CODATA Metric
@unitdim Conventional Metric
@unitdim International Metric
@unitdim InternationalMean Metric
@unitdim Survey English
These standard examples are some of the built-in defaults.
@unitdim(D,U,S,L)
Specify print S::String
and LaTeX
L::String
for derived dimension
D
in U::UnitSystem
.
@unitdim magneticflux Gauss "Mx" "\text{Mx}"
@unitdim magneticfluxdensity Gauss "G" "\text{G}"
@unitdim magneticfield Gauss "Oe" "\text{Oe}"
@unitdim frequency Metric "Hz" "\text{Hz}"
@unitdim force Metric "N" "\text{N}"
@unitdim pressure Metric "Pa" "\text{Pa}"
@unitdim energy Metric "J" "\text{J}"
@unitdim power Metric "W" "\text{W}"
@unitdim mass British "slug" "\text{slug}"
@unitdim force FPS "pdl" "\text{pdl}"
These standard examples are some of the built-in defaults.
Default UnitSystems
By default, this package provides a modern unified
re-interpretation of various historical unit systems which
were previously incompatible. In order to make each
UnitSystem
consistently compatible with each
other, a few convenience assumptions are made.
Specifically, it is assumed that all default modern unit
systems share the same common Universe
of
dimensionless constants, although this can be optionally
changed. Therefore, the philosophy is to characterize
differences among UnitSystem
instances by
means of dimensional constants. As a result, all the
defaults are ideal modern variants of these historical unit
systems based on a common underlying Universe
,
which are completely consistent and compatible with each
other. These default UnitSystem
values are to
be taken as a newly defined mutually-compatible recommended
standard, verified to be consistent and coherent.
-
MeasureSystems.British
-
MeasureSystems.CODATA
-
MeasureSystems.Conventional
-
MeasureSystems.Cosmological
-
MeasureSystems.CosmologicalQuantum
-
MeasureSystems.EMU
-
MeasureSystems.ESU
-
MeasureSystems.Electronic
-
MeasureSystems.Engineering
-
MeasureSystems.English
-
MeasureSystems.FFF
-
MeasureSystems.FPS
-
MeasureSystems.Gauss
-
MeasureSystems.Gravitational
-
MeasureSystems.Hartree
-
MeasureSystems.Hubble
-
MeasureSystems.IAU
-
MeasureSystems.IAUE
-
MeasureSystems.IAUJ
-
MeasureSystems.IPS
-
MeasureSystems.International
-
MeasureSystems.InternationalMean
-
MeasureSystems.KKH
-
MeasureSystems.LorentzHeaviside
-
MeasureSystems.MPH
-
MeasureSystems.MTS
-
MeasureSystems.Meridian
-
MeasureSystems.Metric
-
MeasureSystems.Natural
-
MeasureSystems.NaturalGauss
-
MeasureSystems.Nautical
-
MeasureSystems.Planck
-
MeasureSystems.PlanckGauss
-
MeasureSystems.QCD
-
MeasureSystems.QCDGauss
-
MeasureSystems.QCDoriginal
-
MeasureSystems.Rydberg
-
MeasureSystems.SI1976
-
MeasureSystems.SI2019
-
MeasureSystems.Schrodinger
-
MeasureSystems.Stoney
-
MeasureSystems.Survey
Metric SI Unit Systems
In the Systeme International d'Unites (the SI units) the
UnitSystem
constants are derived from the most
accurate possible physical measurements and a few exactly
defined constants. Exact values are the
avogadro
number, boltzmann
constant, planck
constant,
lightspeed
definition, and elementary
charge
definition.
\[N_A = 6.02214076e23, k_B = 1.380649e-23, h = 6.62607015e-34, c = 299792458, e = 1.602176634e-19\]
julia> NA # avogadro
NA = 6.02214076e23
julia> kB # boltzmann
kB = 1.380649e-23
julia> 𝘩 # planck
𝘩 = 6.62607015e-34
julia> 𝘤 # lightspeed
𝘤 = 2.99792458e8
julia> 𝘦 # charge
𝘦 = 1.602176634e-19
Physical measured values with uncertainty are electron
to proton mass ratio μₑᵤ
, proton to atomic
mass ratio μₚᵤ
, inverted fine structure
constant αinv
, the Rydberg R∞
constant, and the Planck mass mP
.
\[\mu_{eu} = \frac{m_e}{m_u}\approx\frac{1}{1822.9}, \mu_{pu} = \frac{m_p}{m_u}\approx 1.00727647, \alpha \approx \frac{1}{137.036}, R_\infty \approx 1.097373e7, m_P \approx 2.176434e-8,\]
julia> ħ # planckreduced
𝘩*τ⁻¹ = 1.0545718176461565e-34
julia> μ₀ # vacuumpermeability
𝘩*𝘤⁻¹𝘦⁻²α*2 = 1.25663706212e-6 ± 1.9e-16
julia> mₑ # electronmass
𝘩*𝘤⁻¹R∞*α⁻²2 = 9.1093837016e-31 ± 2.8e-40
julia> Mᵤ # molarmass
𝘩*𝘤⁻¹NA*R∞*α⁻²μₑᵤ⁻¹2 = 0.00099999999966 ± 3.1e-13
julia> μₚₑ # protonelectron
μₑᵤ⁻¹μₚᵤ = 1836.15267343 ± 1.1e-7
Additional reference values include the ground state
hyperfine
structure transition frequency of
caesium-133 ΔνCs
and
luminousefficacy
of monochromatic radiation
Kcd
of 540 THz.
julia> ΔνCs # hyperfine
ΔνCs = 9.19263177e9
julia> Kcd # luminousefficacy
Kcd = 683.01969009009
As result, there are variants based on the original
molarmass
constant and Gaussian
permeability
along with the 2019 redefined
exact values. The main difference between the two is
determined by $M_u$ and $\mu_0$
offset.
\[(M_u,\mu_0,R_u,g_0,h,c,R_\infty,\alpha,\mu_{eu}) \quad \mapsto \quad m_e = \frac{2R\infty h}{c\alpha^2}, \quad k_B = \frac{m_e}{R_u}{\mu_{eu}g_0M_u}, \quad K_{cd} = 683 \frac{555.016\tilde h}{555h}\]
Construction of UnitSystem
instances based
on specifying the the constants molarmass
, the
vacuumpermeability
, and the
molargas
along with some other options is
facilitated by MetricSystem
. This construction
helps characterize the differences between
MeasureSystems.MetricSystem
— Function
MetricSystem(Mu=Mᵤ,μ0=μ₀,Ru=Rᵤ,g0=𝟏,θ=𝟏,h=𝘩,me=R∞*𝟐*h/𝘤/α^2)
Constructs new UnitSystem
from
molarmass
constant,
vacuumpermeability
,
molargas
constant, gravity
force reference, angle
scale, and
planck
constant.
UnitSystem(Ru*me/Mu/μₑᵤ/g0,h/τ/g0/θ,𝘤,μ0,me,Mu,Kcd*(mₑ/me)^2*(h/𝘩)*g0,θ,𝟏,𝟏,g0)
Examples include SI2019
,
SI1976
, Metric
,
Engineering
, MetricTurn
,
MetricSpatian
,
MetricGradian
,
MetricDegree
,
MetricArcminute
,
MetricArcsecond
. In addition, the
ConventionalSystem
constructor further
builds on MetricSystem
, resulting in
variations.
Other derived UnitSystem
instances
such as British
or English
or IAU
are derived from an existing
Metric
specification generated by
MetricSystem
. The constructor
MetricSystem
incorporates several
standard common numerical values and exposes variable
arguments which can be substituted for customization,
yielding the capability to generate historical
variations having a common Universe
.
Derivative constructors are
EntropySystem
,
ElectricSystem
,
GaussSystem
, RankineSystem
,
and AstronomicalSystem
.
Historically, the josephson
and
klitzing
constants have been used to define
Conventional
and CODATA
variants.
\[(R_K,K_J), \quad \mapsto \quad \mu_0 = \frac{2R_K\alpha}{c}, \quad h = \frac{4}{R_KK_J^2}, \quad m_e = \frac{2R_\infty h}{c\alpha^2}, \quad k_B = \frac{m_e R_u}{\mu_{eu}M_u}, \quad K_{cd} = 683\frac{555.016\times 4}{555R_KK_J^2h}\]
MeasureSystems.ConventionalSystem
— Function
ConventionalSystem(RK,KJ,Ru=Rᵤ,g0=𝟏) = MetricSystem(milli,𝟐*RK/𝘤*α,Ru,g0,𝟐^2/RK/KJ^2)
Constructs new UnitSystem
from von
klitzing
constant and
josephson
constant, with an optional
specification of universal
gas constant
and gravity
reference constant.
Examples include Conventional
(based
on 1990) and CODATA
(based on 2014).
Originally, the practical units where specified by
resistance
and
electricpotential
.
\[(\Omega, V), \quad \mapsto k_B\frac{\Omega}{V^2}, \quad h\frac{\Omega}{V^2}, \quad c\frac{1}{1}, quad \mu_0\frac{\Omega}{V^2}, \quad m_e\frac{\Omega}{V^2}, \quad M_u\frac{\Omega}{V^2}, \quad K_{cd}\frac{V^2}{\Omega}\]
UnitSystems.ElectricSystem
— Function
ElectricSystem(U::UnitSystem,Ω,V) = EntropySystem(U,𝟏,𝟏,V^2/Ω,𝟏,vacuumpermeability(U)/Ω)
Constructs new UnitSystem
from
U
with mass
rescaled by
electricpotential
and
resistance
. In the
International
system, Ωᵢₜ
and Vᵢₜ
are used as definitions from the
more recent United States results, while in
InternationalMean
an earlier estimate
based on other nations was used.
Electromagnetic CGS Systems
Alternatives to the SI unit system are the
centimetre-gram-second variants, where the constants are
rescaled with centi*meter
and
milli
kilogram units along with introduction
of additional rationalization
and
lorentz
constants or electromagnetic
units.
\[(\mu_0,\lambda,\alpha_L,t,l,m,g_0) \quad \mapsto \quad \frac{k_Bt^2}{ml^2g_0}, \quad \frac{ht}{ml^2g_0}, \quad c\frac{t}{l}, \quad \mu_0, \quad \frac{m_e}{m}, \quad \frac{M_u}{m}, \quad K_{cd}\frac{ml^2g_0}{t^3}, \quad \lambda, \quad \alpha_L\]
There are multiple choices of elctromagnetic units for these variants based on electromagnetic units, electrostatic units, Gaussian non-rationalized units, and Lorentz-Heaviside rationalized units.
UnitSystems.GaussSystem
— Function
GaussSystem(U::UnitSystem,μ0,λ,αL=𝟏,l=centi,m=milli,g0=gravity(U))
Constructs new UnitSystem
from
U
rescaled for CGS
with
electromagnetic options. The first three options are
to set the values for
vacuumpermeability
,
rationalization
, and
lorentz
constants. The following two
parameters are scaling for length
and
mass
, while the last is an option to
change the gravity
reference.
Examples include EMU
,
ESU
, Gauss
,
LorentzHeaviside
, and
Kennelly
.
Modified (Entropy) Unit Systems
Most other un-natural unit systems are derived from the
construction above by rescaling time
,
length
, mass
,
temperature
, and gravity
; which
results in modified entropy constants:
\[(t,l,m,T,g_0) \quad \mapsto \quad k_B\frac{t^2T}{ml^2g_0}, \quad h\frac{t}{ml^2g_0}, \quad c\frac{t}{l}, \quad \mu_0\frac{1}{mlg_0}, \quad m_e\frac{1}{m}, \quad M_u\frac{1}{m}, \quad K_{cd}\frac{ml^2g_0}{t^3}\]
UnitSystems.EntropySystem
— Function
EntropySystem(U::UnitSystem,t,l,m,θ=𝟏)
EntropySystem(U::UnitSystem,t,l,m,θ,μ0,Mu=molarmass(U)/m,g0=gravity(U))
Constructs new UnitSystem
from
U
rescaled along time
,
length
, mass
, and
temperature
by the first four
parameters. Additional optional parameters allow for
customization of the vacuumpermeability
,
molarmass
, and gravity
constants.
Examples of this type include
Nautical
, Meridian
,
Gravitational
, MTS
,
KKH
, MPH
,
IAU☉
, IAUE
,
IAUJ
, Hubble
,
Cosmological
,
CosmologicalQuantum
. However, most other
constructors for UnitSystem
derivations
are based on internally calling
EntropySystem
, such as
AstronomicalSystem
,
ElectricSystem
,
GaussSystem
, and
RankineSystem
. This means
EntropySystem
also constructs the
examples listed there.
Foot-Pound-Second-Rankine
In Britain and the United States an English
system of engineering units was commonly used.
\[(t,l,m,g_0) \quad \mapsto \quad k_B\frac{5t^2}{9ml^2g_0}, \quad h\frac{t}{ml^2g_0}, \quad c\frac{t}{l}, \quad \mu_0\frac{1}{mlg_0}, \quad m_e\frac{1}{m}, \quad M_u10^3, \quad K_{cd}\frac{ml^2g_0}{t^3}\]
MeasureSystems.RankineSystem
— Function
RankineSystem(U::UnitSystem,l,m,g0=𝟏)
Constructs new UnitSystem
from
U
rescaled along length
and
mass
with optional gravity
reference constant used to define technical and
engineering units.
EntropySystem(U,𝟏,l,m,°R,vacuumpermeability(U)/m/l/g0,kilo*molarmass(U),g0)
Examples: FPS
, British
,
IPS
, English
,
Survey
.
Astronomical Unit Systems
The International Astronomical Union (IAU) units are based on the solar mass, distance from the sun to the earth, and the length of a terrestrial day.
UnitSystems.AstronomicalSystem
— Function
AstronomicalSystem(U::UnitSystem,t,l,m)
Constructs new UnitSystem
from
U
rescaled along time
,
length
, mass
, and
dimensionless boltzmann
and
molarmass
constants. Examples are
Hubble
, Cosmological
,
CosmologicalQuantum
.
Natural Unit Systems
With the introduction of the planckmass
a
set of natural atomic unit systems can be derived in terms
of the gravitational coupling constant.
\[\alpha_G = \left(\frac{m_e}{m_P}\right)^2, \quad \tilde k_B = 1, \quad (\tilde M_u = 1, \quad \tilde \lambda = 1, \quad \tilde\alpha_L = 1)\]
julia> αG # (mₑ/mP)^2
𝘩²𝘤⁻²mP⁻²R∞²α⁻⁴2² = 1.75181e-45 ± 3.9e-50
Some of the notable variants include
Planck ::UnitSystem{1,1,1,1,√(4π*αG)}
PlanckGauss ::UnitSystem{1,1,1,4π,√αG}
Stoney ::UnitSystem{1,1/α,1,4π,√(αG/α)}
Hartree ::UnitSystem{1,1,1/α,4π*α^2,1}
Rydberg ::UnitSystem{1,1,2/,π*α^2,1/2}
Schrodinger ::UnitSystem{1,1,1/α,4π*α^2,√(αG/α)}
Electronic ::UnitSystem{1,1/α,1,4π,1}
Natural ::UnitSystem{1,1,1,1,1}
NaturalGauss ::UnitSystem{1,1,1,4π,1}
QCD ::UnitSystem{1,1,1,1,1/μₚₑ}
QCDGauss ::UnitSystem{1,1,1,4π,1/μₚₑ}
QCDoriginal ::UnitSystem{1,1,1,4π*α,1/μₚₑ}
UnitSystem Index
-
MeasureSystems.British
-
MeasureSystems.CODATA
-
MeasureSystems.Conventional
-
MeasureSystems.Cosmological
-
MeasureSystems.CosmologicalQuantum
-
MeasureSystems.EMU
-
MeasureSystems.ESU
-
MeasureSystems.Electronic
-
MeasureSystems.Engineering
-
MeasureSystems.English
-
MeasureSystems.FFF
-
MeasureSystems.FPS
-
MeasureSystems.Gauss
-
MeasureSystems.Gravitational
-
MeasureSystems.Hartree
-
MeasureSystems.Hubble
-
MeasureSystems.IAU
-
MeasureSystems.IAUE
-
MeasureSystems.IAUJ
-
MeasureSystems.IPS
-
MeasureSystems.International
-
MeasureSystems.InternationalMean
-
MeasureSystems.KKH
-
MeasureSystems.LorentzHeaviside
-
MeasureSystems.MPH
-
MeasureSystems.MTS
-
MeasureSystems.Meridian
-
MeasureSystems.Metric
-
MeasureSystems.Natural
-
MeasureSystems.NaturalGauss
-
MeasureSystems.Nautical
-
MeasureSystems.Planck
-
MeasureSystems.PlanckGauss
-
MeasureSystems.QCD
-
MeasureSystems.QCDGauss
-
MeasureSystems.QCDoriginal
-
MeasureSystems.Rydberg
-
MeasureSystems.SI1976
-
MeasureSystems.SI2019
-
MeasureSystems.Schrodinger
-
MeasureSystems.Stoney
-
MeasureSystems.Survey