jjgomera/iapws

Big differences in e0 of IAPWS95 and IAPWS97

Closed this issue · 2 comments

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.

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.

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