PyThermoLinkDB is a Python package providing a robust and efficient interface between `PyThermoDB` and other applications.
Project description
PyThermoLinkDB
PyThermoLinkDB is a Python package providing a robust and efficient interface between PyThermoDB and other applications. It enables seamless thermodynamic data exchange, integration, and analysis. With PyThermoLinkDB, developers can easily link PyThermoDB to various tools, frameworks, and databases, streamlining thermodynamic workflows.
✨ Key Features
-
🔹 Simple and intuitive API
-
⚡ Efficient data transfer and integration
-
📂 Compatible with multiple data formats
-
📚 Extensive documentation and examples
Ideal for researchers, engineers, and developers working with thermodynamic data, PyThermoLinkDB simplifies data integration and analysis, accelerating scientific discoveries and industrial applications.
🌐 Google Colab
You can run PyThermoLinkDB in Google Colab:
📥 Installation
Install pyThermoLinkDB and PyThermoDB with pip
pip install pyThermoLinkDB
pip install PyThermoDB
🛠️ Usage Example
🔄 Load ThermoDB
# import packages/modules
import os
from rich import print
import pyThermoLinkDB as ptdblink
import pyThermoDB as ptdb
# SECTION CO2
CO2_thermodb_file = os.path.join(
os.getcwd(), 'test', 'carbon dioxide-1.pkl')
# load
CO2_thermodb = ptdb.load_thermodb(CO2_thermodb_file)
print(type(CO2_thermodb))
# check
print(CO2_thermodb.check())
# SECTION methanol
# thermodb file name
MeOH_thermodb_file = os.path.join(os.getcwd(), 'test', 'methanol-1.pkl')
print(f"thermodb file: {MeOH_thermodb_file}")
# load
MeOH_thermodb = ptdb.load_thermodb(MeOH_thermodb_file)
print(type(MeOH_thermodb))
MeOH_thermodb
# check
print(MeOH_thermodb.check())
# SECTION nrtl
# thermodb file name
nrtl_thermodb_file = os.path.join(
os.getcwd(), 'test', 'thermodb_nrtl_1.pkl')
print(f"thermodb file: {nrtl_thermodb_file}")
# load
nrtl_thermodb = ptdb.load_thermodb(nrtl_thermodb_file)
print(type(nrtl_thermodb))
# check
print(nrtl_thermodb.check())
🔌 Initialize Thermodb Hub
# init thermodb hub
thub1 = ptdblink.init()
print(type(thub1))
# add component thermodb
thub1.add_thermodb('MeOH', MeOH_thermodb)
thub1.add_thermodb('CO2', CO2_thermodb)
# matrix data
thub1.add_thermodb('NRTL', nrtl_thermodb)
# get components
print(thub1.items())
⚙️ ThermoDB Link Configuration
# add thermodb rule
thermodb_config_file = os.path.join(os.getcwd(), 'test', 'thermodb_config.yml')
# all components
res_ = thub1.config_thermodb_rule(thermodb_config_file)
# selected components
#res_ = thub1.config_thermodb_rule(thermodb_config_file, names=["MeOH", "CO2"])
print(res_)
🔨 Build ThermoDB Hub
# build
datasource, equationsource = thub1.build()
print(datasource)
print(equationsource)
# hub
print(thub1.hub)
📊 Retrieve Data
# CO2 data
dt1_ = datasource['CO2']['Pc']
print(type(dt1_))
print(dt1_)
# MeOH data
dt2_ = datasource['MeOH']['Tc']
print(type(dt2_))
print(dt2_)
# NRTL data
dt3_ = datasource['NRTL']['alpha_i_j']
print(type(dt3_))
print(dt3_.ij("Alpha_methanol_ethanol"))
# CO2 equation
eq1_ = equationsource['CO2']['VaPr']
print(type(eq1_))
print(eq1_)
print(eq1_.args)
print(eq1_.cal(T=298.15))
# nrtl equation
eq2_ = equationsource['NRTL']['tau_i_j']
print(type(eq2_))
print(eq2_)
print(eq2_.args)
print(eq2_.cal(T=298.15))
❓ FAQ
For any question, contact me on LinkedIn
👨💻 Authors
Project details
Release history Release notifications | RSS feed
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 pythermolinkdb-1.1.0.tar.gz.
File metadata
- Download URL: pythermolinkdb-1.1.0.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
691ed5b146d8b14ce8fdaee3d5b33792130917b4a17dbffd7ad63fb1abecbed2
|
|
| MD5 |
85520772e3ef924f99518100e2e8049a
|
|
| BLAKE2b-256 |
0cf39a7f2368cdb20335fdce74a33310e744ad1bd9fdc5afde0a92e2b3e23953
|
File details
Details for the file pythermolinkdb-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pythermolinkdb-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f9a71777c954c3327f1cbfb6775d7611aeecba0cff8391397a6cfd039031845
|
|
| MD5 |
592a41eea92b8927becb0b5d4c8a641f
|
|
| BLAKE2b-256 |
2e305df0830b437bdfb912cbd5c7dd5e51c4ad557be864f5b5fd5f678dce26c1
|