exerpy 0.0.5__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 (158) hide show
  1. exerpy-0.0.5/.readthedocs.yaml +16 -0
  2. exerpy-0.0.5/LICENSE +21 -0
  3. exerpy-0.0.5/PKG-INFO +199 -0
  4. exerpy-0.0.5/README.rst +148 -0
  5. exerpy-0.0.5/docs/_static/images/flowsheets/cgam.svg +615 -0
  6. exerpy-0.0.5/docs/_static/images/flowsheets/cgam_darkmode.svg +618 -0
  7. exerpy-0.0.5/docs/_static/images/flowsheets/combined_cycle_power_plant.svg +1287 -0
  8. exerpy-0.0.5/docs/_static/images/flowsheets/combined_cycle_power_plant_darkmode.svg +1294 -0
  9. exerpy-0.0.5/docs/_static/images/flowsheets/heatpump.svg +653 -0
  10. exerpy-0.0.5/docs/_static/images/flowsheets/heatpump_darkmode.svg +662 -0
  11. exerpy-0.0.5/docs/_static/images/logo_exerpy_big.svg +556 -0
  12. exerpy-0.0.5/docs/_static/images/logo_exerpy_big_dark.svg +556 -0
  13. exerpy-0.0.5/docs/_static/images/logo_exerpy_big_editable_font.svg +565 -0
  14. exerpy-0.0.5/docs/_static/images/logo_exerpy_mid.svg +518 -0
  15. exerpy-0.0.5/docs/_static/images/logo_exerpy_mid_dark.svg +518 -0
  16. exerpy-0.0.5/docs/_static/images/logo_exerpy_mid_editable_font.svg +545 -0
  17. exerpy-0.0.5/docs/_static/images/logo_exerpy_small.svg +387 -0
  18. exerpy-0.0.5/docs/_static/images/logo_exerpy_small_dark.svg +387 -0
  19. exerpy-0.0.5/docs/api/analyses.rst +8 -0
  20. exerpy-0.0.5/docs/api/components.rst +172 -0
  21. exerpy-0.0.5/docs/api/functions.rst +8 -0
  22. exerpy-0.0.5/docs/api/parser.rst +27 -0
  23. exerpy-0.0.5/docs/api.rst +300 -0
  24. exerpy-0.0.5/docs/conf.py +152 -0
  25. exerpy-0.0.5/docs/contribute.rst +257 -0
  26. exerpy-0.0.5/docs/examples/ccpp.rst +309 -0
  27. exerpy-0.0.5/docs/examples/cgam.rst +301 -0
  28. exerpy-0.0.5/docs/examples/heatpump.rst +297 -0
  29. exerpy-0.0.5/docs/examples/json.rst +406 -0
  30. exerpy-0.0.5/docs/examples/json_exergoeconomic.rst +61 -0
  31. exerpy-0.0.5/docs/examples.rst +127 -0
  32. exerpy-0.0.5/docs/exergoeconomic_analysis.rst +340 -0
  33. exerpy-0.0.5/docs/exergy_analysis.rst +235 -0
  34. exerpy-0.0.5/docs/index.rst +29 -0
  35. exerpy-0.0.5/docs/installation.rst +170 -0
  36. exerpy-0.0.5/docs/introduction.rst +140 -0
  37. exerpy-0.0.5/docs/references.bib +151 -0
  38. exerpy-0.0.5/docs/whats_new/v0-0-1.rst +24 -0
  39. exerpy-0.0.5/docs/whats_new/v0-0-2.rst +20 -0
  40. exerpy-0.0.5/docs/whats_new/v0-0-3.rst +25 -0
  41. exerpy-0.0.5/docs/whats_new/v0-0-4.rst +22 -0
  42. exerpy-0.0.5/docs/whats_new/v0-0-5.rst +39 -0
  43. exerpy-0.0.5/docs/whats_new.rst +15 -0
  44. exerpy-0.0.5/docs/zliterature.rst +5 -0
  45. exerpy-0.0.5/examples/__init__.py +0 -0
  46. exerpy-0.0.5/examples/exergoeconomic_analysis/json_example/example.json +954 -0
  47. exerpy-0.0.5/examples/exergoeconomic_analysis/json_example/example_json.py +50 -0
  48. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp.apw +0 -0
  49. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp.bkp +4836 -0
  50. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp.ebs +0 -0
  51. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_aspen.json +1473 -0
  52. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_aspen.py +24 -0
  53. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_components_ebsilon.csv +20 -0
  54. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_components_tespy.csv +24 -0
  55. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_ebs.json +1881 -0
  56. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_ebs.py +24 -0
  57. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_json.py +23 -0
  58. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_tespy.json +1537 -0
  59. exerpy-0.0.5/examples/exergy_analysis/ccpp/ccpp_tespy.py +224 -0
  60. exerpy-0.0.5/examples/exergy_analysis/ccpp/validation.ipynb +1121 -0
  61. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam.apw +0 -0
  62. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam.bkp +2912 -0
  63. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam.ebs +0 -0
  64. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_aspen.json +676 -0
  65. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_aspen.py +24 -0
  66. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_components_ebsilon.csv +9 -0
  67. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_components_tespy.csv +9 -0
  68. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_ebs.json +813 -0
  69. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_ebs.py +24 -0
  70. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_json.py +23 -0
  71. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_tespy.json +680 -0
  72. exerpy-0.0.5/examples/exergy_analysis/cgam/cgam_tespy.py +118 -0
  73. exerpy-0.0.5/examples/exergy_analysis/cgam/simple.ebs +0 -0
  74. exerpy-0.0.5/examples/exergy_analysis/cgam/simple_ebs.py +42 -0
  75. exerpy-0.0.5/examples/exergy_analysis/cgam/validation.ipynb +726 -0
  76. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp.apw +0 -0
  77. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp.bkp +2303 -0
  78. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp.ebs +0 -0
  79. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_aspen.json +638 -0
  80. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_aspen.py +24 -0
  81. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_components_ebsilon.csv +11 -0
  82. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_components_tespy.csv +11 -0
  83. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_ebs.json +799 -0
  84. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_ebs.py +24 -0
  85. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_json.py +22 -0
  86. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_tespy.json +619 -0
  87. exerpy-0.0.5/examples/exergy_analysis/heatpump/hp_tespy.py +122 -0
  88. exerpy-0.0.5/examples/exergy_analysis/heatpump/validation.ipynb +695 -0
  89. exerpy-0.0.5/examples/exergy_analysis/json_example/example.json +257 -0
  90. exerpy-0.0.5/examples/exergy_analysis/json_example/example_json.py +23 -0
  91. exerpy-0.0.5/pyproject.toml +156 -0
  92. exerpy-0.0.5/src/exerpy/__init__.py +10 -0
  93. exerpy-0.0.5/src/exerpy/analyses.py +2501 -0
  94. exerpy-0.0.5/src/exerpy/components/__init__.py +19 -0
  95. exerpy-0.0.5/src/exerpy/components/combustion/__init__.py +0 -0
  96. exerpy-0.0.5/src/exerpy/components/combustion/base.py +291 -0
  97. exerpy-0.0.5/src/exerpy/components/component.py +126 -0
  98. exerpy-0.0.5/src/exerpy/components/heat_exchanger/__init__.py +0 -0
  99. exerpy-0.0.5/src/exerpy/components/heat_exchanger/base.py +786 -0
  100. exerpy-0.0.5/src/exerpy/components/heat_exchanger/condenser.py +510 -0
  101. exerpy-0.0.5/src/exerpy/components/heat_exchanger/simple.py +708 -0
  102. exerpy-0.0.5/src/exerpy/components/heat_exchanger/steam_generator.py +294 -0
  103. exerpy-0.0.5/src/exerpy/components/helpers/__init__.py +0 -0
  104. exerpy-0.0.5/src/exerpy/components/helpers/cycle_closer.py +133 -0
  105. exerpy-0.0.5/src/exerpy/components/helpers/power_bus.py +147 -0
  106. exerpy-0.0.5/src/exerpy/components/nodes/__init__.py +0 -0
  107. exerpy-0.0.5/src/exerpy/components/nodes/deaerator.py +451 -0
  108. exerpy-0.0.5/src/exerpy/components/nodes/drum.py +175 -0
  109. exerpy-0.0.5/src/exerpy/components/nodes/flash_tank.py +264 -0
  110. exerpy-0.0.5/src/exerpy/components/nodes/mixer.py +515 -0
  111. exerpy-0.0.5/src/exerpy/components/nodes/splitter.py +180 -0
  112. exerpy-0.0.5/src/exerpy/components/nodes/storage.py +130 -0
  113. exerpy-0.0.5/src/exerpy/components/piping/__init__.py +0 -0
  114. exerpy-0.0.5/src/exerpy/components/piping/valve.py +606 -0
  115. exerpy-0.0.5/src/exerpy/components/power_machines/__init__.py +0 -0
  116. exerpy-0.0.5/src/exerpy/components/power_machines/generator.py +235 -0
  117. exerpy-0.0.5/src/exerpy/components/power_machines/motor.py +245 -0
  118. exerpy-0.0.5/src/exerpy/components/turbomachinery/__init__.py +0 -0
  119. exerpy-0.0.5/src/exerpy/components/turbomachinery/compressor.py +464 -0
  120. exerpy-0.0.5/src/exerpy/components/turbomachinery/pump.py +457 -0
  121. exerpy-0.0.5/src/exerpy/components/turbomachinery/turbine.py +459 -0
  122. exerpy-0.0.5/src/exerpy/cost_estimation/__init__.py +9 -0
  123. exerpy-0.0.5/src/exerpy/cost_estimation/turton.py +1260 -0
  124. exerpy-0.0.5/src/exerpy/data/Ahrendts.json +90 -0
  125. exerpy-0.0.5/src/exerpy/data/cost_correlations/cepci_index.json +135 -0
  126. exerpy-0.0.5/src/exerpy/data/cost_correlations/component_mapping.json +450 -0
  127. exerpy-0.0.5/src/exerpy/data/cost_correlations/material_factors.json +428 -0
  128. exerpy-0.0.5/src/exerpy/data/cost_correlations/pressure_factors.json +206 -0
  129. exerpy-0.0.5/src/exerpy/data/cost_correlations/turton2008.json +724 -0
  130. exerpy-0.0.5/src/exerpy/data/cost_correlations/turton2008_design_analysis_synthesis_components_tables.pdf +0 -0
  131. exerpy-0.0.5/src/exerpy/data/cost_correlations/turton2008_design_analysis_synthesis_components_theory.pdf +0 -0
  132. exerpy-0.0.5/src/exerpy/functions.py +762 -0
  133. exerpy-0.0.5/src/exerpy/parser/__init__.py +0 -0
  134. exerpy-0.0.5/src/exerpy/parser/from_aspen/__init__.py +0 -0
  135. exerpy-0.0.5/src/exerpy/parser/from_aspen/aspen_config.py +74 -0
  136. exerpy-0.0.5/src/exerpy/parser/from_aspen/aspen_parser.py +885 -0
  137. exerpy-0.0.5/src/exerpy/parser/from_ebsilon/__init__.py +38 -0
  138. exerpy-0.0.5/src/exerpy/parser/from_ebsilon/check_ebs_path.py +70 -0
  139. exerpy-0.0.5/src/exerpy/parser/from_ebsilon/ebsilon_config.py +1171 -0
  140. exerpy-0.0.5/src/exerpy/parser/from_ebsilon/ebsilon_functions.py +348 -0
  141. exerpy-0.0.5/src/exerpy/parser/from_ebsilon/ebsilon_parser.py +944 -0
  142. exerpy-0.0.5/src/exerpy/parser/from_ebsilon/utils.py +84 -0
  143. exerpy-0.0.5/src/exerpy/parser/from_tespy/tespy_config.py +55 -0
  144. exerpy-0.0.5/src/exerpy/parser/from_tespy/tespy_parser.py +151 -0
  145. exerpy-0.0.5/tests/test_analyses.py +861 -0
  146. exerpy-0.0.5/tests/test_components.py +1346 -0
  147. exerpy-0.0.5/tests/test_exergoeconomic_analysis.py +899 -0
  148. exerpy-0.0.5/tests/test_exergy_analysis.py +103 -0
  149. exerpy-0.0.5/tests/test_from_aspen.py +0 -0
  150. exerpy-0.0.5/tests/test_from_ebsilon.py +0 -0
  151. exerpy-0.0.5/tests/test_from_json.py +0 -0
  152. exerpy-0.0.5/tests/test_functions.py +538 -0
  153. exerpy-0.0.5/tests/test_parser/test_aspen_parser.py +595 -0
  154. exerpy-0.0.5/tests/test_parser/test_ebsilon_functions.py +328 -0
  155. exerpy-0.0.5/tests/test_parser/test_ebsilon_parser.py +565 -0
  156. exerpy-0.0.5/tests/test_parser/test_tespy_mapping.py +8 -0
  157. exerpy-0.0.5/tests/test_tespy_examples.py +13 -0
  158. exerpy-0.0.5/tox.ini +85 -0
