Skip to content

cameronabrams/sandlertools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sandlertools

A metapackage of computational tools based on Sandler's Chemical, Biochemical, and Engineering Thermodynamics (5th ed.)

Sandlertools bundles six companion packages into a single installation and wires their command-line interfaces into one unified sandlertools command. It should be used for educational purposes only.

Installation

pip install sandlertools

Included packages

Package Description Links
sandlerprops Pure-component properties database GitHub · PyPI · Docs
sandlersteam Steam tables GitHub · PyPI · Docs
sandlercubics Cubic equations of state GitHub · PyPI · Docs
sandlercorrespondingstates Corresponding-states chart reads GitHub · PyPI · Docs
sandlerchemeq Chemical equilibrium calculations GitHub · PyPI · Docs
sandlermisc Miscellaneous utilities (gas constant, ideal-gas functions, unit registry) GitHub · PyPI · Docs

Command-line usage

sandlertools [<global-options>] <command> [<command-options>]
$ sandlertools --help

Global options (--banner/--no-banner, --logging-level, --log) apply to all subcommands. Each subcommand's own options and examples are described in the corresponding package's documentation.

Subcommand Delegates to
props sandlerprops
cubic sandlercubics
steam sandlersteam
cs sandlercorrespondingstates
chemeq sandlerchemeq

Python API

sandlertools re-exports the public API of each sub-package so that a single import is sufficient for most use cases:

from sandlertools import (
    # sandlerprops
    Compound, PropertiesDatabase, get_database, Properties,
    # sandlersteam
    SandlerSteamState, SteamTables, get_tables,
    # sandlercubics
    IdealGasEOS, VanDerWaalsEOS, SoaveRedlichKwongEOS, PengRobinsonEOS,
    # sandlercorrespondingstates
    CSState,
    # sandlerchemeq
    Component, Reaction, ChemEqSystem,
    # sandlermisc
    R, ureg, DeltaH_IG, DeltaS_IG,
)

Properties and SteamTables are lazy singletons — the underlying data files are parsed only on first access. See each sub-package's documentation for class signatures and usage examples.

Release history

  • 0.5.1 — changed default banner behaviour
  • 0.5.0 — reports versions of all tools in banner message
  • 0.4.0sandlerchemeq integration
  • 0.3.0SteamRequest implemented
  • 0.2.0 — updated readme
  • 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/sandlertools/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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages