Skip to main content

Miscellaneous utilities from Chemical, Biochemical, and Engineering Thermodynamics (5th edition) by Stan Sandler

Project description

Sandlermisc

Miscellaneous utilities from Sandler's 5th ed.

Sandlermisc implements a python interface to a few miscellaneous utilities from Chemical, Biochemical, and Engineering Thermodynamics (5th edition) by Stan Sandler (Wiley, USA). It should be used for educational purposes only.

Current utilities:

  1. ThermodynamicState: An abstract class for handling thermodynamic states for pure components
  2. ureg: a pint unit registry
  3. R: the universal gas constant as a pint Quantity
  4. DeltaH_IG and DeltaS_IG: Ideal-gas delta-h and delta-s calculations

Installation

Sandlermisc is available via pip:

pip install sandlermisc

Usage

API

ThermodynamicState is an abstract class that manages state-variable attributes:

  • T -- temperature
  • P -- pressure
  • v -- molar volume or specific volume
  • h -- molar ethalpy or specific enthapy
  • u -- molar internal energy or specific internal energy
  • s -- molar entropy or specific entropy
  • x -- vapor fraction for a saturated state

A subclass of ThermodynamicState must define the method resolve() to compute state variables from input state variables. Any instance of such a subclass will automatically compute all state variables once enough inputs are specified.

DeltaH_IG requires the temperature of state 1 (assumed in K if units not specified), the temperature of state 2, and an ideal-gas heat-capacity argument, which can be a scalar, four-element list of floats, or four-element dict with keys a, b, c, and d.

>>> from sandlermisc import DeltaH_IG
>>> DeltaH_IG(100, 200, 10)
<Quantity(1000.0, 'joule / mole')>
>>> DeltaH_IG(500, 600, [10., 0.01, 0.00002, 0.000000032]) 
<Quantity(2693.46667, 'joule / mole')>
>>> DeltaH_IG(500, 600, dict(a=10., b=0.01, c=0.00002, d=0.000000032)) 
<Quantity(2693.46667, 'joule / mole')>

DeltaS_IG requires the temperature and pressure of state 1, the temperature and pressure of state 2, the ideal-gas heat-capacity argument.

>>> from sandlermisc import DeltaS_IG 
>>> DeltaS_IG(500, 10, 600, 12, 10)                
<Quantity(0.307309799, 'joule / mole / kelvin')>

One can optionally provide a value for the gas constant R to match units of one's Cp, if necessary. By default, sandlermisc assumes Cp has energy units of J.

Release History

  • 0.4.0
    • pint incorporation
    • Full smart-resolution of ThermodynamicState
  • 0.3.2
    • bugfix: unpackCp ignored ints -- now fixed
    • bugfix: unpackCp ignored np.ndarray -- now fixed
  • 0.3.0
    • StateReporter implemented
  • 0.1.1
    • bug in converting Cp
  • 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/sandlermisc/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

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

sandlermisc-0.4.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sandlermisc-0.4.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file sandlermisc-0.4.0.tar.gz.

File metadata

  • Download URL: sandlermisc-0.4.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sandlermisc-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7acd164831d68d6871e4f988d0bc9254826fa9fa69de4ea6b790c0cc9211a065
MD5 7c2a66e3762f8cb727fe178a74e951e6
BLAKE2b-256 e12c4865131d1f7bc40d79f299009f7414219639100829c9641488fdf5c325b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for sandlermisc-0.4.0.tar.gz:

Publisher: release.yaml on cameronabrams/sandlermisc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sandlermisc-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: sandlermisc-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sandlermisc-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ea46733e8329471c6f13623da0c5c9d2fd5a662d925decb501c3f46431f8c07
MD5 1e1ba62e2c7b009fb68119ea71ec9dbb
BLAKE2b-256 18aff93621a22b0e30ccde64beb573c29176a2a475a9a722ab8c15d324657a00

See more details on using hashes here.

Provenance

The following attestation bundles were made for sandlermisc-0.4.0-py3-none-any.whl:

Publisher: release.yaml on cameronabrams/sandlermisc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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