{"id":25457850,"url":"https://github.com/sinagilassi/pyctpm","last_synced_at":"2025-11-02T12:30:40.800Z","repository":{"id":253884381,"uuid":"371840719","full_name":"sinagilassi/PyCTPM","owner":"sinagilassi","description":"Python Chemical Thermodynamics for Process Modeling ","archived":false,"fork":false,"pushed_at":"2024-08-20T03:27:27.000Z","size":363,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-21T06:37:41.762Z","etag":null,"topics":["chemical-engineering","process-modeling","process-simulation","thermodynamic-properties","thermodynamics"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sinagilassi.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":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-28T23:38:00.000Z","updated_at":"2024-08-20T03:27:30.000Z","dependencies_parsed_at":"2024-08-20T06:53:30.486Z","dependency_job_id":null,"html_url":"https://github.com/sinagilassi/PyCTPM","commit_stats":null,"previous_names":["sinagilassi/pyctpm"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinagilassi%2FPyCTPM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinagilassi%2FPyCTPM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinagilassi%2FPyCTPM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sinagilassi%2FPyCTPM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sinagilassi","download_url":"https://codeload.github.com/sinagilassi/PyCTPM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239394662,"owners_count":19631122,"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","process-modeling","process-simulation","thermodynamic-properties","thermodynamics"],"created_at":"2025-02-18T02:19:16.432Z","updated_at":"2025-11-02T12:30:40.764Z","avatar_url":"https://github.com/sinagilassi.png","language":"Python","readme":"# Python Chemical Thermodynamics for Process Modeling\n\n![PyPI - License](https://img.shields.io/pypi/l/PyCTPM) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/PyCTPM) ![PyPI](https://img.shields.io/pypi/v/PyCTPM) ![PyPI - Downloads](https://img.shields.io/pypi/dm/PyCTPM) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1vyWxL_OKn304sb-yPLKisKc70lDozwtl?usp=sharing) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1ZbMuwkVkTxYNhVCnyfBkEvDrez_aH8bx?usp=sharing)\n\n## ::: Under Maintenance :::\n\nPython Chemical Thermodynamics for Process Modeling (PyCTPM) is an open-source package which can be used to estimate thermodynamic properties in a typical process modeling.\nThe current version consists of methods for estimation of gas properties as:\n\n1. Diffusivity coefficient (DiCo)\n2. Heat capacity at constant pressure (Cpp)\n3. Thermal conductivity (ThCo)\n4. Viscosity (Vi)\n\nThe above thermodynamic properties can be estimate for single and multi-component systems.\n\nNote:\n\nDiCo-MIX is the Diffusivity coefficient for a multi-component system\n\n# Example\n\nYou can also run PyCTPM on Google Colaboratory as:\n\n1. [Example 1](https://colab.research.google.com/drive/1vyWxL_OKn304sb-yPLKisKc70lDozwtl?usp=sharing)\n2. [Example 2: mixture properties](https://colab.research.google.com/drive/1ZbMuwkVkTxYNhVCnyfBkEvDrez_aH8bx?usp=sharing)\n\n# Getting started\n\nYou can install this package\n\n```bash\npip install PyCTPM\n```\n\n## Documentation\n\nPyCTPM can be initialized as follows:\n\n1- COMPONENT SELECTION\n\nIn order to define these components: H2; CO2; H2O; CO; CH3OH; DME\n\nthis code is automatically converted to python as:\n\n```python\n# component list\ncompList = [\"H2\",\"CO2\",\"H2O\",\"CO\",\"CH4O\",\"C2H6O\"]\n```\n\n2- OTHER PROPERTIES\n\n```python\n# Mole fraction of each component is defined as an element in a python list as:\nMoFri = [0.50, 0.25, 0.0001, 0.25, 0.0001, 0.0001]\n\n# temperature [K]\nT = 523\n\n# pressure [Pa]\nP = 3500000\n\n# model input\nmodelInput = {\n    \"components\": compList,\n    \"MoFri\": MoFri,\n    \"params\": {\n        \"P\": P,\n        \"T\": T,\n    },\n    \"unit\": \"SI\",\n    \"eq\": 'DEFAULT'\n}\n```\n\nNote:\n\nThe modelInput keys, unit and eq, they should be set as above in the current version.\n\n3- ESTIMATE PROPERTIES\n\n```python\n\n# import package/module\nimport PyCTPM\nfrom PyCTPM import thermo, thermoInfo, PackInfo\n\n# version\nprint(\"PyCTPM version: \", PyCTPM.__version__)\n\n# description\nprint(\"PyCTPM description: \", PyCTPM.__description__)\n\n# component available in the database\nPackInfo.components()\n\n# property\nPackInfo.properties()\n\n# property list\npropNameList = [\"MW\", \"Tc\", \"Pc\", \"w\", \"dHf25\", \"dGf25\"]\n\nfor i in range(len(propNameList)):\n    print(thermo(propNameList[i], modelInput))\n\n# property info\n# all property info\nprint(thermoInfo('ALL'))\n\n# one property\nfor i in range(len(propNameList)):\n    print(thermoInfo(propNameList[i]))\n\n# diffusivity coefficient of components in the mixture\nres = thermo(\"DiCo-MIX\", modelInput)\n# log\nprint(\"Dij: \", res)\n\n# heat capacity of components at desired temp [kJ/kmol.K]\nres = thermo(\"Cpp\", modelInput)\n# log\nprint(\"Cpp: \", res)\n\n# mean heat capacity of components at desired temp (Tref = 25 C) [kJ/kmol.K]\nres = thermo(\"Cpp-MEAN\", modelInput)\n# log\nprint(\"Cpp-MEAN: \", res)\n\n# mixture heat capacity of components at desired temp (Tref = 25 C) [kJ/kmol.K]\nres = thermo(\"Cpp-MIX\", modelInput)\n# log\nprint(\"Cpp-MIX: \", res)\n\n# thermal conductivity of components in the mixture [W/m.K]\nres = thermo(\"ThCo\", modelInput)\n# log\nprint(\"ThCoi: \", res)\n\n# thermal conductivity in the mixture [W/m.K]\nres = thermo(\"ThCo-MIX\", modelInput)\n# log\nprint(\"ThCo-MIX: \", res)\n\n# viscosity of components [Pa.s]\nres = thermo(\"Vi\", modelInput)\n# log\nprint(\"Vi: \", res)\n\n# viscosity mixture [Pa.s]\nres = thermo(\"Vi-MIX\", modelInput)\n# log\nprint(\"Vi-MIX: \", res)\n\n```\n\n## FAQ\n\nFor any question, you can contact me on [LinkedIn](https://www.linkedin.com/in/sina-gilassi/) or [Twitter](https://twitter.com/sinagilassi).\n\n## Authors\n\n- [@sinagilassi](https://www.github.com/sinagilassi)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinagilassi%2Fpyctpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinagilassi%2Fpyctpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinagilassi%2Fpyctpm/lists"}