Skip to main content

Sandlercorrespondingstates

Corresponding states utilities from Sandler's 5th ed.

Sandlercorrespondingstates implements a python interface to a corresponding states calculations using charts from Chemical, Biochemical, and Engineering Thermodynamics (5th edition) by Stan Sandler (Wiley, USA). It should be used for educational purposes only.

Installation

Sandlercorrespondingstates is available via pip:

pip install sandlercorrespondingstates

Usage

Command-line

$ sandlercorrespondingstates state -n methane -P 7.5 -T 400 
T                      =   400 kelvin
P                      =   7.5 megapascal
v                      =  0.000434569 meter ** 3 / mole
u                      =  216.113 joule / mole
h                      =  3475.38 joule / mole
s                      = -25.7768 joule / kelvin / mole
Pv                     =  3259.27 joule / mole
Tc                     =  190.4 kelvin
Pc                     =    4.6 megapascal
Tr                     =  2.10084 dimensionless
Pr                     =  1.63043 dimensionless
Z                      =   0.98 dimensionless
h_departure            = -438.148 joule / mole
s_departure            = -1.12968 joule / kelvin / mole
neg_h_dep_over_Tc_read =   0.55 calorie / kelvin / mole
neg_s_dep_read         =   0.27 calorie / kelvin / mole
$ sandlercorrespondingstates delta -n methane -T1 400 -P1 1 -T2 500 -P2 2 --show-states
State-change calculations for methane using Corresponding states equation of state:

State 1:                                                     State 2:
T                      =   400 kelvin                        T                      =   500 kelvin
P                      =     1 megapascal                    P                      =     2 megapascal
v                      =  0.00332579 meter ** 3 / mole       v                      =  0.00207862 meter ** 3 / mole
u                      =  587.746 joule / mole               u                      =  4150.18 joule / mole
h                      =  3913.53 joule / mole               h                      =  8307.41 joule / mole
s                      = -7.97796 joule / kelvin / mole      s                      = -4.04963 joule / kelvin / mole
Pv                     =  3325.79 joule / mole               Pv                     =  4157.23 joule / mole
Tc                     =  190.4 kelvin                       Tc                     =  190.4 kelvin
Pc                     =    4.6 megapascal                   Pc                     =    4.6 megapascal
Tr                     =  2.10084 dimensionless              Tr                     =  2.62605 dimensionless
Pr                     =  0.217391 dimensionless             Pr                     =  0.434783 dimensionless
Z                      =      1 dimensionless                Z                      =      1 dimensionless
h_departure            =     -0 joule / mole                 h_departure            = -15.9327 joule / mole
s_departure            = -0.08368 joule / kelvin / mole      s_departure            = -0.2092 joule / kelvin / mole
neg_h_dep_over_Tc_read =      0 calorie / kelvin / mole      neg_h_dep_over_Tc_read =   0.02 calorie / kelvin / mole
neg_s_dep_read         =   0.02 calorie / kelvin / mole      neg_s_dep_read         =   0.05 calorie / kelvin / mole

Property changes:
ΔT  =    100 kelvin
ΔP  =      1 megapascal
Δh  =  4393.88 joule / mole
Δs  =  3.92832 joule / kelvin / mole
Δu  =  3562.43 joule / mole
Δv  = -0.00124717 meter ** 3 / mole
ΔPv =  831.446 joule / mole
ΔZ  =      0 dimensionless

API

>>> from sandlercorrespondingstates import CSSstate
>>> state = CSState(T=400, P=0.5).set_compound('methane')
>>> print(result.report(additional_vars=['Tc', 'Pc', 'Tr', 'Pr', 'Z', 'h_departure', 's_departure', 'neg_h_dep_over_Tc_read', 'neg_s_dep_read']))
T                      =   400 kelvin
P                      =   0.5 megapascal
v                      =  0.00665157 meter ** 3 / mole
u                      =  595.712 joule / mole
h                      =  3921.5 joule / mole
s                      = -2.08929 joule / kelvin / mole
Pv                     =  3325.79 joule / mole
Tc                     =  190.4 kelvin
Pc                     =    4.6 megapascal
Tr                     =  2.10084 dimensionless
Pr                     =  0.108696 dimensionless
Z                      =      1 dimensionless
h_departure            =  7.96634 joule / mole
s_departure            =  0.04184 joule / kelvin / mole
neg_h_dep_over_Tc_read =  -0.01 calorie / kelvin / mole
neg_s_dep_read         =  -0.01 calorie / kelvin / mole

Release History

  • 0.5.0
    • pint integration
  • 0.4.1
    • help updated
  • 0.3.0
    • delta subcommand added
  • 0.2.0
    • StateReporter used
  • 0.1.2
    • fixed messaging errors
  • 0.1.0
    • Initial release

Meta

Cameron F. Abrams – cfa22@drexel.edu

Distributed under the MIT license. See LICENSE for more information.

https://github.com/cameronabrams

Contributing

  1. Fork it (https://github.com/cameronabrams/sandlercorrespondingstates/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

Metadata

Release files for sandlercorrespondingstates 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sandlercorrespondingstates 0.5.0
File Size Uploaded
sandlercorrespondingstates-0.5.0.tar.gz 153.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sandlercorrespondingstates 0.5.0
File Interpreter ABI Platform
sandlercorrespondingstates-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 310.6 kB

Release files / sandlercorrespondingstates-0.5.0.tar.gz

Download URL sandlercorrespondingstates-0.5.0.tar.gz
Size 153.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0362be270c1e73ca8dabe28a3cb8e0e73365a660d630c68575f33156de32b6af
BLAKE2b-256 checksum
How to use checksums
effef59a7214168eae4786e48a98b7fbc5f573fa8a8331edd0f26c50335597dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.

Transparency log

Release files / sandlercorrespondingstates-0.5.0-py3-none-any.whl

Download URL sandlercorrespondingstates-0.5.0-py3-none-any.whl
Size 157.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
34c86332a997c3d05ddac3db8edc34120a83793d71d2f94423170fbac5975cbe
BLAKE2b-256 checksum
How to use checksums
6850b77a55c235466c0ec2b112ae41868ff3d6c01a2e7577b4df42d988f2d25b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.1

2 release files

0.3.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page