jjgomera / iapws

python libray for IAPWS standard calculation of water and steam properties
GNU General Public License v3.0
170 stars 64 forks source link

Big differences in e0 of IAPWS95 and IAPWS97 #40

Closed schymans closed 5 years ago

schymans commented 5 years ago

If I understand correctly, IAPWS95 is the more exact routine, while IAPWS97 is the faster routine. However, in some respects, they give very different results, e.g.:

print((iapws.IAPWS95(T=300,x=0).s0, (iapws.IAPWS95(T=370,x=0).s0)))
print((iapws.IAPWS97(T=300,x=0).s0, (iapws.IAPWS97(T=370,x=0).s0)))

returns:

(3.6428700449292255, 3.9563090741522546) (8.521813980885716, 7.418560249940249)

Not only are the absolute values different, but they have opposite sensitivies to T.

jjgomera commented 5 years ago

HI, You're right, the iapws97 really calculate the ideal state from Region2 definition.

In [1]: import iapws                                                                                                 
In [2]: print((iapws.IAPWS95(T=300,x=1).s0, (iapws.IAPWS95(T=370,x=1).s0)))                                          
(8.5210367262016469, 7.4119690797310609)
In [3]: print((iapws.IAPWS97(T=300,x=0).s0, (iapws.IAPWS97(T=370,x=0).s0)))                                          
(8.521813980885716, 7.418560249940249)

I though ideal state is function only of temperature, but that's true only for enthalpy. the point you´re calculating is in Region1 but the equation for that region in iapws97 don't define ideal properties so I think it must disable ideal properties for region out of region 2 or 5.

schymans commented 5 years ago

Thanks for the reply. I will stick with IAPWS95, but I thought this issue should be documented somewhere.