Tratamiento de discontinuidades
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Tratamiento de Discontinuidades PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on
  • Presentation posted in: General

En esta presentación trataremos con el problema de la ocurrencia de discontinuidades en modelos. Modelos de la ingeniería exhiben frecuentemente discontinuidades que describen situaciones como la conmutación, limitadores, el rozamiento de Coulomb, impulsos y fenómenos similares.

Download Presentation

Tratamiento de Discontinuidades

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Tratamiento de discontinuidades

En esta presentación trataremos con el problema de la ocurrencia de discontinuidades en modelos.

Modelos de la ingeniería exhiben frecuentemente discontinuidades que describen situaciones como la conmutación, limitadores, el rozamiento de Coulomb, impulsos y fenómenos similares.

El entorno de modelado debe ser capaz de tratar con estos problemas de forma eficiente, porque influencian fuertemente el comportamiento numérico del “resolvedor” de las ecuaciones diferenciales.

Tratamiento de Discontinuidades


Contenido

Resolvedores de ecuaciones diferenciales numéricos

Discontinuidades en ecuaciones de estado

La integración a través de discontinuidades

Eventos en el estado

El tratamiento de eventos

Funciones multivalores

El conmutador eléctrico

El diodo ideal

El rozamiento

Contenido


Resolvedores de edos num ricos

Todos los resolvedores numéricos de EDOs en el mercado de hoy funcionan usando extrapolaciones polinomiales.

El valor de una variable de estado x al instante de tiempo t+h, donde h es el paso de la integración numérica, se aproxima ajustando un polinomio de orden n tal que coincide en n+1 valores conocidos de suporte de x y de dx/dt al instante de tiempo t y a valores del pasado.

El valor del polinomio de extrapolación al instante de tiempo t+h representa la solución aproximada de la ecuación diferencial ordinaria.

En el caso de algoritmosimplícitos de la integración se usa también el valor de la derivada del estado al instante de tiempo t+h como un valor de suporte.

Resolvedores de EDOs Numéricos


Ejemplos

·

x(t+h)  x(t) + h · x(t)

·

x(t+h)  x(t) + h · x(t+h)

Ejemplos

Algoritmo deintegración de Eulerexplícito de 1er orden:

Algoritmo deintegración de Eulerimplícito de 1er orden:


Discontinuidades en ecuaciones del estado

Polinomios son siempre funcionescontinuas y continuamente derivables.

Entonces, si las ecuaciones de estado del sistema:

exhiben una discontinuidad, el polinomio de extrapolación aproxima la realidad pobremente.

Por consecuencia exhiben algoritmosde integración con paso fijo un errorde integración largo, mientras que algoritmos de integración con paso variable tienen que reducir el tamaño del paso fuertemente en la proximidad de una discontinuidad.

·

x(t) = f(x(t),t)

Discontinuidades en Ecuaciones del Estado


Integraci n a trav s de discontinuidades

Un algoritmo de integración con paso variable reduce el tamaño del paso en la proximidad de cada discontinuidad.

Después de pasar por encima de la discontinuidad, el tamaño del paso tiene que alargarse lentamente, porque el algoritmo de la integración no puede distinguir entre una discontinuidad y un punto local de rigidez larga (con un valor absoluto largo de la derivada).

Discontinuidades

El paso se queda constantemente pequeño. La simulación al menos es muy ineficiente, sino incorrecta.

Integración a Través de Discontinuidades

h

t


Eventos en el estado

Estas problemas pueden evitarse si se dice al algoritmo de integración de forma explícita cuando y donde ocurren discontinuidades en la descripción del modelo.

3

1

2

f(x)

fp

f = fm

xm

a

f = m·x

x

xp

f = fp

fm

m = tg(a)

f = ifx < xm then fm else if x < xp then m*x elsefp ;

Eventos en el Estado

Ejemplo: El limitador


El tratamiento de eventos i

Iteración

x

xp

Umbral

t

h

h

f(x)

fp

Cambio del modelo

h

x

xp

xm

a

x

xp

t

t

h

fm

Reducción del paso durante la iteración

Evento

El Tratamiento de Eventos I


El tratamiento de eventos ii

h

t

h

Tamaño del paso en función del tiempo sin tratamiento de eventos

