Вы находитесь на странице: 1из 5

UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL ROSARIO Departamento de Ingeniera Qumica Ctedra: Integracin IV Tema: Solucin de una Ecuacin

de Estado Mediante el Mtodo de Newton-Raphson Alumnos: Damin Matich, Marcos Bossi y Juan M. Pignani Profesores: Dr. Nicols Scenna, Dr. Alejandro Santa Cruz y Dra. Sonia Benz Ao de cursado: 1999

Ecuacin de Estado: Escribir un programa que utilice el mtodo de Newton-Raphson para resolver la siguiente ecuacin de estado:

P=
donde:

RT + 2 + 3 + 4 V V V V

(1)

P: es la presin, [atm]. V: es el volumen, [lt/gmol]. T: es la temperatura, [K]. , y : son los parmetros caractersticos del gas dependientes de la temperatura. R: es la constante universal de los gases, [(atm lt)/(K gmol)].

Los parmetros

, y se definen como: = R T B0 A0
Rc T2 R c B0 T2

= R T B0 b + A0 a

R B0 b c T2

donde: A0, B0, a, b, y c son constantes determinadas en forma emprica y que se hallan tabuladas (diferentes para cada gas). La ecuacin (1) es explcita en la presin, pero implcita en la temperatura y el volumen. Por consiguiente, se requiere de un mtodo iterativo para encontrar el volumen que corresponde a valores dados de presin (1, 2, 5, 10, 20, 40, 60, 80, 120, 140, 160, 180 y 200 atm) y temperatura ( 273 y 473 K).

Formulacin del problema: A travs del mtodo de Newton-Raphson resolver la ecuacin de estado para el volumen molar del gas metano (CH4), dadas la presin, temperatura y constantes R, A0, B0, a, b y c. A continuacin se calcula, con el valor de V hallado, el factor de compresibilidad z. Siendo, z = desviacin al comportamiento de un gas ideal (z = 1)

PV , un ndice til de la RT

Resolucin del problema: Mtodo de Newton-Raphson:

y n +1 = y n

f(yn ) f ( y n ) RT y P

La Ley de los Gases Ideales suministra una primera aproximacin para el volumen molar, V = as inicializar el mtodo iterativo.

El criterio de finalizacin del proceso iterativo es:

V n +1 V n , donde es un nmero positivo V n +1

pequeo (10-N). El mtodo de N-R podra no converger si el valor e arranque es malo, por lo que el nmero de iteraciones debe limitarse. Para hallar V = f (P, T) a travs de N-R es necesario reescribir la ecuacin de estado de la siguiente forma:

f(V ) =

RT + 2 + 3 + 4 P=0 V V V V

Las constantes apropiadas para el metano son: A0 = 2.2769, B0 = 0.05587, a = 0.01855, b = -0.01587, c = 12.83*104

Resultados: T = 273K = -1.16735 = 5.41*10-2 = -1.25*10-4 V (lt/gmol) 22.333 11.140 4.424 2.186 1.066 0.507 0.321 0.228 0.139 0.116 0.100 0.088 0.080 T = 473K = -0.15695 = 7.39*10-2 = -4.16*10-2 V (lt/gmol) 38.782 19.389 7.753 3.875 1.936 0.967 0.645 0.484 0.325 0.279 0.246 0.219 0.199

P (atm) 1 2 5 10 20 40 60 80 120 140 160 180 200

z 0.997 0.995 0.988 0.976 0.953 0.906 0.860 0.817 0.748 0.727 0.715 0.711 0.715

P (atm) 1 2 5 10 20 40 60 80 120 140 160 180 200

z 0.999 0.999 0.999 0.999 0.998 0.997 0.998 0.999 1.005 1.009 1.014 1.020 1.027

Factor de compresibilidad para el gas Metano


1.2 1 0.8 0.6 0.4 0.2 0 0 50 100 T = 273K 150 T = 473K 200 250

P (atm)

Programacin: El mtodo de Newton-Raphson para calcular los valores del volumen molar y del coeficiente de compresibilidad se program en QBASIC. Ingresar: A0, B0, a, b, c, Ti, y Pk Calcular: i, i, y i V =(R Ti)/P1

Calcular f(V)

