Hi Johannes,
Negative enthalpy is not really a problem - all energy values are relative, so each equation of state must pick a “reference” state which it considers to be zero.
Can you tell me why you think the values are incorrect? Rather than focusing on specific values of enthalpy, a better test would be to look at the differences in enthalpy between two states. For example, for water at two different temperatures that are one degree apart but at the same pressure, one would expect that the values differ by the specific heat of water, 4.18 kJ/kg.
As expected, the following code:
>>> h1 = water.enthalpy_mass
>>> water.TP = 301, None
>>> h2 = water.enthalpy_mass
Does provide a difference of 4180.4 J/kg:
>>> print(h2-h1)
4180.402694197372
As a side note, the `backend` keyword you use gives me an error.
>>> water = ct.Water(backend='Reynolds')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Water() got an unexpected keyword argument 'backend'
>>> water = ct.Water('Reynolds')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Water() takes 0 positional arguments but 1 was given
Not exactly sure what that is about.
Anyway, if you have a specific issue with the enthalpy values given, please do share so we can look into it. Note that we do test the performance of this class, in `test_problems/pureFluidTest/testPureWater.cpp`
Best,
Steven