miércoles, 31 de agosto de 2022

Resumen de las propiedades físicas del gas, petróleo y agua en Tkinter

Hola de nuevo,  espero que te encuentres bien, en esta entrada se hará un breve resumen de lo que se realizó hasta el momento, con la finalidad de enfatizar todo el trabajo desarrollado en las entradas anteriores. Hay que recordar que se programaron las correlaciones de las propiedades físicas del gas, petróleo y agua, con el motivo de proveer un repertorio de programación para aquellas personas que lo necesiten.
 
Las propiedades físicas que se programaron fueron las siguientes:
 
Correlaciones de Gas
 
    ·         Presión y temperatura pseudocriticas
    ·         Compresibilidad del gas (Factor Z)
    ·         Compresibilidad del gas
    ·         Viscosidad del gas
    ·         Densidad del gas
 
Correlaciones de Petróleo
 
    ·         Presión de burbuja
    ·         Razón de gas disuelto-petróleo
    ·         Factor volumétrico del petróleo
    ·         Factor volumétrico Total
    ·         Compresibilidad del petróleo
    ·         Viscosidad del petróleo
    ·         Tensión interfacial del petróleo
 
Correlaciones de Agua
 
    ·         Relación gas disuelto-agua
    ·         Factor volumétrico del agua
    ·         Compresibilidad del agua
    ·         Viscosidad del agua
    ·         Densidad del agua
    ·         Tensión Interfacial del agua
 
Recuerda que se realizaron ventanas gráficas para albergar a los códigos y facilitar de esta manera el uso de los mismos al momento de utilizarlos.
 
En la próxima entrada se mostrara una forma de como condensar todos los códigos en un solo programa.

miércoles, 24 de agosto de 2022

Tkinter Factor Volumétrico del Gas

Esta entrada es la última referida a las propiedades del gas, la entrada trata acerca del Factor Volumétrico del Gas, este programa cuenta con dos formas de obtener el factor volumétrico del gas y con dos formas de obtener la expansión del gas. A continuación se muestra el código completo:
 
import math as math
from tkinter import *
import tkinter as tk
from tkinter import ttk
import numpy as np
from tkinter import messagebox
 
Ventana = Tk()
Ventana.geometry("300x200")
Ventana.maxsize(300,200)
Ventana.minsize(300,200)
Ventana.title("Factor Volumétrico del Gas")
Ventana.configure(background="gray80",highlightbackground="gray80",highlightcolor="black")
 
Recuadro_Entradas = tk.LabelFrame(Ventana)
Recuadro_Entradas.place(relx=0.01, rely=0.01, relheight=0.35, relwidth=0.980)
Recuadro_Entradas.configure(relief='groove',foreground="black",text='''Entradas''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)
 
Mensaje_1 = tk.Message(Recuadro_Entradas)
Mensaje_1.place(relx=0.01, rely=0.04, height=25, width=50)
Mensaje_1.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''P''')
Mensaje_2 = tk.Message(Recuadro_Entradas)
Mensaje_2.place(relx=0.01, rely=0.51, height=25, width=50)
Mensaje_2.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''T''')
Mensaje_3 = tk.Message(Recuadro_Entradas)
Mensaje_3.place(relx=0.52, rely=0.04, height=25, width=50)
Mensaje_3.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Z''')
 
Entrada_1 = tk.Entry(Recuadro_Entradas)
Entrada_1.place(relx=0.2, rely=0.04, height=20, width=80)
Entrada_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_2 = tk.Entry(Recuadro_Entradas)
Entrada_2.place(relx=0.2, rely=0.52, height=20, width=80)
Entrada_2.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_3 = tk.Entry(Recuadro_Entradas)
Entrada_3.place(relx=0.715, rely=0.04, height=20, width=80)
Entrada_3.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
 
Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
 
Recuadro_Correlaciones = tk.LabelFrame(Ventana)
Recuadro_Correlaciones.place(relx=0.01, rely=0.36, relheight=0.27, relwidth=0.980)
Recuadro_Correlaciones.configure(relief='groove',foreground="black",text='''Correlaciones Disponibles''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)
 
Valores = ["Bg (PCY/PCN)","Bg (BY/PCN)" ,"Eg (PCN/PCY)" ,"Eg (PCN/BY)"]
 
Variable = tk.StringVar()
Visor_correlaciones = ttk.Combobox(Recuadro_Correlaciones)
Visor_correlaciones.place(relx=0.02, rely=0.40, height=25, width=280, bordermode='ignore')
Visor_correlaciones.configure(takefocus="",state="readonly",textvariable = Variable, justify = "center",values = Valores)
Visor_correlaciones.current(0)
 
def Correlaciones_Bg(event):
 
            try:
 
                        """Z = 0.78
                        T = 180+460
                        P = 3400"""
 
                        P = float(Entrada_1.get()) # psi
                        T = float(Entrada_2.get()) # °F
                        Z = float(Entrada_3.get()) #
 
                        if P <= 0:
 
                                   messagebox.showwarning("Advertencia!","La Presión es incorrecta")
 
                        elif T <= 0:
                                   messagebox.showwarning("Advertencia!","La Temperatura es incorrecta")
 
                        elif Z <= 0:
 
                                   messagebox.showwarning("Advertencia!","El Factor de compresibilidad del gas es incorrecto")
 
                        else:
 
                                   if str(Variable.get()) == Valores[0]:
 
                                               Bg = 0.02827*((Z*(T+460))/P) # PCY/PCN
 
                                               Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Bg)
                                    Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''PCY/PCN''')
 
                                   elif str(Variable.get()) == Valores[1]:
 
                                               Bg = 0.00503*((Z*(T+460))/P) # BY/PCN
 
                                               Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Bg)
                                    Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''BY/PCN''')
 
                                   elif str(Variable.get()) == Valores[2]:
 
                                               Eg = (35.37*P)/(Z*(T+460)) # PCN/PCY
 
                                               Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Eg)
                                    Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''PCN/PCY''')
                                    Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='left',text='''Eg''')
 
                                   elif str(Variable.get()) == Valores[3]:
 
                                               Eg = (198.8*P)/(Z*(T+460)) # PCN/BY
 
                                               Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Eg)
                                    Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''PCN/BY''')
                                    Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='left',text='''Eg''')
 
                                   else:
 
                                               print("Error al realizar la selección de la opción")
           
            except ZeroDivisionError:
 
                        messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")
 
            except SyntaxError:
 
                        messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")
 
            except ValueError:
 
                        messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")
 
            finally:
 
                        pass
 
            return
 
Visor_correlaciones.bind('<<ComboboxSelected>>', Correlaciones_Bg)
 
Recuadro_Salidas = tk.LabelFrame(Ventana)
Recuadro_Salidas.place(relx=0.01, rely=0.63, relheight=0.22, relwidth=0.980)
Recuadro_Salidas.configure(relief='groove',foreground="black",text='''Salidas''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)
 
Mensaje_4 = tk.Label(Recuadro_Salidas)
Mensaje_4.place(relx=0.10, rely=0.01, height=25, width=80)
Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='left',text='''Bg''')
 
Mensaje_9 = tk.Label(Recuadro_Salidas)
Mensaje_9.place(relx = 0.69, rely = 0.01, height=25, width=50)
Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''PCY/PCN''')
Salida_1 = tk.Entry(Recuadro_Salidas)
Salida_1.place(relx=0.35, rely=0.01, height=20, width=80)
Salida_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
 
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)
 
def Limpiando():
 
            Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
            Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
            Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
            Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)
 
            return
 
Limpieza = Button(Ventana,activebackground="OliveDrab4",activeforeground="black",background="gray80",disabledforeground="#a3a3a3",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",pady="0",text='''Limpieza''', command = Limpiando).place(relx = 0.01, rely = 0.87, height=24, width=293)
 
Ventana.mainloop()
 
El código devuelve lo siguiente:



miércoles, 17 de agosto de 2022

Tkinter Densidad del Gas

En esta nueva entrada se aborda el tema de la Densidad del Gas, este programa cuenta con dos formas de obtener dicha propiedad, la primera forma es la Ley de los Gases Reales y l segunda es Ley de la Conservación de la Masa. A continuación se muestra el código completo:
 
import math as math
from tkinter import *
import tkinter as tk
from tkinter import ttk
import numpy as np
from tkinter import messagebox
 
Ventana = Tk()
Ventana.geometry("300x300")
Ventana.maxsize(300,300)
Ventana.minsize(300,300)
Ventana.title("Densidad del Gas")
Ventana.configure(background="gray80",highlightbackground="gray80",highlightcolor="black")
 
Recuadro_Entradas = tk.LabelFrame(Ventana)
Recuadro_Entradas.place(relx=0.01, rely=0.01, relheight=0.40, relwidth=0.980)
Recuadro_Entradas.configure(relief='groove',foreground="black",text='''Entradas''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)
 
