Skip to main content

Python implementation of standards from The InternationalAssociation for the Properties of Water and Steam

Project description

Build Status Windows Build Status coveralls.io analysis codecov.io analysis Code Quality Documentation Status DOI

iapws

Python implementation of standard from IAPWS (http://www.iapws.org/release.html). The module implements the full set of standards, including:

IAPWS-IF97
IAPWS-95
IAPWS-06 for Ice
IAPWS-08 for seawater
IAPWS-17 for Heavy water
...

dependences

  • Support for both python branch:

    * python 2.7
    * python 3.4 or later
  • Numpy-scipy: library with mathematic and scientific tools

install

In debian you can find in official repositories in jessie, testing and sid. In ubuntu it’s in official repositories from ubuntu saucy (13.10). In other system you can install using pip:

pip install iapws

or directly from the github repository:

pip install git+https://github.com/jjgomera/iapws.git

This is the recommended option to have the latest version.

documentation

To see the full documentation of package, see readthedocs

For a rapid usage demostration, see this examples

IAPWS-IF97 (see full documentation)

from iapws import IAPWS97
sat_steam=IAPWS97(P=1,x=1)                #saturated steam with known P
sat_liquid=IAPWS97(T=370, x=0)            #saturated liquid with known T
steam=IAPWS97(P=2.5, T=500)               #steam with known P and T
print(sat_steam.h, sat_liquid.h, steam.h) #calculated enthalpies

IAPWS-95 (see full documentation)

from iapws import IAPWS95
sat_steam=IAPWS95(P=1,x=1)                #saturated steam with known P
sat_liquid=IAPWS95(T=370, x=0)            #saturated liquid with known T
steam=IAPWS95(P=2.5, T=500)               #steam with known P and T
print(sat_steam.h, sat_liquid.h, steam.h) #calculated enthalpies

IAPWS-17 for Heavy water (see full documentation)

from iapws import D2O
sat_liquid=D2O(T=370, x=0)            #saturated liquid with known T
print(sat_liquid.h)                   #calculated enthalpy

IAPWS-06 for Ice Ih (see full documentation)

from iapws import _Ice
ice=_Ice(273.15, 0.101325)            #Ice at normal melting point
print(ice["rho"])                     #Calculated density

IAPWS-08 for seawater (see full documentation)

from iapws import SeaWater
state = SeaWater(T=300, P=0.101325, S=0.001)    #Seawater with 0.1% Salinity
print(state.cp)                                 # Get cp

TODO

  • TODO: Improve convergence in two phase region for IAPWS95 and D2O class

  • TODO: Implement SBTL method for fast calculation

  • TODO: Implement TTSE method for fast calculation

Ammonia-water mixture:

  • TODO: Add equilibrium routine

I’ve tried to test all code and use all values for computer verification the standards give, but anyway the code can have hidden problem. For any suggestions, comments, bugs … you can usage the github issue section, or contact directly with me at email.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iapws-1.5.4.tar.gz (114.6 kB view details)

Uploaded Source

File details

Details for the file iapws-1.5.4.tar.gz.

File metadata

  • Download URL: iapws-1.5.4.tar.gz
  • Upload date:
  • Size: 114.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for iapws-1.5.4.tar.gz
Algorithm Hash digest
SHA256 9f0faa39a967d76fc5e5f95f61d922e135453192e02bf875d07242f13d6eaa55
MD5 a1ba662a281a86993668584e5c379ec2
BLAKE2b-256 4bdf3ae2f432b8aefc9e88a684660083cca79b2967c3ec6b59e63c1cf5786322

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page