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

41 statements  

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

1from sympy.core.singleton import S 

2 

3from sympy.core.numbers import pi 

4 

5from sympy.physics.units import DimensionSystem, hertz, kilogram 

6from sympy.physics.units.definitions import ( 

7 G, Hz, J, N, Pa, W, c, g, kg, m, s, meter, gram, second, newton, 

8 joule, watt, pascal) 

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

10 acceleration, action, energy, force, frequency, momentum, 

11 power, pressure, velocity, length, mass, time) 

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

13from sympy.physics.units.prefixes import ( 

14 kibi, mebi, gibi, tebi, pebi, exbi 

15) 

16from sympy.physics.units.definitions import ( 

17 cd, K, coulomb, volt, ohm, siemens, farad, henry, tesla, weber, dioptre, 

18 lux, katal, gray, becquerel, inch, hectare, liter, julian_year, 

19 gravitational_constant, speed_of_light, elementary_charge, planck, hbar, 

20 electronvolt, avogadro_number, avogadro_constant, boltzmann_constant, 

21 stefan_boltzmann_constant, atomic_mass_constant, molar_gas_constant, 

22 faraday_constant, josephson_constant, von_klitzing_constant, 

23 acceleration_due_to_gravity, magnetic_constant, vacuum_permittivity, 

24 vacuum_impedance, coulomb_constant, atmosphere, bar, pound, psi, mmHg, 

25 milli_mass_unit, quart, lightyear, astronomical_unit, planck_mass, 

26 planck_time, planck_temperature, planck_length, planck_charge, 

27 planck_area, planck_volume, planck_momentum, planck_energy, planck_force, 

28 planck_power, planck_density, planck_energy_density, planck_intensity, 

29 planck_angular_frequency, planck_pressure, planck_current, planck_voltage, 

30 planck_impedance, planck_acceleration, bit, byte, kibibyte, mebibyte, 

31 gibibyte, tebibyte, pebibyte, exbibyte, curie, rutherford, radian, degree, 

32 steradian, angular_mil, atomic_mass_unit, gee, kPa, ampere, u0, kelvin, 

33 mol, mole, candela, electric_constant, boltzmann, angstrom 

34) 

35 

36 

37dimsys_length_weight_time = DimensionSystem([ 

38 # Dimensional dependencies for MKS base dimensions 

39 length, 

40 mass, 

41 time, 

42], dimensional_dependencies={ 

43 # Dimensional dependencies for derived dimensions 

44 "velocity": {"length": 1, "time": -1}, 

45 "acceleration": {"length": 1, "time": -2}, 

46 "momentum": {"mass": 1, "length": 1, "time": -1}, 

47 "force": {"mass": 1, "length": 1, "time": -2}, 

48 "energy": {"mass": 1, "length": 2, "time": -2}, 

49 "power": {"length": 2, "mass": 1, "time": -3}, 

50 "pressure": {"mass": 1, "length": -1, "time": -2}, 

51 "frequency": {"time": -1}, 

52 "action": {"length": 2, "mass": 1, "time": -1}, 

53 "area": {"length": 2}, 

54 "volume": {"length": 3}, 

55}) 

56 

57 

58One = S.One 

59 

60 

61# Base units: 

62dimsys_length_weight_time.set_quantity_dimension(meter, length) 

63dimsys_length_weight_time.set_quantity_scale_factor(meter, One) 

64 

65# gram; used to define its prefixed units 

66dimsys_length_weight_time.set_quantity_dimension(gram, mass) 

67dimsys_length_weight_time.set_quantity_scale_factor(gram, One) 

68 

69dimsys_length_weight_time.set_quantity_dimension(second, time) 

70dimsys_length_weight_time.set_quantity_scale_factor(second, One) 

71 

72# derived units 

73 

74dimsys_length_weight_time.set_quantity_dimension(newton, force) 

75dimsys_length_weight_time.set_quantity_scale_factor(newton, kilogram*meter/second**2) 

76 

77dimsys_length_weight_time.set_quantity_dimension(joule, energy) 

78dimsys_length_weight_time.set_quantity_scale_factor(joule, newton*meter) 

79 

80dimsys_length_weight_time.set_quantity_dimension(watt, power) 

81dimsys_length_weight_time.set_quantity_scale_factor(watt, joule/second) 

82 

83dimsys_length_weight_time.set_quantity_dimension(pascal, pressure) 

84dimsys_length_weight_time.set_quantity_scale_factor(pascal, newton/meter**2) 

85 

86dimsys_length_weight_time.set_quantity_dimension(hertz, frequency) 

87dimsys_length_weight_time.set_quantity_scale_factor(hertz, One) 

88 

89# Other derived units: 

90 

91dimsys_length_weight_time.set_quantity_dimension(dioptre, 1 / length) 

92dimsys_length_weight_time.set_quantity_scale_factor(dioptre, 1/meter) 

93 

94# Common volume and area units 

95 

96dimsys_length_weight_time.set_quantity_dimension(hectare, length**2) 

97dimsys_length_weight_time.set_quantity_scale_factor(hectare, (meter**2)*(10000)) 

98 

99dimsys_length_weight_time.set_quantity_dimension(liter, length**3) 

100dimsys_length_weight_time.set_quantity_scale_factor(liter, meter**3/1000) 

101 

102 

103# Newton constant 

104# REF: NIST SP 959 (June 2019) 

105 

106dimsys_length_weight_time.set_quantity_dimension(gravitational_constant, length ** 3 * mass ** -1 * time ** -2) 

107dimsys_length_weight_time.set_quantity_scale_factor(gravitational_constant, 6.67430e-11*m**3/(kg*s**2)) 

108 

109# speed of light 

110 

111dimsys_length_weight_time.set_quantity_dimension(speed_of_light, velocity) 

112dimsys_length_weight_time.set_quantity_scale_factor(speed_of_light, 299792458*meter/second) 

113 

114 

115# Planck constant 

116# REF: NIST SP 959 (June 2019) 

117 

118dimsys_length_weight_time.set_quantity_dimension(planck, action) 

119dimsys_length_weight_time.set_quantity_scale_factor(planck, 6.62607015e-34*joule*second) 

120 

121# Reduced Planck constant 

122# REF: NIST SP 959 (June 2019) 

123 

124dimsys_length_weight_time.set_quantity_dimension(hbar, action) 

125dimsys_length_weight_time.set_quantity_scale_factor(hbar, planck / (2 * pi)) 

126 

127 

128__all__ = [ 

129 'mmHg', 'atmosphere', 'newton', 'meter', 'vacuum_permittivity', 'pascal', 

130 'magnetic_constant', 'angular_mil', 'julian_year', 'weber', 'exbibyte', 

131 'liter', 'molar_gas_constant', 'faraday_constant', 'avogadro_constant', 

132 'planck_momentum', 'planck_density', 'gee', 'mol', 'bit', 'gray', 'kibi', 

133 'bar', 'curie', 'prefix_unit', 'PREFIXES', 'planck_time', 'gram', 

134 'candela', 'force', 'planck_intensity', 'energy', 'becquerel', 

135 'planck_acceleration', 'speed_of_light', 'dioptre', 'second', 'frequency', 

136 'Hz', 'power', 'lux', 'planck_current', 'momentum', 'tebibyte', 

137 'planck_power', 'degree', 'mebi', 'K', 'planck_volume', 

138 'quart', 'pressure', 'W', 'joule', 'boltzmann_constant', 'c', 'g', 

139 'planck_force', 'exbi', 's', 'watt', 'action', 'hbar', 'gibibyte', 

140 'DimensionSystem', 'cd', 'volt', 'planck_charge', 'angstrom', 

141 'dimsys_length_weight_time', 'pebi', 'vacuum_impedance', 'planck', 

142 'farad', 'gravitational_constant', 'u0', 'hertz', 'tesla', 'steradian', 

143 'josephson_constant', 'planck_area', 'stefan_boltzmann_constant', 

144 'astronomical_unit', 'J', 'N', 'planck_voltage', 'planck_energy', 

145 'atomic_mass_constant', 'rutherford', 'elementary_charge', 'Pa', 

146 'planck_mass', 'henry', 'planck_angular_frequency', 'ohm', 'pound', 

147 'planck_pressure', 'G', 'avogadro_number', 'psi', 'von_klitzing_constant', 

148 'planck_length', 'radian', 'mole', 'acceleration', 

149 'planck_energy_density', 'mebibyte', 'length', 

150 'acceleration_due_to_gravity', 'planck_temperature', 'tebi', 'inch', 

151 'electronvolt', 'coulomb_constant', 'kelvin', 'kPa', 'boltzmann', 

152 'milli_mass_unit', 'gibi', 'planck_impedance', 'electric_constant', 'kg', 

153 'coulomb', 'siemens', 'byte', 'atomic_mass_unit', 'm', 'kibibyte', 

154 'kilogram', 'lightyear', 'mass', 'time', 'pebibyte', 'velocity', 

155 'ampere', 'katal', 

156]