Continuando con la creación de interfaces gráficas,
se trae ahora la Compresibilidad del agua, la interfaz cuenta con 3
correlaciones que permiten la obtención
de Cw, A continuación se muestra el código completo:
from
tkinter import *
import
tkinter as tk
from
tkinter import ttk
import
numpy as np
from
tkinter import messagebox
Ventana.geometry("300x300")
Ventana.maxsize(300,300)
Ventana.minsize(300,300)
Ventana.title("Compresibilidad
del Agua")
Ventana.configure(background="gray80",highlightbackground="gray80",highlightcolor="black")
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.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='''Pb''')
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='''T''')
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='''S''')
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='''Yg''')
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_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.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)
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)
P = 5000 #
psi
T = 200 #°F
Pb = 3500 #
psi
Yg = 0.63
"""
P =
float(Entrada_1.get()) # psi
Pb =
float(Entrada_2.get()) # °F
T =
float(Entrada_3.get()) # °S
S = float(Entrada_4.get())
# psi
Yg =
float(Entrada_5.get()) # °F
B
= -0.01052+4.77*(10**-7)*P
C
= 3.9267*(10**-5)-8.8*(10**-10)*P
B
= (1.01021*(10**(-2) ))-(7.44241*(10**(-5) )*T)+(3.05553*(10**(-7) )*(T**2
))-(2.94883*(10**(-10) )*(T**3 ))
C
= (-9.02505+(0.130237*T)-(8.53425*(10**(-4) )*(T**2 ))+(2.34122*(10**(-6)
)*(T**3 ))-(2.37049*(10**(-9) )*(T**4 )))*(10**(-7) )
B
= -0.01052+4.77*(10**-7)*P
C
= 3.9267*(10**-5)-8.8*(10**-10)*P
B
= 0.0107-5.26*(10**-5)*T+1.48*(10**-7)*(T**2)
C
= -8.75*(10**-7)+3.9*(10**-9)*T-1.02*(10**-11)*(T**2)
Vwp=
(-1.95301*(10**-9)*P*T)-(1.72834*(10**-13)*(P**2)*T)-(3.58922*(10**-7)*P)-(2.25341*(10**-10)*(P**2))
Bwb
= (1+Vwp)*(1+VwT)
Tsc
= 168+(325*Yg)-12.5*(Yg**2)
A2
= -1.07
A3
= -0.5339
A4
= 0.01569
A5
= -0.05165
A6
= 0.5475
A7
= -0.7361
A8
= 0.1844
A9
= 0.1056
A10
= 0.6134
A11
= 0.721
C
= -8.75*(10**-7)+3.9*(10**-9)*T-1.02*(10**-11)*(T**2)
except ZeroDivisionError:
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.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='''Cw''')
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='''1/psi''')
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')
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)
