Extends Unitful.jl to include angle as a dimension and allow dispatching on angles.
Install DimensionfulAngles.jl the usual way Julia packages are installed, i.e., using Julia package manager:
using Pkg
Pkg.add("DimensionfulAngles")
or in the Pkg REPL (enter from the Julia REPL with ]
):
pkg> add DimensionfulAngles
Use DimensionfulAngles.jl for units containing angles and Unitful.jl for all other units.
The units in DimensionfulAngles.jl are differentiated from their dimensionless counterparts with a subscript įµ
.
Simply add this subscript to any angle units to make it dimensionful.
In Julia environments this can be typed as \^a<tab>
.
julia> using Unitful
julia> using DimensionfulAngles
julia> dimensionless_angle = 1u"rad"
1 rad
julia> dimensionful_angle = 1u"radįµ"
1 rad
julia> typeof(dimensionless_angle)
Quantity{Int64, NoDims, Unitful.FreeUnits{(rad,), NoDims, nothing}}
julia> typeof(dimensionful_angle)
Quantity{Int64, š, Unitful.FreeUnits{(rad,), š, nothing}}
When defining quantities with units from DimensionfulAngles.jl you can use the ua
string instead and omit the subscript įµ
.
But when defining quantities with units from both it is more convenient to use the u
string.
julia> dimensionful_angle = 1ua"rad"
1 rad
julia> typeof(dimensionful_angle)
Quantity{Int64, š, Unitful.FreeUnits{(rad,), š, nothing}}
julia> angular_velocity = 1.2u"radįµ/s"
1.2 rad sā»Ā¹
julia> typeof(angular_velocity)
Quantity{Float64, š šā»Ā¹, Unitful.FreeUnits{(rad, sā»Ā¹), š šā»Ā¹, nothing}}
A third alternative is to directly import only the units you will be using and renaming those from DimensionfulAngles.jl to remove the superscript įµ
.
julia> using Unitful
julia> using Unitful: m, s, kg
julia> using DimensionfulAngles: radįµ as rad, Ā°įµ as Ā°
julia> angular_velocity = 1.2rad / s
1.2 rad sā»Ā¹
Contributions are welcome! š Please see the contribution guidelines for ways to contribute to the project.
-
Some portions of this software are adapted from:
- UnitfulAngles.jl: Copyright (c) 2017: Yakir Luc Gagnon.
- UnitfulUS.jl: Copyright (c) 2017, California Institute of Technology. All rights reserved.
-
The name DimensionfulAngles was suggested by @sostock.
-
This is an open source project. Thanks to all who have contributed! ššš
Made with contrib.rocks.