Spaces:
Sleeping
Sleeping
""" | |
MKS unit system. | |
MKS stands for "meter, kilogram, second, ampere". | |
""" | |
from __future__ import annotations | |
from sympy.physics.units.definitions import Z0, ampere, coulomb, farad, henry, siemens, tesla, volt, weber, ohm | |
from sympy.physics.units.definitions.dimension_definitions import ( | |
capacitance, charge, conductance, current, impedance, inductance, | |
magnetic_density, magnetic_flux, voltage) | |
from sympy.physics.units.prefixes import PREFIXES, prefix_unit | |
from sympy.physics.units.systems.mks import MKS, dimsys_length_weight_time | |
from sympy.physics.units.quantities import Quantity | |
dims = (voltage, impedance, conductance, current, capacitance, inductance, charge, | |
magnetic_density, magnetic_flux) | |
units = [ampere, volt, ohm, siemens, farad, henry, coulomb, tesla, weber] | |
all_units: list[Quantity] = [] | |
for u in units: | |
all_units.extend(prefix_unit(u, PREFIXES)) | |
all_units.extend(units) | |
all_units.append(Z0) | |
dimsys_MKSA = dimsys_length_weight_time.extend([ | |
# Dimensional dependencies for base dimensions (MKSA not in MKS) | |
current, | |
], new_dim_deps={ | |
# Dimensional dependencies for derived dimensions | |
"voltage": {"mass": 1, "length": 2, "current": -1, "time": -3}, | |
"impedance": {"mass": 1, "length": 2, "current": -2, "time": -3}, | |
"conductance": {"mass": -1, "length": -2, "current": 2, "time": 3}, | |
"capacitance": {"mass": -1, "length": -2, "current": 2, "time": 4}, | |
"inductance": {"mass": 1, "length": 2, "current": -2, "time": -2}, | |
"charge": {"current": 1, "time": 1}, | |
"magnetic_density": {"mass": 1, "current": -1, "time": -2}, | |
"magnetic_flux": {"length": 2, "mass": 1, "current": -1, "time": -2}, | |
}) | |
MKSA = MKS.extend(base=(ampere,), units=all_units, name='MKSA', dimension_system=dimsys_MKSA, derived_units={ | |
magnetic_flux: weber, | |
impedance: ohm, | |
current: ampere, | |
voltage: volt, | |
inductance: henry, | |
conductance: siemens, | |
magnetic_density: tesla, | |
charge: coulomb, | |
capacitance: farad, | |
}) | |