Tamaño del paso en función del tiempo con tratamiento de eventos

t

El Tratamiento de Eventos II


Representaci n de discontinuidades

En Modelica, discontinuidades se representan por cláusulas if.

En el proceso de la transformación del modelo, estas cláusulas se transformen en descripcionesde eventos correctos (conjuntos de modelos con condiciones de cambios).

El usuario no tiene que ocuparse de los mecanismos de la descripción adecuada de eventos. Estos se esconden detrás de las cláusulas if.

f = ifx < xm then fm else if x < xp then m*x elsefp ;

Representación de Discontinuidades


Problemas

El usuario tiene que tomar en cuenta que la solución numérica temporáneamente sale de la región física durante la iteración.

puede ser peligroso, porque absDppuede asumirtemporáneamente un valor negativo.

resuelve el problema.

Dp = p1 – p2 ;

absDp = ifDp > 0 thenDp else –Dp ;

q = sqrt(absDp) ;

q =  | Dp |

Dp = p1 – p2 ;

absDp =noEvent(ifDp > 0 thenDp else –Dp ) ;

q = sqrt(absDp) ;

Problemas


La construcci n noevent

La construcciónnoEventtiene el efecto que cláusulas ify expresionesBooleanas, que normalmente se traducen a códigos de simulación conteniendo descripciones de eventos correctos, se trasfieren directamente a la integración numérica sin modificarlas.

De esa forma se pospone el tratamiento de la discontinuidad hasta el tiempo de la simulación cuando se ocupa el algoritmo de control del paso del problema.

Dp = p1 – p2 ;

absDp =noEvent(ifDp > 0 thenDp else –Dp ) ;

q = sqrt(absDp) ;

La Construcción “noEvent”


Funciones multivalores i

Las construcciones sintácticas que introdujimos hasta ahora no sirven para la descripción de funcionesmulti-valores, como por ejemplo la funciónde histéresis seca enseñada por debajo.

Si xse hace más grande que xp, f debe cambiar su valor de fm a fp.

Si xse hace más pequeño que xm, f debe cambiar su valor de fp a fm.

f(x)

fp

x

xm

xp

fm

Funciones Multivalores I


Funciones multivalores ii

se hace más grande

es más grande

f(x)

fp

when initial() then

reinit(f, fp);

end when;

when x > xp or x < xm then

f = if x > 0 then fp else fm;

end when;

x

xm

xp

Ejecutado al principio de la simulación.

}

fm

Esa cláusula se ejecuta solamente cuando xse hace más grande quexpo cuando xse hace más pequeño quexm.

Funciones Multivalores II


Funciones multivalores iii

Funciones Multivalores III


El conmutador el ctrico i

i

u

0 = ifopenthenielse u ;

El Conmutador Eléctrico I

Si el conmutador está abierto, la corriente es i=0. Si el conmutador estácerrado, el voltaje es u=0.

La cláusulaifde Modelica es no causal. Se ordena en mismo tiempo que todas las demás ecuaciones.


El conmutador el ctrico ii

0 = s · i + ( 1 – s ) · u

Conmutador abierto:

Sf

f = 0

e

s

Sw

La causalidad del elementode conmutación es una función del valor de la señal s.

f

Conmutador cerrado:

e = 0

Se

El Conmutador Eléctrico II

Implementación posible:

Conmutador abierto: s = 1 Conmutador cerrado: s = 0


El diodo ideal i

Si u < 0, el conmutador está abierto. No corre ninguna corriente.

i

Conmutador cerrado

i

u

u

Si u > 0, el conmutador está cerrado. Corriente puede correr. El diodo ideal se comporta como un corte.

Conmutador abierto

f

D

open = u <0;

0 = ifopenthenielse u ;

e

El Diodo Ideal I


El diodo ideal ii

Como corriente que corre a través de un diodo no puede interrumpirse es necesario modificar el modelo del diodo levemente.

La variable open tiene que declararse como Booleana. El valor a la derecha de la expresión Booleana se asigna a ella.

open = u <= 0and noti > 0;

0 = ifopenthenielse u ;

El Diodo Ideal II


La caracter stica del rozamiento i

Fenómenos más complejos, como la característica del rozamiento, tienen que analizarse con mucho cuidado caso por caso.

Se habla aquí de como puede hacerse usando el ejemplo del rozamiento.

