Tema IV: Simulaci ´on din´amica

Anuncio
Tema IV: Simulación dinámica
Modelización y simulación de procesos quı́micos
Curso 2010–2011
Índice
1 Simulación dinámica.
2 Simuladores orientados a ecuaciones.
3 Métodos de resolución.
Paso único.
Multipaso.
ODEs de orden n.
DAEs.
4 Simulación dinámica con MATLAB.
Tema IV: Simulación dinámica
2/33
Simulación dinámica
“Estudia el comportamiento transitorio de un sistema”
Simulación estática:
Simulación dinámica:
dVar
=0
dt
dVar
6= 0
dt
Tema IV: Simulación dinámica
3/33
Simulación dinámica
“Estudia el comportamiento transitorio de un sistema”
Simula su evolución temporal con distintos fines:
Operación:
Diseño:
Respuesta de procesos
continuos ante perturbaciones.
Sistema de control y
controlabilidad.
Ajuste de controladores.
Maniobras y desviaciones
anormales en el proceso, para
estudios de seguridad y de
emisiones.
Procedimientos de puesta en
marcha y parada.
Procesos discontinuos.
Análisis de operabilidad y riesgo.
Validación de procedimientos de
emergencia.
Entrenamiento de operadores.
Tema IV: Simulación dinámica
4/33
Índice
1 Simulación dinámica.
2 Simuladores orientados a ecuaciones.
3 Métodos de resolución.
Paso único.
Multipaso.
ODEs de orden n.
DAEs.
4 Simulación dinámica con MATLAB.
Tema IV: Simulación dinámica
5/33
Simuladores orientados a ecuaciones
Es la estrategia empleada para la simulación dinámica.
Pasos para establecer la simulación:
1 Las ecuaciones y variables de todos los modelos de
unidades se definen individualmente.
2 Las ecuaciones y variables conforman un sistema (grande)
de ecuaciones no lineales.
3 Se añaden especificaciones hasta que el sistema tiene
CERO grados de libertad.
4 El sistema de ecuaciones se resuelve de forma directa y
simultánea.
Tema IV: Simulación dinámica
6/33
Simuladores orientados a ecuaciones
Orientados a ecuaciones VS. Secuencial modular
Ventajas:
Es más eficiente que la
estrategia secuencial modular.
No distingue entre simulación y
diseño de especificación.
Es utilizable en simulación
dinámica, estacionaria y
optimización.
Inconvenientes (en la simulación
estacionaria):
Los algoritmos de resolución
de NAEs no son tan robustos
y fiables como los del caso
secuencial modular.
Necesita más recursos de
computación.
Es más fácil el diagnóstico de
ciertos errores. Como sistemas
de ecuaciones mal
especificados.
Debido al primer inconveniente esta estrategia no es actualmente
competitiva frente a la resolución secuencial modular para simulación
estacionaria.
Tema IV: Simulación dinámica
7/33
Simuladores orientados a ecuaciones
Algoritmo de simulación de sistemas continuos.
Tema IV: Simulación dinámica
8/33
Simuladores orientados a ecuaciones
Algoritmo de simulación de sistemas continuos.
1 Seleccionar variables:
3 Inicializar la integración:
x: Variables de estado.
Elección del paso: h
u: Variables independientes
(generalmente de entrada).
Valores iniciales de x0 , u0 , v0
Valores iniciales de f
v : Variables dependientes
(resultado de ec.
algebráicas).
2 Ordenar ecuaciones:
v1 = g1 (x, u, t)
v2 = g2 (x, u, v1 , t)
..
.
4 Bucle de simulación:
Calcular fr = f (xr , ur , vr , t)
Incrementar el tiempo t = t + h
Paso de integración xr +1 función de
fr ,fr −1 ,. . . y actualización de ur +1
Obtener ordenadamente vi,r +1
Cada cierto tiempo imprimir o
recolectar resultados
Verificar condiciones de fin de
simulación
vi = gi (x, u, v1 , v2 , . . . , vi , t)
x 0 = f (x, u, v , t)
Tema IV: Simulación dinámica
9/33
Simuladores orientados a ecuaciones
Algoritmo de simulación de sistemas continuos.
INICIO
Inicialización:
f h x0 u0 v0
Bucle de simulación
fr = f(xr , ur , vr , t )
t=t+h
NO
Memoria
Cálculo de:
xr +1
vi, r +1
SÍ
¿Fin?
FIN
h
Tema IV: Simulación dinámica
10/33
Índice
1 Simulación dinámica.
2 Simuladores orientados a ecuaciones.
3 Métodos de resolución.
Paso único.
Multipaso.
ODEs de orden n.
DAEs.
4 Simulación dinámica con MATLAB.
Tema IV: Simulación dinámica
11/33
Métodos de resolución
Ecuaciones diferenciales ordinarias
0
x (t) = f (x(t), t)
Z
=⇒
t
x(t) = x0 +
f (x(τ ), τ ) dτ
t0
Métodos de paso único
Son métodos que emplean únicamente el valor calculado en el
punto (paso) anterior. Se basan en aproximar la función f (x, t)
mediante un desarrollo en serie de Taylor.
f (x + h) = f (x) + h f 0 (x) +
h2 00
h3
f (x) + f 000 (x) + . . .
3!
|2!
{z
}
O(h2 ) error de truncamiento
Se comete un error por truncar el desarrollo en serie de Taylor
al que se debe sumar el error de redondeo del ordenador.
Tema IV: Simulación dinámica
12/33
Métodos de resolución
Métodos de paso único
Euler explı́cito. Sólo depende de valores anteriores de la
función. Más rápido. No siempre es estable, puede oscilar
o diverger para pasos pequeños.

