<img src="https://raw.githubusercontent.com/Membrizard/PyVaporation/main/logo_icon.svg" style="width: 480px;">
![CI](https://github.com/Membrizard/PyVaporation/actions/workflows/python-package.yml/badge.svg)
For simplification of the package usage we have built the [Pervaporation Modelling App](https://pervaporation-modelling.com)
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](https://doi.org/10.3390/membranes12080784)
# 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 model
* Saturated vapour pressure could be assessed using Antoine or Frost equations
* Vaporisation/Condensation heat values are calculated using Clapeyron-Clausius equation
* Specific heat capcities 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 based 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
Rquirements:
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
```
* To run automated tests for all the modules:
```
python -m pytest -sv tests/
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Membrizard/PyVaporation",
"name": "pyvaporation",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "pervaporation,membrane,chemistry,modelling,chemical-engineering,scientific",
"author": "Denis Sapegin, Aleksei Chekmachev",
"author_email": "dasapegin@sr-systems.ru",
"download_url": "https://files.pythonhosted.org/packages/4d/37/61438e90b4ba47179de4bfdd5b63fc80be11a101231fd3e91bdf9f21f105/pyvaporation-1.2.0.tar.gz",
"platform": null,
"description": "<img src=\"https://raw.githubusercontent.com/Membrizard/PyVaporation/main/logo_icon.svg\" style=\"width: 480px;\">\n\n![CI](https://github.com/Membrizard/PyVaporation/actions/workflows/python-package.yml/badge.svg)\n\nFor simplification of the package usage we have built the [Pervaporation Modelling App](https://pervaporation-modelling.com) \n\nThe app allows performing basic calculations available in the package using a User-friendly web-based UI.\n\nThis solution is designed specifically to assist Researchers in the field of Pervaporation membranes development.\nBy 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)\n\nOr, 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.\nNon-isothermal modelling for both type of processes supports self-cooling mode, or temperature program mode.\n\nThe comprehensive review of the theoretical background, applicability and code-examples may be found [here](https://doi.org/10.3390/membranes12080784)\n\n\n# Following mixtures are Currently built into the solution:\n(Current version supports only binary mixtures)\n\n\n* H2O/MeOH\n* H2O/EtOH\n* H2O/IPOH\n* H2O/Acetic acid\n* MeOH/toluene\n* MeOH/Methyl-tert-butyl ether\n* MeOH/Dimethylcarbonate\n* EtOH/Ethyl-tert-butyl ether\n\n\n# Assumptions and applicability\n\n* The activity coefficients of the binary mixture are calculated by means of NRTL model\n* Saturated vapour pressure could be assessed using Antoine or Frost equations\n* Vaporisation/Condensation heat values are calculated using Clapeyron-Clausius equation\n* Specific heat capcities are calculated using polynomial approximation\n* The ideal modelling process is applicable only for the processes, where permeance values do not depend significantly on mixture composition\n* The non-ideal modelling is performed only based on the basis of specified diffusion curves (Fluxes/Permeances of each component as a function of first component concentration in feed)\n* Non Ideal modelling supports non-linear dependencies of permeances and activation energies on feed composition \n* Non-Isothermal processes support pre-defined temperature program (feed temperature as a function of process time may be specified for process modelling)\n\n# Installation\n\nRquirements:\n\npython 3.7 or higher\n\nTo install:\n```\npip install pyvaporation\n```\n\n# Code examples\nYou can run `code-examples.ipynb` from `github.com/Membrizard/PyVaporation/code-examples.ipynb` \nin order to check the package functionality.\n\n# Hints for general usage\n\n* Pre-configured default membranes are located in \n```\n ./tests/default_membranes\n``` \n* To run automated tests for all the modules: \n```\n python -m pytest -sv tests/\n```\n\n",
"bugtrack_url": null,
"license": "Apache license 2.0",
"summary": "Set of tools for modelling pervaporation processes",
"version": "1.2.0",
"split_keywords": [
"pervaporation",
"membrane",
"chemistry",
"modelling",
"chemical-engineering",
"scientific"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "11dedc4e4c53070d1743940a6e78ae57",
"sha256": "b5a893f2ef0d69f13dc668a2473a97857b4eabde7e561ca7faa0e4cb2fdae22a"
},
"downloads": -1,
"filename": "pyvaporation-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "11dedc4e4c53070d1743940a6e78ae57",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 41922,
"upload_time": "2022-12-06T11:33:24",
"upload_time_iso_8601": "2022-12-06T11:33:24.954050Z",
"url": "https://files.pythonhosted.org/packages/45/9e/7d71b8b32e9094ddb83567078a3f4ce936e50c1bf03d42f81beaa1c78813/pyvaporation-1.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "64cc521c068fe0f039d7ffea596f803e",
"sha256": "c1e9e339c8c250c640a3693347d68f30e5c4edd21f98ce98dd3ed65e7fbd24d3"
},
"downloads": -1,
"filename": "pyvaporation-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "64cc521c068fe0f039d7ffea596f803e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 32080,
"upload_time": "2022-12-06T11:33:26",
"upload_time_iso_8601": "2022-12-06T11:33:26.940062Z",
"url": "https://files.pythonhosted.org/packages/4d/37/61438e90b4ba47179de4bfdd5b63fc80be11a101231fd3e91bdf9f21f105/pyvaporation-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-06 11:33:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "Membrizard",
"github_project": "PyVaporation",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "joblib",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.5.2"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"1.3.5"
]
]
},
{
"name": "scipy",
"specs": [
[
"==",
"1.7.3"
]
]
},
{
"name": "attr",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "attrs",
"specs": [
[
"==",
"21.4.0"
]
]
}
],
"lcname": "pyvaporation"
}