Python Chemical Thermodynamics for Process Modeling (PyCTPM)
Project description
Python Chemical Thermodynamics for Process Modeling
Python Chemical Thermodynamics for Process Modeling (PyCTPM) is an open-source package which can be used to estimate thermodynamic properties in a typical process modeling.
The current version consists of methods for estimation of gas properties as:
-
Diffusivity coefficient (DiCo)
-
Heat capacity at constant pressure (Cpp)
-
Thermal conductivity (ThCo)
-
Viscosity (Vi)
The above thermodynamic properties can be estimate for single and multi-component systems.
Note:
DiCo-MIX is the Diffusivity coefficient for a multi-component system
Example
You can also run PyCTPM on Google Colaboratory as:
1- Example 1
Getting started
You can install this package
pip install PyCTPM
Documentation
PyCTPM can be initialized as follows:
1- COMPONENT SELECTION
In order to define these components: H2; CO2; H2O; CO; CH3OH; DME
this code is automatically converted to python as:
# component list
compList = ["H2","CO2","H2O","CO","CH4O","C2H6O"]
2- OTHER PROPERTIES
# Mole fraction of each component is defined as an element in a python list as:
MoFri = [0.50, 0.25, 0.0001, 0.25, 0.0001, 0.0001]
# temperature [K]
T = 523
# pressure [Pa]
P = 3500000
# model input
modelInput = {
"components": compList,
"MoFri": MoFri,
"params": {
"P": P,
"T": T,
},
"unit": "SI",
"eq": 'DEFAULT'
}
Note:
The modelInput keys, unit and eq, they should be set as above in the current version.
3- ESTIMATE PROPERTIES
# import package/module
import PyCTPM
from PyCTPM import thermo, thermoInfo, PackInfo
# version
print("PyCTPM version: ", PyCTPM.__version__)
# description
print("PyCTPM description: ", PyCTPM.__description__)
# component available in the database
PackInfo.components()
# property
PackInfo.properties()
# property list
propNameList = ["MW", "Tc", "Pc", "w", "dHf25", "dGf25"]
for i in range(len(propNameList)):
print(thermo(propNameList[i], modelInput))
# property info
# all property info
print(thermoInfo('ALL'))
# one property
for i in range(len(propNameList)):
print(thermoInfo(propNameList[i]))
# diffusivity coefficient of components in the mixture
res = thermo("DiCo-MIX", modelInput)
# log
print("Dij: ", res)
# heat capacity of components at desired temp [kJ/kmol.K]
res = thermo("Cpp", modelInput)
# log
print("Cpp: ", res)
# mean heat capacity of components at desired temp (Tref = 25 C) [kJ/kmol.K]
res = thermo("Cpp-MEAN", modelInput)
# log
print("Cpp-MEAN: ", res)
# mixture heat capacity of components at desired temp (Tref = 25 C) [kJ/kmol.K]
res = thermo("Cpp-MIX", modelInput)
# log
print("Cpp-MIX: ", res)
# thermal conductivity of components in the mixture [W/m.K]
res = thermo("ThCo", modelInput)
# log
print("ThCoi: ", res)
# thermal conductivity in the mixture [W/m.K]
res = thermo("ThCo-MIX", modelInput)
# log
print("ThCo-MIX: ", res)
# viscosity of components [Pa.s]
res = thermo("Vi", modelInput)
# log
print("Vi: ", res)
# viscosity mixture [Pa.s]
res = thermo("Vi-MIX", modelInput)
# log
print("Vi-MIX: ", res)
FAQ
For any question, you can contact me on LinkedIn or Twitter.
Authors
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
File details
Details for the file PyCTPM-1.0.6.tar.gz
.
File metadata
- Download URL: PyCTPM-1.0.6.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 893001d702dca4814b0f1f342aee789449c1eab3d2efddbef2a73f7c00560a6d |
|
MD5 | d52e5a4ab64bc5ab7ec399dc96bea433 |
|
BLAKE2b-256 | b4fb2f373a1f7bb3ae45a3857f1e2389142b62fd3c408bf1d9bb0f5296b634e4 |
File details
Details for the file PyCTPM-1.0.6-py3-none-any.whl
.
File metadata
- Download URL: PyCTPM-1.0.6-py3-none-any.whl
- Upload date:
- Size: 27.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a991a31d50cc2ea1ad0ef84ffba488bf6eecbb97d9154da8d8c523fa98801181 |
|
MD5 | d77e2d1690601da039343ea3517cc39d |
|
BLAKE2b-256 | a3f537cd53eb7b5d45946305dcdf99ef9d69283c903c37fb145e15d62e540311 |