@@ -0,0 +1,16 @@
1
+ version: 2
2
+
3
+ sphinx:
4
+ configuration: docs/conf.py
5
+
6
+ python:
7
+ install:
8
+ - method: pip
9
+ path: .
10
+ extra_requirements:
11
+ - dev
12
+
13
+ build:
14
+ os: ubuntu-22.04
15
+ tools:
16
+ python: "3.11"
exerpy-0.0.5/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Sergio Tomasinelli
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
exerpy-0.0.5/PKG-INFO ADDED
@@ -0,0 +1,199 @@
1
+ Metadata-Version: 2.4
2
+ Name: exerpy
3
+ Version: 0.0.5
4
+ Summary: Exergy analysis for tabular input data
5
+ Author-email: Sergio Tomasinelli <s.tomasinelli@tu-berlin.de>, Robert Müller <robert.mueller.2@tu-berlin.de>, Francesco Witte <github@witte.sh>
6
+ Requires-Python: >=3.10
7
+ Description-Content-Type: text/x-rst
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: Unix
13
+ Classifier: Operating System :: POSIX
14
+ Classifier: Operating System :: Microsoft :: Windows
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: Implementation :: CPython
22
+ Classifier: Topic :: Utilities
23
+ License-File: LICENSE
24
+ Requires-Dist: pandas
25
+ Requires-Dist: numpy
26
+ Requires-Dist: pywin32 ; extra == "aspen"
27
+ Requires-Dist: build ; extra == "dev"
28
+ Requires-Dist: flit ; extra == "dev"
29
+ Requires-Dist: furo ; extra == "dev"
30
+ Requires-Dist: isort ; extra == "dev"
31
+ Requires-Dist: pytest ; extra == "dev"
32
+ Requires-Dist: sphinx>=7.2.2 ; extra == "dev"
33
+ Requires-Dist: sphinx-copybutton ; extra == "dev"
34
+ Requires-Dist: sphinx-design ; extra == "dev"
35
+ Requires-Dist: sphinxcontrib.bibtex ; extra == "dev"
36
+ Requires-Dist: tespy>=0.9 ; extra == "dev"
37
+ Requires-Dist: tox ; extra == "dev"
38
+ Requires-Dist: black>=24.10.0 ; extra == "dev"
39
+ Requires-Dist: ruff>=0.6.9 ; extra == "dev"
40
+ Requires-Dist: pywin32 ; extra == "ebsilon"
41
+ Requires-Dist: tespy>=0.9 ; extra == "tespy"
42
+ Project-URL: Changelog, https://exerpy.readthedocs.io/en/latest/whats_new.html
43
+ Project-URL: Documentation, https://exerpy.readthedocs.io/
44
+ Project-URL: Homepage, https://github.com/oemof/exerpy
45
+ Project-URL: Issue Tracker, https://github.com/oemof/exerpy/issues
46
+ Provides-Extra: aspen
47
+ Provides-Extra: dev
48
+ Provides-Extra: ebsilon
49
+ Provides-Extra: tespy
50
+
51
+ #################################
52
+ ExerPy: Exergy Analysis in Python
53
+ #################################
54
+
55
+ ExerPy is a Python library designed to perform detailed exergy analysis of
56
+ energy conversion systems. It builds on the exergy analysis methodology
57
+ implemented in TESPy, while extending its capabilities to seamlessly integrate
58
+ with simulation tools such as Ebsilon Professional, Aspen Plus, and TESPy itself.
59
+ ExerPy enables engineers and researchers to identify inefficiencies and optimize
60
+ the performance of thermodynamic systems through automated workflows and
61
+ consistent data handling.
62
+
63
+ With its advanced features, ExerPy calculates both physical and chemical exergy,
64
+ allowing users to analyze both individual components and entire systems. This
65
+ helps to identify where and why exergy losses occur, facilitating strategies to improve
66
+ efficiency, reduce costs, and support sustainable energy usage.
67
+
68
+ .. figure:: https://raw.githubusercontent.com/oemof/exerpy/refs/heads/main/docs/_static/images/logo_exerpy_big.svg
69
+ :align: center
70
+
71
+ ************
72
+ Key Features
73
+ ************
74
+
75
+ - **Comprehensive Exergy Analysis**: Calculate physical and chemical exergy, perform component-level and system-wide analysis.
76
+ - **Flexible Integration**: Compatible with multiple simulation tools (Ebsilon Professional, Aspen Plus, TESPy).
77
+ - **Advanced Component Library**: Pre-built components for common energy system elements (turbines, heat exchangers, etc.).
78
+ - **Extensible Architecture**: Easy-to-use framework for implementing custom components and analysis methods.
79
+ - **Robust Data Handling**: Consistent fluid property models and automated data extraction from simulation tools.
80
+ - **Open Source**: MIT licensed, free for academic and commercial use.
81
+
82
+ ***************
83
+ Getting Started
84
+ ***************
85
+
86
+ ============
87
+ Installation
88
+ ============
89
+ You can install the latest version of ExerPy using pip:
90
+
91
+ .. code:: bash
92
+
93
+ pip install exerpy
94
+
95
+ ===================
96
+ Quick Start Example
97
+ ===================
98
+ Here's a simple example how to perform an exergy analysis using ExerPy:
99
+
100
+ Custom json
101
+ -----------
102
+
103
+ .. code:: python
104
+
105
+ from exerpy import ExergyAnalysis
106
+
107
+ model_path = 'my_model.json'
108
+
109
+ ean = ExergyAnalysis.from_json(model_path, chemExLib='Ahrendts')
110
+
111
+ fuel = {"inputs": ['Fuel'], "outputs": []}
112
+ product = {"inputs": ['Power'], "outputs": []}
113
+
114
+ ean.analyse(E_F=fuel, E_P=product)
115
+ ean.exergy_results()
116
+
117
+ Exported tespy model
118
+ --------------------
119
+
120
+ .. code:: python
121
+
122
+ from exerpy import ExergyAnalysis
123
+
124
+ model_path = 'tespy_model_export.json'
125
+
126
+ ean = ExergyAnalysis.from_tespy(model_path, chemExLib='Ahrendts')
127
+
128
+ fuel = {"inputs": ['Fuel'], "outputs": []}
129
+ product = {"inputs": ['Power'], "outputs": []}
130
+
131
+ ean.analyse(E_F=fuel, E_P=product)
132
+ ean.exergy_results()
133
+
134
+ You can also use a tespy network object instead!
135
+
136
+ Ebsilon model
137
+ -------------
138
+
139
+ .. code:: python
140
+
141
+ from exerpy import ExergyAnalysis
142
+
143
+ model_path = 'my_model.ebs'
144
+
145
+ ean = ExergyAnalysis.from_ebsilon(model_path, chemExLib='Ahrendts')
146
+
147
+ fuel = {"inputs": ['Fuel'], "outputs": []}
148
+ product = {"inputs": ['Power'], "outputs": []}
149
+
150
+ ean.analyse(E_F=fuel, E_P=product)
151
+ ean.exergy_results()
152
+
153
+ For more detailed tutorials and examples, see the
154
+ `online documentation <https://exerpy.readthedocs.io>`__.
155
+
156
+ ********
157
+ Citation
158
+ ********
159
+
160
+ If you use ExerPy in your scientific work, please consider citing it to support
161
+ ongoing development. You can cite ExerPy using the following BibTeX entry:
162
+
163
+ .. code::
164
+
165
+ @software{ExerPy,
166
+ author = {Tomasinelli, Sergio and Witte, Francesco and Müller, Robert},
167
+ title = {{ExerPy}: Exergy Analysis in Python},
168
+ note = {Supervision: Prof. Dr.-Ing. Fontina Petrakopoulou}
169
+ url = {https://github.com/oemof/exerpy},
170
+ version = {0.0.5},
171
+ year = {2025}
172
+ }
173
+
174
+ *******
175
+ License
176
+ *******
177
+
178
+ MIT License
179
+
180
+ Copyright (c) Sergio Tomasinelli
181
+
182
+ Permission is hereby granted, free of charge, to any person obtaining a copy
183
+ of this software and associated documentation files (the "Software"), to deal
184
+ in the Software without restriction, including without limitation the rights
185
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
186
+ copies of the Software, and to permit persons to whom the Software is
187
+ furnished to do so, subject to the following conditions:
188
+
189
+ The above copyright notice and this permission notice shall be included in all
190
+ copies or substantial portions of the Software.
191
+
192
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
193
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
194
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
195
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
196
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
197
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
198
+ SOFTWARE.
199
+
@@ -0,0 +1,148 @@
1
+ #################################
2
+ ExerPy: Exergy Analysis in Python
3
+ #################################
4
+
5
+ ExerPy is a Python library designed to perform detailed exergy analysis of
6
+ energy conversion systems. It builds on the exergy analysis methodology
7
+ implemented in TESPy, while extending its capabilities to seamlessly integrate
8
+ with simulation tools such as Ebsilon Professional, Aspen Plus, and TESPy itself.
9
+ ExerPy enables engineers and researchers to identify inefficiencies and optimize
10
+ the performance of thermodynamic systems through automated workflows and
11
+ consistent data handling.
12
+
13
+ With its advanced features, ExerPy calculates both physical and chemical exergy,
14
+ allowing users to analyze both individual components and entire systems. This
15
+ helps to identify where and why exergy losses occur, facilitating strategies to improve
16
+ efficiency, reduce costs, and support sustainable energy usage.
17
+
18
+ .. figure:: https://raw.githubusercontent.com/oemof/exerpy/refs/heads/main/docs/_static/images/logo_exerpy_big.svg
19
+ :align: center
20
+
21
+ ************
22
+ Key Features
23
+ ************
24
+
25
+ - **Comprehensive Exergy Analysis**: Calculate physical and chemical exergy, perform component-level and system-wide analysis.
26
+ - **Flexible Integration**: Compatible with multiple simulation tools (Ebsilon Professional, Aspen Plus, TESPy).
27
+ - **Advanced Component Library**: Pre-built components for common energy system elements (turbines, heat exchangers, etc.).
28
+ - **Extensible Architecture**: Easy-to-use framework for implementing custom components and analysis methods.
29
+ - **Robust Data Handling**: Consistent fluid property models and automated data extraction from simulation tools.
30
+ - **Open Source**: MIT licensed, free for academic and commercial use.
31
+
32
+ ***************
33
+ Getting Started
34
+ ***************
35
+
36
+ ============
37
+ Installation
38
+ ============
39
+ You can install the latest version of ExerPy using pip:
40
+
41
+ .. code:: bash
42
+
43
+ pip install exerpy
44
+
45
+ ===================
46
+ Quick Start Example
47
+ ===================
48
+ Here's a simple example how to perform an exergy analysis using ExerPy:
49
+
50
+ Custom json
51
+ -----------
52
+
53
+ .. code:: python
54
+
55
+ from exerpy import ExergyAnalysis
56
+
57
+ model_path = 'my_model.json'
58
+
59
+ ean = ExergyAnalysis.from_json(model_path, chemExLib='Ahrendts')
60
+
61
+ fuel = {"inputs": ['Fuel'], "outputs": []}
62
+ product = {"inputs": ['Power'], "outputs": []}
63
+
64
+ ean.analyse(E_F=fuel, E_P=product)
65
+ ean.exergy_results()
66
+
67
+ Exported tespy model
68
+ --------------------
69
+
70
+ .. code:: python
71
+
72
+ from exerpy import ExergyAnalysis
73
+
74
+ model_path = 'tespy_model_export.json'
75
+
76
+ ean = ExergyAnalysis.from_tespy(model_path, chemExLib='Ahrendts')
77
+
78
+ fuel = {"inputs": ['Fuel'], "outputs": []}
79
+ product = {"inputs": ['Power'], "outputs": []}
80
+
81
+ ean.analyse(E_F=fuel, E_P=product)
82
+ ean.exergy_results()
83
+
84
+ You can also use a tespy network object instead!
85
+
86
+ Ebsilon model
87
+ -------------
88
+
89
+ .. code:: python
90
+
91
+ from exerpy import ExergyAnalysis
92
+
93
+ model_path = 'my_model.ebs'
94
+
95
+ ean = ExergyAnalysis.from_ebsilon(model_path, chemExLib='Ahrendts')
96
+
97
+ fuel = {"inputs": ['Fuel'], "outputs": []}
98
+ product = {"inputs": ['Power'], "outputs": []}
99
+
100
+ ean.analyse(E_F=fuel, E_P=product)
101
+ ean.exergy_results()
102
+
103
+ For more detailed tutorials and examples, see the
104
+ `online documentation <https://exerpy.readthedocs.io>`__.
105
+
106
+ ********
107
+ Citation
108
+ ********
109
+
110
+ If you use ExerPy in your scientific work, please consider citing it to support
111
+ ongoing development. You can cite ExerPy using the following BibTeX entry:
112
+
113
+ .. code::
114
+
115
+ @software{ExerPy,
116
+ author = {Tomasinelli, Sergio and Witte, Francesco and Müller, Robert},
117
+ title = {{ExerPy}: Exergy Analysis in Python},
118
+ note = {Supervision: Prof. Dr.-Ing. Fontina Petrakopoulou}
119
+ url = {https://github.com/oemof/exerpy},
120
+ version = {0.0.5},
121
+ year = {2025}
122
+ }
123
+
124
+ *******
125
+ License
126
+ *******
127
+
128
+ MIT License
129
+
130
+ Copyright (c) Sergio Tomasinelli
131
+
132
+ Permission is hereby granted, free of charge, to any person obtaining a copy
133
+ of this software and associated documentation files (the "Software"), to deal
134
+ in the Software without restriction, including without limitation the rights
135
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
136
+ copies of the Software, and to permit persons to whom the Software is
137
+ furnished to do so, subject to the following conditions:
138
+
139
+ The above copyright notice and this permission notice shall be included in all
140
+ copies or substantial portions of the Software.
141
+
142
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
143
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
144
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
145
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
146
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
147
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
148
+ SOFTWARE.