Andrés Salazar*, Martín Cismondi
Instituto de Investigación y Desarrollo de Ingeniería de Procesos y Química Aplicada
(Universidad Nacional de Córdoba - CONICET)
Av. Haya de la Torre s/n, Córdoba - Argentina
E-mail: (andres.pyther@gmail.com)
Pyther es una librería desarrollada principalmente en Python, Fortran y C, para ser utilizada en el entorno interactivo Jupyter, enfocada en la obtención, procesamiento y visualización de la creciente cantidad de datos relevantes para el analisis de problemas en termodinámica del equilibrio de fases, siguiendo la filosofía open source y open science.
PyTher utiliza la base de datos DIPPR-2003 para calcular 13 propiedades termofísicas de sustancia pura:
In [12]:
pyplot.scatter(VolumenLiqVAP,PresionVAP, color = 'red', label = 'Líquido')
pyplot.scatter(VolumenVapVAP,PresionVAP, color = 'blue', label = 'Vapor')
pyplot.title('Diagrama Densidad-Presión')
pyplot.legend(loc="upper right")
pyplot.xlabel('Densidad [=] -')
pyplot.ylabel('Presión [=] bar')
Out[12]:
In [4]:
import numpy as np
import pandas as pd
import pyther as pt
import matplotlib.pyplot as plt
%matplotlib inline
Es común que se requiera analizar multiples sustancias de forma simultanea con la especificación de varias condiciones de un modelo (por ejemplo valores de temperaturas), de tal forma que se obtendran una gran cantidad de valores (por ejemplo una propiedad termodinámica) que conforman un set de datos (en principio desestructurados), que en general demanda mucho tiempo en revisar y (limpiar datos) para encontrar resultados que no interesan o son invalidos (por ejemplo predicciones fuera del rango de aplicación de un modelos termodinámico)
In [7]:
thermodynamic_correlations = pt.Thermodynamic_correlations()
components = ["METHANE", "n-TETRACOSANE", "n-PENTACOSANE", "ETHANE", "ISOBUTANE", "PROPANE", "3-METHYLHEPTANE"]
property_thermodynamics = "Vapour_Pressure"
temperature = [180.4, 181.4, 185.3, 210, 800]
Vapour_Pressure = thermodynamic_correlations.property_cal(components, property_thermodynamics, temperature)
print("Vapour Pressure = {0}". format(Vapour_Pressure))
Al incrementar el número de sustancias, de ensayos, de experimentos, etc... Se comienza a complicar el procesamiento de los datos, por tanto, conviene integrar PyTher con librerías especializadas para el procesamiento de datos como Pandas para obtener resultados más eficientes.
(csv, txt, hoja de cálculo, etc).
In [10]:
temp_enter = thermodynamic_correlations.temperature_enter
thermodynamic_correlations.data_temperature(components, temperature, Vapour_Pressure, temp_enter)
Out[10]:
In [17]:
from IPython.display import IFrame
documentation_pyther = "http://pyther.readthedocs.io/es/latest/index.html"
IFrame(documentation_pyther, width=950, height=350)
Out[17]: