Identificacion de sistemas Simulacion de sistemas continuos
Contenido El modelado de sistemas Los lenguajes de simulacion Un ejemplo de Modelado y simulación Modelado vs. simulación
El modelado de sistemas
Formalismos de modelos matematicos Vars./Time Continuous Discrete [1] DESS (Differential equation System Specification) Partial Differential Equations Ordinary Differential Equations Bond Graphs Modelica [2] DTSS Difference Equations Finite Element Method Finite Differences Numerical methods (in general, any computing method for the continuous counterparts], like Runge-Kutta, Euler, DASSL and others. [3] DEVS (Discrete Event System Specification) DEVS Formalism Timed Petri Nets Timed Finite State Machines Event Graphs [4] Automata Finite State Machines Finite State Automata Petri Nets Boolean Logic Markov Chains Los sistemas continuos pueden ser formulados en terminos de DESS, DAESS, DEVS
Modelos DESS En el formalismo DESS (differential equation System Specification model) el modelo matemático de un sistema dinámico es: un conjunto de ecuaciones diferenciales que representan las características dinámicas del sistema. las cuales se obtienen aplicando leyes físicas. Normalmente un conjunto de ecuaciones ordinarias (sistema de parametros concentrados)
Un ejemplo de modelo matematico El modelo matemático del sistema masa-resorte-amortiguador puede ser descrito por: M K B x Parametros: m = 0.25, c = 0.5, k = 1 En el formalismo DESS (differential equation System Specification model)
El proceso de modelado y simulación
LOS LENGUAJES DE SIMULACION
Modelado y simulacion Codigo ASCII Integracion numerica Mundo Real Simulador modelado simulacion Modelo Integracion numerica d q(t) / dt = x(t)
Lenguajes de simulacion Un lenguaje de simulación describe las operaciones a ejecutar durante una simulación en la computadora La mayoria de los lenguajes tienen tambien una interfaz gráfica capacidad de análisis de los resultados CSSL PROGRAM Van der Pol INITIAL constant k = -1, x0 = 1, v0 = 0, tf = 20 END DYNAMIC DERIVATIVE x = integ(v, x0) v = integ((1 – x**2)*v – k*x, v0) termt (t.ge.tf)
Software y lenguajes de simulacion Modelica CSSL: Continuous System Simulation Language ACSL: Advanced Continuous Simulation Language EL: EcosimPro Language XMLlab Flexsim 4.0 Simulink SPICE Scilab Dynamo SLAM: Simulation Language for Alternative Modeling VisSim Saber-Simulator
Un ejemplo de Modelado y simulación
Modelado de un circuito eléctrico Dado el modelo gráfico del circuito eléctrico RLC A partir de este modelo gráfico debe construirse un modelo de simulación
Modelo matemático del circuito Ecuaciones constitutivas Ecuaciones de malla Ecuaciones de nodo Modelo diferencial algebraico, DAE, implícito
Ordenamiento de las ecuaciones Podemos hacer explícito el modelo decidiendo cuál variable resolver en cada ecuación Las ecuaciones se ordenan de tal manera que se pueda solucionar el modelo Modelo diferencial algebraico explícito o modelo de simulacion
Solución del modelo El signo igual tiene el sentido de asignación Condición inicial Nótese que uC y iL no son tratadas como incógnitas Las variables de estado uC y iL son calculadas por el algoritmo de integración usado en la simulación
Modelo en espacio de estados El modelo en espacio de estado es la forma preferida para simular sistemas lineales con MATLAB Ecuaciones de estado Ecuación de salida Modelo en ecuaciones diferenciales ordinarias, ODE, explícito
Modelo en espacio de estados Forma matricial Modelo en espacio de estados lineal
Simulación del modelo en MATLAB
Simulación del modelo en MATLAB Toda la simulación se realiza en lsim ¿Cómo se realiza?
Simulación del modelo en SIMULINK Ejercicio CONSTRUIR Y SIMULAR EL MODELO EN SIMULINK
Modelado vs. simulación
Modelado vs. simulación El proceso del modelado se interesa por la extracción del conocimiento de la planta física a ser simulada El proceso de simulación se interesa por ejecutar experimentos sobre el modelo para hacer predicciones ¿Dónde termina el modelado y donde comienza la simulación?
Modelado vs. simulación La transición desde el modelo gráfico hasta el código en MATLAB es largo y complicado Existen herramientas tales como DYMOLA que realizan en el proceso automáticamente La herramienta más apropiada es función del sistema a ser simulado, y posiblemente del experimento a ser realizado con el modelo
El reloj de simulación En el mundo real el tiempo simplemente pasa En simulación, simplemente el tiempo no pasa. Es necesario hacer que pase Cuando se simula un sistema, es deber nuestro para administrar el reloj de simulación, La eficiencia con que administremos el reloj de simulación decidirá en última instancia sobre la eficiencia de nuestra simulación.
Discretización del tiempo Cuando se simula un sistema de tiempo continuo en un computador digital, el tiempo debe ser discretizado No es posible actualizar las variables de estado infinitamente rápido en un tiempo finito La mayoría de los algoritmos numéricos para la solución de ODEs, solvers, discretizan el eje del tiempo Es decir, hacen avanzar el reloj de simulación usando pasos finitos (time steps) El tamaño del paso h, puede ser fijo o variable
El intervalo de comunicación En el código en MATLAB mostrado anteriormente Sin embargo, 10-6 no es el tamaño del paso sino el intervalo de comunicación El intervalo de comunicación instruye al programa para reportar los resultados de simulación cada 10-6 unidades de tiempo tiempo ilusorio
Diferentes tipos de tiempo en una simulación El reloj de simulación puede avanzar más rápido o más lento que el reloj de comunicación Normalmente la grilla de comunicación está espaciada de forma equidistante, sin embargo la grilla de simulación no
El reloj de simulación El tamaño del paso de simulación está determinado por el requerimiento de precisión El algoritmo de integración usa alguna fórmula para estimar el error de integración, y usa esta estimación para ajustar el tamaño del paso
El reloj de simulación ¿Al menos el reloj de simulación avanza en forma creciente con el tiempo real? ¿Es decir, la diferencia en tiempo, Δt, del reloj de simulación entre dos evaluaciones subsecuentes del modelo es siempre positivo? La respuesta es, NO
El reloj de simulación Step size = h (varios) Razones El tamaño del paso h, no es necesariamente idéntico al tiempo de avance Δt Step size = h (varios) El reloj de simulación puede saltar hacia atrás y hacia adelante en cada paso del tiempo individual
El reloj de simulación Razones Aunque en el algoritmo de integración usado Δt permanezca siempre positivo el reloj de simulación no necesariamente avanza monopólicamente con el tiempo real El reloj de simulación avanza teniendo en cuenta la estimación del error de integración Dos tipos de algoritmos Algoritmos optimistas Algoritmos conservativos
El reloj de simulación Razones Aunque Δt permanezca siempre positivo, y se utilice un algoritmo optimista, el reloj de simulación no necesariamente avanza monopólicamente con el tiempo real Los algoritmos de integración no pueden integrar a través del discontinuidades en el modelo Deteccion de discontinuidades
Fuentes Cellier, F.E. and E. Kofman (2006), Continuous System Simulation, Springer-Verlag, New York
FIN