Mensaje_1 = tk.Message(Recuadro_Entradas)
Mensaje_1.place(relx=0.01, rely=0.05, height=25, width=50)
Mensaje_1.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''P''')
Mensaje_2 = tk.Message(Recuadro_Entradas)
Mensaje_2.place(relx=0.01, rely=0.38, height=25, width=50)
Mensaje_2.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''T''')
Mensaje_3 = tk.Message(Recuadro_Entradas)
Mensaje_3.place(relx=0.01, rely=0.71, height=25, width=50)
Mensaje_3.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Yg''')
Mensaje_4 = tk.Message(Recuadro_Entradas)
Mensaje_4.place(relx=0.52, rely=0.05, height=25, width=50)
Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Z''')
Mensaje_5 = tk.Message(Recuadro_Entradas)
Mensaje_5.place(relx=0.52, rely=0.38, height=25, width=50)
Mensaje_5.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Bg''')
 
Entrada_1 = tk.Entry(Recuadro_Entradas)
Entrada_1.place(relx=0.2, rely=0.05, height=20, width=80)
Entrada_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_2 = tk.Entry(Recuadro_Entradas)
Entrada_2.place(relx=0.2, rely=0.39, height=20, width=80)
Entrada_2.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_3 = tk.Entry(Recuadro_Entradas)
Entrada_3.place(relx=0.2, rely=0.72, height=20, width=80)
Entrada_3.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_4 = tk.Entry(Recuadro_Entradas)
Entrada_4.place(relx=0.715, rely=0.05, height=20, width=80)
Entrada_4.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
Entrada_5 = tk.Entry(Recuadro_Entradas)
Entrada_5.place(relx=0.715, rely=0.39, height=20, width=80)
Entrada_5.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
 
Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
Entrada_4.delete(0,tk.END);Entrada_4.insert(tk.END,"");Entrada_4.insert(tk.END,0.00)
Entrada_5.delete(0,tk.END);Entrada_5.insert(tk.END,"");Entrada_5.insert(tk.END,0.00)
 
Recuadro_Correlaciones = tk.LabelFrame(Ventana)
Recuadro_Correlaciones.place(relx=0.01, rely=0.44, relheight=0.20, relwidth=0.980)
Recuadro_Correlaciones.configure(relief='groove',foreground="black",text='''Correlaciones Disponibles''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)
 
Valores = ["Ley de los Gases Reales" ,"Ley de la Coservación de la Masa "]
 
Variable = tk.StringVar()
Visor_correlaciones = ttk.Combobox(Recuadro_Correlaciones)
Visor_correlaciones.place(relx=0.02, rely=0.40, height=25, width=280, bordermode='ignore')
Visor_correlaciones.configure(takefocus="",state="readonly",textvariable = Variable, justify = "center",values = Valores)
Visor_correlaciones.current(0)
 
def Correlaciones_Pg(event):
 
            try:
 
 
                        """P = 3400   # psi
                        R = 10.73  #
                        Yg = 1.24  # Adim
                        Z = 0.78   # Adim
                        T = 180+460    # °R
                        Bg = 0.0041   # PCY/PCN"""
 
                        P = float(Entrada_1.get()) # psi
                        T = float(Entrada_2.get()) # °F
                        Yg = float(Entrada_3.get()) # °S
                        Z = float(Entrada_4.get()) # psi
                        Bg = float(Entrada_5.get()) # °F
 
                        if P <= 0:
 
                                   messagebox.showwarning("Advertencia!","La Presión es incorrecta")
 
                        elif T <= 0:
 
                                   messagebox.showwarning("Advertencia!","La Temperatura es incorrecta")
 
                        elif Yg <= 0:
 
                                   messagebox.showwarning("Advertencia!","La Densidad del gas es incorrecta")
 
                        elif Z <= 0:
 
                                   messagebox.showwarning("Advertencia!","El Factor de Compresibildiad del gas es incorrecto")
 
                        else:
 
                                   if str(Variable.get()) == Valores[0]:
 
                                               # Ley de los gases reales
 
                                               Pg = ((28.96)*P*Yg)/(10.73*Z*(T+460)) # lb/pie^3
 
                                               Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Pg)
 
                                   elif str(Variable.get()) == Valores[1]:
 
 
                                               if Bg <= 0:
 
                                                           messagebox.showwarning("Advertencia!","El Factor volumétrico del gas es incorrecto")
 
                                               else:
 
                                                           # Ley de la coservación de la masa
 
                                                           Pg = (0.0763*Yg)/Bg
 
                                                           Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Pg)
 
                                   else:
 
                                               print("Error al realizar la selección de la opción")
           
            except ZeroDivisionError:
 
                        messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")
 
            except SyntaxError:
 
                        messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")
 
            except ValueError:
 
                        messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")
 
            finally:
 
                        pass
 
            return
 
Visor_correlaciones.bind('<<ComboboxSelected>>', Correlaciones_Pg)
 
Recuadro_Salidas = tk.LabelFrame(Ventana)
Recuadro_Salidas.place(relx=0.01, rely=0.67, relheight=0.20, relwidth=0.980)
Recuadro_Salidas.configure(relief='groove',foreground="black",text='''Salidas''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)
 
Mensaje_4 = tk.Label(Recuadro_Salidas)
Mensaje_4.place(relx=0.10, rely=0.20, height=25, width=80)
Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='left',text='''Pg''')
Mensaje_9 = tk.Label(Recuadro_Salidas)
Mensaje_9.place(relx = 0.69, rely = 0.20, height=25, width=50)
Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''lb/pie^3''')
Salida_1 = tk.Entry(Recuadro_Salidas)
Salida_1.place(relx=0.35, rely=0.21, height=20, width=80)
Salida_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')
 
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)
 
def Limpiando():
 
            Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
            Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
            Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
            Entrada_4.delete(0,tk.END);Entrada_4.insert(tk.END,"");Entrada_4.insert(tk.END,0.00)
            Entrada_5.delete(0,tk.END);Entrada_5.insert(tk.END,"");Entrada_5.insert(tk.END,0.00)
            Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)
 
            return
 
Limpieza = Button(Ventana,activebackground="OliveDrab4",activeforeground="black",background="gray80",disabledforeground="#a3a3a3",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",pady="0",text='''Limpieza''', command = Limpiando).place(relx = 0.01, rely = 0.89, height=27, width=293)
 
Ventana.mainloop()
 
El código devuelve lo siguiente:



miércoles, 3 de agosto de 2022

Tkinter Viscosidad del Gas

Esta entrada y dos más son de las propiedades del gas, en esta primera entrada se aborda la Viscosidad del Gas, la interfaz cuenta con 2 correlaciones que  permiten la obtención de Mg, A continuación se muestra el código completo: 
Ventana = Tk()

Ventana.geometry("300x400")
Ventana.maxsize(300,400)
Ventana.minsize(300,400)
Ventana.title("Viscosidad del Gas")
Ventana.configure(background="gray80",highlightbackground="gray80",highlightcolor="black")

Recuadro_Entradas = tk.LabelFrame(Ventana)
Recuadro_Entradas.place(relx=0.01, rely=0.01, relheight=0.50, relwidth=0.980)
Recuadro_Entradas.configure(relief='groove',foreground="black",text='''Entradas''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)

Mensaje_1 = tk.Message(Recuadro_Entradas)
Mensaje_1.place(relx=0.01, rely=0.05, height=25, width=50)
Mensaje_1.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''P''')

Mensaje_2 = tk.Message(Recuadro_Entradas)
Mensaje_2.place(relx=0.01, rely=0.24, height=25, width=50)
Mensaje_2.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''T''')

Mensaje_3 = tk.Message(Recuadro_Entradas)
Mensaje_3.place(relx=0.01, rely=0.43, height=25, width=50)
Mensaje_3.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Ppr''')

