Visu
-
Upload
donald-cuadros-condori -
Category
Documents
-
view
216 -
download
0
description
Transcript of Visu
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)