Skip to content
Snippets Groups Projects
README.md 1.7 KiB
Newer Older
  • Learn to ignore specific revisions
  • Ian Bell's avatar
    Ian Bell committed
    
    # Intro
    
    
    This library implements advanced derivative techniques to allow for implementation of EOS without any hand-written derivatives.  The name TEQP comes from Templated Equation of State Package
    
    
    So far the following EOS are implemented:
    
    * van der Waals
    * PC-SAFT
    * cubic plus association (CPA) for pure fluids
    * multi-fluid model in the form of GERG
    
    Ian Bell's avatar
    Ian Bell committed
    
    
    Written by Ian Bell, NIST.  
    
    
    ## Install
    
    For windows and OSX, you should be able to install the most recent version from PYPI with
    
    ``pip install teqp``
    
    For linux users, please build yourself following the instructions below.
    
    ## Tests
    
    [![Catch tests via Github Actions](https://github.com/ianhbell/teqp/actions/workflows/runcatch.yml/badge.svg)](https://github.com/ianhbell/teqp/actions/workflows/runcatch.yml)
    
    
    Ian Bell's avatar
    Ian Bell committed
    Try it in your browser: [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/ianhbell/teqp/master)
    
    
    Be aware: compiling takes a while in release mode (multiple minutes per file in some cases) thanks to the use of generic typing in the models.  Working on making this faster...
    
    For example to build the critical line tracing example in visual studio, do:
    
    
    Ian Bell's avatar
    Ian Bell committed
    ```
    
    mkdir build
    cd build
    cmake .. 
    cmake --build . --target multifluid_crit --config Release
    Release\multifluid_crit
    
    Ian Bell's avatar
    Ian Bell committed
    ```
    
    On linux/OSX, similar:
    
    Ian Bell's avatar
    Ian Bell committed
    ```
    
    mkdir build
    cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release
    cmake --build . --target multifluid_crit
    ./multifluid_crit
    
    Ian Bell's avatar
    Ian Bell committed
    ```
    
    Ian Bell's avatar
    Ian Bell committed
    ### Random notes for future readers:
    
    * When building in WSL via VS Code, you might need to enable metadata to avoid pages of configure errors in cmake: https://github.com/microsoft/WSL/issues/4257
    
    Ian Bell's avatar
    Ian Bell committed
    * Debugging in WSL via VS Code (it really works!): https://code.visualstudio.com/docs/cpp/config-wsl