Interest in thermodynamic properties of water and steam
Hi, Would there be any interest in an implementation of the IAPWS-95 in Boost? Here’s the reference: The IAPWS Formulation 1995 for the Thermodynamic Properties of Ordinary Water Substance for General and Scientific Use. Authors: W. Wagner and A. Pruss J. Phys. Chem. Ref. Data, Vol. 31, No. 2, 2002, pages 387-535 For those with access to the paper, the code reproduces Table 6.6 (results agree to all published digits), as well as well significant parts of both Table 13.1 (vapor-liquid phase boundary properties as function of temperature) and Table 13.2 (properties of water in single-phase as function of temperature and density for pressures in range of 0.05 MPa to 1000 MPa). Also implemented are the full set of algorithms in Table 6.3, including pressure, enthalpy, entropy, sound speed, heat capacities. There’s also an algorithm for computing the thermal saturation properties (pressure, liquid and vapor densities), given the saturation temperature. At present the code has a required dependency on Boost.Units and is about 2k loc. If you're interested in this, feel free to reply or contact me directly. — Noel Belcourt [1] http://www.iapws.org
On Aug 25, 2017, at 11:35 AM, Vinnie Falco via Boost
wrote: On Fri, Aug 25, 2017 at 10:33 AM, Belcourt, Kenneth via Boost
wrote: If you're interested in this, feel free to reply or contact me directly.
Why isn't it in a public GitHub repository?
Haven’t gotten around to that yet, on my todo list.
A bit niche, but I'm sure some will find this very useful. Paul PS We did also discuss a collection of physical constants but (as these are a bit inconstant) were reluctant to confuse with math constants (that really are constantly constant). This could be the first in a collection, using Boost.Units of course, as you have done I presume.
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Belcourt, Kenneth via Boost Sent: 25 August 2017 18:34 To: boost Cc: Belcourt, Kenneth Subject: [boost] Interest in thermodynamic properties of water and steam
Hi,
Would there be any interest in an implementation of the IAPWS-95 in Boost? Here’s the reference:
The IAPWS Formulation 1995 for the Thermodynamic Properties of Ordinary Water Substance for General and Scientific Use. Authors: W. Wagner and A. Pruss J. Phys. Chem. Ref. Data, Vol. 31, No. 2, 2002, pages 387-535
For those with access to the paper, the code reproduces Table 6.6 (results agree to all published digits), as well as well significant parts of both Table 13.1 (vapor-liquid phase boundary properties as function of temperature) and Table 13.2 (properties of water in single-phase as function of temperature and density for pressures in range of 0.05 MPa to 1000 MPa). Also implemented are the full set of algorithms in Table 6.3, including pressure, enthalpy, entropy, sound speed, heat capacities. There’s also an algorithm for computing the thermal saturation properties (pressure, liquid and vapor densities), given the saturation temperature.
At present the code has a required dependency on Boost.Units and is about 2k loc. If you're interested in this, feel free to reply or contact me directly.
— Noel Belcourt
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On 26. Aug 2017, at 13:10, Paul A. Bristow via Boost
wrote: A bit niche, but I'm sure some will find this very useful.
Paul
PS We did also discuss a collection of physical constants but (as these are a bit inconstant) were reluctant to confuse with math constants (that really are constantly constant). This could be the first in a collection, using Boost.Units of course, as you have done I presume.
I am all yay for science/physics and I had a look into the paper, but I don't see how the results of the paper would fit into Boost. The formulas and constants in the paper are for thermodynamic properties of water, that's very specific. The current set of Boost libraries suggest that the scope of Boost is to be general, to provide libraries for situations that have many applications (Boost.Units is a good example, can be used everywhere, from thermodynamics to rocket science). Also, Boost seems to lean towards libraries that use some cutting edge features of C++ and make clever use of its unique capabilities (templates), so that they are also interesting from the computer scientist point of view. Also that I don't see here. Best regards, Hans
On 28 August 2017 at 12:49, Hans Dembinski via Boost
Also, Boost seems to lean towards libraries that use some cutting edge features of C++ and make clever use of its unique capabilities (templates), so that they are also interesting from the computer scientist point of view. Also that I don't see here.
That might be true in general, but it's not a good argument. degski -- "*Ihre sogenannte Religion wirkt bloß wie ein Opiat reizend, betäubend, Schmerzen aus Schwäche stillend.*" - Novalis 1798
On 8/25/17 10:33 AM, Belcourt, Kenneth via Boost wrote:
Hi,
Would there be any interest in an implementation of the IAPWS-95 in Boost? Here’s the reference:
The IAPWS Formulation 1995 for the Thermodynamic Properties of Ordinary Water Substance for General and Scientific Use. Authors: W. Wagner and A. Pruss J. Phys. Chem. Ref. Data, Vol. 31, No. 2, 2002, pages 387-535
For those with access to the paper, the code reproduces Table 6.6 (results agree to all published digits), as well as well significant parts of both Table 13.1 (vapor-liquid phase boundary properties as function of temperature) and Table 13.2 (properties of water in single-phase as function of temperature and density for pressures in range of 0.05 MPa to 1000 MPa). Also implemented are the full set of algorithms in Table 6.3, including pressure, enthalpy, entropy, sound speed, heat capacities. There’s also an algorithm for computing the thermal saturation properties (pressure, liquid and vapor densities), given the saturation temperature.
At present the code has a required dependency on Boost.Units and is about 2k loc. If you're interested in this, feel free to reply or contact me directly.
— Noel Belcourt
Just one more uninformed opinion, but wouldn't this work better as an addition to the boost units library? Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Robert Ramey via Boost Sent: 28 August 2017 15:54 To: Belcourt, Kenneth via Boost Cc: Robert Ramey Subject: Re: [boost] Interest in thermodynamic properties of water and steam
On 8/25/17 10:33 AM, Belcourt, Kenneth via Boost wrote:
Hi,
Would there be any interest in an implementation of the IAPWS-95 in Boost? Here’s the reference:
The IAPWS Formulation 1995 for the Thermodynamic Properties of Ordinary Water Substance for General and Scientific Use. Authors: W. Wagner and A. Pruss J. Phys. Chem. Ref. Data, Vol. 31, No. 2, 2002, pages 387-535
For those with access to the paper, the code reproduces Table 6.6 (results agree to all published digits), as well as well significant parts of both Table 13.1 (vapor-liquid phase boundary properties as function of temperature) and Table 13.2 (properties of water in single-phase as function of temperature and density for pressures in range of 0.05 MPa to 1000 MPa). Also implemented are the full set of algorithms in Table 6.3, including pressure, enthalpy, entropy, sound speed, heat capacities. There’s also an algorithm for computing the thermal saturation properties (pressure, liquid and vapor densities), given the saturation temperature.
At present the code has a required dependency on Boost.Units and is about 2k loc. If you're interested in this, feel free to reply or contact me directly.
— Noel Belcourt
Just one more uninformed opinion, but wouldn't this work better as an addition to the boost units library?
I'd suggest not, on the grounds that physical properties are inexact and accepted values can and do change, while math constants really are constant (though their representation may change depending on the type used to represent them - as 32, 64 or 128 bit doubles for example). I'd prefer to keep these two different things separate. Of course, the algorithms should not change, but generally involve some inconstant constants, and so they do change. Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
On 29/08/2017 04:12, Paul A. Bristow wrote:
On 29/08/2017 02:54, Robert Ramey wrote:
Just one more uninformed opinion, but wouldn't this work better as an addition to the boost units library?
I'd suggest not, on the grounds that physical properties are inexact and accepted values can and do change, while math constants really are constant (though their representation may change depending on the type used to represent them - as 32, 64 or 128 bit doubles for example). I'd prefer to keep these two different things separate.
Of course, the algorithms should not change, but generally involve some inconstant constants, and so they do change.
It sounds like you are arguing against inclusion in Boost.Math, which is not what was suggested. There is already precedent for Boost.Units containing physical constants -- see boost/units/systems/si/codata/*.
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Gavin Lambert via Boost Sent: 29 August 2017 00:54 To: boost@lists.boost.org Cc: Gavin Lambert Subject: Re: [boost] Interest in thermodynamic properties of water and steam
On 29/08/2017 04:12, Paul A. Bristow wrote:
On 29/08/2017 02:54, Robert Ramey wrote:
Just one more uninformed opinion, but wouldn't this work better as an addition to the boost units library?
I'd suggest not, on the grounds that physical properties are inexact and accepted values can and do change, while math constants really are constant (though their representation may change depending on the type used to represent them - as 32, 64 or 128 bit doubles for example). I'd prefer to keep these two different things separate.
Of course, the algorithms should not change, but generally involve some inconstant constants, and so they do change.
It sounds like you are arguing against inclusion in Boost.Math, which is not what was suggested.
There is already precedent for Boost.Units containing physical constants -- see boost/units/systems/si/codata/*.
Correct - I had forgotten that. Sorry. So I agree that adding to Boost.Units (boost/units/systems/steam?) would be OK. Paul
participants (7)
-
Belcourt, Kenneth
-
degski
-
Gavin Lambert
-
Hans Dembinski
-
Paul A. Bristow
-
Robert Ramey
-
Vinnie Falco