{"id":14989234,"url":"https://github.com/membrizard/pyvaporation","last_synced_at":"2025-08-22T00:31:35.615Z","repository":{"id":37437916,"uuid":"484447425","full_name":"Membrizard/PyVaporation","owner":"Membrizard","description":"The solution for modelling pervaporation membrane performance based on experimental data","archived":false,"fork":false,"pushed_at":"2023-05-18T13:43:42.000Z","size":3582,"stargazers_count":75,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-20T06:06:45.471Z","etag":null,"topics":["chemical-engineering","diffusion","environmental-engineering","heat-capacity","membranes","modelling-tool","pervaporation","physics","process-simulation","python","scientific","scipy","thermodynamics","uniquac","vapor-liquid-equilibrium","vaporisation-heat","vapour-pressure"],"latest_commit_sha":null,"homepage":"https:\\\\pervaporation-modelling.com","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Membrizard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-04-22T13:39:36.000Z","updated_at":"2024-11-04T05:58:20.000Z","dependencies_parsed_at":"2023-02-10T15:01:24.606Z","dependency_job_id":null,"html_url":"https://github.com/Membrizard/PyVaporation","commit_stats":{"total_commits":409,"total_committers":6,"mean_commits":68.16666666666667,"dds":"0.33007334963325186","last_synced_commit":"5e901d958bfa1c4c83173ee6e8538270703abfda"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Membrizard%2FPyVaporation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Membrizard%2FPyVaporation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Membrizard%2FPyVaporation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Membrizard%2FPyVaporation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Membrizard","download_url":"https://codeload.github.com/Membrizard/PyVaporation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230542288,"owners_count":18242332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chemical-engineering","diffusion","environmental-engineering","heat-capacity","membranes","modelling-tool","pervaporation","physics","process-simulation","python","scientific","scipy","thermodynamics","uniquac","vapor-liquid-equilibrium","vaporisation-heat","vapour-pressure"],"created_at":"2024-09-24T14:17:54.652Z","updated_at":"2024-12-20T06:06:49.814Z","avatar_url":"https://github.com/Membrizard.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/Membrizard/PyVaporation/main/logo_icon.svg\" style=\"width: 480px;\"\u003e\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 or UNIQUAC 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 capacities 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 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\nRequirements:\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* VLE data used to fit UNIQUAC Parameters of default mixtures is located in \n```\n   ./tests/VLE_data\n``` \n* VLE data for a mixture could be fitted with a UNIQUAC model using \n```\n   fit_vle(\n    data: VLEPoints,\n    method: typing.Optional[str] = None,\n) -\u003e UNIQUACParameters\n``` \n* To run automated tests for all the modules: \n```\n   python -m pytest -sv tests/\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmembrizard%2Fpyvaporation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmembrizard%2Fpyvaporation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmembrizard%2Fpyvaporation/lists"}