fB

R0

Rm

Rozamiento viscoso

v

Rozamiento seco

-Rm

-R0

La Característica del Rozamiento I

Si v  0 , la fuerza de rozamiento es una función de la velocidad.

Si v = 0 , la fuerza de rozamientose calcula tal que la velocidad mantiene un valor de 0.


La caracter stica del rozamiento ii

Distinguimos entre cinco situaciones:

Pegado:

La fuerza de rozamiento compensa la suma de todas las fuerzas conectadas, salvo si |Sf | > R0 .

v = 0 a = 0

Avanzando:

v > 0

La fuerza de rozamientose calcula usando:

fB = Rv · v + Rm.

Retrocediendo:

v < 0

La fuerza de rozamientose calcula usando:

fB = Rv·v -Rm.

Empezando a avanzar:

v = 0 a > 0

La fuerza de rozamientose calcula usando:

fB = Rm.

Empezando a retroceder:

v = 0 a < 0

La fuerza de rozamientose calcula usando:

fB =-Rm.

La Característica del Rozamiento II


El diagrama de transici n entre estados

El conjunto de eventos puede describirse por un diagrama de transición entre estados.

Principio

v < 0

v > 0

v = 0

Sf < -R0

Sf > +R0

Aceleración hacia atrás(a < 0)

Aceleración hacia adelante(a > 0)

Pegado (a = 0)

Movimiento hacia atrás(v < 0)

Movimiento h. adelante(v > 0)

a  0 and not v < 0

a  0 and not v > 0

v  0

v  0

v < 0

v > 0

El Diagrama de Transición entre Estados


El modelo del rozamiento i

El Modelo del Rozamiento I

model Friction;

parameter Real R0, Rm, Rv;

parameter Boolean ic=false;

Real fB, fc;

Boolean Sticking (final start = ic);

Boolean Forward (final start = ic), Backward (final start = ic);

Boolean StartFor (final start = ic), StartBack (final start = ic);

fB = if Forward then Rv*v + Rm else

if Backward then Rv*v - Rm else

if StartFor then Rm else

if StartBack then -Rm else fc;

0 = if Sticking or initial() then a else fc;


El modelo del rozamiento ii

when Sticking and not initial() then

reinit(v,0);

end when;

Forward = initial() and v > 0or

pre(StartFor)and v > 0or

pre(Forward) and not v <= 0;

Backward = initial() and v < 0or

pre(StartBack)and v < 0or

pre(Backward) and not v >= 0;

El Modelo del Rozamiento II


El modelo del rozamiento iii

StartFor = pre(Sticking) and fc > R0or

pre(StartFor)and not (v > 0or a <= 0and not v > 0);

StartBack = pre(Sticking) and fc < -R0or

pre(StartBack)and not (v < 0or a >= 0and not v < 0);

Sticking = not (Forward or Backward or StartFor or StartBack);

end Friction;

El Modelo del Rozamiento III


Referencias i

Cellier, F.E. (1979), Combined Continuous/Discrete System Simulation by Use of Digital Computers: Techniques and Tools, PhD Dissertation, Swiss Federal Institute of Technology, ETH Zürich, Switzerland.

Elmqvist, H., F.E. Cellier, and M. Otter (1993), “Object-oriented modeling of hybrid systems,” Proc. ESS'93, SCS European Simulation Symposium, Delft, The Netherlands, pp.xxxi-xli.

Cellier, F.E., M. Otter, and H. Elmqvist (1995), “Bond graph modeling of variable structure systems,” Proc. ICBGM'95, 2nd SCS Intl. Conf. on Bond Graph Modeling and Simulation, Las Vegas, NV, pp. 49-55.

Referencias I


Referencias ii

Elmqvist, H., F.E. Cellier, and M. Otter (1994), “Object-oriented modeling of power-electronic circuits using Dymola,” Proc. CISS'94, First Joint Conference of International Simulation Societies, Zurich, Switzerland, pp. 156-161.

Glaser, J.S., F.E. Cellier, and A.F. Witulski (1995), “Object-oriented switching power converter modeling using Dymola with event-handling,” Proc. OOS'95, SCS Object-Oriented Simulation Conference, Las Vegas, NV, pp. 141-146.

Referencias II


  • Login