Skip to main content

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.1
    • 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

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.2.tar.gz (9.9 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.2-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sandlermisc-0.4.2.tar.gz
  • Upload date:
  • Size: 9.9 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.2.tar.gz
Algorithm Hash digest
SHA256 7eaea4fcf27dd32b6935724583443d1170af4b5acd1ac809698930c9b6858bc0
MD5 1de294d1bce12423772cd7282e3a37fe
BLAKE2b-256 ef69b1765c36714a4ecf64918700e11fee32dd436146f287b4818b487f67261b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sandlermisc-0.4.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: sandlermisc-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 10.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e4051e8f2f9d92d2c491aaa9332ee681e8b5f0ed386502ec7159f03664508b87
MD5 d291053e6287fa704e7c9457960f8a91
BLAKE2b-256 b43d8154ef4c7900c3e19e23e0559825577dd460eda36f7a54a9cb25b8663f80

See more details on using hashes here.

Provenance

The following attestation bundles were made for sandlermisc-0.4.2-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.

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 files

0.4.1

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.1.0

2 files

Supported by

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