Exemplo n.º 1
0
def test_prefix_unit():
    length = Dimension("length")
    m = Quantity("meter", length, 1, abbrev="m")

    pref = {"m": PREFIXES["m"], "c": PREFIXES["c"], "d": PREFIXES["d"]}

    res = [Quantity("millimeter", length, PREFIXES["m"], "mm"),
           Quantity("centimeter", length, PREFIXES["c"], "cm"),
           Quantity("decimeter", length, PREFIXES["d"], "dm")]

    prefs = prefix_unit(m, pref)
    assert set(prefs) == set(res)
    assert set(map(lambda x: x.abbrev, prefs)) == set(symbols("mm,cm,dm"))
Exemplo n.º 2
0
def test_prefix_unit():
    length = Dimension("length")
    m = Quantity("meter", length, 1, abbrev="m")

    pref = {"m": PREFIXES["m"], "c": PREFIXES["c"], "d": PREFIXES["d"]}

    res = [Quantity("millimeter", length, PREFIXES["m"], abbrev="mm"),
           Quantity("centimeter", length, PREFIXES["c"], abbrev="cm"),
           Quantity("decimeter", length, PREFIXES["d"], abbrev="dm")]

    prefs = prefix_unit(m, pref)
    assert set(prefs) == set(res)
    assert set(map(lambda x: x.abbrev, prefs)) == set(symbols("mm,cm,dm"))
Exemplo n.º 3
0
def test_prefix_unit():
    m = Quantity("fake_meter", abbrev="m")
    m.set_global_relative_scale_factor(1, meter)

    pref = {"m": PREFIXES["m"], "c": PREFIXES["c"], "d": PREFIXES["d"]}

    q1 = Quantity("millifake_meter", abbrev="mm")
    q2 = Quantity("centifake_meter", abbrev="cm")
    q3 = Quantity("decifake_meter", abbrev="dm")

    SI.set_quantity_dimension(q1, length)

    SI.set_quantity_scale_factor(q1, PREFIXES["m"])
    SI.set_quantity_scale_factor(q1, PREFIXES["c"])
    SI.set_quantity_scale_factor(q1, PREFIXES["d"])

    res = [q1, q2, q3]

    prefs = prefix_unit(m, pref)
    assert set(prefs) == set(res)
    assert set(map(lambda v: v.abbrev, prefs)) == set(symbols("mm,cm,dm"))
Exemplo n.º 4
0
def test_prefix_unit():
    m = Quantity("fake_meter", abbrev="m")
    m.set_dimension(length)
    m.set_scale_factor(1)

    pref = {"m": PREFIXES["m"], "c": PREFIXES["c"], "d": PREFIXES["d"]}

    q1 = Quantity("millifake_meter", abbrev="mm")
    q2 = Quantity("centifake_meter", abbrev="cm")
    q3 = Quantity("decifake_meter", abbrev="dm")

    q1.set_dimension(length)
    q1.set_dimension(length)
    q1.set_dimension(length)

    q1.set_scale_factor(PREFIXES["m"])
    q1.set_scale_factor(PREFIXES["c"])
    q1.set_scale_factor(PREFIXES["d"])

    res = [q1, q2, q3]

    prefs = prefix_unit(m, pref)
    assert set(prefs) == set(res)
    assert set(map(lambda x: x.abbrev, prefs)) == set(symbols("mm,cm,dm"))
Exemplo n.º 5
0
def test_prefix_unit():
    m = Quantity("fake_meter", abbrev="m")
    m.set_dimension(length)
    m.set_scale_factor(1)

    pref = {"m": PREFIXES["m"], "c": PREFIXES["c"], "d": PREFIXES["d"]}

    q1 = Quantity("millifake_meter", abbrev="mm")
    q2 = Quantity("centifake_meter", abbrev="cm")
    q3 = Quantity("decifake_meter", abbrev="dm")

    q1.set_dimension(length)
    q1.set_dimension(length)
    q1.set_dimension(length)

    q1.set_scale_factor(PREFIXES["m"])
    q1.set_scale_factor(PREFIXES["c"])
    q1.set_scale_factor(PREFIXES["d"])

    res = [q1, q2, q3]

    prefs = prefix_unit(m, pref)
    assert set(prefs) == set(res)
    assert set(map(lambda x: x.abbrev, prefs)) == set(symbols("mm,cm,dm"))
