PyMemSim is a Python package for modelling of membrane-based separation systems.
Project description
🧪 PyMemSim
PyMemSim is a Python package for membrane-process simulation, with a current focus on hollow-fiber membrane (HFM) models.
⚙️ Package Functionalities
Current capabilities include:
- Hollow-fiber membrane simulation through the
HFMinterface andcreate_hfm_module(...)factory. - Gas-phase and liquid-phase HFM modeling.
physicalandscalemodeling modes.- Isothermal and non-isothermal simulation setup.
- Dual-side inlet specification (feed/permeate flows, temperatures, pressures).
- Constant-pressure operation for feed and permeate sides.
- Component-wise transport coefficients for gas and liquid systems.
- Solver-based simulation (
scipy.integrate.solve_ivpfor IVP andscipy.integrate.solve_bvpviasolver_bvpfor BVP) with configurable solver options.
📦 Installation
Install from PyPI:
pip install PyMemSim
Quick version check:
import pymemsim as pms
print(pms.__version__)
🚀 Usage Examples
For a complete end-to-end setup (thermo source, options, model inputs, module creation, and simulation), see:
examples/hfm/gas-hfm-exp-1.pyexamples/hfm/gas-hfm-exp-2.py
You can also review:
examples/hfm/liquid-hfm-exp-1.py
🔄 Co-current vs Counter-current (Gas HFM)
The gas HFM examples show how to switch the membrane flow arrangement through:
HollowFiberMembraneOptions(..., flow_pattern="co-current")HollowFiberMembraneOptions(..., flow_pattern="counter-current")
Reference examples:
examples/hfm/gas-hfm-exp-1.py: co-current case (flow_pattern_to_run = "co-current"), solved with IVP-style solver options (Radau,rtol,atol).examples/hfm/gas-hfm-exp-2.py: counter-current case (flow_pattern_to_run = "counter-current"), solved withsolver_bvpand BVP-style options (mesh_points,tol,bc_tol,max_nodes).
You can run either arrangement in both files by changing flow_pattern_to_run to "co-current" or "counter-current".
🛠️ Development Status
PyMemSim is under active development. APIs, model options, and behaviors may change in future releases.
📄 License
This project is licensed under the Apache-2.0 License. You are free to use, modify, and distribute this software in your own applications or projects. However, if you choose to use this app in another app or software, please ensure that my name, Sina Gilassi, remains credited as the original author. This includes retaining any references to the original repository or documentation where applicable. By doing so, you help acknowledge the effort and time invested in creating this project.
❓ FAQ
For any question, contact me on LinkedIn
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymemsim-0.2.0.tar.gz.
File metadata
- Download URL: pymemsim-0.2.0.tar.gz
- Upload date:
- Size: 66.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54d536380fafb6df2ae6340052b14afd3de4e733f3040d7b540fe9ec8644d9a8
|
|
| MD5 |
9e27a15a42ddaa7284b1d79ef14d909b
|
|
| BLAKE2b-256 |
50a7f9554c8b899090c4a0c4754eac27d1514ac74513fa3ca13025d9545297a7
|
File details
Details for the file pymemsim-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pymemsim-0.2.0-py3-none-any.whl
- Upload date:
- Size: 75.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6373cabc25cd29c247643ec39eb090b83b13e8a9f23ed951c2965e0876fbcd10
|
|
| MD5 |
dfaf660beed1b039ce730a010e85c4fb
|
|
| BLAKE2b-256 |
7749712627ca7f9640945cee43821263e8ddebf967a874f31aa2ce3fc8e7a430
|