Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Métodos Numéricos Para Ingeniería Química (PI524/A)
Profesor:
- Ing. José Dávila Tapia
LIMA – PERÚ
2020-II
Índice
Resumen..................................................................................................................................3
1. Fundamento Teórico......................................................................................................4
2. Aplicaciones..................................................................................................................13
a) Ejercicio 1. Tasa de reacción global en la oxidación catalítica de hidrógeno
(Vasudevan, 2000)..............................................................................................................13
b) Ejercicio 2. Modelación de un CSTR para una secuencia compleja de reacciones
(Fogler, 2000).....................................................................................................................16
c) Ejercicio 3. Combustión de propano (Meintjes & Morgan, 1990)...............................20
3. Comentarios y conclusiones.........................................................................................25
4. Bibliografía...................................................................................................................26
a) Resultado de la búsqueda del tema...........................................................................26
b) Resultado de la bibliografía del artículo.....................................................................26
5. Anexos...........................................................................................................................27
a) Recuperada (Artículos)...............................................................................................27
b) Programas usados......................................................................................................28
Resumen
físicas, o por algún término de la función que origine una discontinuidad, lo que se
logre resolver un sistema de ecuaciones de “n” variables con discontinuidades. Para ello
Matlab, a diferencia del tercer ejemplo, puesto que este fue un sistema de ecuaciones
no lineales de diez ecuaciones, dificulto su desarrollo, pese a programar igual que en los
solución; por ello se optó por trabajar en Polymath, mostrando resultados muy cercanos
handle, de esta manera se logró obtener puntos cercanos a los valores de la solución. En
texto resueltos pueden ser suficientes para permitir a los estudiantes abordar muchos
problemas con la solución de los sistemas NLE. Sin embargo, incluso si los estudiantes
ejemplos de libros de texto, aún pueden encontrar que al usar una formulación de
a una solución y el programa emite un error mensajes (ej., "división por cero"). Nuestra
experiencia ha demostrado que para hacer frente a tal situación, los estudiantes deben
Unos métodos convergentes para encontrar una solución (además del caso trivial de
solución. El análisis del sistema de NLE para ubicar las discontinuidades y los límites
de las regiones donde algunas funciones están indefinidas, es una tarea mucho más
expresando algunas de las desconocidas como funciones explícitas de las otras mientras
Para comprender los problemas únicos asociados con la solución de NLE restringidos,
tomó de la Referencia 2.
ƒ1 = x1 + x4 – 3 = 0
ƒ2 = 2x1 + x2 + x4 + x7 + x8 + x9 + 2x10 – R = 0
ƒ3 = 2x2 + 2x5 + x6 + x7 - 8 = 0
ƒ4 = 2x3 + x5 – 4R = 0
ƒ5 = x1x5 – 0.193x2x4 = 0
ƒ6 = x6(x2)1/2 – 0.002597(x2x4x5)1/2 = 0
ƒ7 = x7(x4)1/2 – 0.003448(x1x4x5)1/2 = 0
ƒ8 = x8x4 – 1.799*10-5x2x5 = 0
ƒ9 = x9x4 – 2.155*10-4x1(x3x5)1/2 = 0
ƒ10 = x10x42 – 3.846*10-5x42x5 = 0
Donde:
10
x 5= ∑ x i
i=1
Las variables {xi}, que representan cantidades de productos químicos, deben ser no
negativas en la solución.
Además de eso, los valores de algunas de las funciones no se pueden evaluar si una o
más de las variables x1, x2, x3, x4 y x5 son negativas. (Los valores negativos de estas
f(x) = 0 (2)
Cualquiera o todas las variables pueden estar sujetas a restricciones del tipo:
A primera vista, este problema puede parecer similar a los problemas de optimización
restringida para los que existen varios métodos de solución eficaces. Pero hay una gran
restricciones en (3) esté activa en la solución. Esto se debe a que en (2) tanto f como x
están en Rn, y si algún límite está activo, es poco probable que (2) pueda satisfacerse
con igualdad, pero esta es la única solución que es aceptable para un sistema no lineal.
ecuaciones.
Hiebert ha probado dos enfoques para lidiar con problemas restringidos. El primer
de restricciones. Uno comienza las iteraciones a partir de una estimación inicial que
factible.
Hemos probado la validez de este enfoque resolviendo varios problemas de prueba
todos estos métodos era extremadamente pequeño para la mayoría de los problemas
restringidos.
Otro enfoque consiste en utilizar transformaciones como x j = exp (tj), de modo que xj no
pueda alcanzar valores negativos. Hiebert indicó que tal técnica puede causar
minimizando así la función f(x)T f(x). Usando este enfoque, hacemos que el problema
0.
restringidas, se hizo evidente que en realidad hay dos tipos de restricciones, que pueden
cancelará. Las variables x5 a x10 están físicamente restringidos, ya que el sistema (1)
puede tener soluciones en las que uno o más de estas variables son negativas. Sin
embargo, tales soluciones son inaceptables debido a la naturaleza del problema (no
A veces puede ser necesario utilizar restricciones en una forma más general que la dada
solución, ya que pueden transformarse a la forma (3) por simple sustitución. Definamos
f (x )
fz (x, z) = [ ] (5)
z−g( x )
donde fz: Rn+M → Rn+M y z ϵ RM. Entonces las restricciones (4) pueden reescribirse de
y xj ≥ 0, j = 1, 2 ,..., m
(6)
z≥0
Consideremos, por ejemplo, el sistema de ecuaciones (1). Una de las restricciones de
10
este problema es de la forma xs > 0; por lo tanto, ∑xi > 0. Para convertir esta
i=1
tiene que ser añadido al sistema y xs tiene que ser sustituido por en todas las ecuaciones.
ha llevado a la forma definida en las ecuaciones (5) y (6) y que el número total de
variables es n.
Esta descripción no está completa; para hacerla completa tenemos que especificar cómo
calcular λk.
Una estrategia común es seleccionar un λ k para evitar que la estimación xk+1 sea peor que
Utilizamos la restricción de la longitud del paso para evitar que se violen las
restricciones absolutas. Dejemos que j represente los índices de todas las variables para
las que se han especificado restricciones absolutas, y para las que xj < 0, entonces λk se
iteraciones. Hay varias funciones que son indefinidas para 0 (como ln(x), 1/x j etc.), y
hay otras que son indefinidas solo para x j < 0. El cálculo de λk a partir de la ecuación (7)
evita la ruptura del proceso de solución xj = 0, pero por otro lado permite acercarse a la
global. Puede fallar debido a una matriz jacobiana singular o casi singular. Si la matriz
jacobiana es singular, el sistema lineal de ecuaciones (en el primer paso del algoritmo)
corrección pueden ser excesivamente grandes, de modo que la nueva estimación, x k+1, es
peor que la anterior. Si se detecta una matriz jacobiana singular, o correcciones
Los problemas con restricciones físicas no pueden tratarse eficazmente con el método
converger a un punto en el que una de las variables restringidas tiene un valor muy
cercano a cero, y no puede alejarse de este punto. La razón es que, en este caso, la
solución que viola las restricciones. La restricción de la longitud del paso impide el
sección 4.
longitud del vector de corrección están controladas por el valor del parámetro µ k. Para
µk = 0, tanto la dirección como la longitud del paso son las mismas que para el método
selección de un valor óptimo para µ k. También se puede mostrar que con la selección
adecuada de µk, el algoritmo LM converge a un mínimo local de F(x), siempre que F(x)
sea dos veces diferenciable de forma continua. Sin embargo, no es seguro que un
mínimo local de F(x) sea un cero de f(x). Por esa razón, preferimos usar la corrección
LM solo para evitar la divergencia si la matriz jacobiana es singular o casi singular. Por
la misma razón, no intentamos encontrar un valor óptimo para µk. Usamos un valor que
no demasiado grande para que sea posible alejarse de la región casi singular a una
velocidad razonable. Para lograr eso, se debe elegir un valor de µ k, que es una función
la selección de µk igual al elemento más grande (en valor absoluto) de f´(xk) parece ser
es el siguiente:
hidrógeno. Smith (1981) presenta los detalles del problema. Vasudevan (2000)
global rp:
−5230
f(rp) = rp – 0.327(0.06 – 161rp)0.804 * exp{ }=0
[1.98 ( 373+1.84∗106 rp ) ]
Gráfico de f (rp) vs rp en la región factible
tanto en rp > 0.0003727 y hay una discontinuidad para 373 + 1.84 × 106r p = 0,
factible,
En este ejemplo, hay dos términos que introducen discontinuidad y / o hacen que
el valor cero del término 373 + 1.84 × 10 6 rp. Dado que las consideraciones
físicas dictan que rp ≥ 0 el segundo término nunca será cero en la región factible,
manipulación algebraica.
5230
f1 = rp – 0.327x0.804 exp{− }=0
[1.98 ( 373+1.84∗106 rp ) ]
f2 = x – (0.06 – 161rp) = 0
siguiente forma:
2 A + B→ 3 C
C+ 2 B →3 D
D→E
sistema, en este caso las consideraciones limitan las concentraciones (CA, CB, CC,
En este sistema, las ecuaciones no convergen sin importar los valores iniciales
que se tomen. Para poder dar solución a este sistema fue necesario realizar unas
F1 = ƒ1 * (- rA)
F2 = ƒ2 * (- rB)
F3 = ƒ3 * (rC)
F4 = ƒ4 * (rD)
F5 = ƒ5 * (rE)
Con estos cambios realizados, fue posible el cálculo de los valores que daban
Tomando los mismos puntos iniciales, llevamos las ecuaciones obtenidas tras la
Para poder hallar los resultados en la plataforma Mathcad se hizo uso del método
Las últimas seis columnas de la matriz representan los valores de las variables en
cada iteración. Podemos observar que los valores de las variables no siguen
Por otro lado, para dar solución al sistema en la plataforma Octave se hizo uso
autores en la tabla, por lo que podemos asegurar que fue posible usar
siguiente reacción:
R
C 3 H 8 + ( O 2+ 4 N 2 )→ productos
2
Del modelamiento del comportamiento de esta reacción se obtiene el siguiente
sistema de ecuaciones:
Ecuaciones modelo para la combustión de propano (Meintjes & Morgan, 1990) ejemplo
3
ƒ1 = n1 + n4 – 3 = 0
ƒ2 = 2n1 + n2 + n4 + n7 + n8 + n9 + 2n10 – R = 0
ƒ3 = 2n2 + 2n5 + n6 + n7 - 8 = 0
ƒ4 = 2n3 + n9 – 4R = 0
ƒ5 = K5x2x4 – n1n5 = 0
ƒ6 = K6(n1)1/2(n4)1/2 – (n1)1/2n6(p/nT)1/2 = 0
ƒ7 = K7(n1)1/2(n2)1/2 – (n4)1/2n7(p/nT)1/2 = 0
ƒ8 = K8n1 – n4n8(p/nT) = 0
ƒ9 = K9(n1)1/2(n3)1/2 – n4n9(p/nT)1/2 = 0
ƒ10 = K10(n1)2 – n42n10(p/nT) = 0
Donde
10
n=∑m y
i=1
Podemos observar que tomando en cuenta los valores iniciales presentados, el sistema
de ecuaciones converge, obteniéndose así una solución satisfactoria.
en el apartado anterior.
Podemos observar, que en el caso cuando R es 5, el método CONLES es el único
que converge en una solución factible mientras que en el caso de usar otros
sistema para ser evaluado en Polymath y Matlab, haciendo uso de los programas
solución a sistema de ecuaciones no lineales. Este programa hizo uso del método
Para R=10:
Para R=5:
Podemos observar que en el caso cuando R=10, los valores obtenidos con
Polymath son muy cercanos a los presentados por los autores, mientras que en el
admisible presentados por los autores. Entonces, podemos decir que en el caso
cuenta los valores de los puntos iniciales, procurando que estén lo más cerca
posible de la solución.
Por otro lado, en la plataforma Matlab se hizo uso de dos métodos para buscar la
Raphson.
Para R=10:
Podemos observar que los valores, a medida que aumenta el número de
uso del método no es factible para este sistema. De este caso se deduce que en el
Para R=10:
Podemos observar que los valores obtenidos se acercan mucho a los valores
Para R=5:
En este caso, los valores obtenidos se asemejan a lo mencionado en el artículo,
usarlos para dar solución al sistema, pero debemos tener en cuenta que los
3. Comentarios y conclusiones
para la solución.
Este material puede ser muy útil para estudiantes de pregrado y posgrado e
Del Ejemplo 1: No se puede hallar la raíz, puesto que los valores de rp son muy
rp = 0.000340568862, pero con el programa no logra hallar esta raíz, o se acerca
4. Bibliografía
a) Recuperada (Artículos)
A lattice fluid approach to complex mixtures natural gas and crude
JOEMAU~1
Lonrenzini
Macromoléculas
Microfase
NumericalRecipesinC
b) Programas usados
del programa.
puede ser guardado como un vector, de esa manera se define de mejor las
4 variable y cada que se indique x(1) será el valor del vector en la posición 1,
con un valor inicial,”xo”, para dar inicio y que pueda empezar a iterar con la
Se definió una función “G” que contenga las funciones, estas van entre corchetes
G=@ ( x ) [ f 1 ( x ) ; f 2 ( x ) ] ;
Para hallar como tal el resultado del sistema de ecuaciones, se utiliza la función
x=fsolve ( G , xo ) ;
Y como se muestra en la ventana:
*Nota el “format long”, se agrega antes para poder obtener una mayor cantidad
de cifras.
no lineales
Ya que el sistema contó con 6 ecuaciones se agregó, las nuevas funciones y las
nuevas variables, al igual que se modificó la matriz Jacobiana los pasos del
guarda en la matriz “W” la cual será la que se muestre con los resultados
función.
Para el ejemplo 3, se optó por resolver el sistema en ecuaciones por Matlab con
En el resultado del programa como tal nos arroja un pequeño mensaje, “fsolve”
completo porque el vector de los valores de la función es muy cercana a cero como
Matlab.
Raphson en Mathcad, puesto que trabaja bajo el mismo fundamento teórico, este
iteraciones que el crea conveniente hasta donde el error sea el mínimo, el valor
b.3.3) Polymath.
ejecutar, puesto que cuenta ya con las herramientas necesarias para el desarrollo
de los sistemas de ecuaciones no lineales, se puede lograr introducir diferentes
Una vez que se introducen todas las ecuaciones se mostrara en la parte superior un
“check” de color azul que indica que esta listo para la solución.
por el valor de la constante “R”, ya que cuando esta tomo el valor de 5, el número de
vario a dos de las anteriores ecuaciones, y que solo se presentó error para este valor, ya
que con el valor de “R=10” no se vio ningún error y los valores fueron muy próximos a
ser exactos.
En este apartado se trato de realizar una simulación del programa CONLES en Fortran,
puesto que los autores del texto en una de las referencias bibliográficas que hacen
un tanto complejo debido a que el programa maneja códigos un poco difíciles que
en Fortran 90, todas las imágenes de las ventanas siguientes muestran el programa:
Finalmente, al momento de compilar el programa, no se logró obtener debido a que
Fortran 90.
En esta ventana se observa el número de errores y las advertencias, del programa por lo
que se optó por desarrollar para la resolución de los ejemplos del artículo lo mencionado
anteriormente.