Mensaje_4 = tk.Message(Recuadro_Entradas)
Mensaje_4.place(relx=0.01, rely=0.62, height=25, width=50)
Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Tpr''')

Mensaje_5 = tk.Message(Recuadro_Entradas)
Mensaje_5.place(relx=0.01, rely=0.81, height=25, width=50)
Mensaje_5.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Yg''')

Mensaje_6 = tk.Message(Recuadro_Entradas)
Mensaje_6.place(relx=0.52, rely=0.05, height=25, width=50)
Mensaje_6.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''Z''')

Mensaje_7 = tk.Message(Recuadro_Entradas)
Mensaje_7.place(relx=0.52, rely=0.24, height=25, width=50)
Mensaje_7.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''M''')

Mensaje_8 = tk.Message(Recuadro_Entradas)
Mensaje_8.place(relx=0.52, rely=0.43, height=25, width=50)
Mensaje_8.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''YN2''')

Mensaje_9 = tk.Message(Recuadro_Entradas)
Mensaje_9.place(relx=0.52, rely=0.62, height=25, width=50)
Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''YCo2''')

Mensaje_10 = tk.Message(Recuadro_Entradas)
Mensaje_10.place(relx=0.52, rely=0.81, height=25, width=50)
Mensaje_10.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''YH2S''')

Entrada_1 = tk.Entry(Recuadro_Entradas)
Entrada_1.place(relx=0.2, rely=0.05, height=20, width=80)
Entrada_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_2 = tk.Entry(Recuadro_Entradas)
Entrada_2.place(relx=0.2, rely=0.24, height=20, width=80)
Entrada_2.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_3 = tk.Entry(Recuadro_Entradas)
Entrada_3.place(relx=0.2, rely=0.43, height=20, width=80)
Entrada_3.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_4 = tk.Entry(Recuadro_Entradas)
Entrada_4.place(relx=0.2, rely=0.62, height=20, width=80)
Entrada_4.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_5 = tk.Entry(Recuadro_Entradas)
Entrada_5.place(relx=0.2, rely=0.81, height=20, width=80)
Entrada_5.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_6 = tk.Entry(Recuadro_Entradas)
Entrada_6.place(relx=0.715, rely=0.05, height=20, width=80)
Entrada_6.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_7 = tk.Entry(Recuadro_Entradas)
Entrada_7.place(relx=0.715, rely=0.24, height=20, width=80)
Entrada_7.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_8 = tk.Entry(Recuadro_Entradas)
Entrada_8.place(relx=0.715, rely=0.43, height=20, width=80)
Entrada_8.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_9 = tk.Entry(Recuadro_Entradas)
Entrada_9.place(relx=0.715, rely=0.62, height=20, width=80)
Entrada_9.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_10 = tk.Entry(Recuadro_Entradas)
Entrada_10.place(relx=0.715, rely=0.81, height=20, width=80)
Entrada_10.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
Entrada_4.delete(0,tk.END);Entrada_4.insert(tk.END,"");Entrada_4.insert(tk.END,0.00)
Entrada_5.delete(0,tk.END);Entrada_5.insert(tk.END,"");Entrada_5.insert(tk.END,0.00)
Entrada_6.delete(0,tk.END);Entrada_6.insert(tk.END,"");Entrada_6.insert(tk.END,0.00)
Entrada_7.delete(0,tk.END);Entrada_7.insert(tk.END,"");Entrada_7.insert(tk.END,0.00)
Entrada_8.delete(0,tk.END);Entrada_8.insert(tk.END,"");Entrada_8.insert(tk.END,0.00)
Entrada_9.delete(0,tk.END);Entrada_9.insert(tk.END,"");Entrada_9.insert(tk.END,0.00)
Entrada_10.delete(0,tk.END);Entrada_10.insert(tk.END,"");Entrada_10.insert(tk.END,0.00)

Recuadro_Correlaciones = tk.LabelFrame(Ventana)
Recuadro_Correlaciones.place(relx=0.01, rely=0.51, relheight=0.20, relwidth=0.980)
Recuadro_Correlaciones.configure(relief='groove',foreground="black",text='''Correlaciones Disponibles''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)

