Skip to main content

Create beautiful fluid property diagrams using CoolProp and matplotlib

Project description

Create custom and beautiful Fluid Property Diagrams with fluprodia. The package implements fluid property data from CoolProp [1]. Plotting is handled by matplotlib [2], all calculations are performed with numpy [3]. The list of fluids available can be found at CoolProp.

fluprodia is licensed under the MIT software license.

docs

Documentation Status

package

PyPI Package latest release PyPI Wheel
Supported versions
Zenodo

Installation

pip install fluprodia

Usage

To create a diagram import the library, specify unit system and isolines to be calculated and run the calculation:

>>> from fluprodia import FluidPropertyDiagram
>>> import matplotlib.pyplot as plt
>>> import numpy as np

>>> diagram = FluidPropertyDiagram(fluid='H2O')
>>> diagram.set_unit_system(T='°C', h='kJ/kg', p='bar')
>>> Q = np.linspace(0, 1, 11)
>>> T = np.arange(25, 501, 25)
>>> p = np.geomspace(0.01, 1000, 6)
>>> v = np.geomspace(0.001, 10, 5)
>>> s = np.linspace(1000, 10000, 10)
>>> h = np.linspace(0, 3600, 19)
>>> diagram.set_isolines(Q=Q, T=T, p=p, v=v, s=s, h=h)
>>> diagram.calc_isolines()

Then you can plot the data to different types of plots, e.g. logph diagram:

>>> fig, ax = plt.subplots(1, figsize=(8, 5))
>>> diagram.draw_isolines(diagram_type='logph', fig=fig, ax=ax, x_min=0, x_max=3000, y_min=0.01, y_max=1000)
>>> plt.tight_layout()
>>> fig.savefig('logph_diagram_H2O.svg')
>>> fig.savefig('logph_diagram_H2O.png', dpi=300)
https://raw.githubusercontent.com/fwitte/fluprodia/master/docs/reference/_images/logph_diagram_H2O.svg

Or, a Ts-diagram:

>>> fig, ax = plt.subplots(1, figsize=(8, 5))
>>> diagram.draw_isolines(diagram_type='Ts', fig=fig, ax=ax, x_min=0, x_max=8000, y_min=0, y_max=700)
>>> plt.tight_layout()
>>> fig.savefig('Ts_diagram_H2O.svg')
>>> fig.savefig('Ts_diagram_H2O.png', dpi=300)
https://raw.githubusercontent.com/fwitte/fluprodia/master/docs/reference/_images/Ts_diagram_H2O.svg

The fluids are available through CoolProp. To generate a diagram for a new fluid simply change the name. Isolines come with defaults as well.

>>> diagram = FluidPropertyDiagram(fluid='R290')
>>> diagram.set_unit_system(T='°C', h='kJ/kg', p='bar')
>>> diagram.calc_isolines()
>>> fig, ax = plt.subplots(1, figsize=(8, 5))
>>> diagram.draw_isolines(diagram_type='logph', fig=fig, ax=ax, x_min=0, x_max=800, y_min=1e-1, y_max=1e2)
>>> plt.tight_layout()
>>> fig.savefig('logph_diagram_R290.png', dpi=300)
>>> fig.savefig('logph_diagram_R290.svg')
https://raw.githubusercontent.com/fwitte/fluprodia/master/docs/reference/_images/logph_diagram_R290.svg

Documentation

For further examples and usage please refer to the online documentation at https://fluprodia.readthedocs.io/.

Citation

Every version of fluprodia is archived at zenodo. You can cite the latest or a specific version. For citation info and more details please go to the zenodo entry of fluprodia.

References

This software depends on the packages CoolProp, matplolib and numpy.

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

fluprodia-3.5.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

fluprodia-3.5-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file fluprodia-3.5.tar.gz.

File metadata

  • Download URL: fluprodia-3.5.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for fluprodia-3.5.tar.gz
Algorithm Hash digest
SHA256 75559074f04371ae11453ec2c93dd215cf7019403d1b0900d97d28d20f4c09cc
MD5 9073fe580d18548220a031b9dc60660e
BLAKE2b-256 7d20a9421c144acb7f301e4babe41886d7d48e901aec6b537f996bfae61a6e17

See more details on using hashes here.

File details

Details for the file fluprodia-3.5-py3-none-any.whl.

File metadata

  • Download URL: fluprodia-3.5-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for fluprodia-3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1368e7a8af5d1af6748043a6b853fddb6993379ddb65873681e633abf5f1e17f
MD5 cdbe9027ffa5187d0c48b2b14e9ad952
BLAKE2b-256 655a5ffa0cbbc151f22d317054e5e8523514fefdfd02ab2712e4bc50a581273e

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