Skip to main content

PyThermoLinkDB is a Python package providing a robust and efficient interface between `PyThermoDB` and other applications.

Project description

PyThermoLinkDB

PyThermoLinkDB

Downloads PyPI Python Version License

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:

  • Basic Usage 1 Open In 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythermolinkdb-1.1.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pythermolinkdb-1.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

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

Hashes for pythermolinkdb-1.1.0.tar.gz
Algorithm Hash digest
SHA256 691ed5b146d8b14ce8fdaee3d5b33792130917b4a17dbffd7ad63fb1abecbed2
MD5 85520772e3ef924f99518100e2e8049a
BLAKE2b-256 0cf39a7f2368cdb20335fdce74a33310e744ad1bd9fdc5afde0a92e2b3e23953

See more details on using hashes here.

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

Hashes for pythermolinkdb-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f9a71777c954c3327f1cbfb6775d7611aeecba0cff8391397a6cfd039031845
MD5 592a41eea92b8927becb0b5d4c8a641f
BLAKE2b-256 2e305df0830b437bdfb912cbd5c7dd5e51c4ad557be864f5b5fd5f678dce26c1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page