f(V) 10-4 SI Guardar V en Vik

NO

Calcular derivada de f(V)

Aplicar N-R para calcular el nuevo valor de V

Tomar otro valor de Pk

Tomar otro valor de Ti

Calcular z para Vik

Fin

A continuacin se muestra el listado del programa:


SCREEN 12 DIM Respuesta AS STRING DO PRINT PRINT "Ingrese el nmero de Temperaturas";

INPUT N PRINT PRINT PRINT "El valor es correcto? (S,N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF LOOP UNTIL Continuar = 1 DIM T(1 TO N) AS SINGLE DO FOR Count1 = 1 TO N PRINT PRINT "Ingrese la temperatura"; Count1; ", en K"; NPUT T(Count1) NEXT Count1 PRINT PRINT PRINT "Los valores son correctos? (S, N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF LOOP UNTIL Continuar = 1 CLS DO PRINT PRINT "Ingrese el nmero de Presiones"; INPUT M PRINT PRINT PRINT "El valor es correcto? (S, N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF LOOP UNTIL Continuar = 1 DIM P(1 TO M) AS SINGLE DO FOR Count1 = 1 TO M PRINT PRINT "Ingrese la Presin"; Count1; ", en atm."; INPUT P(Count1) NEXT Count1 PRINT PRINT PRINT "Los valores son correctos? (S, N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF LOOP UNTIL Continuar = 1 CLS DO PRINT PRINT INPUT PRINT PRINT INPUT PRINT PRINT INPUT PRINT PRINT

"Ingrese la constante A0"; A0 "Ingrese la constante B0"; B0 "Ingrese la constante a"; a "Ingrese la constante b";

INPUT b PRINT PRINT "Ingrese la constante c"; INPUT c PRINT PRINT "Ingrese la constante R, en (atm*lt)/(mol*K) "; INPUT R PRINT PRINT PRINT "Los valores son correctos? (S,N)"; INPUT Respuesta IF (Respuesta = "N") OR (Respuesta = "n") THEN Continuar = 0 ELSE Continuar = 1 END IF LOOP UNTIL Continuar = 1 CLS DIM DIM DIM DIM DIM

V(1 TO M) AS DOUBLE VC(1 TO N, 1 TO M) AS DOUBLE beta(1 TO N) AS DOUBLE delta(1 TO N) AS DOUBLE gamma(1 TO N) AS DOUBLE

FOR I = 1 TO N beta(I) = R*T(I)*B0 - A0 - R*c/T(I)^2 gamma(I) = -R*T(I)*B0*b + A0*a - R*c*B0/T(I)^2 delta(I) = R*B0*b*c/T(I)^2 FOR J = 1 TO M V(J) = R*T(I)/P(J) DO funcin = R*T(I)/V(J) + beta(I)/V(J)^2 + gamma(I)/V(J)^3 + delta(I)/V(J)^4 - P(J) IF ABS(funcin) < .00001 THEN VC(I, J) = V(J) condicin = 1 ELSE derivada= -R*T(I)/V(J)^2-2*beta(I)/V(J)^3-3*gamma(I)/V(J)^4-4*delta(I)/V(J)^5 V(J) = V(J) - funcin/derivada condicin = 0 END IF LOOP UNTIL condicin = 1 NEXT J NEXT I DIM Z(1 TO N, 1 TO M) AS DOUBLE FOR I = 1 TO N FOR J = 1 TO M Z(I, J) = P(J)*VC(I, J)/(R*T(I)) NEXT J NEXT I FOR I = 1 TO N PRINT PRINT "Para el valor de la temperatura:"; T(I); "K" PRINT PRINT "El valor de Beta es:"; beta(I) PRINT PRINT "El valor de Gamma es:"; gamma(I) PRINT PRINT "El valor de Delta es:"; delta(I) SLEEP CLS FOR J = 1 TO M PRINT PRINT "El valor de la Presin "; J; ":"; P(J); "atm" PRINT PRINT "El valor del Volumen "; J; ":"; VC(I, J); "lts/mol" PRINT PRINT "El valor del Coeficiente de compresibilidad "; J; ":"; Z(I, J) SLEEP CLS NEXT J NEXT I END

Вам также может понравиться