Modelado y simulación en Ingeniería Química. Manuel Rodríguez
2
Problemas de simulación Dadas unas entradas y parámetros computar la salida
Estudios de sensibilidad Como la simulación pero permite estudiar la influencia de ciertas variables, variándolas sistemáticamente.
Problemas de diseño Estudia diferentes conjuntos de especificaciones. Se puede “quitar” un parámetro y añadir una nueva especificación. La ejecución dará un valor a ese parámetro. Más difícil de resolver, y de mal especificar.
Problemas de optimización Se plantea una función objetivo para mejorar el proceso. Se añaden desigualdades. Se “quitan” especificaciones (grados de libertad para la optimización) y se resuelve el problema.
Problemas de síntesis Se conocen las entradas y las salidas y se quiere obtener el diagrama de flujo, así como las condiciones de operación y los parámetros de los equipos.
1.1 Funcionalidades de los simuladores en estado estacionario.
1.Introducción
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
3
Simulación y análisis de sensibilidad
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
7
1.2 Arquitectura de software de un entorno de modelado y simulacion.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
8
4 Definir la estructura del diagrama de flujo. Qué unidades participan y los flujos (corrientes) de materia y/o energía entre ellas..
5 Seleccionar un modelo para cada unidad de proceso.
1 Seleccionar un conjunto de unidades consistente.
2 Especificar los componentes (especies químicas) que participan en el proceso.
3 Seleccionar un paquete de propiedades físicas
6 Satisfacer los grados de libertad del proceso
7 Seleccionar las opciones de resolución numérica
8 Ejecutar el modelo
9 Examinar los resultados
Pasos para realizar una simulación.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
9
· Muy empleados en la actualidad: ej. Aspen Plus (AspenTech), ChemCAD, PROII (SimSci), Hysim (Hyprotech), Hysys (Hyprotech, comprada recientemente por AspenTechnologies)
· Arquitectura preferida en nuevos simuladores: ej. Aspen Custom Modeler (AspenTech), RTO-OPT (AspenTech), NOVA (Nova), gPROMS, ABACUSS.
Secuencial Modular Orientado a ecuaciones
Se simula una unidad cada vez Se resuelven todas las unidades a la vez
Se descompone el diagrama de flujo Ordenación de ecuaciones
Iterar en las corrientes de “rasgado” Se actualizan todas las incógnitas simultáneamente
Menos flexible, más robusto Más flexible, menos robusto
Inicialización es importante Inicialización es muy importante
No necesita mucho almacenamiento Requisitos de almacenamiento grandes.
1.3 Estrategias de resolución: Secuencial Modular vs. Orientado a ecuaciones
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
11
Grafos
Un grafo G es un conjunto de vértices (V) y un conjunto de arcos que unen los vértices.
1
2
3
4 5
Digrafo: es un grafo en el cual los arcos tienen una dirección. La dirección que marcan indica el flujo de una cantidad.
1
2
3
4 5
2. Estrategia secuencial-modular
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
12
Matriz de adyacencia o estructural 1 2 3 4 5
1 1
2 1
3 1 1
4 1 1 1 1
5 1 1
1
2
3
4 5
1
2
3
4 5
1 2 3 4 5
1 1
2
3 1 1
4 1 1
5
Matriz simétrica
v. o
rige
n
v. destino
a b c d e
1 -1
2 +1
3 -1 -1
4 +1 -1 +1 -1
5 +1 +1
vért
ices
arcos
a
b c
d
e
Matriz signos
vértices
vért
ices
Indica que vértices están unidos
Negativo: salida Positivo: llegada
Son valores lógicos. Booleanos.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
13
Identificación de bucles
Sobre la matriz de adyacencia
1
2
3
4 5
1 2 3 4 5
1 1 1
2 1
3 1 1
4 1
5 1
v. o
rige
n
v. destino
A= A2=
1 2 3 4 5
1 1 1
2 1 1
3 1 1
4 1 1
5 1
A3=
1 2 3 4 5
1 1 1 1
2 1 1
3 1 1 1
4 1 1
5 1 1
A4=
1 2 3 4 5
1 1 1 1
2 1 1 1
3 1 1 1 1
4 1 1 1
5 1 1
conectados en dos pasos
conectados en tres pasos conectados en cuatro pasos
bucles
bucles
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
14
Poner el digrafo correspondiente
1 2 3 4
5 6
7
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
15
Diagrama de flujo
¿Hay bucles en el diagrama?¿Cuántos?¿Se pueden identificar de forma automática? ¿Cuál es el mejor orden para resolverlos? ¿Cómo resolver los subsistemas que forman parte de un bucle?
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
16
Particionado (y ordenación)
El particionado consiste en la identificación de los subsistemas que están interrelacionados. Es decir, que constituyen un bucle y que hay que tratar en su conjunto a la hora de resolver el diagrama de flujo.
Algoritmo de Sargent y Westerberg
1) Seleccionar un vértice (de forma arbitraria)
2) Trazar un camino desde el vértice siguiendo un arco no explorado (formando un conjunto con los vértices que aparecen) hasta que:
a) Se encuentra un vértice que no tiene salida (o no va a otra unidad). Borrar el vértice (y sus arcos incidentes) y ponerlo en cabeza de una lista. Continuar desde el vértice anterior.
b) Se encuentra un vértice que ya está en el conjunto de vértices (bucle). Agrupar todos los vértices del bucle en un único conjunto.
3) Si queda algún vértice repetir otra vez desde el paso uno hasta que no quede ningún vértice.
Otros algoritmos de particionado que se basan en la matriz de adyacencias: algoritmo de Norman y el algoritmo de Keham y Shacham
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
17
Ejemplo A
B C D
E F G
Empieza por C
C DFG (sin salida) Lista: G
A
B C D
E F
Sigue con F (sin salida) Lista: F G
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
18
A
B C D
E
Sigue con D (sin salida) Lista: D F G
Sigue con CE (sin salida)
A
B C
E
Lista: E D F G
A
B C
Sigue con C (sin salida)
y ya igual A y B
Lista: C E D F G
Lista: A B C E D F G Las listas NO son únicas
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
19
Ejemplo A
B C D
E F
Empieza por C
C DF (sin salida) Lista:F
A
B C D
E
C DABC (agrupo en un BUCLE)
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
20
E
CDAB CDABE (sin salida)
Lista: E F
CDAB (sin salida) Lista: [CDAB ] E F
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
21
Ejercicio: Particionar el siguiente diagrama de flujo.
I
IJKLMNL
IJK[LMN]
IJK[LMN]OPK
IJ[KLMNOP]
I
F
FGCDEABC
FG[CDEAB]
FG[CDEAB]F
[FGCDEAB]
[JKLMNOPSQR]
H
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
22
Ejercicio: Particionar el siguiente diagrama de flujo.
1 2 3 4 5 6 7 8 9 10 11 12
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
23
Ejercicio: Particionar el siguiente diagrama de flujo.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
24
Procedimiento de resolución secuencial modular
¿Qué ocurre si hay un reciclo?
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
25
Selección de variables de corte. (Rasgado)
Para resolver un grupo de unidades que están interconectadas con algún bucle es necesario dar un valor inicial a una corriente desconocida. Esa corriente es la corriente de rasgado y sobre ella es necesario iterar para obtener el valor final.
corriente de rasgado valor estimado valor calculado
¿Cómo seleccionar la mejor corriente de rasgado?
¿Cómo actualizar el valor estimado tras cada iteración para tener una rápida convergencia?
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
26
Algoritmo de Barkeley & Motard (número mínimo de corrientes)
1) Realizar el grafo dual. Las corrientes son nodos y los equipos que las unen son arcos.
2) Se recorre el grafo. Si una corriente tiene sólo una entrada es eliminada del grafo (y sustituida por la entrada).
3) Cuando se llega a un autobucle (autociclo) ésta es una corriente de corte. Se elimina del grafo y se vuelve al punto 2) hasta eliminar el grafo.
NOTA: Si se llega a una situación donde el algoritmo no puede avanzar se escoge una variable de corte y se procede.
Criterios para escoger variables de corte:
• Conocer de forma aproximada el valor que va a tener en la solución.
• El número de variables que tenga dicha corriente.
• El número de equipos a los que entra una corriente
• etc,...
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
27
Ejemplo
2 3 6 9
S1
S2 S6
S3 S4 S5
S1 S2
S3 S4 S5
S6
2 2
3
6
6
6
6
9
9
Grafo dual de corrientes
Proceso
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
29
Ejercicio. Seleccionar las corrientes de rasgado.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
30
K O
L M S
1 4
2
6
7
3
5
8 Grafo del proceso
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
31
1) Identificar los bucles presentes a) Empezar por una unidad cualquiera hasta que aparezca una repetida b) Cuando aparezca una repetida anotar las corrientes que conforman el bucle
hallado c) Seguir por la corriente anterior a la corriente repetida hasta que vuelva a repetirse
otra unidad d) Continuar hasta que se han recorrido todas las corrientes
2) Escoger la familia de corrientes de rasgado que rompe los bucles una única vez. a) Escoger un conjunto de corrientes que rasga todos los bucles una única vez b) Seleccionar una unidad que tenga todas sus salidas en ese conjunto de corrientes c) Reemplazar en ese conjunto de corrientes de rasgado las salidas de esa unidad por
sus entradas d) Repetir hasta que no quedan conjuntos de rasgado nuevos por salir e) Todos los conjuntos de rasgado que han aparecido son equivalentes. Como opción
definitiva escoger un conjunto con un menor número de corrientes.
Algoritmo de Upadyhe y Grens
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
32
Ejemplo
2 3 6 9
S1
S2 S6
S3 S4 S5
1) Identificar los bucles presentes
2 3 6 9 2 S3 S4 S5 S1
Bucle 1: {S3,S4,S5,S1}
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
33
El objetivo es rasgar todos los bucles para poder integrar, la idea es que si se escoge un conjunto que rasga más de una vez un bucle (ej: {S1,S2,S5}), esto implica que la convergencia va a ser más lenta.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
34
Ejercicio. Seleccionar las corrientes de rasgado.
K O
L M S
1 4
2
6
7
3
5
8
Grafo del proceso
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
36
Realizar el particionado y seleccionar las corrientes de corte mediante los algoritmos de Barkeley y de Upadyhe del siguiente digrafo.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
37
Procedimiento de resolución secuencial modular (con reciclo)
¿Qué ocurre si hay un diseño de especificación?
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
38
Diseño de especificación Controladores computacionales.
x1
¿x2? Reciclo
¿x1? y1 dado
Diseño de especificación
Unidad 1 Unidad 2 Unidad 3
Unidad 1 Unidad 2 Unidad 3
¿Alguna relación?
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
41
“Realizar la simulación del sistema de forma gradual”. “Utilizar resultados de simulaciones anteriores (más sencillas) para las nuevas simulación”
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
42
Matriz de incidencia
Matriz (booleana) que indica qué variables aparecen en qué ecuaciones de un sistema.
Sistema de ecuaciones
Matriz de incidencia
3. Estrategia orientada a ecuaciones
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
43
Grafo bipartito Grafo en el que hay dos conjuntos de vértices y todos los arcos van de un vértice del primer conjunto a un vértice del segundo conjunto.
x2
x3
x1 ec1
ec2
ec3
Se emplea para identificar el conjunto de variables a especificar.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
44
ec1 ec2 ec3
¿Qué implica la presencia de bucles?
Asignación de variables de salida.
Qué variable se va a calcular con qué ecuación.
Dado un sistema cuadrado y un conjunto de salida asignado se puede obtener un grafo dirigido.
Se emplea para realizar el particionado del sistema.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
45
Grados de libertad e identificación de un conjunto de variables a especificar (variables de entrada).
Algoritmo de Christensen-Rudd
1) Se emparejan las variables que sólo aparecen en una ecuación o las ecuaciones que sólo tienen una variable. Se eliminan los nodos (y sus arcos) del grafo.
2) Se procede así sucesivamente hasta que quedan nodos sin arcos, estos son los grados de libertad.
3) Si se llega a una situación donde todos los nodos tienen 2 ó más arcos, es necesario asignar (de forma arbitraria) una variable a una función y proceder a continuación como en el punto uno.
NOTA: Este algoritmo proporciona una secuencia de resolución acíclica, excepto en el caso del punto 3) que indica la presencia de bucles algebraicos. En ese caso las variables asignadas arbitrariamente serían variables de rasgado que permitirían resolver el sistema de forma acíclica. El uso de variables de rasgado en simulaciones orientados a ecuaciones está hoy en desuso (NO en simulación secuencial-modular!)
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
46
x1
x2
x3
x4
x5
x6
x7
x8
f5
f4
f3
f2
f1
La variable 7 sólo aparece en la ec 5
La variable 5 sólo aparece en la ec 4
La variable 3 sólo aparece en la ec 3
Ejemplo
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
47
x1
x2
x4
x6
x8
f2
f1 La variable 8 sólo aparece en la ec 2
La variable 6 sólo aparece en la ec 1
x1 x2 x4
Quedan como grados a especificar:
Nótese que cuando hay varias posibilidades el criterio ha sido arbitrario. Es mejor apoyarse en el conocimiento heurístico del modelo.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
48
Descomposición de Dulmage-Mendelsohn.
En lugar de actuar sobre el grafo bipartito actúa sobre la matriz de incidencia.
Descompone la matriz de incidencia en submatrices: • Una parte sobredeterminada: indica que hay más ecuaciones que incógnitas, puede ser alguna redundante,...
• Una parte cuadrada: tiene forma de matriz triangular inferior. El subsistema está correctamente especificado y por tanto no aporta grados de libertad.
• Una parte infradeterminada: indica que hay más variables que ecuaciones y que por tanto hay un número de grados de libertad que hay que especificar. La forma de proceder es seleccionar uno, volver a realizar la descomposición de D-M y escoger otra. Así hasta que se obtiene únicamente una matriz cuadrada triangular inferior por bloques.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
49
Algoritmo de asignación de variables de salida.
Algoritmo de Steward
• Selecciona la fila (columna) con menor número de incidencia.
• En esa fila (columna) selecciona la variable que pertenece a la columna (fila) con menor número de incidencia.
• Asigna esa variable (fila) a la ecuación (columna) y se eliminan de la matriz de incidencia.
Asigna la variable 2 con la ecuación 1
Asigna la variable 3 con la ecuación 2
Asigna la variable 1 con la ecuación 3
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
50
Algoritmo de Duff (es una implementación más eficiente y que permite detectar singularidad estructural)
• Va permutando las filas en función de que haya o no un cero en la diagonal de la matriz de incidencia.
• Intercambia las filas “sin perder” las asignaciones realizadas.
• En caso de no poder obtener una matriz transversal máxima (todos los elementos de la diagonal distintos de cero) el problema presenta una singularidad estructural.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
52
Singularidad estructural
Cuando no se puede obtener un conjunto de salida la matriz es estructuralmente singular.
Implica que hay un subconjunto de ecuaciones que tiene menos variables que el número de ecuaciones del subconjunto.
La especificación de las variables de entrada puede hacer que un sistema de ecuaciones sea o no estructuralmente singular.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
53
Particionado del sistema de ecuaciones y orden de resolución.
Algoritmo de Tarjan
ec1 ec2 ec3
Más eficiente que el de Sargent y Westerberg (también aplicable). Obtiene una matriz triangular inferior por bloques.
Cada bloque es un sistema de ecuaciones que hay que resolver de forma simultánea.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
54
f1 f5 f2 f3 f4
Matriz con variables de salida asignadas. Grafo dirigido
Ejemplo del algoritmo de particionado de Tarjan.
path stack lowlink f1 f2 f3 f5 f4
f1 f2 f3
f4 f5 5)
f1 f2 f3 f5 f4
f1 f2 f3
f4 f5 6)
Selecciona f4 y f5
f1 f2 f3
f1 f2 f3 7)
Selecciona f3
f1 f2 f1 f2
f1 f2 f1 f2
f1 f2 f1 f2
8)
9)
10)
Selecciona f1 y f2
f1 f1
f1 f2 f1 f2
f1 f2 f3
f1 f2 f3
f1 f2 f3 f5 f4
f1 f2 f3
f4 f5
1)
2)
3)
4)
Particionado y orden de resolución
[f2 f1] f3 [f4 f5]
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
55
f1 f5 f2 f3 f4 f6
Realizar el particionado del siguiente sistema mediante el algoritmo de Tarjan
x x
x x
x x x
x
x x
x2 x1 x3 x4 x5
f2
f1
f3
f4
f5
Realizar el particionado del siguiente sistema mediante el algoritmo de Tarjan y Duff
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
58
Ejemplo: cambiador contracorriente.
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
59
Matriz de incidencia
Pasos: 1. Asignar variables de entrada (alg. Christensen-Rudd) 2. Asignar conjunto de salida (alg. Duff) 3. Particionar y definir orden de resolución (alg. Tarjan)
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
60
f1
f2
f3
f4
f5
f6
f7
k
Q
A
U
F1
F2
F3
F4
T1
T2
T3
T4
dT
A,f5
1. Asignar variables de entrada (alg. Christensen-Rudd)
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
63
x
x
x
x x
x x x x
x x
x x x x
f1
f2
f3
f4
f5
f6
f7
Q A U F2 F4 T4 dT
2. Asignar conjunto de salida (alg. Duff)
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
65
3. Particionar y definir orden de resolución (alg. Tarjan)
x
x x x x
x x x x
x
x
x x
x x
f3
f5
f7
f1
f2
f4
f6
Modelado y simulación en Ingeniería Química. Manuel Rodríguez
66
Singularidad funcional Singularidad funcional implica que el Jacobiano es singular para cualquier valor de las variables, x. Ejemplo:
La causa de singularidad funcional suele ser un modelo mal construido o con un conjunto de especificaciones mal seleccionado:
• O es redundante lo que implica un número infinito de soluciones.
• O es inconsistente lo que implica que no existe una solución. En el ejemplo anterior
si k=-9 el sistema es redundante
si k<>-9 el sistema es inconsistente
Singularidad numérica (o local) El Jacobiano es singular sólo para algunos valores de las variables.