Class Units

java.lang.Object
org.episteme.core.measure.Units

public final class Units extends Object
Standard units of measurement.

Provides SI base units, derived units, and common non-SI units. All units follow UCUM (Unified Code for Units of Measure) conventions where applicable.

Example Usage:

import static org.episteme.core.measure.Units.*;

Quantity<Length> distance = Quantities.create(100, METER);
Quantity<Velocity> speed = Quantities.create(50, KILOMETER_PER_HOUR);

* @author Silvere Martin-Michiellot
Since:
1.0
Author:
Gemini AI (Google DeepMind)
  • Field Details

    • METER

      public static final Unit<Length> METER
      The SI unit of length: meter (m).

      Defined by the distance light travels in vacuum in 1/299,792,458 second.

    • KILOGRAM

      public static final Unit<Mass> KILOGRAM
      The SI unit of mass: kilogram (kg).

      Defined by the Planck constant h = 6.62607015×10⁻³⁴ kg⋅m²⋅s⁻¹.

    • UNIFIED_ATOMIC_MASS

      public static final Unit<Mass> UNIFIED_ATOMIC_MASS
      The Unified Atomic Mass Unit: u (Dalton). 1 u = 1.66053906660e-27 kg.
    • SECOND

      public static final Unit<Time> SECOND
      The SI unit of time: second (s).

      Defined by the cesium-133 hyperfine transition frequency.

    • KELVIN

      public static final Unit<Temperature> KELVIN
      The SI unit of temperature: kelvin (K).
    • CELSIUS

      public static final Unit<Temperature> CELSIUS
      Celsius: °C = K - 273.15 Since add(offset) means Value(Base) = Value(Derived) + Offset usually? Let's test assumption: If 0 C = 273.15 K. If Val(K) = Val(C) + 273.15. then add(273.15). Previous code had -273.15 which implies Val(K) = Val(C) - 273.15.
    • FAHRENHEIT

      public static final Unit<Temperature> FAHRENHEIT
      Fahrenheit: 0 F = 255.37 K (relative offset) + 255.37 step? Correct conversion chain K invalid input: '<'-> F: Val(K) = (Val(F) + 459.67) * 5/9 Val(K) = Val(F) * 5/9 + 255.372222... This corresponds to Mult(5/9) -> Add(255.372...).
    • AMPERE

      public static final Unit<ElectricCurrent> AMPERE
      The SI unit of electric current: ampere (A).
    • MOLE

      public static final Unit<AmountOfSubstance> MOLE
      The SI unit of amount of substance: mole (mol).
    • CANDELA

      public static final Unit<LuminousIntensity> CANDELA
      The SI unit of luminous intensity: candela (cd).
    • RADIAN

      public static final Unit<Angle> RADIAN
      Radian: rad (plane angle).
    • STERADIAN

      public static final Unit<Dimensionless> STERADIAN
      Steradian: sr (solid angle).
    • KILOMETER

      public static final Unit<Length> KILOMETER
      Kilometer: 1 km = 1000 m
    • CENTIMETER

      public static final Unit<Length> CENTIMETER
      Centimeter: 1 cm = 0.01 m
    • MILLIMETER

      public static final Unit<Length> MILLIMETER
      Millimeter: 1 mm = 0.001 m
    • MICROMETER

      public static final Unit<Length> MICROMETER
      Micrometer: 1 μm = 10⁻⁶ m
    • NANOMETER

      public static final Unit<Length> NANOMETER
      Nanometer: 1 nm = 10⁻⁹ m
    • GRAM

      public static final Unit<Mass> GRAM
      Gram: 1 g = 0.001 kg
    • MILLIGRAM

      public static final Unit<Mass> MILLIGRAM
      Milligram: 1 mg = 10⁻⁶ kg
    • TONNE

      public static final Unit<Mass> TONNE
      Tonne (metric ton): 1 t = 1000 kg
    • MINUTE

      public static final Unit<Time> MINUTE
      Minute: 1 min = 60 s
    • HOUR

      public static final Unit<Time> HOUR
      Hour: 1 h = 3600 s
    • DAY

      public static final Unit<Time> DAY
      Day: 1 d = 86400 s
    • WEEK

      public static final Unit<Time> WEEK
      Week: 1 wk = 7 d
    • MILLISECOND

      public static final Unit<Time> MILLISECOND
      Millisecond: 1 ms = 0.001 s
    • MICROSECOND

      public static final Unit<Time> MICROSECOND
      Microsecond: 1 μs = 10⁻⁶ s
    • NANOSECOND

      public static final Unit<Time> NANOSECOND
      Nanosecond: 1 ns = 10⁻⁹ s
    • ONE

      public static final Unit<Dimensionless> ONE
      Dimensionless unit: 1 (for ratios).
    • PERCENT

      public static final Unit<Dimensionless> PERCENT
      Percent unit: % = 1/100.
    • SQUARE_METER

      public static final Unit<Area> SQUARE_METER
      Square meter: m² (area).
    • CUBIC_METER

      public static final Unit<Volume> CUBIC_METER
      Cubic meter: m³ (volume).
    • KILOGRAM_PER_CUBIC_METER

      public static final Unit<MassDensity> KILOGRAM_PER_CUBIC_METER
      Kilogram per cubic meter: kg/m³ (density).
    • METER_PER_SECOND

      public static final Unit<Velocity> METER_PER_SECOND
      Meter per second: m/s (velocity).
    • KILOMETER_PER_HOUR

      public static final Unit<Velocity> KILOMETER_PER_HOUR
      Kilometer per hour: km/h (velocity).
    • METERS_PER_SECOND_SQUARED

      public static final Unit<Acceleration> METERS_PER_SECOND_SQUARED
      Meter per second squared: m/s² (acceleration).
    • JOULE

      public static final Unit<Energy> JOULE
      Joule: J (energy). 1 J = 1 kg⋅m²/s²
    • KILOJOULE

      public static final Unit<Energy> KILOJOULE
      Kilojoule: 1 kJ = 1000 J
    • WATT

      public static final Unit<Power> WATT
      Watt: W (power). 1 W = 1 J/s
    • WATT_HOUR

      public static final Unit<Energy> WATT_HOUR
      Watt-hour: W*h = 3600 J
    • KILOWATT_HOUR

      public static final Unit<Energy> KILOWATT_HOUR
      Kilowatt-hour: kWh = 1000 Wh
    • NEWTON

      public static final Unit<Force> NEWTON
      Newton: N (force). 1 N = 1 kg⋅m/s²
    • PASCAL

      public static final Unit<Pressure> PASCAL
      Pascal: Pa (pressure). 1 Pa = 1 N/m² = 1 kg/(m⋅s²)
    • HERTZ

      public static final Unit<Frequency> HERTZ
      Hertz: Hz (frequency). 1 Hz = 1/s
    • VOLT

      public static final Unit<ElectricPotential> VOLT
      Volt: V (electric potential). 1 V = 1 W/A = 1 J/(Aâ‹…s)
    • COULOMB

      public static final Unit<ElectricCharge> COULOMB
      Coulomb: C (electric charge). 1 C = 1 Aâ‹…s
    • FARAD

      public static final Unit<ElectricCapacitance> FARAD
      Farad: F (capacitance). Simplified as C²⋅s²/(kg⋅m²)
    • HENRY

      public static final Unit<Inductance> HENRY
      Henry: H (inductance). 1 H = kg⋅m²/(s²⋅A²)
    • OHM

      public static final Unit<ElectricResistance> OHM
      Ohm: Ω (electric resistance). 1 Ω = 1 V/A
    • INCH

      public static final Unit<Length> INCH
      Inch: 1 in = 0.0254 m (exactly)
    • YARD

      public static final Unit<Length> YARD
      Yard: 1 yd = 0.9144 m
    • MILE

      public static final Unit<Length> MILE
      Mile: 1 mi = 1609.344 m
    • POUND

      public static final Unit<Mass> POUND
      Pound (mass): 1 lb = 0.45359237 kg (exactly)
    • OUNCE

      public static final Unit<Mass> OUNCE
      Ounce: 1 oz = 0.028349523125 kg
    • MILE_PER_HOUR

      public static final Unit<Velocity> MILE_PER_HOUR
      Miles per hour: mph
    • LITRE

      public static final Unit<Volume> LITRE
      Litre: 1 L = 0.001 m³
    • GALLON_LIQUID_US

      public static final Unit<Volume> GALLON_LIQUID_US
      US Liquid Gallon: 1 gal = 3.785411784 L
    • ATMOSPHERE

      public static final Unit<Pressure> ATMOSPHERE
      Atmosphere: 1 atm = 101325 Pa
    • BAR

      public static final Unit<Pressure> BAR
      Bar: 1 bar = 100000 Pa
    • POUND_PER_SQUARE_INCH

      public static final Unit<Pressure> POUND_PER_SQUARE_INCH
      Pound per square inch: 1 psi ≈ 6894.76 Pa
    • MILLIMETRE_OF_MERCURY

      public static final Unit<Pressure> MILLIMETRE_OF_MERCURY
      Millimeter of mercury: 1 mmHg ≈ 133.322 Pa
    • CALORIE

      public static final Unit<Energy> CALORIE
      Calorie (thermochemical): 1 cal = 4.184 J
    • KILOCALORIE

      public static final Unit<Energy> KILOCALORIE
      Kilocalorie (food calorie): 1 kcal = 1000 cal
    • ELECTRON_VOLT

      public static final Unit<Energy> ELECTRON_VOLT
      Electronvolt: 1 eV ≈ 1.602×10⁻¹⁹ J
    • DEGREE_ANGLE

      public static final Unit<Angle> DEGREE_ANGLE
      Degree: 1° = π/180 rad
    • MINUTE_ANGLE

      public static final Unit<Angle> MINUTE_ANGLE
      Minute (angle): 1' = 1°/60
    • SECOND_ANGLE

      public static final Unit<Angle> SECOND_ANGLE
      Second (angle): 1" = 1'/60
    • YEAR

      public static final Unit<Time> YEAR
      Julian Year: 1 yr = 365.25 d
    • KNOT

      public static final Unit<Velocity> KNOT
      Knot: 1 kn = 1852 m/h
    • LIGHT_YEAR

      public static final Unit<Length> LIGHT_YEAR
      Light-year: 1 ly ≈ 9.461×10¹⁵ m
    • NAUTICAL_MILE

      public static final Unit<Length> NAUTICAL_MILE
      Nautical Mile: 1852 m
    • MACH

      public static final Unit<Velocity> MACH
      Mach: Speed of sound in air at 20°C ≈ 343.2 m/s
    • M

      public static final Unit<Length> M
      Alias for METER
    • KM

      public static final Unit<Length> KM
      Alias for KILOMETER
    • KG

      public static final Unit<Mass> KG
      Alias for KILOGRAM
    • G

      public static final Unit<Mass> G
      Alias for GRAM
    • S

      public static final Unit<Time> S
      Alias for SECOND
    • MPS

      public static final Unit<Velocity> MPS
      Alias for METER_PER_SECOND
    • KPH

      public static final Unit<Velocity> KPH
      Alias for KILOMETER_PER_HOUR
    • MPH

      public static final Unit<Velocity> MPH
      Alias for MILE_PER_HOUR
    • METERS_PER_SECOND

      public static final Unit<Velocity> METERS_PER_SECOND
      Legacy Alias for METER_PER_SECOND
    • KILOMETRES_PER_HOUR

      public static final Unit<Velocity> KILOMETRES_PER_HOUR
      Legacy Alias for KILOMETER_PER_HOUR (British spelling)
    • MILES_PER_HOUR

      public static final Unit<Velocity> MILES_PER_HOUR
      Legacy Alias for MILE_PER_HOUR
  • Method Details

    • parseUnit

      public static Unit<?> parseUnit(String symbol)
      Parses a unit from its symbol.
      Parameters:
      symbol - the unit symbol (e.g., "m", "kg", "m/s")
      Returns:
      the unit corresponding to the symbol
      Throws:
      IllegalArgumentException - if the symbol is not recognized