unitforge 0.5.7__tar.gz → 0.5.9__tar.gz

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 (112) hide show
  1. {unitforge-0.5.7 → unitforge-0.5.9}/Cargo.lock +2 -2
  2. {unitforge-0.5.7 → unitforge-0.5.9}/Cargo.toml +2 -2
  3. {unitforge-0.5.7 → unitforge-0.5.9}/PKG-INFO +1 -1
  4. {unitforge-0.5.7 → unitforge-0.5.9}/python/unitforge/__init__.pyi +438 -0
  5. {unitforge-0.5.7 → unitforge-0.5.9}/src/lib.rs +16 -0
  6. unitforge-0.5.9/src/quantities/heat_flux.rs +38 -0
  7. unitforge-0.5.9/src/quantities/power.rs +52 -0
  8. unitforge-0.5.9/src/quantities/specific_energy.rs +39 -0
  9. unitforge-0.5.9/src/quantities/specific_heat_capacity.rs +39 -0
  10. unitforge-0.5.9/src/quantities/temperature_gradient.rs +42 -0
  11. unitforge-0.5.9/src/quantities/thermal_conductivity.rs +42 -0
  12. unitforge-0.5.9/src/quantities/volumetric_energy_density.rs +39 -0
  13. unitforge-0.5.9/src/quantities/volumetric_heat_capacity.rs +39 -0
  14. {unitforge-0.5.7 → unitforge-0.5.9}/src/relations.rs +23 -8
  15. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantities.rs +102 -0
  16. {unitforge-0.5.7 → unitforge-0.5.9}/unitforge_macros/Cargo.toml +1 -1
  17. {unitforge-0.5.7 → unitforge-0.5.9}/.gitignore +0 -0
  18. {unitforge-0.5.7 → unitforge-0.5.9}/.gitlab-ci.yml +0 -0
  19. {unitforge-0.5.7 → unitforge-0.5.9}/Readme.md +0 -0
  20. {unitforge-0.5.7 → unitforge-0.5.9}/Readme_py.md +0 -0
  21. {unitforge-0.5.7 → unitforge-0.5.9}/install_hooks.sh +0 -0
  22. {unitforge-0.5.7 → unitforge-0.5.9}/pyproject.toml +0 -0
  23. {unitforge-0.5.7 → unitforge-0.5.9}/python/unitforge/__init__.py +0 -0
  24. {unitforge-0.5.7 → unitforge-0.5.9}/python/unitforge/py.typed +0 -0
  25. {unitforge-0.5.7 → unitforge-0.5.9}/scripts/generate_python_stubs.py +0 -0
  26. {unitforge-0.5.7 → unitforge-0.5.9}/src/errors.rs +0 -0
  27. {unitforge-0.5.7 → unitforge-0.5.9}/src/impl_macros.rs +0 -0
  28. {unitforge-0.5.7 → unitforge-0.5.9}/src/internal.rs +0 -0
  29. {unitforge-0.5.7 → unitforge-0.5.9}/src/prelude.rs +0 -0
  30. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/acceleration.rs +0 -0
  31. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/angle.rs +0 -0
  32. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/angular_acceleration.rs +0 -0
  33. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/angular_velocity.rs +0 -0
  34. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/area.rs +0 -0
  35. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/area_of_moment.rs +0 -0
  36. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/charge.rs +0 -0
  37. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/compliance.rs +0 -0
  38. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/density.rs +0 -0
  39. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/density_rate.rs +0 -0
  40. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/density_temperature.rs +0 -0
  41. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/density_temperature_rate.rs +0 -0
  42. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/distance.rs +0 -0
  43. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/force.rs +0 -0
  44. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/force_area.rs +0 -0
  45. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/force_distance.rs +0 -0
  46. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/force_div_distance_power_four.rs +0 -0
  47. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/force_per_volume.rs +0 -0
  48. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/force_stress.rs +0 -0
  49. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/force_volume.rs +0 -0
  50. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/frequency.rs +0 -0
  51. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/inverse_angle.rs +0 -0
  52. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/inverse_area.rs +0 -0
  53. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/inverse_distance.rs +0 -0
  54. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/inverse_stress.rs +0 -0
  55. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/inverse_temperature.rs +0 -0
  56. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/mass.rs +0 -0
  57. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/mass_per_distance.rs +0 -0
  58. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/molar_mass.rs +0 -0
  59. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/pressure_rate.rs +0 -0
  60. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/rotational_stiffness.rs +0 -0
  61. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/specific_gas_constant.rs +0 -0
  62. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/stiffness.rs +0 -0
  63. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/strain.rs +0 -0
  64. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/strain_squared.rs +0 -0
  65. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/stress.rs +0 -0
  66. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/stress_cubed.rs +0 -0
  67. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/stress_per_temperature.rs +0 -0
  68. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/stress_rate.rs +0 -0
  69. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/stress_rate_per_temperature.rs +0 -0
  70. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/stress_squared.rs +0 -0
  71. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/temperature.rs +0 -0
  72. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/time.rs +0 -0
  73. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/universal_gas_constant.rs +0 -0
  74. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/velocity.rs +0 -0
  75. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/velocity_squared.rs +0 -0
  76. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/voltage.rs +0 -0
  77. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities/volume.rs +0 -0
  78. {unitforge-0.5.7 → unitforge-0.5.9}/src/quantities.template.rs +0 -0
  79. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/bindings/matrix3_py.template.rs +0 -0
  80. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/bindings/vector3_py.template.rs +0 -0
  81. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/matrix2.rs +0 -0
  82. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/matrix2x3.rs +0 -0
  83. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/matrix3.rs +0 -0
  84. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/matrix3x2.rs +0 -0
  85. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/vector2.rs +0 -0
  86. {unitforge-0.5.7 → unitforge-0.5.9}/src/small_linalg/vector3.rs +0 -0
  87. {unitforge-0.5.7 → unitforge-0.5.9}/test.sh +0 -0
  88. {unitforge-0.5.7 → unitforge-0.5.9}/tests/common/mod.rs +0 -0
  89. {unitforge-0.5.7 → unitforge-0.5.9}/tests/matrix2.rs +0 -0
  90. {unitforge-0.5.7 → unitforge-0.5.9}/tests/matrix2x3.rs +0 -0
  91. {unitforge-0.5.7 → unitforge-0.5.9}/tests/matrix3.rs +0 -0
  92. {unitforge-0.5.7 → unitforge-0.5.9}/tests/matrix3x2.rs +0 -0
  93. {unitforge-0.5.7 → unitforge-0.5.9}/tests/ndarray_dot.rs +0 -0
  94. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/constants.rs +0 -0
  95. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/construction.rs +0 -0
  96. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/enum_iter.rs +0 -0
  97. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/metadata.rs +0 -0
  98. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/normalization.rs +0 -0
  99. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/plain_storage.rs +0 -0
  100. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/relations.rs +0 -0
  101. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/runtime_quantity.rs +0 -0
  102. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core/scalar_edges.rs +0 -0
  103. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_core.rs +0 -0
  104. {unitforge-0.5.7 → unitforge-0.5.9}/tests/quantity_serde.rs +0 -0
  105. {unitforge-0.5.7 → unitforge-0.5.9}/tests/small_linalg_edge_cases.rs +0 -0
  106. {unitforge-0.5.7 → unitforge-0.5.9}/tests/small_linalg_interfaces.rs +0 -0
  107. {unitforge-0.5.7 → unitforge-0.5.9}/tests/test_quantities.py +0 -0
  108. {unitforge-0.5.7 → unitforge-0.5.9}/tests/test_small_linalg.py +0 -0
  109. {unitforge-0.5.7 → unitforge-0.5.9}/tests/typecheck/mypy_smoke.py +0 -0
  110. {unitforge-0.5.7 → unitforge-0.5.9}/tests/vector2.rs +0 -0
  111. {unitforge-0.5.7 → unitforge-0.5.9}/tests/vector3.rs +0 -0
  112. {unitforge-0.5.7 → unitforge-0.5.9}/unitforge_macros/src/lib.rs +0 -0
@@ -351,7 +351,7 @@ checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
351
351
 
352
352
  [[package]]
353
353
  name = "unitforge"
354
- version = "0.5.7"
354
+ version = "0.5.9"
355
355
  dependencies = [
356
356
  "ndarray",
357
357
  "num-traits",
@@ -367,7 +367,7 @@ dependencies = [
367
367
 
368
368
  [[package]]
369
369
  name = "unitforge_macros"
370
- version = "0.5.7"
370
+ version = "0.5.8"
371
371
  dependencies = [
372
372
  "regex",
373
373
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "unitforge"
3
- version = "0.5.7"
3
+ version = "0.5.9"
4
4
  edition = "2021"
5
5
  authors = ["Dr.Q team <info@askdrq.com>", "Henrik Stromberg <henrik@askdrq.com>"]
6
6
  description = "A library for unit and quantity consistent computations in Rust"
@@ -20,7 +20,7 @@ pyo3 = { version = "0.28.3", features = ["extension-module", "auto-initialize",
20
20
  numpy = { version = "0.28.0", optional = true }
21
21
  strum = { version = "0.28.0", optional = true }
22
22
  strum_macros = { version = "0.28.0", optional = true }
23
- unitforge_macros = { version = "0.5.7", path = "unitforge_macros" }
23
+ unitforge_macros = { version = "0.5.8", path = "unitforge_macros" }
24
24
 
25
25
  [features]
26
26
  default = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unitforge
3
- Version: 0.5.7
3
+ Version: 0.5.9
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -317,6 +317,8 @@ class Area:
317
317
  @overload
318
318
  def __mul__(self, rhs: "ForcePerVolume") -> "Stiffness": ...
319
319
  @overload
320
+ def __mul__(self, rhs: "HeatFlux") -> "Power": ...
321
+ @overload
320
322
  def __mul__(self, rhs: "InverseArea") -> float: ...
321
323
  @overload
322
324
  def __mul__(self, rhs: "InverseDistance") -> "Distance": ...
@@ -528,8 +530,12 @@ class Density:
528
530
  @overload
529
531
  def __mul__(self, rhs: "Area") -> "MassPerDistance": ...
530
532
  @overload
533
+ def __mul__(self, rhs: "SpecificEnergy") -> "VolumetricEnergyDensity": ...
534
+ @overload
531
535
  def __mul__(self, rhs: "SpecificGasConstant") -> "StressPerTemperature": ...
532
536
  @overload
537
+ def __mul__(self, rhs: "SpecificHeatCapacity") -> "VolumetricHeatCapacity": ...
538
+ @overload
533
539
  def __mul__(self, rhs: "Temperature") -> "DensityTemperature": ...
534
540
  @overload
535
541
  def __mul__(self, rhs: "VelocitySquared") -> "Stress": ...
@@ -776,6 +782,8 @@ class DensityTemperature:
776
782
  @overload
777
783
  def __mul__(self, rhs: "SpecificGasConstant") -> "Stress": ...
778
784
  @overload
785
+ def __mul__(self, rhs: "SpecificHeatCapacity") -> "VolumetricEnergyDensity": ...
786
+ @overload
779
787
  def __mul__(self, rhs: Any) -> Any: ...
780
788
  @overload
781
789
  def __truediv__(self, rhs: float) -> "DensityTemperature": ...
@@ -915,6 +923,8 @@ class Distance:
915
923
  @overload
916
924
  def __mul__(self, rhs: "Stress") -> "Stiffness": ...
917
925
  @overload
926
+ def __mul__(self, rhs: "TemperatureGradient") -> "Temperature": ...
927
+ @overload
918
928
  def __mul__(self, rhs: "Velocity") -> "Time": ...
919
929
  @overload
920
930
  def __mul__(self, rhs: "Volume") -> "AreaOfMoment": ...
@@ -1009,6 +1019,8 @@ class Force:
1009
1019
  @overload
1010
1020
  def __mul__(self, rhs: "Stress") -> "ForceStress": ...
1011
1021
  @overload
1022
+ def __mul__(self, rhs: "Velocity") -> "Power": ...
1023
+ @overload
1012
1024
  def __mul__(self, rhs: "Volume") -> "ForceVolume": ...
1013
1025
  @overload
1014
1026
  def __mul__(self, rhs: Any) -> Any: ...
@@ -1168,6 +1180,8 @@ class ForceDistance:
1168
1180
  @overload
1169
1181
  def __mul__(self, rhs: "Distance") -> "ForceArea": ...
1170
1182
  @overload
1183
+ def __mul__(self, rhs: "Frequency") -> "Power": ...
1184
+ @overload
1171
1185
  def __mul__(self, rhs: "InverseDistance") -> "Force": ...
1172
1186
  @overload
1173
1187
  def __mul__(self, rhs: Any) -> Any: ...
@@ -1186,10 +1200,14 @@ class ForceDistance:
1186
1200
  @overload
1187
1201
  def __truediv__(self, rhs: "Mass") -> "VelocitySquared": ...
1188
1202
  @overload
1203
+ def __truediv__(self, rhs: "Power") -> "Time": ...
1204
+ @overload
1189
1205
  def __truediv__(self, rhs: "RotationalStiffness") -> "Angle": ...
1190
1206
  @overload
1191
1207
  def __truediv__(self, rhs: "Stress") -> "Volume": ...
1192
1208
  @overload
1209
+ def __truediv__(self, rhs: "Time") -> "Power": ...
1210
+ @overload
1193
1211
  def __truediv__(self, rhs: "VelocitySquared") -> "Mass": ...
1194
1212
  @overload
1195
1213
  def __truediv__(self, rhs: "Voltage") -> "Charge": ...
@@ -1212,10 +1230,14 @@ class ForceDistance:
1212
1230
  @overload
1213
1231
  def __mod__(self, rhs: "Mass") -> "VelocitySquared": ...
1214
1232
  @overload
1233
+ def __mod__(self, rhs: "Power") -> "Time": ...
1234
+ @overload
1215
1235
  def __mod__(self, rhs: "RotationalStiffness") -> "Angle": ...
1216
1236
  @overload
1217
1237
  def __mod__(self, rhs: "Stress") -> "Volume": ...
1218
1238
  @overload
1239
+ def __mod__(self, rhs: "Time") -> "Power": ...
1240
+ @overload
1219
1241
  def __mod__(self, rhs: "VelocitySquared") -> "Mass": ...
1220
1242
  @overload
1221
1243
  def __mod__(self, rhs: "Voltage") -> "Charge": ...
@@ -1482,6 +1504,8 @@ class Frequency:
1482
1504
  @overload
1483
1505
  def __mul__(self, rhs: Vector3) -> Vector3: ...
1484
1506
  @overload
1507
+ def __mul__(self, rhs: "ForceDistance") -> "Power": ...
1508
+ @overload
1485
1509
  def __mul__(self, rhs: "Stress") -> "StressRate": ...
1486
1510
  @overload
1487
1511
  def __mul__(self, rhs: "Time") -> float: ...
@@ -1511,6 +1535,54 @@ class Frequency:
1511
1535
  def __repr__(self) -> str: ...
1512
1536
  def __str__(self) -> str: ...
1513
1537
 
1538
+ class HeatFluxUnit:
1539
+ W_msq: ClassVar["HeatFluxUnit"]
1540
+ mW_msq: ClassVar["HeatFluxUnit"]
1541
+ kW_msq: ClassVar["HeatFluxUnit"]
1542
+
1543
+ class HeatFlux:
1544
+ def __init__(self, value: float, unit: "HeatFluxUnit") -> None: ...
1545
+ @classmethod
1546
+ def zero(cls: Type["HeatFlux"]) -> "HeatFlux": ...
1547
+ def to(self, unit: "HeatFluxUnit") -> float: ...
1548
+ def close_abs(self, other: "HeatFlux", threshold: "HeatFlux") -> bool: ...
1549
+ def close_rel(self, other: "HeatFlux", threshold: float) -> bool: ...
1550
+ def __neg__(self) -> "HeatFlux": ...
1551
+ def __abs__(self) -> "HeatFlux": ...
1552
+ def __add__(self, rhs: "HeatFlux") -> "HeatFlux": ...
1553
+ def __sub__(self, rhs: "HeatFlux") -> "HeatFlux": ...
1554
+ @overload
1555
+ def __mul__(self, rhs: float) -> "HeatFlux": ...
1556
+ @overload
1557
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
1558
+ @overload
1559
+ def __mul__(self, rhs: "Area") -> "Power": ...
1560
+ @overload
1561
+ def __mul__(self, rhs: Any) -> Any: ...
1562
+ @overload
1563
+ def __truediv__(self, rhs: float) -> "HeatFlux": ...
1564
+ @overload
1565
+ def __truediv__(self, rhs: "HeatFlux") -> float: ...
1566
+ @overload
1567
+ def __truediv__(self, rhs: "TemperatureGradient") -> "ThermalConductivity": ...
1568
+ @overload
1569
+ def __truediv__(self, rhs: "ThermalConductivity") -> "TemperatureGradient": ...
1570
+ @overload
1571
+ def __truediv__(self, rhs: Any) -> Any: ...
1572
+ @overload
1573
+ def __mod__(self, rhs: float) -> "HeatFlux": ...
1574
+ @overload
1575
+ def __mod__(self, rhs: "HeatFlux") -> float: ...
1576
+ @overload
1577
+ def __mod__(self, rhs: "TemperatureGradient") -> "ThermalConductivity": ...
1578
+ @overload
1579
+ def __mod__(self, rhs: "ThermalConductivity") -> "TemperatureGradient": ...
1580
+ @overload
1581
+ def __mod__(self, rhs: Any) -> Any: ...
1582
+ def __rmul__(self, rhs: float) -> "HeatFlux": ...
1583
+ def __repr__(self) -> str: ...
1584
+ def __str__(self) -> str: ...
1585
+
1514
1586
  class InverseAngleUnit:
1515
1587
  _rad: ClassVar["InverseAngleUnit"]
1516
1588
 
@@ -1917,6 +1989,74 @@ class MolarMass:
1917
1989
  def __repr__(self) -> str: ...
1918
1990
  def __str__(self) -> str: ...
1919
1991
 
1992
+ class PowerUnit:
1993
+ GW: ClassVar["PowerUnit"]
1994
+ MW: ClassVar["PowerUnit"]
1995
+ kW: ClassVar["PowerUnit"]
1996
+ W: ClassVar["PowerUnit"]
1997
+ mW: ClassVar["PowerUnit"]
1998
+ muW: ClassVar["PowerUnit"]
1999
+ nW: ClassVar["PowerUnit"]
2000
+
2001
+ class Power:
2002
+ def __init__(self, value: float, unit: "PowerUnit") -> None: ...
2003
+ @classmethod
2004
+ def zero(cls: Type["Power"]) -> "Power": ...
2005
+ def to(self, unit: "PowerUnit") -> float: ...
2006
+ def close_abs(self, other: "Power", threshold: "Power") -> bool: ...
2007
+ def close_rel(self, other: "Power", threshold: float) -> bool: ...
2008
+ def __neg__(self) -> "Power": ...
2009
+ def __abs__(self) -> "Power": ...
2010
+ def __add__(self, rhs: "Power") -> "Power": ...
2011
+ def __sub__(self, rhs: "Power") -> "Power": ...
2012
+ @overload
2013
+ def __mul__(self, rhs: float) -> "Power": ...
2014
+ @overload
2015
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
2016
+ @overload
2017
+ def __mul__(self, rhs: "Time") -> "ForceDistance": ...
2018
+ @overload
2019
+ def __mul__(self, rhs: Any) -> Any: ...
2020
+ @overload
2021
+ def __truediv__(self, rhs: float) -> "Power": ...
2022
+ @overload
2023
+ def __truediv__(self, rhs: "Area") -> "HeatFlux": ...
2024
+ @overload
2025
+ def __truediv__(self, rhs: "Force") -> "Velocity": ...
2026
+ @overload
2027
+ def __truediv__(self, rhs: "ForceDistance") -> "Frequency": ...
2028
+ @overload
2029
+ def __truediv__(self, rhs: "Frequency") -> "ForceDistance": ...
2030
+ @overload
2031
+ def __truediv__(self, rhs: "HeatFlux") -> "Area": ...
2032
+ @overload
2033
+ def __truediv__(self, rhs: "Power") -> float: ...
2034
+ @overload
2035
+ def __truediv__(self, rhs: "Velocity") -> "Force": ...
2036
+ @overload
2037
+ def __truediv__(self, rhs: Any) -> Any: ...
2038
+ @overload
2039
+ def __mod__(self, rhs: float) -> "Power": ...
2040
+ @overload
2041
+ def __mod__(self, rhs: "Area") -> "HeatFlux": ...
2042
+ @overload
2043
+ def __mod__(self, rhs: "Force") -> "Velocity": ...
2044
+ @overload
2045
+ def __mod__(self, rhs: "ForceDistance") -> "Frequency": ...
2046
+ @overload
2047
+ def __mod__(self, rhs: "Frequency") -> "ForceDistance": ...
2048
+ @overload
2049
+ def __mod__(self, rhs: "HeatFlux") -> "Area": ...
2050
+ @overload
2051
+ def __mod__(self, rhs: "Power") -> float: ...
2052
+ @overload
2053
+ def __mod__(self, rhs: "Velocity") -> "Force": ...
2054
+ @overload
2055
+ def __mod__(self, rhs: Any) -> Any: ...
2056
+ def __rmul__(self, rhs: float) -> "Power": ...
2057
+ def __repr__(self) -> str: ...
2058
+ def __str__(self) -> str: ...
2059
+
1920
2060
  class RotationalStiffnessUnit:
1921
2061
  Nmm_deg: ClassVar["RotationalStiffnessUnit"]
1922
2062
  Nm_deg: ClassVar["RotationalStiffnessUnit"]
@@ -1956,6 +2096,53 @@ class RotationalStiffness:
1956
2096
  def __repr__(self) -> str: ...
1957
2097
  def __str__(self) -> str: ...
1958
2098
 
2099
+ class SpecificEnergyUnit:
2100
+ J_kg: ClassVar["SpecificEnergyUnit"]
2101
+ kJ_kg: ClassVar["SpecificEnergyUnit"]
2102
+
2103
+ class SpecificEnergy:
2104
+ def __init__(self, value: float, unit: "SpecificEnergyUnit") -> None: ...
2105
+ @classmethod
2106
+ def zero(cls: Type["SpecificEnergy"]) -> "SpecificEnergy": ...
2107
+ def to(self, unit: "SpecificEnergyUnit") -> float: ...
2108
+ def close_abs(self, other: "SpecificEnergy", threshold: "SpecificEnergy") -> bool: ...
2109
+ def close_rel(self, other: "SpecificEnergy", threshold: float) -> bool: ...
2110
+ def __neg__(self) -> "SpecificEnergy": ...
2111
+ def __abs__(self) -> "SpecificEnergy": ...
2112
+ def __add__(self, rhs: "SpecificEnergy") -> "SpecificEnergy": ...
2113
+ def __sub__(self, rhs: "SpecificEnergy") -> "SpecificEnergy": ...
2114
+ @overload
2115
+ def __mul__(self, rhs: float) -> "SpecificEnergy": ...
2116
+ @overload
2117
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
2118
+ @overload
2119
+ def __mul__(self, rhs: "Density") -> "VolumetricEnergyDensity": ...
2120
+ @overload
2121
+ def __mul__(self, rhs: Any) -> Any: ...
2122
+ @overload
2123
+ def __truediv__(self, rhs: float) -> "SpecificEnergy": ...
2124
+ @overload
2125
+ def __truediv__(self, rhs: "SpecificEnergy") -> float: ...
2126
+ @overload
2127
+ def __truediv__(self, rhs: "SpecificHeatCapacity") -> "Temperature": ...
2128
+ @overload
2129
+ def __truediv__(self, rhs: "Temperature") -> "SpecificHeatCapacity": ...
2130
+ @overload
2131
+ def __truediv__(self, rhs: Any) -> Any: ...
2132
+ @overload
2133
+ def __mod__(self, rhs: float) -> "SpecificEnergy": ...
2134
+ @overload
2135
+ def __mod__(self, rhs: "SpecificEnergy") -> float: ...
2136
+ @overload
2137
+ def __mod__(self, rhs: "SpecificHeatCapacity") -> "Temperature": ...
2138
+ @overload
2139
+ def __mod__(self, rhs: "Temperature") -> "SpecificHeatCapacity": ...
2140
+ @overload
2141
+ def __mod__(self, rhs: Any) -> Any: ...
2142
+ def __rmul__(self, rhs: float) -> "SpecificEnergy": ...
2143
+ def __repr__(self) -> str: ...
2144
+ def __str__(self) -> str: ...
2145
+
1959
2146
  class SpecificGasConstantUnit:
1960
2147
  J_kgK: ClassVar["SpecificGasConstantUnit"]
1961
2148
  kJ_kgK: ClassVar["SpecificGasConstantUnit"]
@@ -2005,6 +2192,49 @@ class SpecificGasConstant:
2005
2192
  def __repr__(self) -> str: ...
2006
2193
  def __str__(self) -> str: ...
2007
2194
 
2195
+ class SpecificHeatCapacityUnit:
2196
+ J_kgK: ClassVar["SpecificHeatCapacityUnit"]
2197
+ kJ_kgK: ClassVar["SpecificHeatCapacityUnit"]
2198
+
2199
+ class SpecificHeatCapacity:
2200
+ def __init__(self, value: float, unit: "SpecificHeatCapacityUnit") -> None: ...
2201
+ @classmethod
2202
+ def zero(cls: Type["SpecificHeatCapacity"]) -> "SpecificHeatCapacity": ...
2203
+ def to(self, unit: "SpecificHeatCapacityUnit") -> float: ...
2204
+ def close_abs(self, other: "SpecificHeatCapacity", threshold: "SpecificHeatCapacity") -> bool: ...
2205
+ def close_rel(self, other: "SpecificHeatCapacity", threshold: float) -> bool: ...
2206
+ def __neg__(self) -> "SpecificHeatCapacity": ...
2207
+ def __abs__(self) -> "SpecificHeatCapacity": ...
2208
+ def __add__(self, rhs: "SpecificHeatCapacity") -> "SpecificHeatCapacity": ...
2209
+ def __sub__(self, rhs: "SpecificHeatCapacity") -> "SpecificHeatCapacity": ...
2210
+ @overload
2211
+ def __mul__(self, rhs: float) -> "SpecificHeatCapacity": ...
2212
+ @overload
2213
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
2214
+ @overload
2215
+ def __mul__(self, rhs: "Density") -> "VolumetricHeatCapacity": ...
2216
+ @overload
2217
+ def __mul__(self, rhs: "DensityTemperature") -> "VolumetricEnergyDensity": ...
2218
+ @overload
2219
+ def __mul__(self, rhs: "Temperature") -> "SpecificEnergy": ...
2220
+ @overload
2221
+ def __mul__(self, rhs: Any) -> Any: ...
2222
+ @overload
2223
+ def __truediv__(self, rhs: float) -> "SpecificHeatCapacity": ...
2224
+ @overload
2225
+ def __truediv__(self, rhs: "SpecificHeatCapacity") -> float: ...
2226
+ @overload
2227
+ def __truediv__(self, rhs: Any) -> Any: ...
2228
+ @overload
2229
+ def __mod__(self, rhs: float) -> "SpecificHeatCapacity": ...
2230
+ @overload
2231
+ def __mod__(self, rhs: "SpecificHeatCapacity") -> float: ...
2232
+ @overload
2233
+ def __mod__(self, rhs: Any) -> Any: ...
2234
+ def __rmul__(self, rhs: float) -> "SpecificHeatCapacity": ...
2235
+ def __repr__(self) -> str: ...
2236
+ def __str__(self) -> str: ...
2237
+
2008
2238
  class StiffnessUnit:
2009
2239
  N_mm: ClassVar["StiffnessUnit"]
2010
2240
  kN_mm: ClassVar["StiffnessUnit"]
@@ -2594,27 +2824,121 @@ class Temperature:
2594
2824
  @overload
2595
2825
  def __mul__(self, rhs: "SpecificGasConstant") -> "VelocitySquared": ...
2596
2826
  @overload
2827
+ def __mul__(self, rhs: "SpecificHeatCapacity") -> "SpecificEnergy": ...
2828
+ @overload
2597
2829
  def __mul__(self, rhs: "StressPerTemperature") -> "Stress": ...
2598
2830
  @overload
2599
2831
  def __mul__(self, rhs: "StressRatePerTemperature") -> "StressRate": ...
2600
2832
  @overload
2833
+ def __mul__(self, rhs: "VolumetricHeatCapacity") -> "VolumetricEnergyDensity": ...
2834
+ @overload
2601
2835
  def __mul__(self, rhs: Any) -> Any: ...
2602
2836
  @overload
2603
2837
  def __truediv__(self, rhs: float) -> "Temperature": ...
2604
2838
  @overload
2839
+ def __truediv__(self, rhs: "Distance") -> "TemperatureGradient": ...
2840
+ @overload
2605
2841
  def __truediv__(self, rhs: "Temperature") -> float: ...
2606
2842
  @overload
2843
+ def __truediv__(self, rhs: "TemperatureGradient") -> "Distance": ...
2844
+ @overload
2607
2845
  def __truediv__(self, rhs: Any) -> Any: ...
2608
2846
  @overload
2609
2847
  def __mod__(self, rhs: float) -> "Temperature": ...
2610
2848
  @overload
2849
+ def __mod__(self, rhs: "Distance") -> "TemperatureGradient": ...
2850
+ @overload
2611
2851
  def __mod__(self, rhs: "Temperature") -> float: ...
2612
2852
  @overload
2853
+ def __mod__(self, rhs: "TemperatureGradient") -> "Distance": ...
2854
+ @overload
2613
2855
  def __mod__(self, rhs: Any) -> Any: ...
2614
2856
  def __rmul__(self, rhs: float) -> "Temperature": ...
2615
2857
  def __repr__(self) -> str: ...
2616
2858
  def __str__(self) -> str: ...
2617
2859
 
2860
+ class TemperatureGradientUnit:
2861
+ K_m: ClassVar["TemperatureGradientUnit"]
2862
+ K_mm: ClassVar["TemperatureGradientUnit"]
2863
+ K_km: ClassVar["TemperatureGradientUnit"]
2864
+
2865
+ class TemperatureGradient:
2866
+ def __init__(self, value: float, unit: "TemperatureGradientUnit") -> None: ...
2867
+ @classmethod
2868
+ def zero(cls: Type["TemperatureGradient"]) -> "TemperatureGradient": ...
2869
+ def to(self, unit: "TemperatureGradientUnit") -> float: ...
2870
+ def close_abs(self, other: "TemperatureGradient", threshold: "TemperatureGradient") -> bool: ...
2871
+ def close_rel(self, other: "TemperatureGradient", threshold: float) -> bool: ...
2872
+ def __neg__(self) -> "TemperatureGradient": ...
2873
+ def __abs__(self) -> "TemperatureGradient": ...
2874
+ def __add__(self, rhs: "TemperatureGradient") -> "TemperatureGradient": ...
2875
+ def __sub__(self, rhs: "TemperatureGradient") -> "TemperatureGradient": ...
2876
+ @overload
2877
+ def __mul__(self, rhs: float) -> "TemperatureGradient": ...
2878
+ @overload
2879
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
2880
+ @overload
2881
+ def __mul__(self, rhs: "Distance") -> "Temperature": ...
2882
+ @overload
2883
+ def __mul__(self, rhs: "ThermalConductivity") -> "HeatFlux": ...
2884
+ @overload
2885
+ def __mul__(self, rhs: Any) -> Any: ...
2886
+ @overload
2887
+ def __truediv__(self, rhs: float) -> "TemperatureGradient": ...
2888
+ @overload
2889
+ def __truediv__(self, rhs: "TemperatureGradient") -> float: ...
2890
+ @overload
2891
+ def __truediv__(self, rhs: Any) -> Any: ...
2892
+ @overload
2893
+ def __mod__(self, rhs: float) -> "TemperatureGradient": ...
2894
+ @overload
2895
+ def __mod__(self, rhs: "TemperatureGradient") -> float: ...
2896
+ @overload
2897
+ def __mod__(self, rhs: Any) -> Any: ...
2898
+ def __rmul__(self, rhs: float) -> "TemperatureGradient": ...
2899
+ def __repr__(self) -> str: ...
2900
+ def __str__(self) -> str: ...
2901
+
2902
+ class ThermalConductivityUnit:
2903
+ W_mK: ClassVar["ThermalConductivityUnit"]
2904
+ mW_mK: ClassVar["ThermalConductivityUnit"]
2905
+ kW_mK: ClassVar["ThermalConductivityUnit"]
2906
+
2907
+ class ThermalConductivity:
2908
+ def __init__(self, value: float, unit: "ThermalConductivityUnit") -> None: ...
2909
+ @classmethod
2910
+ def zero(cls: Type["ThermalConductivity"]) -> "ThermalConductivity": ...
2911
+ def to(self, unit: "ThermalConductivityUnit") -> float: ...
2912
+ def close_abs(self, other: "ThermalConductivity", threshold: "ThermalConductivity") -> bool: ...
2913
+ def close_rel(self, other: "ThermalConductivity", threshold: float) -> bool: ...
2914
+ def __neg__(self) -> "ThermalConductivity": ...
2915
+ def __abs__(self) -> "ThermalConductivity": ...
2916
+ def __add__(self, rhs: "ThermalConductivity") -> "ThermalConductivity": ...
2917
+ def __sub__(self, rhs: "ThermalConductivity") -> "ThermalConductivity": ...
2918
+ @overload
2919
+ def __mul__(self, rhs: float) -> "ThermalConductivity": ...
2920
+ @overload
2921
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
2922
+ @overload
2923
+ def __mul__(self, rhs: "TemperatureGradient") -> "HeatFlux": ...
2924
+ @overload
2925
+ def __mul__(self, rhs: Any) -> Any: ...
2926
+ @overload
2927
+ def __truediv__(self, rhs: float) -> "ThermalConductivity": ...
2928
+ @overload
2929
+ def __truediv__(self, rhs: "ThermalConductivity") -> float: ...
2930
+ @overload
2931
+ def __truediv__(self, rhs: Any) -> Any: ...
2932
+ @overload
2933
+ def __mod__(self, rhs: float) -> "ThermalConductivity": ...
2934
+ @overload
2935
+ def __mod__(self, rhs: "ThermalConductivity") -> float: ...
2936
+ @overload
2937
+ def __mod__(self, rhs: Any) -> Any: ...
2938
+ def __rmul__(self, rhs: float) -> "ThermalConductivity": ...
2939
+ def __repr__(self) -> str: ...
2940
+ def __str__(self) -> str: ...
2941
+
2618
2942
  class TimeUnit:
2619
2943
  ns: ClassVar["TimeUnit"]
2620
2944
  us: ClassVar["TimeUnit"]
@@ -2651,6 +2975,8 @@ class Time:
2651
2975
  @overload
2652
2976
  def __mul__(self, rhs: "Frequency") -> float: ...
2653
2977
  @overload
2978
+ def __mul__(self, rhs: "Power") -> "ForceDistance": ...
2979
+ @overload
2654
2980
  def __mul__(self, rhs: "StressRate") -> "Stress": ...
2655
2981
  @overload
2656
2982
  def __mul__(self, rhs: "Velocity") -> "Distance": ...
@@ -2754,6 +3080,8 @@ class Velocity:
2754
3080
  @overload
2755
3081
  def __mul__(self, rhs: "Distance") -> "Time": ...
2756
3082
  @overload
3083
+ def __mul__(self, rhs: "Force") -> "Power": ...
3084
+ @overload
2757
3085
  def __mul__(self, rhs: "ForcePerVolume") -> "StressRate": ...
2758
3086
  @overload
2759
3087
  def __mul__(self, rhs: "Time") -> "Distance": ...
@@ -2967,8 +3295,118 @@ class Volume:
2967
3295
  def __repr__(self) -> str: ...
2968
3296
  def __str__(self) -> str: ...
2969
3297
 
3298
+ class VolumetricEnergyDensityUnit:
3299
+ J_mcb: ClassVar["VolumetricEnergyDensityUnit"]
3300
+ kJ_mcb: ClassVar["VolumetricEnergyDensityUnit"]
3301
+
3302
+ class VolumetricEnergyDensity:
3303
+ def __init__(self, value: float, unit: "VolumetricEnergyDensityUnit") -> None: ...
3304
+ @classmethod
3305
+ def zero(cls: Type["VolumetricEnergyDensity"]) -> "VolumetricEnergyDensity": ...
3306
+ def to(self, unit: "VolumetricEnergyDensityUnit") -> float: ...
3307
+ def close_abs(self, other: "VolumetricEnergyDensity", threshold: "VolumetricEnergyDensity") -> bool: ...
3308
+ def close_rel(self, other: "VolumetricEnergyDensity", threshold: float) -> bool: ...
3309
+ def __neg__(self) -> "VolumetricEnergyDensity": ...
3310
+ def __abs__(self) -> "VolumetricEnergyDensity": ...
3311
+ def __add__(self, rhs: "VolumetricEnergyDensity") -> "VolumetricEnergyDensity": ...
3312
+ def __sub__(self, rhs: "VolumetricEnergyDensity") -> "VolumetricEnergyDensity": ...
3313
+ @overload
3314
+ def __mul__(self, rhs: float) -> "VolumetricEnergyDensity": ...
3315
+ @overload
3316
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
3317
+ @overload
3318
+ def __mul__(self, rhs: Any) -> Any: ...
3319
+ @overload
3320
+ def __truediv__(self, rhs: float) -> "VolumetricEnergyDensity": ...
3321
+ @overload
3322
+ def __truediv__(self, rhs: "Density") -> "SpecificEnergy": ...
3323
+ @overload
3324
+ def __truediv__(self, rhs: "DensityTemperature") -> "SpecificHeatCapacity": ...
3325
+ @overload
3326
+ def __truediv__(self, rhs: "SpecificEnergy") -> "Density": ...
3327
+ @overload
3328
+ def __truediv__(self, rhs: "SpecificHeatCapacity") -> "DensityTemperature": ...
3329
+ @overload
3330
+ def __truediv__(self, rhs: "Temperature") -> "VolumetricHeatCapacity": ...
3331
+ @overload
3332
+ def __truediv__(self, rhs: "VolumetricEnergyDensity") -> float: ...
3333
+ @overload
3334
+ def __truediv__(self, rhs: "VolumetricHeatCapacity") -> "Temperature": ...
3335
+ @overload
3336
+ def __truediv__(self, rhs: Any) -> Any: ...
3337
+ @overload
3338
+ def __mod__(self, rhs: float) -> "VolumetricEnergyDensity": ...
3339
+ @overload
3340
+ def __mod__(self, rhs: "Density") -> "SpecificEnergy": ...
3341
+ @overload
3342
+ def __mod__(self, rhs: "DensityTemperature") -> "SpecificHeatCapacity": ...
3343
+ @overload
3344
+ def __mod__(self, rhs: "SpecificEnergy") -> "Density": ...
3345
+ @overload
3346
+ def __mod__(self, rhs: "SpecificHeatCapacity") -> "DensityTemperature": ...
3347
+ @overload
3348
+ def __mod__(self, rhs: "Temperature") -> "VolumetricHeatCapacity": ...
3349
+ @overload
3350
+ def __mod__(self, rhs: "VolumetricEnergyDensity") -> float: ...
3351
+ @overload
3352
+ def __mod__(self, rhs: "VolumetricHeatCapacity") -> "Temperature": ...
3353
+ @overload
3354
+ def __mod__(self, rhs: Any) -> Any: ...
3355
+ def __rmul__(self, rhs: float) -> "VolumetricEnergyDensity": ...
3356
+ def __repr__(self) -> str: ...
3357
+ def __str__(self) -> str: ...
3358
+
3359
+ class VolumetricHeatCapacityUnit:
3360
+ J_mcbK: ClassVar["VolumetricHeatCapacityUnit"]
3361
+ kJ_mcbK: ClassVar["VolumetricHeatCapacityUnit"]
3362
+
3363
+ class VolumetricHeatCapacity:
3364
+ def __init__(self, value: float, unit: "VolumetricHeatCapacityUnit") -> None: ...
3365
+ @classmethod
3366
+ def zero(cls: Type["VolumetricHeatCapacity"]) -> "VolumetricHeatCapacity": ...
3367
+ def to(self, unit: "VolumetricHeatCapacityUnit") -> float: ...
3368
+ def close_abs(self, other: "VolumetricHeatCapacity", threshold: "VolumetricHeatCapacity") -> bool: ...
3369
+ def close_rel(self, other: "VolumetricHeatCapacity", threshold: float) -> bool: ...
3370
+ def __neg__(self) -> "VolumetricHeatCapacity": ...
3371
+ def __abs__(self) -> "VolumetricHeatCapacity": ...
3372
+ def __add__(self, rhs: "VolumetricHeatCapacity") -> "VolumetricHeatCapacity": ...
3373
+ def __sub__(self, rhs: "VolumetricHeatCapacity") -> "VolumetricHeatCapacity": ...
3374
+ @overload
3375
+ def __mul__(self, rhs: float) -> "VolumetricHeatCapacity": ...
3376
+ @overload
3377
+ def __mul__(self, rhs: Vector3) -> Vector3: ...
3378
+ @overload
3379
+ def __mul__(self, rhs: "Temperature") -> "VolumetricEnergyDensity": ...
3380
+ @overload
3381
+ def __mul__(self, rhs: Any) -> Any: ...
3382
+ @overload
3383
+ def __truediv__(self, rhs: float) -> "VolumetricHeatCapacity": ...
3384
+ @overload
3385
+ def __truediv__(self, rhs: "Density") -> "SpecificHeatCapacity": ...
3386
+ @overload
3387
+ def __truediv__(self, rhs: "SpecificHeatCapacity") -> "Density": ...
3388
+ @overload
3389
+ def __truediv__(self, rhs: "VolumetricHeatCapacity") -> float: ...
3390
+ @overload
3391
+ def __truediv__(self, rhs: Any) -> Any: ...
3392
+ @overload
3393
+ def __mod__(self, rhs: float) -> "VolumetricHeatCapacity": ...
3394
+ @overload
3395
+ def __mod__(self, rhs: "Density") -> "SpecificHeatCapacity": ...
3396
+ @overload
3397
+ def __mod__(self, rhs: "SpecificHeatCapacity") -> "Density": ...
3398
+ @overload
3399
+ def __mod__(self, rhs: "VolumetricHeatCapacity") -> float: ...
3400
+ @overload
3401
+ def __mod__(self, rhs: Any) -> Any: ...
3402
+ def __rmul__(self, rhs: float) -> "VolumetricHeatCapacity": ...
3403
+ def __repr__(self) -> str: ...
3404
+ def __str__(self) -> str: ...
3405
+
2970
3406
  Energy = ForceDistance
2971
3407
  EnergyUnit = ForceDistanceUnit
3408
+ HeatRate = Power
3409
+ HeatRateUnit = PowerUnit
2972
3410
  Moment = ForceDistance
2973
3411
  MomentUnit = ForceDistanceUnit
2974
3412
  PressureRate = StressRate
@@ -93,6 +93,8 @@ pub mod quantities {
93
93
  pub use force_volume::*;
94
94
  pub mod frequency;
95
95
  pub use frequency::*;
96
+ pub mod heat_flux;
97
+ pub use heat_flux::*;
96
98
  pub mod inverse_distance;
97
99
  pub use inverse_distance::*;
98
100
  pub mod inverse_area;
@@ -105,6 +107,8 @@ pub mod quantities {
105
107
  pub use molar_mass::*;
106
108
  pub mod mass_per_distance;
107
109
  pub use mass_per_distance::*;
110
+ pub mod power;
111
+ pub use power::*;
108
112
  pub mod pressure_rate;
109
113
  pub use pressure_rate::*;
110
114
  pub mod force_distance;
@@ -113,6 +117,10 @@ pub mod quantities {
113
117
  pub use force_stress::*;
114
118
  pub mod specific_gas_constant;
115
119
  pub use specific_gas_constant::*;
120
+ pub mod specific_energy;
121
+ pub use specific_energy::*;
122
+ pub mod specific_heat_capacity;
123
+ pub use specific_heat_capacity::*;
116
124
  pub mod stiffness;
117
125
  pub use stiffness::*;
118
126
  pub mod rotational_stiffness;
@@ -135,8 +143,12 @@ pub mod quantities {
135
143
  pub use stress_squared::*;
136
144
  pub mod temperature;
137
145
  pub use temperature::*;
146
+ pub mod temperature_gradient;
147
+ pub use temperature_gradient::*;
138
148
  pub mod inverse_temperature;
139
149
  pub use inverse_temperature::*;
150
+ pub mod thermal_conductivity;
151
+ pub use thermal_conductivity::*;
140
152
  pub mod time;
141
153
  pub use time::*;
142
154
  pub mod universal_gas_constant;
@@ -151,6 +163,10 @@ pub mod quantities {
151
163
  pub use voltage::*;
152
164
  pub mod inverse_angle;
153
165
  pub use inverse_angle::*;
166
+ pub mod volumetric_heat_capacity;
167
+ pub use volumetric_heat_capacity::*;
168
+ pub mod volumetric_energy_density;
169
+ pub use volumetric_energy_density::*;
154
170
  }
155
171
  pub use quantities::*;
156
172