Skip to content

The solution for modelling pervaporation membrane performance based on experimental data

License

Apache-2.0, Apache-2.0 licenses found

Licenses found

Apache-2.0
LICENSE.md
Apache-2.0
LICENSE.txt
Notifications You must be signed in to change notification settings

Membrizard/PyVaporation

CI

For simplification of the package usage we have built the Pervaporation Modelling App

The app allows performing basic calculations available in the package using a User-friendly web-based UI.

This solution is designed specifically to assist Researchers in the field of Pervaporation membranes development. By means of the proposed instrument one can easily model a performance of a particular membrane with known permeance (Pi - GPU, SI, kg/(m2 * h * kPa)) and apparent energy of transport activiation (Ea - J/mol) values for each component of a considered binary mixture, if the transport is considered Ideal (Permeances are not dependent on the mixture composition)

Or, given that the diffusion curve set of a non-ideal process is measured one can model the non-ideal process in isothermal or non-isothermal (adiabatic) mode. Non-isothermal modelling for both type of processes supports self-cooling mode, or temperature program mode.

The comprehensive review of the theoretical background, applicability and code-examples may be found here

Following mixtures are Currently built into the solution:

(Current version supports only binary mixtures)

  • H2O/MeOH
  • H2O/EtOH
  • H2O/IPOH
  • H2O/Acetic acid
  • MeOH/toluene
  • MeOH/Methyl-tert-butyl ether
  • MeOH/Dimethylcarbonate
  • EtOH/Ethyl-tert-butyl ether

Assumptions and applicability

  • The activity coefficients of the binary mixture are calculated by means of NRTL or UNIQUAC model
  • Saturated vapour pressure could be assessed using Antoine or Frost equations
  • Vaporisation/Condensation heat values are calculated using Clapeyron-Clausius equation
  • Specific heat capacities are calculated using polynomial approximation
  • The ideal modelling process is applicable only for the processes, where permeance values do not depend significantly on mixture composition
  • The non-ideal modelling is performed only on the basis of specified diffusion curves (Fluxes/Permeances of each component as a function of first component concentration in feed)
  • Non-Ideal modelling supports non-linear dependencies of permeances and activation energies on feed composition
  • Non-Isothermal processes support pre-defined temperature program (feed temperature as a function of process time may be specified for process modelling)

Installation

Requirements:

python 3.7 or higher

To install:

pip install pyvaporation

Code examples

You can run code-examples.ipynb from github.com/Membrizard/PyVaporation/code-examples.ipynb in order to check the package functionality.

Hints for general usage

  • Pre-configured default membranes are located in
   ./tests/default_membranes
  • VLE data used to fit UNIQUAC Parameters of default mixtures is located in
   ./tests/VLE_data
  • VLE data for a mixture could be fitted with a UNIQUAC model using
   fit_vle(
    data: VLEPoints,
    method: typing.Optional[str] = None,
) -> UNIQUACParameters
  • To run automated tests for all the modules:
   python -m pytest -sv tests/