qnty 0.0.8__py3-none-any.whl → 0.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. qnty/__init__.py +140 -58
  2. qnty/_backup/problem_original.py +1251 -0
  3. qnty/_backup/quantity.py +63 -0
  4. qnty/codegen/cli.py +125 -0
  5. qnty/codegen/generators/data/unit_data.json +8807 -0
  6. qnty/codegen/generators/data_processor.py +345 -0
  7. qnty/codegen/generators/dimensions_gen.py +434 -0
  8. qnty/codegen/generators/doc_generator.py +141 -0
  9. qnty/codegen/generators/out/dimension_mapping.json +974 -0
  10. qnty/codegen/generators/out/dimension_metadata.json +123 -0
  11. qnty/codegen/generators/out/units_metadata.json +223 -0
  12. qnty/codegen/generators/quantities_gen.py +159 -0
  13. qnty/codegen/generators/setters_gen.py +178 -0
  14. qnty/codegen/generators/stubs_gen.py +167 -0
  15. qnty/codegen/generators/units_gen.py +295 -0
  16. qnty/codegen/generators/utils/__init__.py +0 -0
  17. qnty/equations/__init__.py +4 -0
  18. qnty/{equation.py → equations/equation.py} +78 -118
  19. qnty/equations/system.py +127 -0
  20. qnty/expressions/__init__.py +61 -0
  21. qnty/expressions/cache.py +94 -0
  22. qnty/expressions/functions.py +96 -0
  23. qnty/{expression.py → expressions/nodes.py} +209 -216
  24. qnty/generated/__init__.py +0 -0
  25. qnty/generated/dimensions.py +514 -0
  26. qnty/generated/quantities.py +6003 -0
  27. qnty/generated/quantities.pyi +4192 -0
  28. qnty/generated/setters.py +12210 -0
  29. qnty/generated/units.py +9798 -0
  30. qnty/problem/__init__.py +91 -0
  31. qnty/problem/base.py +142 -0
  32. qnty/problem/composition.py +385 -0
  33. qnty/problem/composition_mixin.py +382 -0
  34. qnty/problem/equations.py +413 -0
  35. qnty/problem/metaclass.py +302 -0
  36. qnty/problem/reconstruction.py +1016 -0
  37. qnty/problem/solving.py +180 -0
  38. qnty/problem/validation.py +64 -0
  39. qnty/problem/variables.py +239 -0
  40. qnty/quantities/__init__.py +6 -0
  41. qnty/quantities/expression_quantity.py +314 -0
  42. qnty/quantities/quantity.py +428 -0
  43. qnty/quantities/typed_quantity.py +215 -0
  44. qnty/solving/__init__.py +0 -0
  45. qnty/solving/manager.py +90 -0
  46. qnty/solving/order.py +355 -0
  47. qnty/solving/solvers/__init__.py +20 -0
  48. qnty/solving/solvers/base.py +92 -0
  49. qnty/solving/solvers/iterative.py +185 -0
  50. qnty/solving/solvers/simultaneous.py +547 -0
  51. qnty/units/__init__.py +0 -0
  52. qnty/{prefixes.py → units/prefixes.py} +54 -33
  53. qnty/{unit.py → units/registry.py} +73 -32
  54. qnty/utils/__init__.py +0 -0
  55. qnty/utils/logging.py +40 -0
  56. qnty/validation/__init__.py +0 -0
  57. qnty/validation/registry.py +0 -0
  58. qnty/validation/rules.py +167 -0
  59. qnty-0.0.9.dist-info/METADATA +199 -0
  60. qnty-0.0.9.dist-info/RECORD +63 -0
  61. qnty/dimension.py +0 -186
  62. qnty/unit_types/base.py +0 -47
  63. qnty/units.py +0 -8113
  64. qnty/variable.py +0 -300
  65. qnty/variable_types/base.py +0 -58
  66. qnty/variable_types/expression_variable.py +0 -106
  67. qnty/variable_types/typed_variable.py +0 -87
  68. qnty/variables.py +0 -2298
  69. qnty/variables.pyi +0 -6148
  70. qnty-0.0.8.dist-info/METADATA +0 -355
  71. qnty-0.0.8.dist-info/RECORD +0 -19
  72. /qnty/{unit_types → codegen}/__init__.py +0 -0
  73. /qnty/{variable_types → codegen/generators}/__init__.py +0 -0
  74. {qnty-0.0.8.dist-info → qnty-0.0.9.dist-info}/WHEEL +0 -0
@@ -0,0 +1,514 @@
1
+ """
2
+ Dimension System
3
+ ================
4
+
5
+ Compile-time dimensional analysis using type system for ultra-fast operations.
6
+
7
+ This file is auto-generated by codegen/generators/dimensions_gen.py
8
+ DO NOT EDIT MANUALLY - changes will be overwritten.
9
+ """
10
+
11
+ from dataclasses import dataclass
12
+ from enum import IntEnum
13
+ from typing import ClassVar, final
14
+
15
+
16
+ class BaseDimension(IntEnum):
17
+ """Base dimensions as prime numbers for efficient bit operations."""
18
+ LENGTH = 2
19
+ MASS = 3
20
+ TIME = 5
21
+ CURRENT = 7
22
+ TEMPERATURE = 11
23
+ AMOUNT = 13
24
+ LUMINOSITY = 17
25
+ DIMENSIONLESS = 1 # Must be 1 to act as multiplicative identity
26
+
27
+
28
+ @final
29
+ @dataclass(frozen=True, slots=True)
30
+ class DimensionSignature:
31
+ """Immutable dimension signature for zero-cost dimensional analysis."""
32
+
33
+ # Store as bit pattern for ultra-fast comparison
34
+ _signature: int | float = 1
35
+
36
+ # Pre-computed signature cache for common dimensions
37
+ _COMMON_SIGNATURES: ClassVar[dict[tuple[int, ...], int | float]] = {
38
+ (0, 0, 0, 0, 0, 0, 0): 1, # Dimensionless
39
+ (-1, 0, 0, 0, 0, 0, 0): 0.5, # L^-1
40
+ (0, 0, -1, 0, 0, 0, 0): 0.2, # T^-1
41
+ (0, 0, 0, 0, 0, 0, 1): 17, # J
42
+ (0, 0, 0, 0, 0, 1, 0): 13, # N
43
+ (0, 0, 0, 0, 1, 0, 0): 11, # Θ
44
+ (0, 0, 0, 1, 0, 0, 0): 7, # A
45
+ (0, 0, 1, 0, 0, 0, 0): 5, # T
46
+ (0, 1, 0, 0, 0, 0, 0): 3, # M
47
+ (1, 0, 0, 0, 0, 0, 0): 2, # L
48
+ (-2, 0, 0, 0, 0, 0, 0): 0.25, # L^-2 L
49
+ (-1, 0, 0, 1, 0, 0, 0): 3.5, # A L^-1
50
+ (-1, 1, 0, 0, 0, 0, 0): 1.5, # L^-1 M
51
+ (0, -1, 0, 0, 0, 1, 0): 4.333333333, # N M^-1
52
+ (0, 0, -2, 0, 0, 0, 0): 0.04, # T^-2
53
+ (0, 0, -1, 0, 0, 1, 0): 2.6, # N T^-1
54
+ (0, 1, -1, 0, 0, 0, 0): 0.6, # M T^-1
55
+ (0, 1, 0, 0, 0, -1, 0): 0.2307692308, # N^-1 M
56
+ (1, -1, 0, 0, 0, 0, 0): 0.6666666667, # L M^-1
57
+ (1, 0, -1, 0, 0, 0, 0): 0.4, # L T^-1
58
+ (1, 0, 0, 0, 1, 0, 0): 22, # L Θ
59
+ (2, 0, 0, 0, 0, 0, 0): 4, # L^2
60
+ (-3, 0, 0, 0, 0, 0, 0): 0.125, # L^-3
61
+ (-2, 0, -1, 0, 0, 0, 0): 0.05, # L^-2 T^-1
62
+ (-2, 1, 0, 0, 0, 0, 0): 0.75, # L^-2 M
63
+ (-1, 1, -1, 0, 0, 0, 0): 0.3, # L^-1 M T^-1
64
+ (0, -1, 1, 1, 0, 0, 0): 11.66666667, # A M^-1 T
65
+ (0, 0, 1, 1, 0, -1, 0): 2.692307692, # N^-1 A T
66
+ (0, 1, -2, 0, 0, 0, 0): 0.12, # M T^-2
67
+ (1, -1, 1, 0, 0, 0, 0): 3.333333333, # L M^-1 T
68
+ (1, 0, -2, 0, 0, 0, 0): 0.08, # L T^-2
69
+ (1, 0, 1, 1, 0, 0, 0): 70, # A L T
70
+ (1, 1, -1, 0, 0, 0, 0): 1.2, # L M T^-1
71
+ (2, -1, 0, 0, 0, 0, 0): 1.333333333, # L^2 M^-1
72
+ (2, 0, -1, 0, 0, 0, 0): 0.8, # L^2 T^-1
73
+ (2, 0, 0, 1, 0, 0, 0): 28, # A L^2
74
+ (2, 1, 0, 0, 0, 0, 0): 12, # L^2 M
75
+ (3, 0, 0, 0, 0, 0, 0): 8, # L^3
76
+ (-3, 0, 0, 0, 0, 1, 0): 1.625, # N L^-3
77
+ (-3, 1, 0, 0, 0, 0, 0): 0.375, # L^-3 M
78
+ (-2, 0, -1, 0, 0, 1, 0): 0.65, # N L^-2 T^-1
79
+ (-2, 1, -1, 0, 0, 0, 0): 0.15, # L^-2 M T^-1
80
+ (-1, 1, -2, 0, 0, 0, 0): 0.06, # L^-1 M T^-2
81
+ (0, 1, -3, 0, 0, 0, 0): 0.024, # M T^-3
82
+ (0, 1, -2, -1, 0, 0, 0): 0.01714285714, # A^-1 M T^-2
83
+ (1, 1, -2, 0, 0, 0, 0): 0.24, # L M T^-2
84
+ (2, 0, -2, 0, 0, 0, 0): 0.16, # L^2 T^-2
85
+ (2, 1, -1, 0, 0, 0, 0): 2.4, # L^2 M T^-1
86
+ (3, -1, 0, 0, 0, 0, 0): 2.666666667, # L^3 M^-1
87
+ (3, 0, -1, 0, 0, 0, 0): 1.6, # L^3 T^-1
88
+ }
89
+
90
+ # Instance cache for interning common dimensions
91
+ _INSTANCE_CACHE: ClassVar[dict[int | float, "DimensionSignature"]] = {}
92
+
93
+ def __new__(cls, signature: int | float = 1):
94
+ """Optimized constructor with instance interning."""
95
+ if signature in cls._INSTANCE_CACHE:
96
+ return cls._INSTANCE_CACHE[signature]
97
+
98
+ instance = object.__new__(cls)
99
+
100
+ # Cache common signatures
101
+ if len(cls._INSTANCE_CACHE) < 100: # Limit cache size
102
+ cls._INSTANCE_CACHE[signature] = instance
103
+
104
+ return instance
105
+
106
+ @classmethod
107
+ def create(cls, length=0, mass=0, time=0, current=0, temp=0, amount=0, luminosity=0):
108
+ """Create dimension from exponents with optimized lookup."""
109
+ # Check cache first
110
+ key = (length, mass, time, current, temp, amount, luminosity)
111
+ if key in cls._COMMON_SIGNATURES:
112
+ return cls(cls._COMMON_SIGNATURES[key])
113
+
114
+ # Fast path for dimensionless
115
+ if not any([length, mass, time, current, temp, amount, luminosity]):
116
+ return cls(1)
117
+
118
+ # Compute signature
119
+ signature = 1
120
+ if length != 0:
121
+ signature *= BaseDimension.LENGTH ** length
122
+ if mass != 0:
123
+ signature *= BaseDimension.MASS ** mass
124
+ if time != 0:
125
+ signature *= BaseDimension.TIME ** time
126
+ if current != 0:
127
+ signature *= BaseDimension.CURRENT ** current
128
+ if temp != 0:
129
+ signature *= BaseDimension.TEMPERATURE ** temp
130
+ if amount != 0:
131
+ signature *= BaseDimension.AMOUNT ** amount
132
+ if luminosity != 0:
133
+ signature *= BaseDimension.LUMINOSITY ** luminosity
134
+
135
+ return cls(signature)
136
+
137
+ def __mul__(self, other):
138
+ """Multiply dimensions."""
139
+ return DimensionSignature(self._signature * other._signature)
140
+
141
+ def __truediv__(self, other):
142
+ """Divide dimensions."""
143
+ return DimensionSignature(self._signature / other._signature)
144
+
145
+ def __pow__(self, power):
146
+ """Raise dimension to a power."""
147
+ if power == 1:
148
+ return self
149
+ if power == 0:
150
+ return DimensionSignature(1)
151
+ return DimensionSignature(self._signature ** power)
152
+
153
+ def is_compatible(self, other):
154
+ """Check dimensional compatibility."""
155
+ return self._signature == other._signature
156
+
157
+ def __eq__(self, other):
158
+ """Check equality."""
159
+ if self is other:
160
+ return True
161
+ return isinstance(other, DimensionSignature) and self._signature == other._signature
162
+
163
+ def __hash__(self):
164
+ """Hash based on signature."""
165
+ return hash(self._signature)
166
+
167
+
168
+ # Pre-computed dimension signatures for all dimensions
169
+ _DIMENSION_SIGNATURES = {
170
+ "ABSORBED_DOSE": 0.16, # L^2 T^-2
171
+ "ACCELERATION": 0.08, # L T^-2
172
+ "ACTIVATION_ENERGY": 0.01230769231, # N^-1 L^2 T^-2
173
+ "AMOUNT": 13, # N
174
+ "AMOUNT_OF_SUBSTANCE": 13, # N
175
+ "ANGLE_PLANE": 1, # Dimensionless
176
+ "ANGLE_SOLID": 1, # Dimensionless
177
+ "ANGULAR_ACCELERATION": 0.04, # T^-2
178
+ "ANGULAR_MOMENTUM": 2.4, # L^2 M T^-1
179
+ "AREA": 4, # L^2
180
+ "AREA_PER_UNIT_VOLUME": 0.5, # L^-1
181
+ "ATOMIC_WEIGHT": 0.2307692308, # N^-1 M
182
+ "CONCENTRATION": 0.375, # L^-3 M
183
+ "CURRENT": 7, # A
184
+ "DIMENSIONLESS": 1, # Dimensionless
185
+ "DYNAMIC_FLUIDITY": 3.333333333, # L M^-1 T
186
+ "ELECTRICAL_CONDUCTANCE": 510.4166667, # A^2 L^-2 M^-1 T^3
187
+ "ELECTRICAL_PERMITTIVITY": 1276.041667, # A^2 L^-3 M^-1 T^4
188
+ "ELECTRICAL_RESISTIVITY": 0.003918367347, # A^-2 L^3 M T^-3
189
+ "ELECTRIC_CAPACITANCE": 2552.083333, # A^2 L^-2 M^-1 T^4
190
+ "ELECTRIC_CHARGE": 2.692307692, # N^-1 A T
191
+ "ELECTRIC_CURRENT_INTENSITY": 7, # A
192
+ "ELECTRIC_DIPOLE_MOMENT": 70, # A L T
193
+ "ELECTRIC_FIELD_STRENGTH": 0.006857142857, # A^-1 L M T^-3
194
+ "ELECTRIC_INDUCTANCE": 0.009795918367, # A^-2 L^2 M T^-2
195
+ "ELECTRIC_POTENTIAL": 0.01371428571, # A^-1 L^2 M T^-3
196
+ "ELECTRIC_RESISTANCE": 0.001959183673, # A^-2 L^2 M T^-3
197
+ "ENERGY_FLUX": 0.024, # M T^-3
198
+ "ENERGY_HEAT_WORK": 0.48, # L^2 M T^-2
199
+ "ENERGY_PER_UNIT_AREA": 0.12, # M T^-2
200
+ "FORCE": 0.24, # L M T^-2
201
+ "FORCE_BODY": 0.03, # L^-2 M T^-2
202
+ "FORCE_PER_UNIT_MASS": 0.08, # L T^-2
203
+ "FREQUENCY_VOLTAGE_RATIO": 72.91666667, # A L^-2 M^-1 T^3
204
+ "FUEL_CONSUMPTION": 0.25, # L^-2
205
+ "HEAT_OF_COMBUSTION": 0.16, # L^2 T^-2
206
+ "HEAT_OF_FUSION": 0.16, # L^2 T^-2
207
+ "HEAT_OF_VAPORIZATION": 0.16, # L^2 T^-2
208
+ "HEAT_TRANSFER_COEFFICIENT": 0.002181818182, # M Θ^-1 T^-3
209
+ "ILLUMINANCE": 0.25, # L^-2 L
210
+ "KINETIC_ENERGY_OF_TURBULENCE": 0.16, # L^2 T^-2
211
+ "LENGTH": 2, # L
212
+ "LINEAR_MASS_DENSITY": 1.5, # L^-1 M
213
+ "LINEAR_MOMENTUM": 1.2, # L M T^-1
214
+ "LUMINANCE_SELF": 0.25, # L^-2 L
215
+ "LUMINOSITY": 17, # J
216
+ "LUMINOUS_FLUX": 1, # L
217
+ "LUMINOUS_INTENSITY": 1, # L
218
+ "MAGNETIC_FIELD": 3.5, # A L^-1
219
+ "MAGNETIC_FLUX": 0.06857142857, # A^-1 L^2 M T^-2
220
+ "MAGNETIC_INDUCTION_FIELD_STRENGTH": 0.01714285714, # A^-1 M T^-2
221
+ "MAGNETIC_MOMENT": 28, # A L^2
222
+ "MAGNETIC_PERMEABILITY": 0.009795918367, # A^-2 L^2 M T^-2
223
+ "MAGNETOMOTIVE_FORCE": 7, # A
224
+ "MASS": 3, # M
225
+ "MASS_DENSITY": 0.375, # L^-3 M
226
+ "MASS_FLOW_RATE": 0.6, # M T^-1
227
+ "MASS_FLUX": 0.15, # L^-2 M T^-1
228
+ "MASS_FRACTION_OF_I": 1, # Dimensionless
229
+ "MASS_TRANSFER_COEFFICIENT": 0.15, # L^-2 M T^-1
230
+ "MOLALITY_OF_SOLUTE_I": 4.333333333, # N M^-1
231
+ "MOLARITY_OF_I": 1.625, # N L^-3
232
+ "MOLAR_CONCENTRATION_BY_MASS": 13, # N
233
+ "MOLAR_FLOW_RATE": 2.6, # N T^-1
234
+ "MOLAR_FLUX": 0.65, # N L^-2 T^-1
235
+ "MOLAR_HEAT_CAPACITY": 0.001118881119, # N^-1 L^2 Θ^-1 T^-2
236
+ "MOLE_FRACTION_OF_I": 1, # Dimensionless
237
+ "MOMENTUM_FLOW_RATE": 0.24, # L M T^-2
238
+ "MOMENTUM_FLUX": 0.06, # L^-1 M T^-2
239
+ "MOMENT_OF_INERTIA": 12, # L^2 M
240
+ "NORMALITY_OF_SOLUTION": 1.625, # N L^-3
241
+ "PARTICLE_DENSITY": 0.125, # L^-3
242
+ "PERCENT": 1, # Dimensionless
243
+ "PERMEABILITY": 4, # L^2
244
+ "PHOTON_EMISSION_RATE": 0.05, # L^-2 T^-1
245
+ "POWER_PER_UNIT_MASS": 0.032, # L^2 T^-3
246
+ "POWER_PER_UNIT_VOLUME": 0.012, # L^-1 M T^-3
247
+ "POWER_THERMAL_DUTY": 0.096, # L^2 M T^-3
248
+ "PRESSURE": 0.06, # L^-1 M T^-2
249
+ "RADIATION_DOSE_EQUIVALENT": 0.16, # L^2 T^-2
250
+ "RADIATION_EXPOSURE": 11.66666667, # A M^-1 T
251
+ "RADIOACTIVITY": 0.2, # T^-1
252
+ "SECOND_MOMENT_OF_AREA": 16, # L^4
253
+ "SECOND_RADIATION_CONSTANT_PLANCK": 22, # L Θ
254
+ "SPECIFIC_ENTHALPY": 0.16, # L^2 T^-2
255
+ "SPECIFIC_GRAVITY": 1, # Dimensionless
256
+ "SPECIFIC_HEAT_CAPACITY_CONSTANT_PRESSURE": 0.04363636364, # L^2 M Θ^-1 T^-2
257
+ "SPECIFIC_LENGTH": 0.6666666667, # L M^-1
258
+ "SPECIFIC_SURFACE": 1.333333333, # L^2 M^-1
259
+ "SPECIFIC_VOLUME": 2.666666667, # L^3 M^-1
260
+ "STRESS": 0.06, # L^-1 M T^-2
261
+ "SURFACE_MASS_DENSITY": 0.75, # L^-2 M
262
+ "SURFACE_TENSION": 0.12, # M T^-2
263
+ "TEMPERATURE": 11, # Θ
264
+ "THERMAL_CONDUCTIVITY": 0.528, # L M Θ T^-3
265
+ "TIME": 5, # T
266
+ "TORQUE": 0.48, # L^2 M T^-2
267
+ "TURBULENCE_ENERGY_DISSIPATION_RATE": 0.032, # L^2 T^-3
268
+ "VELOCITY_ANGULAR": 0.2, # T^-1
269
+ "VELOCITY_LINEAR": 0.4, # L T^-1
270
+ "VISCOSITY_DYNAMIC": 0.3, # L^-1 M T^-1
271
+ "VISCOSITY_KINEMATIC": 0.8, # L^2 T^-1
272
+ "VOLUME": 8, # L^3
273
+ "VOLUMETRIC_CALORIFIC_HEATING_VALUE": 0.06, # L^-1 M T^-2
274
+ "VOLUMETRIC_COEFFICIENT_OF_EXPANSION": 0.03409090909, # L^-3 M Θ^-1
275
+ "VOLUMETRIC_FLOW_RATE": 1.6, # L^3 T^-1
276
+ "VOLUMETRIC_FLUX": 0.4, # L T^-1
277
+ "VOLUMETRIC_MASS_FLOW_RATE": 0.075, # L^-3 M T^-1
278
+ "VOLUME_FRACTION_OF_I": 1, # Dimensionless
279
+ "WAVENUMBER": 0.5, # L^-1
280
+ }
281
+
282
+ # Lazy loading cache
283
+ _dimension_cache: dict[str, DimensionSignature] = {}
284
+
285
+ def __getattr__(name: str) -> DimensionSignature:
286
+ """Lazy load dimension constants."""
287
+ if name in _DIMENSION_SIGNATURES:
288
+ if name not in _dimension_cache:
289
+ _dimension_cache[name] = DimensionSignature(_DIMENSION_SIGNATURES[name])
290
+ return _dimension_cache[name]
291
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
292
+
293
+ # All dimension constants generated from unit data
294
+ ABSORBED_DOSE = DimensionSignature(0.16) # L^2 T^-2
295
+ ACCELERATION = DimensionSignature(0.08) # L T^-2
296
+ ACTIVATION_ENERGY = DimensionSignature(0.01230769231) # N^-1 L^2 T^-2
297
+ AMOUNT_OF_SUBSTANCE = DimensionSignature(13) # N
298
+ ANGLE_PLANE = DimensionSignature(1) # Dimensionless
299
+ ANGLE_SOLID = DimensionSignature(1) # Dimensionless
300
+ ANGULAR_ACCELERATION = DimensionSignature(0.04) # T^-2
301
+ ANGULAR_MOMENTUM = DimensionSignature(2.4) # L^2 M T^-1
302
+ AREA = DimensionSignature(4) # L^2
303
+ AREA_PER_UNIT_VOLUME = DimensionSignature(0.5) # L^-1
304
+ ATOMIC_WEIGHT = DimensionSignature(0.2307692308) # N^-1 M
305
+ CONCENTRATION = DimensionSignature(0.375) # L^-3 M
306
+ DIMENSIONLESS = DimensionSignature(1) # Dimensionless
307
+ DYNAMIC_FLUIDITY = DimensionSignature(3.333333333) # L M^-1 T
308
+ ELECTRIC_CAPACITANCE = DimensionSignature(2552.083333) # A^2 L^-2 M^-1 T^4
309
+ ELECTRIC_CHARGE = DimensionSignature(2.692307692) # N^-1 A T
310
+ ELECTRIC_CURRENT_INTENSITY = DimensionSignature(7) # A
311
+ ELECTRIC_DIPOLE_MOMENT = DimensionSignature(70) # A L T
312
+ ELECTRIC_FIELD_STRENGTH = DimensionSignature(0.006857142857) # A^-1 L M T^-3
313
+ ELECTRIC_INDUCTANCE = DimensionSignature(0.009795918367) # A^-2 L^2 M T^-2
314
+ ELECTRIC_POTENTIAL = DimensionSignature(0.01371428571) # A^-1 L^2 M T^-3
315
+ ELECTRIC_RESISTANCE = DimensionSignature(0.001959183673) # A^-2 L^2 M T^-3
316
+ ELECTRICAL_CONDUCTANCE = DimensionSignature(510.4166667) # A^2 L^-2 M^-1 T^3
317
+ ELECTRICAL_PERMITTIVITY = DimensionSignature(1276.041667) # A^2 L^-3 M^-1 T^4
318
+ ELECTRICAL_RESISTIVITY = DimensionSignature(0.003918367347) # A^-2 L^3 M T^-3
319
+ ENERGY_FLUX = DimensionSignature(0.024) # M T^-3
320
+ ENERGY_HEAT_WORK = DimensionSignature(0.48) # L^2 M T^-2
321
+ ENERGY_PER_UNIT_AREA = DimensionSignature(0.12) # M T^-2
322
+ FORCE = DimensionSignature(0.24) # L M T^-2
323
+ FORCE_BODY = DimensionSignature(0.03) # L^-2 M T^-2
324
+ FORCE_PER_UNIT_MASS = DimensionSignature(0.08) # L T^-2
325
+ FREQUENCY_VOLTAGE_RATIO = DimensionSignature(72.91666667) # A L^-2 M^-1 T^3
326
+ FUEL_CONSUMPTION = DimensionSignature(0.25) # L^-2
327
+ HEAT_OF_COMBUSTION = DimensionSignature(0.16) # L^2 T^-2
328
+ HEAT_OF_FUSION = DimensionSignature(0.16) # L^2 T^-2
329
+ HEAT_OF_VAPORIZATION = DimensionSignature(0.16) # L^2 T^-2
330
+ HEAT_TRANSFER_COEFFICIENT = DimensionSignature(0.002181818182) # M Θ^-1 T^-3
331
+ ILLUMINANCE = DimensionSignature(0.25) # L^-2 L
332
+ KINETIC_ENERGY_OF_TURBULENCE = DimensionSignature(0.16) # L^2 T^-2
333
+ LENGTH = DimensionSignature(2) # L
334
+ LINEAR_MASS_DENSITY = DimensionSignature(1.5) # L^-1 M
335
+ LINEAR_MOMENTUM = DimensionSignature(1.2) # L M T^-1
336
+ LUMINANCE_SELF = DimensionSignature(0.25) # L^-2 L
337
+ LUMINOUS_FLUX = DimensionSignature(1) # L
338
+ LUMINOUS_INTENSITY = DimensionSignature(1) # L
339
+ MAGNETIC_FIELD = DimensionSignature(3.5) # A L^-1
340
+ MAGNETIC_FLUX = DimensionSignature(0.06857142857) # A^-1 L^2 M T^-2
341
+ MAGNETIC_INDUCTION_FIELD_STRENGTH = DimensionSignature(0.01714285714) # A^-1 M T^-2
342
+ MAGNETIC_MOMENT = DimensionSignature(28) # A L^2
343
+ MAGNETIC_PERMEABILITY = DimensionSignature(0.009795918367) # A^-2 L^2 M T^-2
344
+ MAGNETOMOTIVE_FORCE = DimensionSignature(7) # A
345
+ MASS = DimensionSignature(3) # M
346
+ MASS_DENSITY = DimensionSignature(0.375) # L^-3 M
347
+ MASS_FLOW_RATE = DimensionSignature(0.6) # M T^-1
348
+ MASS_FLUX = DimensionSignature(0.15) # L^-2 M T^-1
349
+ MASS_FRACTION_OF_I = DimensionSignature(1) # Dimensionless
350
+ MASS_TRANSFER_COEFFICIENT = DimensionSignature(0.15) # L^-2 M T^-1
351
+ MOLALITY_OF_SOLUTE_I = DimensionSignature(4.333333333) # N M^-1
352
+ MOLAR_CONCENTRATION_BY_MASS = DimensionSignature(13) # N
353
+ MOLAR_FLOW_RATE = DimensionSignature(2.6) # N T^-1
354
+ MOLAR_FLUX = DimensionSignature(0.65) # N L^-2 T^-1
355
+ MOLAR_HEAT_CAPACITY = DimensionSignature(0.001118881119) # N^-1 L^2 Θ^-1 T^-2
356
+ MOLARITY_OF_I = DimensionSignature(1.625) # N L^-3
357
+ MOLE_FRACTION_OF_I = DimensionSignature(1) # Dimensionless
358
+ MOMENT_OF_INERTIA = DimensionSignature(12) # L^2 M
359
+ MOMENTUM_FLOW_RATE = DimensionSignature(0.24) # L M T^-2
360
+ MOMENTUM_FLUX = DimensionSignature(0.06) # L^-1 M T^-2
361
+ NORMALITY_OF_SOLUTION = DimensionSignature(1.625) # N L^-3
362
+ PARTICLE_DENSITY = DimensionSignature(0.125) # L^-3
363
+ PERCENT = DimensionSignature(1) # Dimensionless
364
+ PERMEABILITY = DimensionSignature(4) # L^2
365
+ PHOTON_EMISSION_RATE = DimensionSignature(0.05) # L^-2 T^-1
366
+ POWER_PER_UNIT_MASS = DimensionSignature(0.032) # L^2 T^-3
367
+ POWER_PER_UNIT_VOLUME = DimensionSignature(0.012) # L^-1 M T^-3
368
+ POWER_THERMAL_DUTY = DimensionSignature(0.096) # L^2 M T^-3
369
+ PRESSURE = DimensionSignature(0.06) # L^-1 M T^-2
370
+ RADIATION_DOSE_EQUIVALENT = DimensionSignature(0.16) # L^2 T^-2
371
+ RADIATION_EXPOSURE = DimensionSignature(11.66666667) # A M^-1 T
372
+ RADIOACTIVITY = DimensionSignature(0.2) # T^-1
373
+ SECOND_MOMENT_OF_AREA = DimensionSignature(16) # L^4
374
+ SECOND_RADIATION_CONSTANT_PLANCK = DimensionSignature(22) # L Θ
375
+ SPECIFIC_ENTHALPY = DimensionSignature(0.16) # L^2 T^-2
376
+ SPECIFIC_GRAVITY = DimensionSignature(1) # Dimensionless
377
+ SPECIFIC_HEAT_CAPACITY_CONSTANT_PRESSURE = DimensionSignature(0.04363636364) # L^2 M Θ^-1 T^-2
378
+ SPECIFIC_LENGTH = DimensionSignature(0.6666666667) # L M^-1
379
+ SPECIFIC_SURFACE = DimensionSignature(1.333333333) # L^2 M^-1
380
+ SPECIFIC_VOLUME = DimensionSignature(2.666666667) # L^3 M^-1
381
+ STRESS = DimensionSignature(0.06) # L^-1 M T^-2
382
+ SURFACE_MASS_DENSITY = DimensionSignature(0.75) # L^-2 M
383
+ SURFACE_TENSION = DimensionSignature(0.12) # M T^-2
384
+ TEMPERATURE = DimensionSignature(11) # Θ
385
+ THERMAL_CONDUCTIVITY = DimensionSignature(0.528) # L M Θ T^-3
386
+ TIME = DimensionSignature(5) # T
387
+ TORQUE = DimensionSignature(0.48) # L^2 M T^-2
388
+ TURBULENCE_ENERGY_DISSIPATION_RATE = DimensionSignature(0.032) # L^2 T^-3
389
+ VELOCITY_ANGULAR = DimensionSignature(0.2) # T^-1
390
+ VELOCITY_LINEAR = DimensionSignature(0.4) # L T^-1
391
+ VISCOSITY_DYNAMIC = DimensionSignature(0.3) # L^-1 M T^-1
392
+ VISCOSITY_KINEMATIC = DimensionSignature(0.8) # L^2 T^-1
393
+ VOLUME = DimensionSignature(8) # L^3
394
+ VOLUME_FRACTION_OF_I = DimensionSignature(1) # Dimensionless
395
+ VOLUMETRIC_CALORIFIC_HEATING_VALUE = DimensionSignature(0.06) # L^-1 M T^-2
396
+ VOLUMETRIC_COEFFICIENT_OF_EXPANSION = DimensionSignature(0.03409090909) # L^-3 M Θ^-1
397
+ VOLUMETRIC_FLOW_RATE = DimensionSignature(1.6) # L^3 T^-1
398
+ VOLUMETRIC_FLUX = DimensionSignature(0.4) # L T^-1
399
+ VOLUMETRIC_MASS_FLOW_RATE = DimensionSignature(0.075) # L^-3 M T^-1
400
+ WAVENUMBER = DimensionSignature(0.5) # L^-1
401
+
402
+ # Module exports
403
+ __all__ = [
404
+ "BaseDimension",
405
+ "DimensionSignature",
406
+ "ABSORBED_DOSE",
407
+ "ACCELERATION",
408
+ "ACTIVATION_ENERGY",
409
+ "AMOUNT_OF_SUBSTANCE",
410
+ "ANGLE_PLANE",
411
+ "ANGLE_SOLID",
412
+ "ANGULAR_ACCELERATION",
413
+ "ANGULAR_MOMENTUM",
414
+ "AREA",
415
+ "AREA_PER_UNIT_VOLUME",
416
+ "ATOMIC_WEIGHT",
417
+ "CONCENTRATION",
418
+ "DIMENSIONLESS",
419
+ "DYNAMIC_FLUIDITY",
420
+ "ELECTRIC_CAPACITANCE",
421
+ "ELECTRIC_CHARGE",
422
+ "ELECTRIC_CURRENT_INTENSITY",
423
+ "ELECTRIC_DIPOLE_MOMENT",
424
+ "ELECTRIC_FIELD_STRENGTH",
425
+ "ELECTRIC_INDUCTANCE",
426
+ "ELECTRIC_POTENTIAL",
427
+ "ELECTRIC_RESISTANCE",
428
+ "ELECTRICAL_CONDUCTANCE",
429
+ "ELECTRICAL_PERMITTIVITY",
430
+ "ELECTRICAL_RESISTIVITY",
431
+ "ENERGY_FLUX",
432
+ "ENERGY_HEAT_WORK",
433
+ "ENERGY_PER_UNIT_AREA",
434
+ "FORCE",
435
+ "FORCE_BODY",
436
+ "FORCE_PER_UNIT_MASS",
437
+ "FREQUENCY_VOLTAGE_RATIO",
438
+ "FUEL_CONSUMPTION",
439
+ "HEAT_OF_COMBUSTION",
440
+ "HEAT_OF_FUSION",
441
+ "HEAT_OF_VAPORIZATION",
442
+ "HEAT_TRANSFER_COEFFICIENT",
443
+ "ILLUMINANCE",
444
+ "KINETIC_ENERGY_OF_TURBULENCE",
445
+ "LENGTH",
446
+ "LINEAR_MASS_DENSITY",
447
+ "LINEAR_MOMENTUM",
448
+ "LUMINANCE_SELF",
449
+ "LUMINOUS_FLUX",
450
+ "LUMINOUS_INTENSITY",
451
+ "MAGNETIC_FIELD",
452
+ "MAGNETIC_FLUX",
453
+ "MAGNETIC_INDUCTION_FIELD_STRENGTH",
454
+ "MAGNETIC_MOMENT",
455
+ "MAGNETIC_PERMEABILITY",
456
+ "MAGNETOMOTIVE_FORCE",
457
+ "MASS",
458
+ "MASS_DENSITY",
459
+ "MASS_FLOW_RATE",
460
+ "MASS_FLUX",
461
+ "MASS_FRACTION_OF_I",
462
+ "MASS_TRANSFER_COEFFICIENT",
463
+ "MOLALITY_OF_SOLUTE_I",
464
+ "MOLAR_CONCENTRATION_BY_MASS",
465
+ "MOLAR_FLOW_RATE",
466
+ "MOLAR_FLUX",
467
+ "MOLAR_HEAT_CAPACITY",
468
+ "MOLARITY_OF_I",
469
+ "MOLE_FRACTION_OF_I",
470
+ "MOMENT_OF_INERTIA",
471
+ "MOMENTUM_FLOW_RATE",
472
+ "MOMENTUM_FLUX",
473
+ "NORMALITY_OF_SOLUTION",
474
+ "PARTICLE_DENSITY",
475
+ "PERCENT",
476
+ "PERMEABILITY",
477
+ "PHOTON_EMISSION_RATE",
478
+ "POWER_PER_UNIT_MASS",
479
+ "POWER_PER_UNIT_VOLUME",
480
+ "POWER_THERMAL_DUTY",
481
+ "PRESSURE",
482
+ "RADIATION_DOSE_EQUIVALENT",
483
+ "RADIATION_EXPOSURE",
484
+ "RADIOACTIVITY",
485
+ "SECOND_MOMENT_OF_AREA",
486
+ "SECOND_RADIATION_CONSTANT_PLANCK",
487
+ "SPECIFIC_ENTHALPY",
488
+ "SPECIFIC_GRAVITY",
489
+ "SPECIFIC_HEAT_CAPACITY_CONSTANT_PRESSURE",
490
+ "SPECIFIC_LENGTH",
491
+ "SPECIFIC_SURFACE",
492
+ "SPECIFIC_VOLUME",
493
+ "STRESS",
494
+ "SURFACE_MASS_DENSITY",
495
+ "SURFACE_TENSION",
496
+ "TEMPERATURE",
497
+ "THERMAL_CONDUCTIVITY",
498
+ "TIME",
499
+ "TORQUE",
500
+ "TURBULENCE_ENERGY_DISSIPATION_RATE",
501
+ "VELOCITY_ANGULAR",
502
+ "VELOCITY_LINEAR",
503
+ "VISCOSITY_DYNAMIC",
504
+ "VISCOSITY_KINEMATIC",
505
+ "VOLUME",
506
+ "VOLUME_FRACTION_OF_I",
507
+ "VOLUMETRIC_CALORIFIC_HEATING_VALUE",
508
+ "VOLUMETRIC_COEFFICIENT_OF_EXPANSION",
509
+ "VOLUMETRIC_FLOW_RATE",
510
+ "VOLUMETRIC_FLUX",
511
+ "VOLUMETRIC_MASS_FLOW_RATE",
512
+ "WAVENUMBER",
513
+ ]
514
+