dx(t)


= f (x(t), t)
dt
⇒ x(t + h) = x(t) + h f (x(t), t)
dx(t) 

x(t + h) = x(t) + h
dt
Euler implı́cito Necesita el valor de la función en el
instante a calcular. Son más exactos.
x(t + h) = x(t) + h f (x(t + h), t)
Tema IV: Simulación dinámica
13/33
Métodos de resolución
Métodos de paso único. Ejercicio 1: Enunciado
Se dispone de un depósito que se vacı́a por gravedad y se
quiere modelar y simular su comportamiento teniendo en
cuenta los siguientes datos:
Altura inicial de lı́quido en el depósito: 1 m
3
Caudal de entrada: 3 m /h
2
Área del depósito: 10 m
2
Área de salida de la tuberı́a: 0,001 m
Fin
Simular el comportamiento
del tanque empleando el
algoritmo de Euler Explı́cito.
V
Fout
Tema IV: Simulación dinámica
14/33
Métodos de resolución
Métodos de paso único. Ejercicio 1: Modelo matemático
Balance de materia:
dV
= Fin − Fout
dt
Relación del volumen:
V =A·h
=⇒
dV
dh
=A
dt
dt
dh
1
= (Fin − Fout )
dt
A
Caudal de salida:
Fout = As
p
2gh
Tema IV: Simulación dinámica
15/33
Métodos de resolución
Métodos de paso único. Ejercicio 1: Modelo MATLAB
tanque.m
Modelo matemático del sistema.
eulerm.m
Método de Euler explı́cito.
main tanque.m
Cuerpo principal del programa.
Tema IV: Simulación dinámica
16/33
Métodos de resolución
Métodos de paso único
Runge Kutta Constituyen un conjunto de métodos
diferentes, según sea el desarrollo de Taylor utilizado. Fue
inicialmente desarrollado alrededor del año 1900 por los
matemáticos C. Runge y M. W. Kutta. Por ejemplo, el
algoritmo de orden 4, indica que el número de términos
utilizados es 4:
xi+1 = xi + 16 k1 + 31 k2 + 13 k3 + 16 k4
en donde:
k1 = h f (ti , xi )
k2 = h f (ti + h/2, xi + k1 /2)
k3 = h f (ti + h/2, xi + k2 /2)
k4 = h f (ti + h/2, xi + k 3)
Tema IV: Simulación dinámica
17/33
Métodos de resolución
Métodos de paso único. Ejercicio 2: Enunciado
Se dispone de dos depósitos conectados por el fondo. La salida de los dos
tanques es por gravedad. Cada depósito tiene un caudal de entrada. Se
quiere modelar y simular el comportamiento de este sistema teniendo en
cuenta los siguientes datos:
Altura inicial de lı́quido en el primer depósito: 0,8 m
Altura inicial de lı́quido en el segundo depósito: 0,2 m
3
Caudal de entrada al primer depósito: 2,2 m /h
3
Caudal de entrada al segundo depósito: 1,6 m /h
Los dos depósitos son idénticos,
teniendo un área de 10 m2 y teniendo
la tuberı́a que les conecta como la de
salida del segundo depósito un área
de salida de 0,001 m2 .
Simular el comportamiento
empleando el algoritmo de Runge
Kutta de orden 4.
Fin,1
Fin,2
V1
Tema IV: Simulación dinámica
Fb
V2
Fout
18/33
Métodos de resolución
Métodos de paso único. Ejercicio 2: Modelo matemático
Balances de materia:
dh1
1
= (Fin,1 − Fb )
dt
A
dh2
1
Segundo depósito:
= (Fin,2 + Fb − Fout )
dt
A
Primer depósito:
Caudales:
p
2gh2
p
(
+As 2g(h1 − h2 ) si
Intermedio: Fb =
p
−As 2g(h2 − h1 ) si
Salida: Fout = As
Tema IV: Simulación dinámica
h1 ≥ h2
h1 < h2
19/33
Métodos de resolución
Métodos de paso único. Ejercicio 2: Modelo matemático
depositos.m
Modelo matemático del sistema.
rungekutta4.m
Método de Runge-Kutta de orden 4.
main depositos.m
Cuerpo principal del programa.
Tema IV: Simulación dinámica
20/33
Métodos de resolución
Métodos multipaso
k
P
i=0
αi yn−i = h
k
P
βi fn−i
i=0
Adams-Bashford. Método explı́cito de 2 pasos.
xi+1 = xi + 21 h[3f (ti , xi ) − f (ti−1 , xi−1 )]
Adams-Moulton. Método implı́cito de 3 pasos.
xi+1 = xi +
1
24 h[9f (ti+1 , xi+1 )
+ 19f (ti , xi )−
− 5f (ti−1 , xi−1 ) − f (ti−2 , xi−2 )]
Tema IV: Simulación dinámica
21/33
Métodos de resolución
Métodos multipaso
Método Predictor-Corrector
∗
Método explı́cito para computar xi+1
∗
xi+1
= xi +
1
12 h[23f (ti , xi )
− 16f (ti−1 , xi−1 ) + 5f (ti−2 , xi−2 )]
Método implı́cito para computar el valor final xi+1
xi+1 = xi +
∗
1
12 h[f (ti+1 , xi+1 )
+ 8f (ti , xi ) − f (ti−1 , xi−1 )]
Nota: Evita tener que resolver una ecuación algebraica en
el método implı́cito.
Tema IV: Simulación dinámica
22/33
Métodos de resolución
ODEs de orden n
x (n (t) = f (x(t), x 0 (t), x 00 (t), . . . , x (n−1 (t), t)
Un sistema de ODEs de orden n se puede transformar a un
sistema de ODEs de primer orden.
x1 (t)
=
x(t)
x2 (t)
=
x 0 (t)
x3 (t)
=
..
.
x 00 (t)
=
(n−1
xn (t)
x








(t)







=⇒
x10 (t)
= x2 (t)
x20 (t)
= x3 (t)
..
.


0

xn−1
(t)




0
xn (t)
= xn (t)








= f (x1 (t), x2 (t), . . . , xn (t), t)
Para cualquier sistema de ecuaciones diferenciales (de primer
orden) resultan válidos todos los métodos de integración
anteriores.
Tema IV: Simulación dinámica
23/33
Métodos de resolución
Ecuaciones diferenciales algebraicas (DAEs)
DAEs: Conjunto de ecuaciones diferenciales y
algebraicas:
(
x 0 = f (x, u, y, t)
g(x, u, y , t) = 0
Método de resolución
Forma secuencial:
1 Dado x(tn ) se resuelve g(x(tn ), u(tn )) = 0 y se obtiene y (tn ).
2 Empleando un método explı́cito de resolución de ODE a
x 0 = f (x, u, t) se obtiene x(tn+1 ).
Forma simultánea:
Resolver x 0 = f (x, u, t) y g(x, u, t) = 0 de forma simultánea
mediante métodos implı́citos (BDF). Por ejemplo: Método de
Gear.
Tema IV: Simulación dinámica
24/33
Métodos de resolución
Ecuaciones diferenciales algebraicas (DAEs)
(
x 0 = f (x, u, y, t)
g(x, u, y, t) = 0
Stiffness
Aparece cuando hay constantes de tiempo muy diferentes
en un sistema.
Hay fenómenos muy rápidos y fenómenos lentos
mezclados.
Se presenta en muchos modelos de procesos de la
industria quı́mica.
Se deben emplear métodos implı́citos (y de paso variable).
Tema IV: Simulación dinámica
25/33
Métodos de resolución
Ecuaciones diferenciales algebraicas (DAEs)
BDF (Backward Differentiation Formulas)
k
P
αi xn−i = h β0 fn
i=0
DAEs de forma semi-explı́cita:
(
xn0 = f (xn , yn , un , tn )
g(xn , yn , un , tn ) = 0
Sistema de ecuaciones algebraicas a resolver:

k
P

xn+1 = h β0 f (xn+1 , yn+1 , un+1 , tn+1 ) +
αi xn−i
i=0

g(xn+1 , yn+1 , un+1 , tn+1 ) = 0
Para cada paso de integración hay que resolver este
sistema de ecuaciones algebraicas. Por Newton (u otro
método de resolución).
Tema IV: Simulación dinámica
26/33
Índice
1 Simulación dinámica.
2 Simuladores orientados a ecuaciones.
3 Métodos de resolución.
Paso único.
Multipaso.
ODEs de orden n.
DAEs.
4 Simulación dinámica con MATLAB.
Tema IV: Simulación dinámica
27/33
Simulación dinámica con MATLAB
MATLAB ODE solvers
Solver
System
Accuracy
Algorithm
Step
ode45
Nonstiff
M
Dormand-Prince
Single
ode23
Nonstiff
L
Bogacki and Shampine
Single
ode113
Nonstiff
L–H
Adams, Bashforth
& Moulton
Multistep
ode15s
Stiff
L–M
Gear
Multistep
ode23s
Stiff
L
Rosenbrock
Single
ode23t
Mod. Stiff
L
Trapezoidal
Single
ode23tb
Stiff
L
TR-BDF2
Multistep
Tema IV: Simulación dinámica
28/33
Simulación dinámica con MATLAB
MATLAB ODE solvers: Sintaxis
[T,Y] = solver(odefun,tspan,y0)
odefun: Función de MATLAB en la que se ha codificado el
sistema de ODEs.
tspan: Tiempo de integración (tspan = [t0 tf]).
y0: Valores iniciales de la variable.
T: Vector de tiempos.
Y: Vector de soluciones.
Tema IV: Simulación dinámica
29/33
Simulación dinámica con MATLAB
Diferentes m-files
main_modelo.m
modelo.m
Valores iniciales de
variables de estado
Valores de parámetros
y variables de entrada
Tiempo de simulación
Método numérico
Ecuaciones del
modelo
Gráfico de resultados
Los valores de parámetros y de variables de entrada
también pueden estar en el archivo principal, pero en ese caso hay
que poner esas variables como globales (global).
Tema IV: Simulación dinámica
30/33
Simulación dinámica con MATLAB
m-file único
main_modelo.m
Los valores de parámetros
y de variables de entrada
también pueden estar en el
archivo principal, pero en ese
caso hay que poner esas variables
como globales (global).
Cambia la llamada a la función:
m-file único: @modelo
Diferentes m-files: ’modelo’
Valores iniciales de
variables de estado
Tiempo de simulación
Método numérico
Gráfico de resultados
modelo.m
Valores de parámetros
y variables de entrada
Ecuaciones del
modelo
Tema IV: Simulación dinámica
31/33
Simulación dinámica con MATLAB
Ejercicio 3: Enunciado
Se dispone de un tanque calentado mediante una camisa con un fluido
calefactor. Se considera que el tanque mantiene el nivel constante.
Datos: Caudal de entrada al depósito 10 l/h,
caudal de entrada a la camisa 15 l/h, densidad
del lı́quido del depósito 1 kg/l, densidad del
lı́quido calefactor 1,1 kg/l, calor especı́fico del
lı́quido del depósito 1,25 kcal/kg o C, calor
especı́fico del lı́quido calefactor 1,3 kcal/kg
o
Ft,in
Fj,in
Ft,out
Fj,out
C, volumen del tanque 25 l, volumen de la
camisa 10 l, coeficiente global de transmisión
de calor (U) 5 kcal/h m2 , área de intercambio
31 m2 , temperatura de la corriente de entrada
al tanque 50o C, temperatura del fluido
entrante a la camisa 150o C.
Tema IV: Simulación dinámica
32/33
Simulación dinámica con MATLAB
Ejercicio 3: Modelo matemático
Balances de materia:
Balances de energı́a:
dVt
= Ft,in − Ft,out = 0
dt
dVj
A la camisa:
= Fj,in − Fj,out = 0
dt
Al depósito:
1
Q
dTt
=
Ft (Tt,in − Tt ) +
dt
Vt
ρt Cp,t
dTj
1
Q
A la camisa:
=
Fj (Tj,in − Tj ) −
dt
Vj
ρj Cp,j
Al depósito:
Calor intercambiado: Q = UA(Tj − Tt )
Tema IV: Simulación dinámica
33/33
Descargar