Valores = ["Carr, N.L. Kobayashi, R. y Burrows, D.B.","Lee, A.L. González, M.H. y Eakin, B.E."]

Variable = tk.StringVar()
Visor_correlaciones = ttk.Combobox(Recuadro_Correlaciones)
Visor_correlaciones.place(relx=0.02, rely=0.40, height=25, width=280, bordermode='ignore')
Visor_correlaciones.configure(takefocus="",state="readonly",textvariable = Variable, justify = "center",values = Valores)
Visor_correlaciones.current(0)

def Correlaciones_RSW(event):

try:
"""P = 3810
T = 194
Yg = 1.242
YN2 = 0.0051 
YCO2 = 0.1101
YH2S = 0.0491
Ppr = 5.60
Tpr = 1.35
z = 0.78
M = 35.969"""
P = float(Entrada_1.get()) # psi
T = float(Entrada_2.get()) # °F
Yg = float(Entrada_5.get())
Z = float(Entrada_6.get())
M = float(Entrada_7.get())

if P <= 0:

messagebox.showwarning("Advertencia!","La Presión es incorrecta")

elif T <= 0:

messagebox.showwarning("Advertencia!","La Temperatura es incorrecta")

elif Yg <= 0:

messagebox.showwarning("Advertencia!","La Densidad es incorrecta")

elif Z <= 0:

messagebox.showwarning("Advertencia!","El Factor de Compresibilidad del Gas es incorrecto")

elif M <= 0:

messagebox.showwarning("Advertencia!","El Peso Molecular del Gas es incorrecto")

else:

if str(Variable.get()) == Valores[0]:

YN2 = float(Entrada_8.get())
YCO2 = float(Entrada_9.get())
YH2S = float(Entrada_10.get())
Ppr = float(Entrada_3.get())
Tpr = float(Entrada_4.get())

if YN2 <= 0:

messagebox.showwarning("Advertencia!","La Fracción molar de N2 es incorrecta")
elif YCO2 <= 0:
messagebox.showwarning("Advertencia!","La Fracción molar de CO2 es incorrecta")
elif YH2S <= 0:

messagebox.showwarning("Advertencia!","La Fracción molar de H2S es incorrecta")
elif Ppr <= 0:

messagebox.showwarning("Advertencia!","La Pseudo presión es incorrecta")

elif Tpr <= 0:

messagebox.showwarning("Advertencia!","La Pseudo temperatura es incorrecta")
# Correlación de Carr, N.L. Kobayashi, R. y Burrows, D.B.

CN2 = YN2*(8.48*10**-3*np.log10(Yg)+9.59*10**-3)
CCO2 = YCO2*((9.08*10**-3)*np.log10(Yg)+6.24*10**-3)
CH2S = YH2S*(8.49*10**-3*np.log10(Yg)+3.73*10**-3)
Mg1 = ((1.709*10**-5)-(2.062*10**-6)*Yg)*T+(8.188*10**-3)-(6.15*10**-3)*np.log10(Yg)
Mg1c = Mg1+CN2+CCO2+CH2S
# Mg/Mg1 = A
a0 = -2.46211820E00 ;a1 = 2.97054714E00 ;a2 = -2.86264054E-1 ;a3 = 8.05420522E-3 ;a4 = 2.80860949E00 ;a5 = -3.49803305E00 ;a6 = 3.60373020E-1 ;a7 = -1.04432413E-2
a8 = -7.93385684E-1 ;a9 = 1.39643306E00 ;a10 = -1.49144925E-1 ;a11 = 4.41015512E-3 ;a12 = 8.3987178E-2 ;a13 = -1.86408848E-1 ;a14 = 2.0367881E-2 ;a15 = -6.09579263E-4
x = -0.000609579263
#Mg = (Mg/Mg1)*Mgcl
A = a0+a1*Ppr+a2*(Ppr**2)+a3*(Ppr**3)+Tpr*(a4+a5*Ppr+a6*(Ppr**2)+a7*(Ppr**3))+(Tpr**2)*(a8+a9*Ppr+a10*(Ppr**2)+a11*(Ppr**3))+(Tpr**3)*(a12+a13*Ppr+a14*(Ppr**2)+a15*(Ppr**3))
Mg = (np.exp(A)*Mg1c)/Tpr
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Mg)

elif str(Variable.get()) == Valores[1]:

# Correlación de Lee, A.L. González, M.H. y Eakin, B.E.

Pg = (1.4935*(10**-3))*((P*M)/(Z*(T+460)))
X = 3.5 + (986/(T+460))+0.01*M
K = ((9.4+0.02*M)*(T+460)**1.5)/(209+19*M+(T+460))
Y = 2.4-0.2*X
Mg = (K*np.exp(X*Pg**Y))/10**4
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,Mg)

else:

print("Error al realizar la selección de la opción")

except ZeroDivisionError:

messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")

except SyntaxError:

messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")

except ValueError:

messagebox.showwarning("Advertencia!","Los datos ingresados son incorrectos, por favor revisalos")

finally:

pass

return

Visor_correlaciones.bind('<<ComboboxSelected>>', Correlaciones_RSW)

Recuadro_Salidas = tk.LabelFrame(Ventana)
Recuadro_Salidas.place(relx=0.01, rely=0.71, relheight=0.20, relwidth=0.980)
Recuadro_Salidas.configure(relief='groove',foreground="black",text='''Salidas''',background="gray80",highlightbackground="gray80",highlightcolor="black",width=330)

Mensaje_4 = tk.Label(Recuadro_Salidas)
Mensaje_4.place(relx=0.10, rely=0.20, height=25, width=80)
Mensaje_4.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='left',text='''Mg''')

Mensaje_9 = tk.Label(Recuadro_Salidas)
Mensaje_9.place(relx = 0.69, rely = 0.20, height=25, width=50)
Mensaje_9.configure(background="gray80",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center',text='''cp''')

Salida_1 = tk.Entry(Recuadro_Salidas)
Salida_1.place(relx=0.35, rely=0.21, height=20, width=80)
Salida_1.configure(background="white",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",justify='center')

Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)

def Limpiando():

Entrada_1.delete(0,tk.END);Entrada_1.insert(tk.END,"");Entrada_1.insert(tk.END,0.00)
Entrada_2.delete(0,tk.END);Entrada_2.insert(tk.END,"");Entrada_2.insert(tk.END,0.00)
Entrada_3.delete(0,tk.END);Entrada_3.insert(tk.END,"");Entrada_3.insert(tk.END,0.00)
Entrada_4.delete(0,tk.END);Entrada_4.insert(tk.END,"");Entrada_4.insert(tk.END,0.00)
Entrada_5.delete(0,tk.END);Entrada_5.insert(tk.END,"");Entrada_5.insert(tk.END,0.00)
Entrada_6.delete(0,tk.END);Entrada_6.insert(tk.END,"");Entrada_6.insert(tk.END,0.00)
Entrada_7.delete(0,tk.END);Entrada_7.insert(tk.END,"");Entrada_7.insert(tk.END,0.00)
Entrada_8.delete(0,tk.END);Entrada_8.insert(tk.END,"");Entrada_8.insert(tk.END,0.00)
Entrada_9.delete(0,tk.END);Entrada_9.insert(tk.END,"");Entrada_9.insert(tk.END,0.00)
Entrada_10.delete(0,tk.END);Entrada_10.insert(tk.END,"");Entrada_10.insert(tk.END,0.00)
Salida_1.delete(0,tk.END);Salida_1.insert(tk.END,"");Salida_1.insert(tk.END,0.00)

return

Limpieza = Button(Ventana,activebackground="OliveDrab4",activeforeground="black",background="gray80",disabledforeground="#a3a3a3",foreground="#000000",highlightbackground="#d9d9d9",highlightcolor="black",pady="0",text='''Limpieza''', command = Limpiando).place(relx = 0.01, rely = 0.92, height=27, width=293)

Ventana.mainloop()

El código devuelve lo siguiente: