3
PROBLEMA 1 Desarrolle un Programa en Visual Basic para determinar los cálculos de vap instantánea !las"# isot$rmico% empleando para la iteración el m$todo de &e'ton Rap"s el programa desarrollado en el Pro(lema 1) Este programa de(erá ingresar los siguient n+mero de componentes de la mezcla% con,unto de -racciones molares en la alimentación valores de las constantes de e.uili(rio) El programa calculará* -lu,o molar del vapor con,unto de -racciones molares del l/.uido 0 del vapor) Eval+e su programa con el siguiente grupo de valores correspondiente a una corriente .ue se encuentra a 1 22 psia 0 132 !* &+mero 1 3 4 5 6 7 8 9 :omponente Dió;ido de c Metano Etano Propano <so(utano n=Butano Pentanos >e;anos >eptanos !racción molar Pro(lema 5 :onst zero ? 2)2222222222221 :onst tol ? 2)2222221 :onst ma;it ? 122 Dim n As <nteger Private @u( :alcular :lic # Dim ;2 As Dou(le Dim C1 As Dou(le Dim As Dou(le n ? Val e;t&) e;t# ? Val e;t ) e;t# ReDim A1 o n% 1 o 3# As Dou(le !or i ? 1 o n Ai% 1# ? matriz) e;tMatri;i% 1# Ai% 3# ? matriz) e;tMatri;i% 3# &e;t i

Visu

Embed Size (px)

DESCRIPTION

es un trabajo de basic

Citation preview

PROBLEMA 1 Desarrolle un Programa en Visual Basic para determinar los clculos de vaporizacin instantnea (Flash) isotrmico, empleando para la iteracin el mtodo de Newton Raphson, es decir, el programa desarrollado en el Problema 1. Este programa deber ingresar los siguientes valores: nmero de componentes de la mezcla, conjunto de fracciones molares en la alimentacin, conjunto de valores de las constantes de equilibrio. El programa calcular: flujo molar del vapor as como el conjunto de fracciones molares del lquido y del vapor.

Evale su programa con el siguiente grupo de valores correspondiente a una corriente de gas natural que se encuentra a 1600 psia y 120 F: Nmero 1 2 3 4 5 6 7 8 9 Componente Dixido de carbono Metano Etano Propano Isobutano n-Butano Pentanos Hexanos Heptanos Fraccin molar

Problema 4

Const zero = 0.0000000000001

Const tol = 0.0000001

Const maxit = 100

Dim n As Integer

Private Sub Calcular_Click()

Dim x0 As Double

Dim X1 As Double

Dim Q As Double

n = Val(TextN.Text)

Q = Val(TextQ.Text)

ReDim A(1 To n, 1 To 2) As Double

For i = 1 To n

A(i, 1) = matriz.TextMatrix(i, 1)

A(i, 2) = matriz.TextMatrix(i, 2)

Next i

x0 = 0.5 'punto inicial para la iteracin

'-------------------------------Rutina Principal------------------------------

For i = 1 To maxit 'Inicia e incrementa el contador

X1 = x0 - f(x0, A()) / dF(x0, A()) 'Frmula iterativa

'----------------------Evaluacin de tolerancia----------------------

If Abs(f(X1, A())) >= tol Then

x0 = X1

Else

Exit For

End If

Next

'-------------------------Mensaje de no convergencia-----------------------

If Abs(f(X1, A())) > tol Then

R = MsgBox("Mtodo no converge para nmero de interaciones especificadas", 16)

End If

For i = 1 To n

z = A(i, 1)

k = A(i, 2)

fracciones.TextMatrix(i, 1) = Round((z / (x0 * (k - 1) + 1)), 4)

fracciones.TextMatrix(i, 2) = Round((z * k / (x0 * (k - 1) + 1)), 4)

Next

Text1.Text = Q * x0

Text2.Text = Q - Val(Text1.Text)

End Sub

Private Sub Form_Load()

matriz.ColWidth(0) = 900

matriz.ColWidth(1) = 1520

matriz.ColWidth(2) = 1520

fracciones.ColWidth(0) = 900

fracciones.ColWidth(1) = 1680

fracciones.ColWidth(2) = 1680

TextN.Text = 1

matriz.TextMatrix(0, 0) = " N Comp."

matriz.TextMatrix(0, 1) = " Fraccin Molar"

matriz.TextMatrix(0, 2) = " Const. Equilibrio"

matriz.TextMatrix(1, 0) = " C1"

fracciones.TextMatrix(0, 0) = " N Comp."

fracciones.TextMatrix(0, 1) = "Fracc. Molar Lquido"

fracciones.TextMatrix(0, 2) = " Fracc. Molar vapor"

fracciones.TextMatrix(1, 0) = " C1"

End Sub

Private Sub matriz_KeyPress(KeyAscii As Integer)

If KeyAscii >= 46 And KeyAscii 0 Then

matriz.Text = Left(matriz.Text, Len(matriz.Text) - 1)

End If

End Select

End Sub

Private Sub TextN_KeyPress(KeyAscii As Integer)

n = Val(TextN.Text)

If KeyAscii = 13 Then

matriz.Rows = n + 1

fracciones.Rows = n + 1

For i = 1 To n

matriz.TextMatrix(i, 0) = " C" & (i)

fracciones.TextMatrix(i, 0) = " C" & (i)

Next i

End If

End Sub

Private Sub TextN_LostFocus()

If TextN.Text = Empty Or Val(TextN.Text)