Skip to content

vanliggubbe/LessUnits.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LessUnits

Build Status

A package for converting dimensional quantities into dimensionless ones. It is compatible with Unitful.jl.

To use the package, define a tuple of reference quantities that act as the “units” for the corresponding base dimensions you want to work with (e.g. charge, action, frequency, temperature, etc.). You can then convert dimensional quantities to dimensionless values with respect to these references, and construct the appropriate unit for other dimensional quantities in the same reduced unit system.

Usage

using Unitful
using LessUnits

# Reference quantities:
# charge: double elementary charge
# action: reduced Planck constant
# frequency: 1 GHz (with a 2π factor for angular frequency)
# temperature: energy scale (k_B * T)
u = (2u"q", 1u"ħ", 2π * 1u"GHz", 1u"k")

C_ul = unitless(u, 200u"fF")   # unitless capacitance
L_ul = unitless(u, 0.5u"nH")   # unitless inductance
V_ul = unitless(u, 0.2u"mV")   # unitless voltage

Z_uf = sqrt(L_ul / C_ul) * unitof(Unitful.ElectricalResistance, u)    # unitful impedance
F_uf = inv(2π * sqrt(C_ul * L_ul)) * unitof(u"Hz", u)                 # unitful frequency, in Hz

Related packages

Similar functional can be found in Dimensionless.jl.

About

Dimension reduction for dimensional quantities

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages