EnergySystemModels 20260416005__tar.gz → 20260416007__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 (199) hide show
  1. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/PKG-INFO +1 -1
  2. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/setup.py +1 -1
  3. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Combustion/NG_Boiler_Efficiency_EN1295X.py +75 -18
  4. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/energysystemmodels.egg-info/PKG-INFO +1 -1
  5. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/LICENSE +0 -0
  6. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/README.md +0 -0
  7. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/setup.cfg +0 -0
  8. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/AirPort/AirPort.py +0 -0
  9. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/AirPort/__init__.py +0 -0
  10. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Coil/CoolingCoil.py +0 -0
  11. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Coil/CoolingCoil_Expert.py +0 -0
  12. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Coil/CoolingCoil_Sensible.py +0 -0
  13. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Coil/CoolingCoil_Tc.py +0 -0
  14. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Coil/HeatingCoil.py +0 -0
  15. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Coil/HeatingCoilNUT.py +0 -0
  16. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Coil/__init__.py +0 -0
  17. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Connect.py +0 -0
  18. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/FreshAir/AirMix.py +0 -0
  19. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/FreshAir/FreshAir.py +0 -0
  20. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/FreshAir/__init__.py +0 -0
  21. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/GenericAHU/AirRecoveryAHU.py +0 -0
  22. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/GenericAHU/AirRecyclingAHU.py +0 -0
  23. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/GenericAHU/__init__.py +0 -0
  24. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/HeatRecovery/Heat_plate_exchanger.py +0 -0
  25. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/HeatRecovery/Thermal_wheel_exchanger.py +0 -0
  26. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/HeatRecovery/__init__.py +0 -0
  27. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Humidification/Humidifier.py +0 -0
  28. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/Humidification/__init__.py +0 -0
  29. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/__init__.py +0 -0
  30. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/air_humide/PsychrometricChart.py +0 -0
  31. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/air_humide/__init__.py +0 -0
  32. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/air_humide/air_humide.py +0 -0
  33. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/AHU/air_humide/air_humide_NB.py +0 -0
  34. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/CEE/CEE.py +0 -0
  35. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/CEE/__init__.py +0 -0
  36. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Distillation/Deethanizer.py +0 -0
  37. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Distillation/PengRobinson.py +0 -0
  38. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Distillation/__init__.py +0 -0
  39. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Distillation/diag_enthalpy_models.py +0 -0
  40. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Distillation/reverse_engineer_enthalpies.py +0 -0
  41. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/ATR_Transport_Distribution.py +0 -0
  42. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/SONALGAZ_Elec.py +0 -0
  43. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/SONALGAZ_gaz.py +0 -0
  44. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/TURPE.py +0 -0
  45. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/__init__.py +0 -0
  46. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/coefficients_elec.json +0 -0
  47. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/coefficients_gaz_ATRD.json +0 -0
  48. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/coefficients_gaz_ATRT.json +0 -0
  49. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/coefficients_gaz_TICGN.json +0 -0
  50. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/coefficients_gaz_TVA.json +0 -0
  51. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/coefficients_sonalgaz_elec.json +0 -0
  52. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/coefficients_sonalgaz_gaz.json +0 -0
  53. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/df_utils.py +0 -0
  54. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/Facture/test.py +0 -0
  55. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/HeatTransfer/CompositeWall.py +0 -0
  56. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/HeatTransfer/ParallelepipedicBody.py +0 -0
  57. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/HeatTransfer/PipeInsulationAnalysis.py +0 -0
  58. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/HeatTransfer/PlateHeatTransfer.py +0 -0
  59. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/HeatTransfer/__init__.py +0 -0
  60. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/IPMVP/IPMVP.py +0 -0
  61. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/IPMVP/__init__.py +0 -0
  62. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/MeteoCiel/DJU_costic.py +0 -0
  63. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/MeteoCiel/MeteoCiel_Scraping.py +0 -0
  64. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/MeteoCiel/MeteoCiel_dayScraping.py +0 -0
  65. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/MeteoCiel/__init__.py +0 -0
  66. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/__init__.py +0 -0
  67. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/__init__.py +0 -0
  68. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_content_widget.py +0 -0
  69. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_edge.py +0 -0
  70. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_edge_dragging.py +0 -0
  71. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_edge_validators.py +0 -0
  72. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_editor_widget.py +0 -0
  73. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_editor_window.py +0 -0
  74. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_graphics_cutline.py +0 -0
  75. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_graphics_edge.py +0 -0
  76. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_graphics_edge_path.py +0 -0
  77. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_graphics_node.py +0 -0
  78. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_graphics_scene.py +0 -0
  79. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_graphics_socket.py +0 -0
  80. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_graphics_view.py +0 -0
  81. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_node.py +0 -0
  82. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_scene.py +0 -0
  83. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_scene_clipboard.py +0 -0
  84. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_scene_history.py +0 -0
  85. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_serializable.py +0 -0
  86. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/node_socket.py +0 -0
  87. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/nodeeditor/utils.py +0 -0
  88. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/setup.py +0 -0
  89. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/tests/__init__.py +0 -0
  90. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/tests/test_000_import.py +0 -0
  91. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/NodeEditor/tox.ini +0 -0
  92. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/OpenWeatherMap_call.py +0 -0
  93. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/OpenWeatherMap_call_location.py +0 -0
  94. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/SQlite_OpenWeatherMap.py +0 -0
  95. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/__init__.py +0 -0
  96. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/config.ini +0 -0
  97. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/config_historical.ini +0 -0
  98. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/data.json +0 -0
  99. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/OpenWeatherMap/get_weather.py +0 -0
  100. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PV/ProductionElectriquePV.py +0 -0
  101. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PV/__init__.py +0 -0
  102. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/PinchAnalysis.py +0 -0
  103. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/__init__.py +0 -0
  104. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/Two_flow_pinch_analysis.py +0 -0
  105. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/__init__.py +0 -0
  106. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/apply_heat_exchange_above.py +0 -0
  107. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/apply_heat_exchange_below.py +0 -0
  108. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/calculation_HEN.py +0 -0
  109. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/calculation_allowed_combinations.py +0 -0
  110. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/calculation_below_above_stream.py +0 -0
  111. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/calculation_composite_curve.py +0 -0
  112. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/calculation_decomposition.py +0 -0
  113. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/calculation_graphical_HEN.py +0 -0
  114. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/calculation_surplus_deficit.py +0 -0
  115. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/check_additional_heat_exchanges.py +0 -0
  116. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/draw_hen_from_df.py +0 -0
  117. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PinchAnalysis/functions/plotting.py +0 -0
  118. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/__init__.py +0 -0
  119. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/calc_conf.py +0 -0
  120. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/calc_drag_listbox.py +0 -0
  121. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/calc_node_base.py +0 -0
  122. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/calc_sub_window.py +0 -0
  123. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/calc_window.py +0 -0
  124. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/config.ini +0 -0
  125. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/main.py +0 -0
  126. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/Simple_HEX.py +0 -0
  127. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/__init__.py +0 -0
  128. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/air_input.py +0 -0
  129. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/air_mixer.py +0 -0
  130. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/air_output.py +0 -0
  131. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/compressor.py +0 -0
  132. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/compressor_m.py +0 -0
  133. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/condenser.py +0 -0
  134. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/cooling_coil.py +0 -0
  135. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/cooling_coil_expert.py +0 -0
  136. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/cooling_coil_sensible.py +0 -0
  137. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/desuperheater.py +0 -0
  138. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/evaporator.py +0 -0
  139. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/expansion_valve.py +0 -0
  140. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/heating_coil.py +0 -0
  141. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/humidificateur.py +0 -0
  142. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/input.py +0 -0
  143. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/operations.py +0 -0
  144. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/output.py +0 -0
  145. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/random_meteo.py +0 -0
  146. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/source_P_h.py +0 -0
  147. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/PyqtSimulator/nodes/turbine.py +0 -0
  148. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Aeraulic/StraightPipe.py +0 -0
  149. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Aeraulic/__init__.py +0 -0
  150. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Carnot_Cycle_Analysis.py +0 -0
  151. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Chiller.py +0 -0
  152. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Combustion/Combustor_cantera.py +0 -0
  153. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Combustion/Gaz_Boiler.py +0 -0
  154. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Combustion/NG_Heating_Value.py +0 -0
  155. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Combustion/__init__.py +0 -0
  156. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Compressor/Compressor.py +0 -0
  157. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Compressor/Compressor_m.py +0 -0
  158. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Compressor/__init__.py +0 -0
  159. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Condenser/Condenser.py +0 -0
  160. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Condenser/__init__.py +0 -0
  161. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Connect.py +0 -0
  162. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Desuperheater/Desuperheater.py +0 -0
  163. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Desuperheater/__init__.py +0 -0
  164. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Evaporator/Evaporator.py +0 -0
  165. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Evaporator/__init__.py +0 -0
  166. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Expansion_Valve/Expansion_Valve.py +0 -0
  167. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Expansion_Valve/__init__.py +0 -0
  168. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/FluidPort/FluidPort.py +0 -0
  169. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/FluidPort/__init__.py +0 -0
  170. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/HEX/AirCooled_HEX.py +0 -0
  171. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/HEX/DTLM_HEX.py +0 -0
  172. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/HEX/NUT_HEX.py +0 -0
  173. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/HEX/Simple_HEX.py +0 -0
  174. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/HEX/__init__.py +0 -0
  175. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Hydraulic/StraightPipe.py +0 -0
  176. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Hydraulic/TA_Valve.py +0 -0
  177. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Hydraulic/__init__.py +0 -0
  178. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Pump/Pump.py +0 -0
  179. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Pump/Pump_m.py +0 -0
  180. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Pump/__init__.py +0 -0
  181. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Sink/Sink.py +0 -0
  182. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Sink/__init__.py +0 -0
  183. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Source/Source.py +0 -0
  184. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Source/__init__.py +0 -0
  185. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Tank/MixedStorage.py +0 -0
  186. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Tank/__init__.py +0 -0
  187. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Temperature_Entropy_Chart.py +0 -0
  188. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Turbine/Turbine.py +0 -0
  189. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/Turbine/__init__.py +0 -0
  190. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/ThermodynamicCycles/__init__.py +0 -0
  191. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/TkinterGUI/Chiller.py +0 -0
  192. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/TkinterGUI/__init__.py +0 -0
  193. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/energysystemmodels.egg-info/SOURCES.txt +0 -0
  194. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/energysystemmodels.egg-info/dependency_links.txt +0 -0
  195. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/energysystemmodels.egg-info/requires.txt +0 -0
  196. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/src/energysystemmodels.egg-info/top_level.txt +0 -0
  197. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/test/test_api_diagnostic.py +0 -0
  198. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/test/test_api_key.py +0 -0
  199. {energysystemmodels-20260416005 → energysystemmodels-20260416007}/test/test_compare_keys.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: energysystemmodels
3
- Version: 20260416005
3
+ Version: 20260416007
4
4
  Summary: Energy systems models are the mathematical models that are developed in order to represent as reliably as possible various energy-related problems.
5
5
  Author: Zoheir HADID
6
6
  Author-email: zoheir.hadid@gmail.com
@@ -11,7 +11,7 @@ setup(
11
11
  name='energysystemmodels',
12
12
 
13
13
 
14
- version='20260416005',
14
+ version='20260416007',
15
15
 
16
16
  description='Energy systems models are the mathematical models that are developed in order to represent as reliably as possible various energy-related problems.',
17
17
 
@@ -3,12 +3,19 @@ import pandas as pd
3
3
  import re
4
4
  from ThermodynamicCycles.Combustion.NG_Heating_Value import NG_Heating_Value
5
5
 
6
+ try:
7
+ from CoolProp.CoolProp import PropsSI
8
+ _HAS_COOLPROP = True
9
+ except ImportError:
10
+ _HAS_COOLPROP = False
11
+
6
12
 
7
13
  class NG_Boiler_Efficiency:
8
14
  """
9
15
  EN12952-15 / EN12953-11 indirect method boiler efficiency calculator.
10
16
  Computes heat losses (flue gas sensible, CO, radiation, condensation)
11
17
  and derives LHV/HHV efficiencies for natural gas boilers.
18
+ Uses CoolProp for precise gas enthalpies when available.
12
19
  """
13
20
 
14
21
  R = 8.314510 # J/mol/K
@@ -19,8 +26,11 @@ class NG_Boiler_Efficiency:
19
26
  # Dry air molar composition
20
27
  DRY_AIR = {'CO2': 0.00033, 'O2': 0.20946, 'N2': 0.78102, 'Ar': 0.00919}
21
28
 
22
- # Flue gas Cp in kJ/Nm3/K (mean values for typical boiler temperature range)
23
- FG_CP = {'CO2': 1.7, 'H2O': 1.5, 'N2': 1.3, 'O2': 1.3, 'Ar': 0.93}
29
+ # CoolProp fluid names
30
+ _CP_NAMES = {'CO2': 'CarbonDioxide', 'N2': 'Nitrogen', 'O2': 'Oxygen', 'Ar': 'Argon'}
31
+
32
+ # Fallback Cp in kJ/Nm3/K (if CoolProp unavailable)
33
+ FG_CP_FALLBACK = {'CO2': 1.7, 'H2O': 1.5, 'N2': 1.3, 'O2': 1.3, 'Ar': 0.93}
24
34
 
25
35
  # Radiation loss constants
26
36
  RADIATION_CONSTANT = {'water_tube': 0.0113, 'fire_tube': 0.0072}
@@ -28,6 +38,38 @@ class NG_Boiler_Efficiency:
28
38
  # CO net calorific value kJ/Nm3
29
39
  NCV_CO = 12633.0
30
40
 
41
+ @staticmethod
42
+ def _enthalpy_Nm3(species, T_K):
43
+ """Enthalpy of gas species at T_K in kJ/Nm3, relative to 0 kJ at 0°C.
44
+
45
+ Uses CoolProp if available, otherwise Cp fallback.
46
+ For H2O: uses CoolProp at 1 kPa (superheated vapor) to avoid phase change.
47
+ """
48
+ rho_map = {'CO2': 1.977, 'H2O': 0.8034, 'N2': 1.250, 'O2': 1.429, 'Ar': 1.784}
49
+ rho = rho_map.get(species, 1.3)
50
+
51
+ if _HAS_COOLPROP and species != 'H2O':
52
+ cp_name = NG_Boiler_Efficiency._CP_NAMES.get(species)
53
+ if cp_name:
54
+ try:
55
+ h = PropsSI('H', 'T', T_K, 'P', 101325, cp_name)
56
+ h0 = PropsSI('H', 'T', 273.15, 'P', 101325, cp_name)
57
+ return (h - h0) * rho / 1000.0 # J/kg * kg/Nm3 / 1000 -> kJ/Nm3
58
+ except Exception:
59
+ pass
60
+
61
+ if _HAS_COOLPROP and species == 'H2O':
62
+ try:
63
+ h = PropsSI('H', 'T', T_K, 'P', 1000, 'Water')
64
+ h0 = PropsSI('H', 'T', 273.16, 'P', 1000, 'Water')
65
+ return (h - h0) * rho / 1000.0
66
+ except Exception:
67
+ pass
68
+
69
+ # Fallback: constant Cp
70
+ Cp = NG_Boiler_Efficiency.FG_CP_FALLBACK.get(species, 1.3)
71
+ return Cp * (T_K - 273.15)
72
+
31
73
  # Latent heat of water vaporization kJ/kg at 25C
32
74
  LATENT_HEAT_WATER = 2442.5
33
75
 
@@ -173,12 +215,17 @@ class NG_Boiler_Efficiency:
173
215
  # H2O volume fraction in flue gas
174
216
  x_H2O_fg = fg['H2O'] / fg_total
175
217
 
176
- # --- 9-10. Flue gas sensible heat loss ---
177
- dT = self.T_fg - self.T_ref
178
- # Weighted Cp of flue gas mixture (kJ/Nm3_mix/K)
179
- Cp_fg_mix = sum(fg[sp] / fg_total * self.FG_CP.get(sp, 1.3) for sp in fg)
218
+ # --- 9-10. Flue gas sensible heat loss (CoolProp or fallback) ---
219
+ T_fg_K = self.T_fg + 273.15
220
+ T_ref_K = self.T_ref + 273.15
221
+ # Enthalpy of each species at T_fg and T_ref (kJ/Nm3)
222
+ fg_enthalpy = 0.0 # kJ per Nm3 of fuel
223
+ for sp, vol in fg.items():
224
+ h_fg = self._enthalpy_Nm3(sp, T_fg_K)
225
+ h_ref = self._enthalpy_Nm3(sp, T_ref_K)
226
+ fg_enthalpy += vol * (h_fg - h_ref)
180
227
 
181
- flue_gas_loss = fg_flow * Cp_fg_mix * dT / 3600.0 # kW
228
+ flue_gas_loss = fg_enthalpy * self.ng_flow / 3600.0 # kW
182
229
 
183
230
  # CO loss
184
231
  CO_loss = self.CO_ppm * 1e-6 * fg_flow_dry * self.NCV_CO / 3600.0 # kW
@@ -219,20 +266,30 @@ class NG_Boiler_Efficiency:
219
266
  # --- 12. Boiler efficiency (indirect method) ---
220
267
  heat_credits = self.electrical_credit + self.other_heat_credit
221
268
 
222
- # LHV basis
269
+ # Water vapor remaining after condensation (Nm3/Nm3_fuel)
270
+ if self.T_fg < T_condensation:
271
+ H2O_vapor = H2O_remaining_vapor
272
+ H2O_condensed = fg['H2O'] - H2O_remaining_vapor
273
+ else:
274
+ H2O_vapor = fg['H2O']
275
+ H2O_condensed = 0.0
276
+
277
+ H2O_vapor_kg_h = H2O_vapor * self.ng_flow * 18.015 / 22.414
278
+ H2O_condensed_kg_h = H2O_condensed * self.ng_flow * 18.015 / 22.414
279
+
280
+ # Condensate loss: water leaving envelope at T_fg (sensible heat)
281
+ condensate_loss = H2O_condensed_kg_h * 4.18 * (self.T_fg - self.T_ref) / 3600.0 # kW
282
+
283
+ # === LHV basis ===
284
+ # Condensation recovery = latent + sensible heat recovered
223
285
  total_losses_LHV = flue_gas_loss + CO_loss + radiation_loss - condensation_recovery
224
286
  efficiency_LHV = 1.0 - total_losses_LHV / (Q_ng_LHV + heat_credits) if (Q_ng_LHV + heat_credits) > 0 else 0.0
225
287
 
226
- # HHV basis: flue gas loss must include latent heat of ALL water vapor
227
- # Additional latent heat = total H2O in flue gas (as vapor) * latent heat
228
- H2O_vapor_Nm3_h = fg['H2O'] * self.ng_flow # Nm3/h of water vapor
229
- if self.T_fg < T_condensation:
230
- H2O_vapor_Nm3_h = H2O_remaining_vapor * self.ng_flow
231
- H2O_vapor_kg_h = H2O_vapor_Nm3_h * 18.015 / 22.414
232
- latent_loss_all_water = H2O_vapor_kg_h * self.LATENT_HEAT_WATER / 3600.0 # kW
233
-
234
- flue_gas_loss_HHV = flue_gas_loss + latent_loss_all_water
235
- total_losses_HHV = flue_gas_loss_HHV + CO_loss + radiation_loss - condensation_recovery
288
+ # === HHV basis ===
289
+ # Flue gas loss includes latent heat of water REMAINING as vapor
290
+ latent_vapor = H2O_vapor_kg_h * self.LATENT_HEAT_WATER / 3600.0 # kW
291
+ flue_gas_loss_HHV = flue_gas_loss + latent_vapor
292
+ total_losses_HHV = flue_gas_loss_HHV + CO_loss + radiation_loss + condensate_loss
236
293
  efficiency_HHV = 1.0 - total_losses_HHV / (Q_ng_HHV + heat_credits) if (Q_ng_HHV + heat_credits) > 0 else 0.0
237
294
 
238
295
  # --- 13. Useful heat ---
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: energysystemmodels
3
- Version: 20260416005
3
+ Version: 20260416007
4
4
  Summary: Energy systems models are the mathematical models that are developed in order to represent as reliably as possible various energy-related problems.
5
5
  Author: Zoheir HADID
6
6
  Author-email: zoheir.hadid@gmail.com