-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
It is often useful to know what kind an unit is.
For example, take the Henry, unit for inductance.
Its definition in unitmath is:
{
name: 'henry',
value: 1,
offset: 0,
dimension: { MASS: 1, LENGTH: 2, TIME: -2, CURRENT: -2 },
prefixGroup: {
'': 1,
deca: 10,
hecto: 100,
kilo: 1000,
mega: 1000000,
giga: 1000000000,
tera: 1000000000000,
peta: 1000000000000000,
exa: 1000000000000000000,
zetta: 1e+21,
yotta: 1e+24,
deci: 0.1,
centi: 0.01,
milli: 0.001,
micro: 0.000001,
nano: 1e-9,
pico: 1e-12,
femto: 1e-15,
atto: 1e-18,
zepto: 1e-21,
yocto: 1e-24
},
formatPrefixes: [ 'micro', 'milli', '' ],
basePrefix: undefined
}I would propose to add a field called kind with value INDUCTANCE.
This would allow to simplify whenever you know the kind of a unit, and want to see the available alternatives, e.g. when selecting units for a quantity in a user interface.
Here's an (incomplete!) list of kinds compiled from the defined units and wikipedia:
{
UNITLESS: { UNITLESS: 1 },
CURRENCY: { UNITLESS: 1 },
LENGTH: { LENGTH: 1 },
AREA: { LENGTH: 2 },
VOLUME: { LENGTH: 3 },
TIME: { TIME: 1 },
TEMPERATURE: { TEMPERATURE: 1 },
POWER: { MASS: 1, LENGTH: 2, TIME: -3 },
PRESSURE: { MASS: 1, LENGTH: -1, TIME: -2 },
FORCE: { MASS: 1, LENGTH: 1, TIME: -2 },
ENERGY: { MASS: 1, LENGTH: 2, TIME: -2 },
MASS: { MASS: 1 },
CURRENT: { CURRENT: 1 },
CAPACITANCE: { MASS: -1, LENGTH: -2, TIME: 4, CURRENT: 2 },
INDUCTANCE: { MASS: 1, LENGTH: 2, TIME: -2, CURRENT: -2 },
IRRADIANCE: { MASS: 1, TIME: -3 }, // added unit kind (W/m²) - COMPOSED UNIT! might consider not supporting
RESISTANCE: { MASS: 1, LENGTH: 2, TIME: -3, CURRENT: -2 },
POTENTIAL: { MASS: 1, LENGTH: 2, TIME: -3, CURRENT: -1 },
ACCELERATION: { LENGTH: 1, TIME: -2 },
SPEED: { LENGTH: 1, TIME: -1 },
VOLUMETRIC_FLOW: { LENGTH: 3, TIME: -1 },
INFORMATION_RATE: { BIT: 1, TIME: -1 },
INFORMATION: { BIT: 1 },
ANGULAR_VELOCITY: { ANGLE: 1, TIME: -1 },
ANGULAR_ACCELERATION: { ANGLE: 1, TIME: -1 },
ANGLE: { ANGLE: 1 },
FREQUENCY: { TIME: -1 },
CHARGE: { CURRENT: 1, TIME: 1 },
SOLID_ANGLE: { SOLID_ANGLE: 1 },
RESISTIVITY: { MASS: 1, LENGTH: 3, TIME: -3, CURRENT: -2 }, // added unit kind (ohm meter) - COMPOSED UNIT! might consider not supporting
CONDUCTANCE: { MASS: -1, LENGTH: -2, TIME: 3, CURRENT: 2 },
DENSITY: { MASS: 1, LENGTH: -3 },
MAGNETISM: { MASS: 1, LENGTH: 0, TIME: -2, CURRENT: -1 },
LUMINOUS_INTENSITY: { LUMINOUS_INTENSITY: 1 },
LUMINOUS_FLUX: { LUMINOUS_INTENSITY: 1, SOLID_ANGLE: 1 },
YANK: { MASS: 1, LENGTH: 1, TIME: -3 },
VISCOSITY: { MASS: 1, LENGTH: -1, TIME: -1 },
MOMENTUM: { MASS: 1, LENGTH: 1, TIME: -1 },
ANGULAR_MOMENTUM: { MASS: 1, LENGTH: 2, TIME: -1 },
AREA_DENSITY: { MASS: 1, LENGTH: -2 },
RADIATION_EXPOSURE: { LENGTH: -2, TIME: 1 },
MAGNETIC_FLUX: { MASS: 1, LENGTH: 2, TIME: -2, CURRENT: -1 }, // added unit kind (weber) - https://github.com/ericman314/UnitMath/issues/65
ACTIVITY: { TIME: -1 }, // missing unit (Bequerel) - https://github.com/ericman314/UnitMath/issues/65
MOLAR_CONCENTRATION: { LENGTH: -3, AMOUNT_OF_SUBSTANCE: 1 },
SUBSTANCE: { AMOUNT_OF_SUBSTANCE: 1 },
ILLUMINANCE: { LUMINOUS_INTENSITY: 1, SOLID_ANGLE: 1, LENGTH: -2 }, // corrected from original unitmath (lux) - https://github.com/ericman314/UnitMath/issues/66
ELASTANCE: { MASS: 1, LENGTH: 2, TIME: -4, CURRENT: -2 },
SPECIFIC_VOLUME: { LENGTH: 3, MASS: -1 },
JOLT: { LENGTH: 1, TIME: -3 },
SNAP: { LENGTH: 1, TIME: -4 },
RADIATION: { LENGTH: 2, TIME: -2 },
WAVENUMBER: { LENGTH: -1 },
}Metadata
Metadata
Assignees
Labels
No labels