Skip to content

Commit

Permalink
revised UnitSystems implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
chakravala committed Dec 26, 2022
1 parent 425962e commit dfddbd0
Show file tree
Hide file tree
Showing 8 changed files with 450 additions and 113 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "UnitSystems"
uuid = "3a241a3c-2137-41aa-af5e-1388e404ca09"
authors = ["Michael Reed"]
version = "0.3.8"
version = "0.3.9"

[deps]
FieldConstants = "73d362c4-b7ec-495f-a538-f22f12d4d8ae"
Expand Down
26 changes: 14 additions & 12 deletions src/UnitSystems.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ import Base.MathConstants: eulergamma, golden, φ

const Systems = (:Metric,:SI2019,:SI1976,:CODATA,:Conventional,:International,:InternationalMean,:MetricTurn,:MetricSpatian,:MetricGradian,:MetricDegree,:MetricArcminute,:MetricArcsecond,:MetricEngineering,:GravitationalMetric,:MTS,:EMU,:ESU,:Gauss,:LorentzHeaviside,:FPS,:IPS,:British,:English,:Survey,:FFF,:MPH,:KKH,:Nautical,:Meridian,:IAU☉,:IAUE,:IAUJ,:Hubble,:Cosmological,:CosmologicalQuantum,:Planck,:PlanckGauss,:Stoney,:Hartree,:Rydberg,:Schrodinger,:Electronic,:Natural,:NaturalGauss,:QCD,:QCDGauss,:QCDoriginal)
const Dimensionless = (:coupling,:finestructure,:electronunit,:protonunit,:protonelectron,:darkenergydensity)
const Constants = (:lightspeed,:planck,:planckreduced,:electronmass,:molarmass,:boltzmann,:permeability,:rationalization,:lorentz,:luminousefficacy,:gravity,:radian)
const Physics = (:turn,:spat,:dalton,:protonmass,:planckmass,:gravitation,:gaussgravitation,:einstein,:hartree,:rydberg,:bohr,:electronradius,:avogadro,:molargas,:stefan,:radiationdensity,:vacuumpermeability,:vacuumpermittivity,:electrostatic,:magnetostatic,:biotsavart,:elementarycharge,:faraday,:vacuumimpedance,:conductancequantum,:klitzing,:josephson,:magneticfluxquantum,:magneton)
const Constants = (:lightspeed,:planck,:planckreduced,:electronmass,:molarmass,:boltzmann,:vacuumpermeability,:rationalization,:lorentz,:luminousefficacy,:gravity,:radian)
const Physics = (:turn,:spat,:dalton,:protonmass,:planckmass,:gravitation,:gaussgravitation,:einstein,:hartree,:rydberg,:bohr,:electronradius,:avogadro,:molargas,:stefan,:radiationdensity,:vacuumpermittivity,:electrostatic,:magnetostatic,:biotsavart,:elementarycharge,:faraday,:vacuumimpedance,:conductancequantum,:klitzing,:josephson,:magneticfluxquantum,:magneton)
const Derived = (: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,
Expand All @@ -43,14 +43,14 @@ const Derived = (:hyperfine,:loschmidt,:wienwavelength,:wienfrequency,:mechanica
: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)
const Kinematic = (: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) #:angle
const Kinematic = (: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)
const Mechanical = (: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)
const Electromagnetic = (: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)
const Thermodynamic = (:temperature,:entropy,:specificentropy,:volumeheatcapacity,:thermalconductivity,:thermalconductance,:thermalresistivity,:thermalresistance,:thermalexpansion,:lapserate)
const Molar = (:molarmass,:molality,:molaramount,:molarity,:molarvolume,:molarentropy,:molarenergy,:molarconductivity,:molarsusceptibility,:catalysis,:specificity,:diffusionflux)
const Photometric = (:luminousflux,:luminousintensity,:luminance,:illuminance,:luminousenergy,:luminousexposure,:luminousefficacy)
const Mechanics = [Kinematic...,Mechanical...]
const Convert = [Mechanics...,Electromagnetic...,Thermodynamic...,Molar...,Photometric...]
const Convert = [:dimensionless,Mechanics...,Electromagnetic...,Thermodynamic...,Molar...,Photometric...]

listext(x) = join(x,"`, `")

Expand Down Expand Up @@ -146,13 +146,13 @@ struct UnitSystem{kB,ħ,𝘤,μ₀,mₑ,Mᵤ,extra}
@pure UnitSystem{kB,ħ,𝘤,μ₀,mₑ,Mᵤ,extra}() where {kB,ħ,𝘤,μ₀,mₑ,Mᵤ,extra} = new{kB,ħ,𝘤,μ₀,mₑ,Mᵤ,extra}()
end # UnitSystem{kB,ħ,𝘤,μ₀,mₑ,Mᵤ,(Kcd,θ,λ,αL,g,C,τ,𝟐,𝟑,𝟓,𝟕,𝟏𝟏,𝟏𝟗,𝟒𝟑)}
function UnitSystem(kB,ħ,𝘤,μ₀,mₑ,Mᵤ=𝟏,Kcd=𝟏,θ=𝟏,λ=𝟏,αL=𝟏,g=𝟏,C=Universe,τ=τ,x=𝟐,y=𝟑,z=𝟓,w=𝟕,u=𝟏𝟏,v=𝟏𝟗,q=𝟒𝟑)
UnitSystem{cache(kB),cache(ħ),cache(𝘤),cache(μ₀),cache(mₑ),cache(Mᵤ),(cache(Kcd),cache(θ),cache(λ),cache(αL),cache(g),C,cache(τ),cache(x),cache(y),cache(z),cache(w),cache(u),cache(v),cache(q))}()
unitsystem(kB,ħ,𝘤,μ₀,mₑ,Mᵤ,Kcd,θ,λ,αL,g,C,τ,x,y,z,w,u,v,q)
end
@pure boltzmann(::UnitSystem{k}) where k = measure(k)
@pure planckreduced(::UnitSystem{k,ħ}) where {k,ħ} = measure(ħ)
@pure lightspeed(::UnitSystem{k,ħ,𝘤}) where {k,ħ,𝘤} = measure(𝘤)
@pure permeability(::UnitSystem{k,ħ,𝘤,μ}) where {k,ħ,𝘤,μ} = measure(μ)
@pure vacuumpermeability(U::UnitSystem) = permeability(U)
@pure vacuumpermeability(::UnitSystem{k,ħ,𝘤,μ}) where {k,ħ,𝘤,μ} = measure(μ)
@pure permeability(U::UnitSystem) = vacuumpermeability(U)
@pure electronmass(::UnitSystem{k,ħ,𝘤,μ,m}) where {k,ħ,𝘤,μ,m} = measure(m)
@pure molarmass(::UnitSystem{k,ħ,𝘤,μ,m,M}) where {k,ħ,𝘤,μ,m,M} = measure(M)
@pure luminousefficacy(::UnitSystem{k,ħ,𝘤,μ,m,M,e}) where {k,ħ,𝘤,μ,m,M,e} = measure(e[1])
Expand Down Expand Up @@ -181,7 +181,7 @@ function evaldim end
normal(x) = x
@pure normal(x::Float64) = x
@pure normal(x::Int) = x
@pure normal(::UnitSystem{kB,ħ,𝘤,μ0,me,Mu,e}) where {kB,ħ,𝘤,μ0,me,Mu,e} = UnitSystem(normal(kB),normal(ħ),normal(𝘤),normal(μ0),normal(me),normal(Mu),normal(e[1]),normal(e[2]),normal(e[3]),normal(e[4]),normal(e[5]),e[6],normal(e[7]),normal(e[8]),normal(e[9]),normal(e[10]),normal(e[11]),normal(e[12]),normal(e[13]),normal(e[14]))
@pure normal(::UnitSystem{kB,ħ,𝘤,μ0,me,Mu,e}) where {kB,ħ,𝘤,μ0,me,Mu,e} = unitsystem(normal(kB),normal(ħ),normal(𝘤),normal(μ0),normal(me),normal(Mu),normal(e[1]),normal(e[2]),normal(e[3]),normal(e[4]),normal(e[5]),e[6],normal(e[7]),normal(e[8]),normal(e[9]),normal(e[10]),normal(e[11]),normal(e[12]),normal(e[13]),normal(e[14]))

@pure unitname(::UnitSystem) = "Unknown"
Base.show(io::IO,U::UnitSystem) = print(io,unitname(normal(U)))
Expand Down Expand Up @@ -217,7 +217,7 @@ function (U::UnitSystem)(JK,Js,ms,Hm,kg)
C = universe(U)
τ = tau(U)
(x,y,z,u,v,w,p) = (two(U),three(U),five(U),seven(U),eleven(U),nineteen(U),fourtythree(U))
UnitSystem(kB,ħ,𝘤,μ₀,mₑ,Mᵤ,Kcd,θ,λ,isone(αL) ? αL : αL/ms,g₀,C,τ,x,y,z,u,v,w,p)
unitsystem(kB,ħ,𝘤,μ₀,mₑ,Mᵤ,Kcd,θ,λ,isone(αL) ? αL : αL/ms,g₀,C,τ,x,y,z,u,v,w,p)
end

"""
Expand Down Expand Up @@ -252,7 +252,7 @@ function EntropySystem(u,t,l,m,θ=one(u))
EntropySystem(u,t,l,m,θ,permeability(u)/(m*l),molarmass(u)/m,gravity(u),m*l*l/(t*t))
end
function EntropySystem(u,t,l,m,θ,μ0,Mu=molarmass(u)/m,g0=gravity(u),e=m*l*l/(t*t),λ=one(u),αL=one(u),Kcd=luminousefficacy(u)*e/t*g0)
normal(UnitSystem(
normal(unitsystem(
boltzmann(u)*θ/e/g0,
planckreduced(u)/t/e/g0,
lightspeed(u)*t/l,
Expand All @@ -276,6 +276,7 @@ end
@pure unit(x,y=1) = isapprox(y,x,rtol=eps()^0.9) ? y : x
@pure Base.one(U::UnitSystem) = unit(two(U)/two(U))
@pure Base.zero(U::UnitSystem) = one(U)-one(U)
@pure dimensionless(a::UnitSystem,b::UnitSystem) = one(a)*one(b)
@pure turn(U::UnitSystem) = tau(U)*radian(U)
@pure angle(U::UnitSystem,S::UnitSystem) = unit(radian(S)/radian(U))
@pure solidangle(U::UnitSystem,S::UnitSystem) = unit(angle(U,S)^2)
Expand All @@ -293,10 +294,10 @@ end
for unit (:boltzmann,:planckreduced,:lightspeed,:vacuumpermeability,:permeability,:electronmass,:molarmass,:radian)
@eval @pure $unit(U::UnitSystem,C::Coupling) = $unit(U)
end
for unit (Constants...,:vacuumpermeability)
for unit (Constants...,:permeability)
@eval @pure $unit(U::UnitSystem,S::UnitSystem) = isquantity(U,S) ? evaldim($unit)(U,S) : unit($unit(S)/$unit(U))
end
for unit (Convert...,:angle)
for unit Convert
@eval begin
@pure @inline $unit(v::Real,U::UnitSystem) = isquantity(U) ? evaldim($unit)(v,U) : $unit(v,U,Metric)
@pure @inline $unit(v::Real,U::UnitSystem,S::UnitSystem) = isquantity(U,S) ? evaldim($unit)(v,U,S) : (u=$unit(U,S);isone(u) ? v : v/u)
Expand Down Expand Up @@ -419,6 +420,7 @@ include("electromagnetic.jl")
include("thermodynamic.jl")
include("physics.jl")
include("systems.jl")
include("text.jl")

const RK = klitzing(SI2019) #
const KJ = josephson(SI2019) #
Expand Down
82 changes: 0 additions & 82 deletions src/constant.jl

This file was deleted.

2 changes: 1 addition & 1 deletion src/electromagnetic.jl
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ const voltage = electricpotential
@pure magneticfield(U::UnitSystem,S::UnitSystem) = unit(current(U,S)*rationalization(U,S)*lorentz(U,S)/length(U,S))
@pure exposure(U::UnitSystem,S::UnitSystem) = unit(charge(U,S)/mass(U,S))
@pure resistivity(U::UnitSystem,S::UnitSystem) = unit(resistance(U,S)*length(U,S))
@pure magneticdipolemoment(U::UnitSystem,S::UnitSystem) = unit(current(U,S)*lorentz(U,S)*area(U,S)/gravity(U,S)/angle(U,S))
@pure magneticdipolemoment(U::UnitSystem,S::UnitSystem) = unit(current(U,S)*lorentz(U,S)*area(U,S)/angle(U,S))
@pure mobility(U::UnitSystem,S::UnitSystem) = unit(length(U,S)*speed(U,S)*electricpotential(U,S))
@pure reluctance(U::UnitSystem,S::UnitSystem) = unit(rationalization(U,S)*lorentz(U,S)^2/inductance(U,S))
@pure vectorpotential(U::UnitSystem,S::UnitSystem) = unit(magneticflux(U,S)/length(U,S))
Expand Down
36 changes: 21 additions & 15 deletions src/initdata.jl
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,17 @@ const lc,mc,ρΛ,𝘦ₙ,ς = 𝟐*sqrt(τ/ΛC),𝘤^2/(𝟐*G*sqrt(τ*ΛC)),ΛC
const lcq,mcq = sqrt.(sqrt.((𝘤*ħ/ρΛ,ρΛ*ħ^3/𝘤^5))); const 𝘦ᵣ = 𝘦ₙ/ς
const tcq,em,mi = lcq*sqrt(mcq/sqrt(sqrt(ρΛ*(𝘤*ħ)^3))),sqrt(GME/g₀)*τ/𝟐^9/𝟓^7,𝟐^5*𝟑*𝟓*𝟏𝟏

@pure sackurtetrode(U::UnitSystem,P=atm,T=𝟏,m=dalton(U)) = normal(log((Constant(exp(5/2))*boltzmann(U)*sqrt(boltzmann(U)/gravity(U)/turn(U)/planckreduced(U)^2)^3)*(T/P*sqrt(m*T)^3)))
@pure sackurtetrode(U::UnitSystem,P=atmosphere(U),T=kelvin(U),m=dalton(U)) = normal(log((Constant(exp(5/2))*boltzmann(U)*sqrt(boltzmann(U)/gravity(U)/turn(U)/planckreduced(U)^2)^3)*(T/P*sqrt(m*T)^3)))

const Universe = Coupling(αG,α,μₑᵤ,μₚᵤ,ΩΛ)

constant(::UnitSystem{a,b,c,d,e,f,g}) where {a,b,c,d,e,f,g} = UnitSystem(Constant(a),Constant(b),Constant(c),Constant(d),Constant(e),Constant(f),Constant(g[1]),Constant(g[2]),Constant(g[3]),Constant(g[4]),Constant(g[5]),Universe,Constant(g[7]),𝟐,𝟑,𝟓,𝟕,𝟏𝟏,𝟏𝟗,𝟒𝟑)
function unitsystem(kB,ħ,𝘤,μ₀,mₑ,Mᵤ=𝟏,Kcd=𝟏,θ=𝟏,λ=𝟏,αL=𝟏,g=𝟏,C=Universe,τ=τ,x=𝟐,y=𝟑,z=𝟓,w=𝟕,u=𝟏𝟏,v=𝟏𝟗,q=𝟒𝟑)
UnitSystem{cache(kB),cache(ħ),cache(𝘤),cache(μ₀),cache(mₑ),cache(Mᵤ),(cache(Kcd),cache(θ),cache(λ),cache(αL),cache(g),C,cache(τ),cache(x),cache(y),cache(z),cache(w),cache(u),cache(v),cache(q))}()
end

function constant(::UnitSystem{a,b,c,d,e,f,g}) where {a,b,c,d,e,f,g}
unitsystem(Constant(a),Constant(b),Constant(c),Constant(d),Constant(e),Constant(f),Constant(g[1]),Constant(g[2]),Constant(g[3]),Constant(g[4]),Constant(g[5]),Universe,Constant(g[7]),𝟐,𝟑,𝟓,𝟕,𝟏𝟏,𝟏𝟗,𝟒𝟑)
end

export MetricSystem, ConventionalSystem, RankineSystem
export AstronomicalSystem, ElectricSystem, GaussSystem, EntropySystem
Expand All @@ -50,7 +56,7 @@ Examples include `SI2019`, `SI1976`, `Metric`, `MetricEngineering`, `MetricTurn`
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`.
"""
MetricSystem(Mu=Mᵤ,μ0=μ₀,Ru=Rᵤ,g0=𝟏,θ=𝟏,h=𝘩,me=αinv^2*R∞*𝟐*h/𝘤) = UnitSystem(Ru*me/Mu/μₑᵤ/g0,h/τ/g0/θ,𝘤,μ0,me,Mu,Kcd*(mₑ/me)^2*(h/𝘩)*g0,θ,𝟏,𝟏,g0,Universe,τ,𝟐,𝟑,𝟓,𝟕,𝟏𝟏,𝟏𝟗,𝟒𝟑)
MetricSystem(Mu=Mᵤ,μ0=μ₀,Ru=Rᵤ,g0=𝟏,θ=𝟏,h=𝘩,me=αinv^2*R∞*𝟐*h/𝘤) = unitsystem(Ru*me/Mu/μₑᵤ/g0,h/τ/g0/θ,𝘤,μ0,me,Mu,Kcd*(mₑ/me)^2*(h/𝘩)*g0,θ,𝟏,𝟏,g0,Universe,τ,𝟐,𝟑,𝟓,𝟕,𝟏𝟏,𝟏𝟗,𝟒𝟑)

"""
ConventionalSystem(RK,KJ,Ru=Rᵤ,g0=𝟏) = MetricSystem(milli,𝟐*RK/𝘤*α,Ru,g0,𝟐^2/RK/KJ^2)
Expand Down Expand Up @@ -133,18 +139,18 @@ const FFF = Quantity(EntropySystem(Metric,𝟕*𝟐*DAY,fur,(𝟐*𝟑^2*𝟓)*l

# natural units

const Planck = Quantity(UnitSystem(𝟏,𝟏,𝟏,𝟏,(𝟐*τ*αG)))
const PlanckGauss = Quantity(UnitSystem(𝟏,𝟏,𝟏,𝟐*τ,αG))
const Stoney = Quantity(UnitSystem(𝟏,αinv,𝟏,𝟐*τ,(αG*αinv)))
const Hartree = Quantity(UnitSystem(𝟏,𝟏,αinv,𝟐*τ*α^2,𝟏))
const Rydberg = Quantity(UnitSystem(𝟏,𝟏,𝟐*αinv,τ/𝟐*α^2,inv(𝟐)))
const Schrodinger = Quantity(UnitSystem(𝟏,𝟏,αinv,𝟐*τ*α^2,(αG*αinv)))
const Electronic = Quantity(UnitSystem(𝟏,αinv,𝟏,𝟐*τ,𝟏))
const Natural = Quantity(UnitSystem(𝟏,𝟏,𝟏,𝟏,𝟏))
const NaturalGauss = Quantity(UnitSystem(𝟏,𝟏,𝟏,𝟐*τ,𝟏))
const QCD = Quantity(UnitSystem(𝟏,𝟏,𝟏,𝟏,inv(μₚₑ)))
const QCDGauss = Quantity(UnitSystem(𝟏,𝟏,𝟏,𝟐*τ,inv(μₚₑ)))
const QCDoriginal = Quantity(UnitSystem(𝟏,𝟏,𝟏,𝟐*τ*α,inv(μₚₑ)))
const Planck = Quantity(unitsystem(𝟏,𝟏,𝟏,𝟏,(𝟐*τ*αG)))
const PlanckGauss = Quantity(unitsystem(𝟏,𝟏,𝟏,𝟐*τ,αG))
const Stoney = Quantity(unitsystem(𝟏,αinv,𝟏,𝟐*τ,(αG*αinv)))
const Hartree = Quantity(unitsystem(𝟏,𝟏,αinv,𝟐*τ*α^2,𝟏))
const Rydberg = Quantity(unitsystem(𝟏,𝟏,𝟐*αinv,τ/𝟐*α^2,inv(𝟐)))
const Schrodinger = Quantity(unitsystem(𝟏,𝟏,αinv,𝟐*τ*α^2,(αG*αinv)))
const Electronic = Quantity(unitsystem(𝟏,αinv,𝟏,𝟐*τ,𝟏))
const Natural = Quantity(unitsystem(𝟏,𝟏,𝟏,𝟏,𝟏))
const NaturalGauss = Quantity(unitsystem(𝟏,𝟏,𝟏,𝟐*τ,𝟏))
const QCD = Quantity(unitsystem(𝟏,𝟏,𝟏,𝟏,inv(μₚₑ)))
const QCDGauss = Quantity(unitsystem(𝟏,𝟏,𝟏,𝟐*τ,inv(μₚₑ)))
const QCDoriginal = Quantity(unitsystem(𝟏,𝟏,𝟏,𝟐*τ*α,inv(μₚₑ)))

export SI, MKS, ME, GM, CGS, CGS2019, CGSm, CGSe, HLU, FFF, AE, EE, BG # SIE, GSI, GSI2019
export EnglishEngineering, BritishGravitational, AbsoluteEnglish, EnglishUS, EE2019, IAU
Expand Down
2 changes: 1 addition & 1 deletion src/physicsdocs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1492,7 +1492,7 @@ $(greatcircle(IAU))
@doc """
sackurtetrode(U::UnitSystem,P=atm,T=𝟏,m=Da) = log(kB*T/P*sqrt(m*kB*T/τ/ħ^2)^3)+5/2
dimensionless : [𝟙], [𝟙], [𝟙], [𝟙], [𝟙]
log(FL⁻²Θ⁻⁵ᐟ²A³ᐟ²⋅(μₑᵤ⁻³ᐟ²atm⁻¹τ⁻³ᐟ²exp(2⁻¹5) = 0.594141574194 ± 2.6e-11))
log(FL⁻²Θ⁻⁵ᐟ²A³ᐟ²⋅(μₑᵤ⁻³ᐟ²atm⁻¹τ⁻³ᐟ²exp(2⁻¹5) = 0.594141574194(26)))
Ideal gas entropy density for pressure `P`, temperature `T`, atomic mass `m` (dimensionless).
```Julia
Expand Down
Loading

0 comments on commit dfddbd0

Please sign in to comment.