Coverage for /usr/lib/python3/dist-packages/sympy/physics/units/systems/mksa.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2025-06-14 15:55 +0200

1""" 

2MKS unit system. 

3 

4MKS stands for "meter, kilogram, second, ampere". 

5""" 

6 

7from __future__ import annotations 

8 

9from sympy.physics.units.definitions import Z0, ampere, coulomb, farad, henry, siemens, tesla, volt, weber, ohm 

10from sympy.physics.units.definitions.dimension_definitions import ( 

11 capacitance, charge, conductance, current, impedance, inductance, 

12 magnetic_density, magnetic_flux, voltage) 

13from sympy.physics.units.prefixes import PREFIXES, prefix_unit 

14from sympy.physics.units.systems.mks import MKS, dimsys_length_weight_time 

15from sympy.physics.units.quantities import Quantity 

16 

17dims = (voltage, impedance, conductance, current, capacitance, inductance, charge, 

18 magnetic_density, magnetic_flux) 

19 

20units = [ampere, volt, ohm, siemens, farad, henry, coulomb, tesla, weber] 

21 

22all_units: list[Quantity] = [] 

23for u in units: 

24 all_units.extend(prefix_unit(u, PREFIXES)) 

25all_units.extend(units) 

26 

27all_units.append(Z0) 

28 

29dimsys_MKSA = dimsys_length_weight_time.extend([ 

30 # Dimensional dependencies for base dimensions (MKSA not in MKS) 

31 current, 

32], new_dim_deps={ 

33 # Dimensional dependencies for derived dimensions 

34 "voltage": {"mass": 1, "length": 2, "current": -1, "time": -3}, 

35 "impedance": {"mass": 1, "length": 2, "current": -2, "time": -3}, 

36 "conductance": {"mass": -1, "length": -2, "current": 2, "time": 3}, 

37 "capacitance": {"mass": -1, "length": -2, "current": 2, "time": 4}, 

38 "inductance": {"mass": 1, "length": 2, "current": -2, "time": -2}, 

39 "charge": {"current": 1, "time": 1}, 

40 "magnetic_density": {"mass": 1, "current": -1, "time": -2}, 

41 "magnetic_flux": {"length": 2, "mass": 1, "current": -1, "time": -2}, 

42}) 

43 

44MKSA = MKS.extend(base=(ampere,), units=all_units, name='MKSA', dimension_system=dimsys_MKSA, derived_units={ 

45 magnetic_flux: weber, 

46 impedance: ohm, 

47 current: ampere, 

48 voltage: volt, 

49 inductance: henry, 

50 conductance: siemens, 

51 magnetic_density: tesla, 

52 charge: coulomb, 

53 capacitance: farad, 

54})