Skip to content

Commit bc46b63

Browse files
committed
Merge branch 'dev'
2 parents 9048332 + 7cb7e47 commit bc46b63

File tree

21 files changed

+529
-45
lines changed

21 files changed

+529
-45
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
*.py[cod]
22
__pycache__
3+
__pint_cache__
34

45
# C extensions
56
*.so

docs/modules/components.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,13 @@ well as the equations.
3434
* :py:class:`Solar collector <tespy.components.heat_exchangers.solar_collector.SolarCollector>`
3535
* :py:class:`Parabolic trough <tespy.components.heat_exchangers.parabolic_trough.ParabolicTrough>`
3636
* :py:class:`Heat exchanger <tespy.components.heat_exchangers.base.HeatExchanger>`
37+
* :py:class:`Parallel flow heat exchanger <tespy.components.heat_exchangers.parallel.ParallelFlowHeatExchanger>`:
38+
Analogue component to the :code:`HeatExchanger` but with flows in parallel.
39+
All other types of heat exchangers (below) as well as the
40+
:code:`HeatExchanger` base class assume counter current flow!
3741
* :py:class:`Condenser <tespy.components.heat_exchangers.condenser.Condenser>`
3842
* :py:class:`Desuperheater <tespy.components.heat_exchangers.desuperheater.Desuperheater>`
39-
* :py:class:`Moving Boundary Heat exchanger <tespy.components.heat_exchangers.movingboundary.MovingBoundaryHeatExchanger>`:
43+
* :py:class:`Moving boundary heat exchanger <tespy.components.heat_exchangers.movingboundary.MovingBoundaryHeatExchanger>`:
4044
Advanced heat exchanger class, automatically identifying phase change
4145
sections in the heat transfer of both sides and assigning individual UA
4246
values per section of heat transfer

docs/whats_new.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ What's New
33

44
Discover notable new features and improvements in each release
55

6+
.. include:: whats_new/v0-9-6.rst
67
.. include:: whats_new/v0-9-5.rst
78
.. include:: whats_new/v0-9-4.rst
89
.. include:: whats_new/v0-9-3.rst

docs/whats_new/v0-9-5.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,19 @@ New Features
1515
- For pure fluids, this will be the same temperature, for mixtures (e.g. as
1616
accessible through REFPROP it will not)!
1717
- For :code:`td_bubble`:
18+
1819
- A **positive** value indicates a temperature **below** bubble temperature
1920
by the specified value.
2021
- A **negative** value indicates a temperature **above** bubble temperature
2122
by the specified value.
23+
2224
- For :code:`td_dew`:
25+
2326
- A **positive** value indicates a temperature **above** dew temperature
2427
by the specified value.
2528
- A **negative** value indicates a temperature **below** dew temperature
2629
by the specified value.
30+
2731
- You can also specify :code:`td_bubble=0` or :code:`td_dew=0`, which will
2832
enforce saturated liquid or saturated gas state.
2933

docs/whats_new/v0-9-6.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
v0.9.6 - Kelvin's Kingdom (September, 22, 2025)
2+
+++++++++++++++++++++++++++++++++++++++++++++++
3+
4+
New Features
5+
############
6+
- There is a new component :code:`ParallelFlowHeatExchanger` implementing
7+
parallel flow heat exchange, which works analogously to the
8+
counter current variant :code:`HeatExchanger`
9+
(`PR #766 <https://github.com/oemof/tespy/pull/766>`__).
10+
11+
Bug Fixes
12+
#########
13+
- Calculation with humid air (water air mixtures) were broken for a state
14+
where partial pressure of the water exactly corresponds the saturation
15+
pressure at the given temperature of the mixture. Now there is an additional
16+
check in place to make sure the correct calculations are employed
17+
(`PR #774 <https://github.com/oemof/tespy/pull/774>`__).
18+
- The caching for pint broke when the python version of an environment was
19+
changed. Now a :code:`__pint_cache__` is placed in the tespy installation
20+
folder, to which the :code:`cache_folder` of pint's :code:`UnitRegistry` is
21+
linked (`PR #777 <https://github.com/oemof/tespy/pull/777>`__).
22+
23+
Contributors
24+
############
25+
- Francesco Witte (`@fwitte <https://github.com/fwitte>`__)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ exclude = ["docs/_build"]
2424

2525
[project]
2626
name = "tespy"
27-
version = "0.9.5.post1"
27+
version = "0.9.6"
2828
description = "Thermal Engineering Systems in Python (TESPy)"
2929
readme = "README.rst"
3030
authors = [

src/tespy/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import os
44

55
__datapath__ = os.path.join(importlib.resources.files("tespy"), "data")
6-
__version__ = '0.9.5.post1 - Kelvin\'s Kingdom'
6+
__version__ = '0.9.6 - Kelvin\'s Kingdom'
77

88
# tespy data and connections import
99
from . import connections # noqa: F401

src/tespy/components/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .heat_exchangers.desuperheater import Desuperheater # noqa: F401
1313
from .heat_exchangers.movingboundary import MovingBoundaryHeatExchanger # noqa: F401
1414
from .heat_exchangers.parabolic_trough import ParabolicTrough # noqa: F401
15+
from .heat_exchangers.parallel import ParallelFlowHeatExchanger # noqa: F401
1516
from .heat_exchangers.simple import SimpleHeatExchanger # noqa: F401
1617
from .heat_exchangers.solar_collector import SolarCollector # noqa: F401
1718
from .nodes.droplet_separator import DropletSeparator # noqa: F401

src/tespy/components/component.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,12 +1000,13 @@ def pr_structure_matrix(self, k, pr=None, inconn=0, outconn=0):
10001000

10011001
def variable_equality_structure_matrix(self, k, **kwargs):
10021002
r"""
1003-
Create pairwise linear relationship between two variables for all
1004-
inlets and the respective outlets
1003+
Create pairwise linear relationship between two variables :code:`var`
1004+
for all inlets and the respective outlets. This usually is applied to
1005+
mass flow, pressure, enthalpy and fluid composition.
10051006
10061007
.. math::
10071008
1008-
h_\ŧext{in,i} = h_\text{out,i}
1009+
var_\text{in,i} = var_\text{out,i}
10091010
10101011
Parameters
10111012
----------

src/tespy/components/heat_exchangers/base.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -445,12 +445,8 @@ def calculate_td_log(self):
445445

446446
if T_i1 <= T_o2:
447447
T_i1 = T_o2 + 0.01
448-
if T_i1 <= T_o2:
449-
T_o2 = T_i1 - 0.01
450-
if T_i1 <= T_o2:
451-
T_o1 = T_i2 + 0.02
452448
if T_o1 <= T_i2:
453-
T_i2 = T_o1 - 0.02
449+
T_o1 = T_i2 + 0.01
454450

455451
ttd_u = T_i1 - T_o2
456452
ttd_l = T_o1 - T_i2

0 commit comments

Comments
 (0)