Recent Changes - Search:

Información

Instalación

Documentación

Sugerencias de usuarios

 

Eventos

Algunas veces, cuando estamos implementando la evolución de nuestra simulación mediante la resolución de un sistema de ecuaciones diferenciales, deseamos que el sistema detecte que cierta condición dependiente de las variables del mismo se ha producido y que nos permita realizar en ese punto algunas correcciones para ajustar nuestra simulación.

 

Por ejemplo, nos encontramos ante un evento cuando realizamos la simulación del movimiento de una pelota de baloncesto que al encontrarse con el suelo rebota. La solución numérica para estas ecuaciones no tendrá en cuenta, por sí misma, el hecho de que la solución calculada puede situar a la pelota en una posición bajo tierra, ésto es, . Como el método para la solución numérica avanza mediante saltos en el tiempo es muy difícil que el momento de la colisión de la pelota con el suelo coincida con una de las soluciones dadas, situando entonces a la pelota en un estado, digámoslo así, ilegal. De hecho, podríamos preferir que el ordenador por si mismo hubiese detectado el problema y hubiese detenido momentáneamente la simulación en el momento preciso de la colisión aplicando entonces el código necesario para simular el rebote de la pelota contra el suelo y continuando después desde esas condiciones iniciales.

 

De forma más precisa, definimos un evento como un cambio de signo de una función real de las variables de estado (las variables que se derivan) y de la variable independiente de una EDO.(Los eventos causados sólo por la variable independiente se suelen llamar eventos temporales.). Para facilitar nuestra explicación y ya que todas las variables dependen de la variable independiente, denotaremos por a la función que cambia de signo en el evento.

 

 

 

 

Para ayudarle a programar este tipo de sucesos el editor de EDO de EJS dispone de un botón con el rótulo Eventos que le llevará a una nueva ventana con un nuevo editor. Junto al botón podemos observar un campo numérico que nos muestra el número de eventos incorporados a nuestra simulación. La creación y manejo de las páginas en esta ventana es igual al del resto de subpaneles del panel Modelo.

 

 

 

En la nueva ventana encontrará dos secciones de edición diferenciadas a parte del campo de texto destinado a comentarios.
En la sección superior se indicará cómo se detecta el evento. Escribiremos aquí el código que calcula la función que va a cambiar de signo. Este código tiene que devolver un valor de tipo double por lo que ya incorpora por defecto el código return 1.0; el cual no causa ningún evento. En el campo situado en la esquina superior derecha de esta sección estableceremos el valor de la tolerancia que deseamos para localizar el evento.

 

 

Edit - History - Print - Recent Changes - Search
Page last modified on August 05, 2009, at 11:59 PM