Exemplo n.º 6
0
Arquivo: mks.py Projeto: msgoff/sympy
    energy,
    power,
    pressure,
    frequency,
    action,
)

units = [m, g, s, J, N, W, Pa, Hz]
all_units = []

# Prefixes of units like g, J, N etc get added using `prefix_unit`
# in the for loop, but the actual units have to be added manually.
all_units.extend([g, J, N, W, Pa, Hz])

for u in units:
    all_units.extend(prefix_unit(u, PREFIXES))
all_units.extend([G, c])

# unit system
MKS = UnitSystem(
    base_units=(m, kg, s),
    units=all_units,
    name="MKS",
    dimension_system=dimsys_length_weight_time,
)

__all__ = [
    "force",
    "division",
    "DimensionSystem",
    "energy",
Exemplo n.º 7
0
    1.38064852e-23*kilogram*meter**2/(kelvin*second**2)
    >>> SI.print_unit_base(lux)
    candela/meter**2

"""

from __future__ import division

from sympy.physics.units.definitions import cd, K, mol, lux
from sympy.physics.units.dimensions import (
    amount_of_substance, luminous_intensity, temperature)

from sympy.physics.units.prefixes import PREFIXES, prefix_unit
from sympy.physics.units.systems.mksa import MKSA, _mksa_dim

derived_dims = ()
base_dims = (amount_of_substance, luminous_intensity, temperature)

# dimension system
_si_dim = _mksa_dim.extend(base=base_dims, dims=derived_dims, name='SI')


units = [mol, cd, K, lux]
all_units = []
for u in units:
    all_units.extend(prefix_unit(u, PREFIXES))

all_units.extend([mol, cd, K, lux])

SI = MKSA.extend(base=(mol, cd, K), units=all_units, name='SI')
Exemplo n.º 8
0
"""
Naturalunit system.

The natural system comes from "setting c = 1, hbar = 1". From the computer
point of view it means that we use velocity and action instead of length and
time. Moreover instead of mass we use energy.
"""

from __future__ import division

from sympy.physics.units import DimensionSystem
from sympy.physics.units.definitions import c, eV, hbar
from sympy.physics.units.definitions.dimension_definitions import (
    action, energy, force, frequency, length, mass, momentum, power, time,
    velocity)
from sympy.physics.units.prefixes import PREFIXES, prefix_unit
from sympy.physics.units.unitsystem import UnitSystem

# dimension system
_natural_dim = DimensionSystem(base_dims=(action, energy, velocity),
                               derived_dims=(length, mass, time, momentum,
                                             force, power, frequency))

units = prefix_unit(eV, PREFIXES)

# unit system
natural = UnitSystem(base_units=(hbar, eV, c),
                     units=units,
                     name="Natural system")
Exemplo n.º 9
0
"""
Naturalunit system.

The natural system comes from "setting c = 1, hbar = 1". From the computer
point of view it means that we use velocity and action instead of length and
time. Moreover instead of mass we use energy.
"""

from __future__ import division

from sympy.physics.units.definitions import c, eV, hbar
from sympy.physics.units.dimensions import (
    DimensionSystem, action, energy, force, frequency, length, mass, momentum,
    power, time, velocity)
from sympy.physics.units.prefixes import PREFIXES, prefix_unit
from sympy.physics.units.unitsystem import UnitSystem


# dimension system
_natural_dim = DimensionSystem(
    base_dims=(action, energy, velocity),
    derived_dims=(length, mass, time, momentum, force, power, frequency)
)

units = prefix_unit(eV, PREFIXES)

# unit system
natural = UnitSystem(base=(hbar, eV, c), units=units, name="Natural system")