• No se han encontrado resultados

Análisis visual de la evolución de zonas de comportamiento similar en fluidos dependientes del tiempo

N/A
N/A
Protected

Academic year: 2020

Share "Análisis visual de la evolución de zonas de comportamiento similar en fluidos dependientes del tiempo"

Copied!
89
0
0

Texto completo

(1)U NIVERSIDAD CENTRAL “M ARTA A BREU ” DE L AS V ILLAS FACULTAD DE M ATEMÁTICA , F ÍSICA Y C OMPUTACIÓN C ENTRO DE E STUDIOS DE I NFORMÁTICA. E N OPCIÓN AL TÍTULO DE MÁSTER EN C IENCIA DE LA C OMPUTACIÓN. A NÁLISIS VISUAL DE LA EVOLUCIÓN DE ZONAS DE COMPORTAMIENTO SIMILAR EN FLUIDOS DEPENDIENTES DEL TIEMPO. AUTOR : L IC . R EINIER OVES G ARCÍA T UTOR : D R . C ARLOS P ÉREZ R ISQUET.

(2) R ESUMEN La visualización de fluidos se basa en el estudio de los métodos de visualización que permiten representar las propiedades de los líquidos y los gases sobre una región determinada. Extraer zonas de comportamiento similar en campos vectoriales dependientes del tiempo es una tarea no trivial que requiere de herramientas sofisticadas y grandes requerimientos de hardware. En la presente investigación se desarrolla un mecanismo que permite identificar de manera efectiva las zonas de comportamiento similar en campos vectoriales estacionarios. Este mecanismo está implementado sobre la base del algoritmo de agrupamiento basado en particiones kmenas y permite determinar y explorar la evolución de una zona de comportamiento similar en el tiempo. Se definen dos formas de representar la evolución de las zonas de comportamiento similar. La primera se realiza a través de la visualización del elemento más representativo de la zona y la segunda y a través de un grafo que describe las bifurcaciones de las regiones en el tiempo. Los resultados prácticos y teóricos de dicha investigación se encuentran implementados en lenguaje C++ en el paquete de herramientas FlowVisTools, el cual ofrece la posibilidad de extensión e integración en otros sistemas de visualización.. 1.

(3) A BSTRACT Fluid visualization is based on the study of visualization methods that represent the properties of liquids and gases on a given region. The extraction of areas of similar flow behavior in unsteady vector fields is a non-trivial task that requires of sophisticated tools and big hardware requirements. In this work is developed a mechanism to identify areas of similar behavior in steady vector fields in an effective way. The implementation of this mechanism depends on both, the kmeans clustering algorithm and the visual exploration of areas with similar flow behavior in each time step. We define two forms to represent the evolution of similar flow behavior in unsteady vector fields. The first way shows the evolution of the most representative element in each region and the second way represents the entire region with a graph visualization technique where nodes represent each zone in time and edges represents the evolution process. The practical and theoretical results of this research are implemented in C++ language as a library and each independent program is integrated in the toolkit FlowVisTools which offers the possibility of extension and integration in other display systems.. 2.

(4) Í NDICE I NTRODUCCIÓN P ROBLEMA DE I NVESTIGACIÓN . . . . O BJETIVOS . . . . . . . . . . . . . . . P REGUNTAS DE I NVESTIGACIÓN . . . H IPÓTESIS DE I NVESTIGACIÓN . . . . V IABILIDAD DE LA I NVESTIGACIÓN . J USTIFICACIÓN DE LA I NVESTIGACIÓN E STRUCTURA DE LA T ESIS . . . . . .. . . . . . . .. 5 7 7 8 8 9 9 9. . . . . . . . . . . . . . . . . .. 11 11 14 16 18 19 20 21 21 22 23 25 26 26 27 28 29 30. Z ONAS DE COMPORTAMIENTO SIMILAR EN CAMPOS VECTORIALES . . . . . . . F UNCIONES DE DISTANCIA PARA EL AGRUPAMIENTO EN CAMPOS VECTORIALES 2.2.1 D ISTANCIA ENTRE LOS PUNTOS MÁS CERCANOS (DC ) . . . . . . . . . . 2.2.2 D ISTANCIA MEDIA (DM ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 D ISTANCIA DE H AUSDORFF (DH ) . . . . . . . . . . . . . . . . . . . . . . 2.2.4 D ISTANCIA CON DISTRIBUCIÓN PROBABILÍSTICA . . . . . . . . . . . . . 2.2.5 D ISTANCIA ENTRE RASGOS . . . . . . . . . . . . . . . . . . . . . . . . .. 32 35 36 37 38 38 38 39. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 1 C ARACTERÍSTICAS TOPOLÓGICAS DE LOS CAMPOS VECTORIALES 1.1 C AMPOS VECTORIALES Y ESCALARES . . . . . . . . . . . . . . . 1.2 C AMPOS VECTORIALES DEPENDIENTES DEL TIEMPO . . . . . . . 1.3 P UNTOS CRÍTICOS . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 C URVAS CARACTERÍSTICAS DE LOS CAMPOS VECTORIALES . . . 1.4.1 S TREAMLINES . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 PATHLINES . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 T IMELINES . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 S TREAKLINES . . . . . . . . . . . . . . . . . . . . . . . . 1.5 I NTEGRACIÓN DE CURVAS CARACTERÍSTICAS . . . . . . . . . . . 1.5.1 M ÉTODO DE RUNGE -K UTTA . . . . . . . . . . . . . . . . 1.5.2 C ÁLCULO DE STREAMLINES . . . . . . . . . . . . . . . . 1.5.3 C ÁLCULO DE PATHLINES . . . . . . . . . . . . . . . . . . 1.6 V ISUALIZACIÓN DE CAMPOS VECTORIALES . . . . . . . . . . . . 1.6.1 V ISUALIZACIÓN DIRECTA DE CAMPOS VECTORIALES . . 1.6.2 V ISUALIZACIÓN BASADA EN INTEGRACIÓN . . . . . . . . 1.6.3 V ISUALIZACIÓN DE RASGOS TOPOLÓGICOS . . . . . . . . 1.7 C ONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 E XTRACCIÓN. DE. ZONAS. DE. COMPORTAMIENTO. SIMILAR. . . . . . . .. . . . . . . . . . . . . . . . . .. EN. . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . . .. CAMPOS. VECTORIALES. 2.1 2.2. 3.

(5) 2.3. 2.4. 2.5. AGRUPAMIENTO EN CAMPOS VECTORIALES . . . . . . . . . . . . . . . . . . . . 2.3.1 AGRUPAMIENTO EN CAMPOS VECTORIALES ESTACIONARIOS . . . . . . 2.3.2 AGRUPAMIENTO EN CAMPOS VECTORIALES DEPENDIENTES DEL TIEMPO 2.3.2.1 V ISUALIZACIÓN DE LA EVOLUCIÓN DEL ELEMENTO MÁS REPRESENTATIVO DE UN GRUPO . . . . . . . . . . . . . . . . . 2.3.2.2 V ISUALIZACIÓN DEL GRAFO DE EVOLUCIÓN DE LAS ZONAS DE COMPORTAMIENTO SIMILAR EN EL FLUIDO . . . . . . . . . H ERRAMIENTAS PARA LA EXPLORACIÓN VISUAL DE CAMPOS VECTORIALES . . 2.4.1 B IBLIOTECAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 A PLICACIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C ONCLUSIONES PARCIALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3 F LOW V IS T OOLS : H ERRAMIENTAS. PARA. LA. EXPLORACIÓN. DE. 3.2. 3.3. 45 49 54 54 56 58. CAMPOS. . . . . . . . . . .. 59 60 61 62 63 65 66 67 70 70 71. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A NÁLISIS DE LOS RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . C ONCLUSIONES PARCIALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 72 76 77. VECTORIALES. 3.1. 39 40 42. D ESCRIPCIÓN DE LAS HERRAMIENTAS . . . . . . . . . . . . . . . . . 3.1.1 streamline_viewer: . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 vtk_streamline_viewer: . . . . . . . . . . . . . . . . . . . . . . 3.1.3 steady_flow_clustering: . . . . . . . . . . . . . . . . . . . . . . 3.1.4 tracking_evolution: . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 vtk_tracking_evolution: . . . . . . . . . . . . . . . . . . . . . . 3.1.6 tracking_evolution_graph: . . . . . . . . . . . . . . . . . . . . D ESCRIPCIÓN DE LOS DATOS . . . . . . . . . . . . . . . . . . . . . . 3.2.1 F ORMATO DE DATOS A MIRA M ESH . . . . . . . . . . . . . . . 3.2.2 F ORMATO DE DATOS PRODUCIDOS POR LAS HERRAMIENTAS A NÁLISIS Y COMPARACIÓN DE LAS. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. IMPLEMENTACIONES REALIZADAS EN SERIE Y PARALELO. 3.4 3.5. C ONCLUSIONES. 78. R ECOMENDACIONES. 80. R EFERENCIAS B IBLIOGRÁFICAS. 81. 4.

(6) I NTRODUCCIÓN La visualización es la capacidad creativa que existe en el comportamiento social de las personas para expresar fenómenos y conocimientos a través de imágenes descriptivas. En el área de la computación gráfica y el diseño ingenieril la visualización tiene un significado más específico: mostrar el comportamiento y las particularidades de grandes volúmenes de información, descubriendo así las relaciones que existen entre los datos y no resaltan de manera fácil a la vista de los humanos (Gallagher/Press, 1994). Una de las principales áreas de investigación dentro de la Computación Gráfica (CG) es la Visualización Científica (VC). La VC tiene un propósito bien definido: presentar los resultados del análisis de datos, ya sean obtenidos a partir de simulaciones o a través de mediciones reales. De manera significativa permite identificar y analizar características intrínsecas en los datos, así como detectar patrones, tendencias y anomalías presentes en los mismos (Hansen/Johnson, 2005). La ciencia moderna tiene una tendencia de integración multidisciplinaria (Oves Garcia R et al., 2011b; Oves Garcia R et al., 2011a), ya que los problemas reales de la vida, se vuelven cada día más difíciles de entender por un solo especialista. La mayoría de los retos de la ciencia actual involucran especialistas con conocimientos en las más diversas áreas de investigación (bases de datos, visualización científica, modelación, simulación, estadísticas, etc.). Las características inherentes de muchos problemas reales ha provocado la creación de grupos científicos alrededor del mundo con estas particularidades, donde los especialistas en el área de la VC desempeñan un papel fundamental. La Visualización Científica permite alcanzar diferentes metas que se encuentran relacionadas directamente con la naturaleza del objetivo y el conocimiento previo que se tenga de los datos. La Visualización Científica se caracteriza por el tipo de datos con que se operan (Risquet/Ortega, 2005) y puede dividirse en tres grandes grupos (Abello/Korn, 2002; Theisel, 2001) Análisis exploratorio Análisis confirmativo Presentación de información El análisis exploratorio: se tiene un conjunto de datos sin una hipótesis específica. Estos se someten a un proceso de búsqueda interactiva de información que va a arrojar como resultado una 5.

(7) visualización que soporte una hipótesis sobre el conjunto de datos. En (Oves García R/Vázquez Rodríguez R/Pérez Risquet C, 2009b; Oves García R/Vázquez Rodríguez R/Pérez Risquet C, 2009a; Oves García R et al., 2011; Oves García R/Vázquez Rodríguez R/Pérez Risquet C, 2012) se utiliza la visualización científica como herramienta de apoyo en el proceso de toma de decisiones desde el punto de vista meteorológico. El análisis confirmativo: se tiene un conjunto de datos sobre los que se plantea una hipótesis. Se realiza un procesamiento de los mismos que genera una visualización mediante la cual se pueda validar o refutar la hipótesis planteada. La presentación de información: parte de hechos que son fijos a priori y que se desean enfatizar y mostrar con extrema calidad. El análisis visual de campos vectoriales se ha convertido en una de las principales áreas de investigación dentro de la computación gráfica. La visualización de fluidos se basa en el estudio de los métodos de visualización que permiten representar las propiedades de los líquidos y los gases sobre una región determinada. La dinámica computacional de fluidos CFD (por las siglas en inglés de Computational Fluids Dynamics) ha extendido la capacidad creativa de los científicos a estudiar fluidos creados por simulaciones. La obtención de datos de laboratorio (a través de simulaciones) permite extender los problemas a dominios con condiciones extremas (ejemplo: condiciones de fronteras irregulares). Los datos provenientes de simulaciones se muestran sobre dominios discretos en 2D, 3D y 4D, esta última es un caso especial de campos vectoriales que involucran la variable temporal en 3D. Existe un numeroso grupo de áreas de investigación donde los datos se muestran sobre dominios vectoriales, y donde la visualización de fluidos juega un papel fundamental en el análisis y comprensión de la información. Las principales áreas de aplicación de la visualización de fluidos son la industria aeronáutica y la automovilística. En estas industrias se crean modelos computacionales que describen la geometría de los prototipos y utilizando herramientas CFD1 , modelan el comportamiento del campo vectorial que describe el aire alrededor de la geometría. Las técnicas de visualización de fluidos existentes permiten extraer zonas de interés para los especialistas, las cuales ayudan a refinar los prototipos y lanzar un producto con el menor número de fallos posibles. El estudio del comportamiento del flujo sanguíneo y el transporte de sustancias a través de la sangre es un área de investigación donde las técnicas de análisis visual de fluidos juegan un papel fundamental. Las aneurismas cerebrales son un caso de estudio incesante dentro de la medicina. Debido a la urgencia médica que requieren los pacientes comprometidos por tal patología, se han integrado comunidades de especialistas de las más diversas áreas de investigación para comprender el fenómeno. La visualización de fluidos se utiliza desde hace muchos años como una herramienta importante en el proceso de comprensión de la circulación sanguínea dentro de una región específica (Budwig et al., 1993; Nakatani et al., 1991; Niimi/Kawano/Sugiyama, 1 Herramientas. propias de la dinámica computacional de fluidos. 6.

(8) 1983; Steiger et al., 1987; Steinman et al., 2003). En la meteorología se aplican las técnicas de visualización de fluidos como herramientas de apoyo en el estudio del comportamiento de los huracanes. La visualización de las líneas de fluido del huracán codificadas con los valores de magnitud ayudan a comprender y estimar de manera eficiente las trayectorias del mismo. El transporte de contaminantes es también un área de investigación activa donde se aplican eficientemente los métodos del análisis visual de campos vectoriales para estimar apropiadamente las zonas de mayor concentración de un contaminante dado, ya sea transportado por un medio líquido o gaseoso (Snyder, 1985). Como se puede apreciar, existen diversas áreas de aplicación para la visualización y análisis de campos vectoriales. Los campos vectoriales dependientes del tiempo describen con mayor exactitud los problemas reales de la vida, y por tanto despiertan mayor interés en los investigadores del área. En la actualidad existen numerosas técnicas para el análisis visual de datos de fluidos, que permiten la exploración directa e indirecta de los datos. La extracción de zonas de comportamiento similar en fluidos dependientes del tiempo, es una de las temáticas más interesantes, y sin embargo menos estudiada, dentro del análisis visual de campos vectoriales, por lo que constituye el problema a abordar en esta investigación.. P ROBLEMA DE I NVESTIGACIÓN Hasta el momento existe una gran variedad de técnicas que detectan estructuras coherentes en fluidos estacionarios2 (Rossl/Theisel, 2012), pero estas técnicas dejan de ser efectivas cuando los datos dependen del tiempo. No se conocen métodos o algoritmos eficaces para representar y analizar la evolución de determinadas zonas de interés de un campo vectorial dependiente del tiempo (2D o 3D). Para contribuir a la solución del problema anterior se definen para este trabajo los siguientes objetivos.. O BJETIVO G ENERAL Desarrollar nuevos métodos y herramientas para analizar visualmente la evolución de las zonas de comportamiento similar en fluidos dependientes del tiempo.. O BJETIVOS E SPECÍFICOS Realizar un estudio sistemático de las principales propiedades de los campos vectoriales para determinar cuáles de ellas resultan apropiadas para la caracterización y extracción de zonas 2 Campos. vectoriales que no dependen del tiempo. Análogamente, los campos vectoriales que dependen del tiempo se denominan no estacionarios. 7.

(9) de comportamiento similar en fluidos dependientes del tiempo. Definir e implementar medidas apropiadas para la comparación de aquellas propiedades de los campos vectoriales que resultan interesantes para identificar las zonas de comportamiento similar. Seleccionar e implementar un algoritmo de agrupamiento apropiado para la segmentación de fluidos en zonas de comportamiento similar. Determinar la evolución de las zonas de comportamiento similar en fluidos dependientes del tiempo. Definir nuevas metáforas visuales para el estudio de fluidos dependientes del tiempo mediante el análisis visual de la evolución de las zonas de comportamiento similar.. P REGUNTAS DE I NVESTIGACIÓN ¿Cuál algoritmo de integración numérica se adecúa mejor para calcular las curvas tangentes de los campos vectoriales dependientes del tiempo? ¿Qué medida de distancia es la más adecuada para comparar líneas de fluido teniendo en cuenta la geometría y la posición geográfica de las mismas? ¿Cuál algoritmo de agrupamiento es el adecuado para aplicar sobre datos de fluidos? ¿Cómo definir y visualizar la evolución de las zonas de comportamiento similar en fluidos dependientes del tiempo?. H IPÓTESIS DE I NVESTIGACIÓN El agrupamiento es una buena técnica para encontrar zonas de comportamiento similar en campos vectoriales La visualización de las curvas tangentes es adecuadas para representar zonas de comportamiento similar obtenidas por algoritmos de agrupamiento, a partir de funciones de distancias definidas sobre los esquemas de integración numérica que se aplican sobre los campos vectoriales. La representación visual de los elementos más representativos de las zonas de comportamiento similar (centroides) obtenidos en cada instante de tiempo es adecuada para el estudio de la evolución de las zonas de comportamiento similar en fluidos no estacionarios. Visualizar el grafo que describe la evolución de las zonas de comportamiento similar en fluidos dependientes del tiempo facilita la comprensión de los mismo por los especialistas. 8.

(10) V IABILIDAD DE LA I NVESTIGACIÓN En el grupo de investigación de Computación Gráfica del Centro de Estudios de Informática de la Universidad Central “Marta Abreu” de Las Villas, se cuenta con el personal de consulta necesario para la realización de este trabajo. Existe la bibliografía adecuada y actual para comprender las técnicas de visualización y métodos numéricos necesarios en el proceso de búsqueda de solución del problema planteado, así como las capacidades de hardware gráfico para visualizar los resultados. En dicha universidad se cuenta también con un centro de datos que posee altas prestaciones. Este centro de datos está disponible para ejecutar los algoritmos que efectúan el procesamiento previo3 de los datos y posee las tecnologías adecuadas para la protección de la información.. J USTIFICACIÓN DE LA I NVESTIGACIÓN El desarrollo creciente de las tecnologías computacionales ha hecho que las simulaciones de laboratorio aproximen satisfactoriamente a las soluciones del mundo real. Dichas simulaciones generan grandes volúmenes de información, la cual se utiliza para conocer el desempeño normal o anormal de un proceso determinado. Resultaría beneficioso para el proceso de toma de decisiones que estos datos fueran recolectados por grupos de semejanza, donde la similitud entre los elementos sea proporcional a la distancia4 entre ellos. La recolección de datos, en la mayoría de los problemas reales involucran el tiempo como una variable decisiva en el proceso de análisis. El agrupamiento de este tipo de datos se ha convertido en un reto constante dentro de las diferentes áreas de investigación ya que brinda la posibilidad de adquirir una mejor comprensión de las características comunes de los conjuntos de datos y permite observar el comportamiento general de los datos respecto al tiempo. Por otra parte, sería un paso más a dar en lo que concierne a los esfuerzos realizados en el área de campos vectoriales, ya que hasta el momento se ha trabajado en el análisis, visualización y agrupamiento de campos vectoriales estacionarios (McKenzie/Lombeyda/Desbrun, 2005), y se han dejado las directrices para extender esta noción hacia 4D (3D + tiempo), es decir, los campos no estacionarios.. E STRUCTURA DE LA T ESIS El presente trabajo está estructurado en tres capítulos. El Capítulo 1 describe el conjunto de definiciones matemáticas necesarias para el entendimiento de la teoría relacionada con la tesis. Se muestran definiciones como la de campo vectorial, campo escalar, curvas tangentes, puntos críticos, 3 Se. refiere a todo el procesamiento que se realiza sobre los datos antes de visualizar los resultados que se utiliza para comparar dos elementos de un conjunto de datos.. 4 Métrica. 9.

(11) etc. Así como los algoritmos más utilizados en la extracción de curvas tangentes. También se realiza el estado del arte de la visualización de campos vectoriales. El Capítulo 2 resume el estado del arte del agrupamiento sobre campos vectoriales, así como las principales funciones de distancia empleadas para comparar rasgos del fluido. También en este capítulo se mencionan las principales herramientas basadas en software libre y software propietario utilizadas en la exploración visual de campos vectoriales y se presenta el mecanismo propuesto por el autor para extraer y representar de manera visual la la evolución de las zonas de comportamiento similar en campos vectoriales dependientes del tiempo. En el Capítulo 3 se presenta un análisis de los resultados obtenidos, así como las características intrínsecas de la implementación de las herramientas. Por otra parte, se establecen comparaciones sobre la implementación en serie y en paralelo del algoritmo que calcula la matriz de distancia empleada en el agrupamiento. En este capítulo también se explica como trabajar con las herramientas y los requerimientos necesarios para realizar una adecuada extensión de las mismas.. 10.

(12) Capítulo 1 C ARACTERÍSTICAS TOPOLÓGICAS DE LOS CAMPOS VECTORIALES Las funciones, ampliamente empleadas en la ingeniería para modelar matemáticamente y caracterizar magnitudes físicas, pueden tener un rango unidimensional o multidimensional. El primer tipo de funciones (rango unidimensional) se define como campo escalar, y esta se corresponde a una magnitud física, que requiere sólo de un número para su caracterización. Un campo escalar, por tanto, es una función escalar, cuyo valor depende del punto que se estudie. Un ejemplo de este tipo de funciones puede ser la distribución de temperaturas dentro de un cuerpo, la presión ejercida sobre un cuerpo por un fluido, o un potencial eléctrico. Los campos vectoriales se corresponden con el segundo tipo de funciones (rango multidimensional), donde una magnitud física requiere de un vector para su descripción, como puede ser, por ejemplo, el flujo de un fluido o un campo de fuerzas gravitacionales o eléctricas. En el mundo real los campos vectoriales en tercera dimensión (3D) suelen aparecer con mayor frecuencia que los bidimensionales (2D). El presente trabajo está enfocado fundamentalmente a la visualización de campos vectoriales 3D (Oves G. R, 2013).. 1.1.. C AMPOS VECTORIALES Y ESCALARES. Un campo vectorial es una función inyectiva (Godino et al., 2006), que asocia a cada elemento del dominio un valor vectorial. Análogamente un campo escalar es una función inyectiva que asocia a cada elemento del dominio un valor escalar. De forma general, un campo vectorial se define como una función V : D ⊆ Rn → Rm , que asigna a cada punto x ∈ D un vector Fx = ( f1 (x) , f2 (x) , ..., fm (x)) ∈ Rm , donde fi (x) son funciones escalares con i = 1..m. Haciendo uso de la definición anterior se define un campo vectorial 2D y 3D de la siguiente manera (Weinkauf, 2008; Shi et al., 2008):. 11.

(13) a). b) . Figura 1.1: Campos vectoriales. a) V =.    sin (π ∗ x) sin (π ∗ x) . b) V =  sin (π ∗ y)  sin (π ∗ y) sin (π ∗ z). Campo vectorial 2D (ver figura 1.1.a): V : D ∈ R2 → R2 , u (x, y) v (x, y). X = (x, y) → V (X) = V (x, y) =. ! (1.1). Campo vectorial 3D (ver figura 1.1.b): V : D ∈ R3 → R3 , .  u (x, y, z)   X = (x, y, z) → V (X) = V (x, y, z) =  v (x, y, z)  w (x, y, z). (1.2). De manera similar se define un campo escalar como una función S : D ∈ Rn → R, que asigna a cada punto x ∈ D un valor escalar Fx =S (x) ∈ R. Los casos más relevantes en la ciencia se presentan en 2 y 3 dimensiones (Sabella, 1988):. 12.

(14) a). b). c). Figura 1.3: Campo escalar en 3D. a) representa las isosuperfices de valor 1, 2, 3 y 4. b) visualiza el campo escalar en todos sus puntos a través de una técnica de visualización de volumen. c) representa una combinación de campos escalares 2D y 3D en la misma visualización.. a). b). Figura 1.2: Representación de campos escalares bidimensionales. a) representa el campo escalar asociado a un plano de corte del campo escalar 3D descrito en la figura 1.3.c) . b) representa el campo escalar asociado a una distribución aleatoria.. Campo escalar 2D (ver figura 1.2): S : D ⊆ R2 → R. Ejemplo: X = (x, y) → S (X) = −y + x. (1.3). Campo escalar 3D (ver figura 1.3): S : D ⊆ R3 → R. Ejemplo: X = (x, y, z) → S (X) =. 13. sin (x ∗ y ∗ z) (x ∗ y ∗ z). (1.4).

(15) Los campos escalares no constituyen el principal objeto de estudio de esta investigación, pero son empleados para el estudio de algunas propiedades f ı́sico − matemáticas de los campos vectoriales.. 1.2.. C AMPOS VECTORIALES DEPENDIENTES DEL TIEMPO. Cuando un campo vectorial es medido en varios intervalos de tiempo, se dice que es un campo vectorial dependiente del tiempo (en inglés: unsteady vector field). La inclusión de este nuevo parámetro dificulta la exploración y el análisis del mismo, debido a las limitaciones del espacio visual reconocible por los humanos. Para el caso de campos vectoriales dependientes del tiempo en tres dimensiones, agregar el parámetro tiempo, conlleva a la formación de un campo vectorial 4D, el cual es imposible de visualizar directamente. En la actualidad existen diversas técnicas que posibilitan el análisis de este tipo de datos, las cuales serán abordadas con posterioridad. Hasta el momento solo se han tratado los campos estacionarios1 con imágenes2 vectoriales y escalares. Debido a que el objeto de estudio del presente trabajo está enfocado en la visualización de las zonas de comportamiento similar en fluidos dependientes del tiempo, es necesario establecer la definición matemática de los campos vectoriales dependientes del tiempo. Un campo vectorial dependiente del tiempo se define como una función inyectiva que varía en el tiempo y su formulación matemática se describe de forma general como la función V : [D ⊆ Rn ] x [T ⊆ R] → Rm , donde a cada elemento [x,t] ∈ [DxT ] se le asigna un vector:  F[i,t] (x) = f[1,t] (x) , f[2,t] (x) , ..., f[n,t] (x). (1.5). donde i = [1..n] y t = [t1 ..tn ]. A partir de esta definición se evidencia que si proyectamos un campo vectorial dependiente del tiempo sobre un instante de tiempo determinado, se obtiene un campo vectorial estacionario. Esta afirmación (Helman/Hesselink, 1991a) constituye el punto de partida de nuestra investigación.. Campo vectorial dependiente del tiempo 2D (ver figura 1.4):. .  u (x, y,t)   V (x, y,t) =  v (x, y,t)  a (x, y,t) 1 Campos 2 La. que no dependen del tiempo palabra imagen en este caso se refiere a la imagen de la función y no al gráfico que describe la misma. 14. (1.6).

(16) Figura 1.4: Campo vectorial dependiente del tiempo en dos dimensiones V describe un campo vectorial estacionario 3D y la dimensión auxiliar a (x, y,t) ≡ 1, puede interpretarse como el parámetro tiempo, donde ax =ay = at ≡ 0. La proyección de V en el instante de tiempo ti produce un campo vectorial estacionario 2D, el cual se define de la siguiente manera:. u (x, y,ti ) v (x, y,ti ). V (x, y,ti ) =. ! (1.7). Campo vectorial dependiente del tiempo 3D:.    V (x, y, z,t) =   . u (x, y, z,t) v (x, y, z,t) w (x, y, z,t) a (x, y, z,t).      . (1.8). V describe un campo vectorial estacionario 4D y la dimensión auxiliar a (x, y, z,t) ≡ 1, puede interpretarse como el parámetro tiempo, donde ax =ay = az = at ≡ 0. La proyección de V en el instante de tiempo ti produce un campo vectorial estacionario en 3D, el cual se define de la siguiente manera:. .  u (x, y, z,ti )   V (x, y, z,ti ) =  v (x, y, z,ti )  w (x, y, z,ti ). (1.9). La principal limitación de la Visualización Científica es el espacio de dimensiones. Cuando la dimensión de los datos excede de tres, aumenta la complejidad de los problemas. En situaciones 15.

(17) reales de la vida, los problemas asociados a la hidrodinámica, aerodinámica, medicina, química, etc. involucran la variable tiempo en los datos, como parámetro decisivo de su descripción. Tal característica permite la extracción del comportamiento de los datos en el tiempo, aunque se dificulta en gran medida su representación visual. Los campos vectoriales dependientes del tiempo no están exentos de los problemas de la dimensionalidad de los datos. Las descripciones propuestas en la ecuación (1.6) no representan un problema para la visualización cuando D ⊆ R2 . Si D ⊆ R3 , la dimensión deV excede de tres y por lo tanto existe la necesidad de crear métodos que posibiliten la extracción adecuada del comportamiento y características que se quieren visualizar.. 1.3.. P UNTOS CRÍTICOS. Los puntos críticos son localizaciones del campo vectorial se desvanece (el campo vectorial no es diferenciable en ese punto o la derivada es 0). En la mayoría de los casos los datos del campo vectorial se encuentran expresados sobre dominios discretos y por tanto encontrar los puntos críticos se traduce a encontrar los puntos donde el vector posee norma 0. En (Berrios, 2012) se encuentran los algoritmos necesarios para calcular los puntos críticos de un campo vectorial explotando la capacidad de cómputo de la GPU (por las siglas en inglés de Graphics Processing Unit). Cuando se estudian las características topológicas de los fluidos no estacionarios, en los cuales varía el parámetro tiempo, es imprescindible abordar el concepto de punto crítico (singularidades), ya que la posición que estos ocupan con el cambio en el tiempo, nos ayuda a comprender el comportamiento topológico del fluido. Las streamlines (ver epígrafe 1.4.1) que conectan dos puntos críticos se denominan separatrices y requieren de especial atención, ya que dividen el fluido en zonas de comportamiento similar (Helman/Hesselink, 1991a). En lo que concierne a singularidades de primer orden, existen 5 tipos comunes (ver figura 1.5). Los nodos y focos de atracción constituyen depresiones, mientras que los nodos y focos de repulsión se les llaman orígenes.. Figura 1.5: Singularidades de primer orden. 16.

(18) Otro aspecto importante a tener en cuenta es el llamado índice de los puntos críticos, definido como el número de rotaciones del campo que hay al rodear el punto crítico a lo largo de una curva cerrada, en sentido contrario a las manecillas del reloj. La estructura cualitativa de la topología puede variar de un estado estable a otro. Tales cambios se les llaman bifurcaciones (Tricoche/Scheuermann/Hagen, 2001). Podemos distinguir dos clases de tales bifurcaciones: por un lado están las que solo afectan un solo punto o una órbita cerrada y de este modo el correspondiente nuevo estado estable se encuentra en una vecindad. A este tipo se les llama bifurcaciones locales. Por otro lado, las bifurcaciones que cambian la estructura global del fluido y no pueden ser deducidas a partir de información local se les llaman bifurcaciones globales. Bifurcaciones locales. En realidad existen dos tipos principales de bifurcaciones locales que afectan la naturaleza de los puntos de un fluido dependiente del tiempo. La primera se llama bifurcación Hopf y la segunda se llama bifurcación plegada (o aniquilación pareada). En las bifurcaciones de Hopf (Golubitsky/Schaeffer/Stewart, 1988; Marsden/McCracken, 1976) se tiene un foco de atracción o una depresión. Cuando este se debilita, el número de streamlines de tipo rotatorias alrededor de este punto crítico aumenta. Matemáticamente esto corresponde a un aumento de la parte negativa real de los valores propios complejos conjugados de la matriz Jacobiana asociada a ese punto crítico. Cuando la parte real es cero, tenemos un punto central, la cual es una estructura inestable, es decir, ha ocurrido una bifurcación. Si la parte real aumenta aún más, aparece una nueva estructura estable, la cual consiste en una órbita cerrada, que suele alejarse del punto crítico. Este último se ha transformado en un foco de repulsión, es decir, un origen. Así, una depresión se ha transformado en un origen. Invirtiendo la dirección del tiempo, obtenemos el proceso inverso (Tricoche/Scheuermann/Hagen, 2001) La figura (1.6) muestra esta evolución.. Figura 1.6: Bifurcación de Hopf. Las bifurcaciones plegadas (aniquilación pareada) ocurren cuando tenemos un punto de ensilladura y una depresión que están conectados por una separatriz, y entonces se debilita la relación de atracción/repulsión entre ambas singularidades, y ambos se acercan cada vez más hasta que se encuentran. Con el transcurso del tiempo, esta estructura inestable desaparece y entonces la nueva estructura estable ya no tiene puntos críticos. Al invertir la dirección del tiempo, obtenemos una creación pareada. La figura 1.7 muestra este proceso.. 17.

(19) Figura 1.7: Bifurcación Plegada. Bifurcaciones globales. Al contrario de las bifurcaciones locales anteriormente mencionadas, las bifurcaciones globales no ocurren en vecindades pequeñas de los puntos críticos, pero acarrean cambios significativos en la estructura del fluido. Entre este tipo de bifurcaciones se encuentran las conexiones de ensilladura, las cuales aparecen cuando dos separatrices que tienen su origen en puntos de ensilladura, colapsan, es decir, la separatriz de una ensilladura termina en la otra. La figura (1.8) ilustra este ejemplo, en instantes de tiempo antes, durante y después del colapso.. Figura 1.8: Conexión de ensilladura. 1.4.. C URVAS. CARACTERÍSTICAS. DE. LOS. CAMPOS. VECTORIALES Una curva L ∈ Rn se denomina curva tangente del campo vectorial V : D ⊆ Rn → Rn si para 0 cada punto x ∈ L, L (x)coincide con V (x) (Theisel, 1995; Weinkauf/Theisel, 2002). En general, las curvas tangentes de un campo vectorial son descritas de manera implícita como las soluciones del d sistema de ecuaciones diferenciales dx L (x) = V (L (x)) con condiciones iniciales, lo que garantiza que por cada punto x ∈ V pasa una y solo una curva tangente si y solo si x ∈ / C, donde C ⊆ V es el conjunto de todos los puntos críticos de V y para todo x ∈ C, k V (x) k =0 (Theisel, 1995).. 18.

(20) En el caso específico de los campos vectoriales 3D las curvas tangentes responden a las soluciones del sistema: dx dt =u (x, y, z) dy (1.10) dt =v (x, y, z) dz dt =w (x, y, z) En la ecuación 1.10 las funciones u, v, w representan las funciones escalares que definen el campo vectorial. Las curvas tangentes de V no se intersectan entre sí, y por lo tanto brindan la información direccional del campo vectorial. En los campos vectoriales, dependientes del tiempo o no, existen cuatro tipos de curvas tangentes. Estas son: streamlines, pathlines, timelines y streaklines. Cuando el campo vectorial es estacionario, los cuatro tipos de curvas coinciden, pero en general son curvas diferentes para campos vectoriales dependientes del tiempo (Theisel, 2001).. a)Streamline ls. b) Pathline l. c) Streakline ls. d) Timeline ls. Figura 1.9: Curvas tangentes de V. 1.4.1.. S TREAMLINES. Una streamline o línea de corriente de un campo vectorial V es una solución del sistemas de ecuaciones diferenciales planteado en la ecuación 1.10. Esta familia de curvas, es única en el instante de tiempo ti y completamente diferente a las curvas del instante de tiempo ti+1 . Las streamlines de un campo vectorial se definen matemáticamente como las soluciones del sistema de ecuaciones diferenciales con condición inicial:. 19.

(21) d dx L (x) =V.  (x,t0 ) donde L x(t0 ) = L (x0 ). (1.11). Es importante destacar que L no está relacionada con el tiempo t del cual depende el campo vectorial V . De esta forma el tiempot pasa a ser un parámetro del sistema (Theisel et al., 2005). Convertir t en un parámetro, no afecta la solución del sistema desde el punto de vista matemático, debido a que la variable L carece de interpretación física. En otras palabras, seguir una streamline no es más que “congelar” la variable de tiempo t e integrar en función de un tiempo virtual. Ver figura 1.9.a.. 1.4.2.. PATHLINES. Una pathline (von Funck/Theisel/Seidel, 2006; Theisel et al., 2005) se obtiene colocando una partícula sin masa en un punto x ∈ D y liberándola a lo largo de V. De tal manera se pueden ver las pathlines de V como las proyecciones de las curvas tangentes de V en el plano t = ti , i = 0..n. Para cada instante de tiempo existe una y solo una pathline que atraviesa la misma localización espacial (excepto en los puntos críticos del sistema). Las pathlines de V se obtienen integrando: d dt x (t) = V. (1.12). (x (t) ,t) donde x (t0 ) = 0. El sistema (1.12) pude reescribirse como un sistema a expensas del incremento en 1 de la dimensión, cuando se incluye el tiempo como una variable explícita más: d dt. x t. ! =. V (x (t) ,t) 1. ! donde. x t. ! (0) =. x0 t0. ! (1.13). La figura (1.9.b) muestra la representación gráfica de una pathline donde la curva l p es la proyección de l en el plano t = t0 . En el sistema (1.13) las pathlines del campo vectorial V en el espacio ordinario ahora se muestran como curvas tangentes del espacio vectorial p (x,t) =. V (x (t) ,t) 1. ! (1.14). en el dominio espacio − temporal. De este modo se pueden tratar las streamlines del campo vectorial como: p (x,t) =. V (x (t) ,t) 0. 20. ! (1.15).

(22) 1.4.3.. T IMELINES. Una timeline (Lane, 1996; Brill et al., 1994) es una colección de todas las partículas dispuestas en línea recta en un instante de tiempo fijo, a las cuales se les sigue el rastro a largo de un campo vectorial dependiente del tiempo. Una manera práctica de observar esta tipo de curva, consiste en lanzar un cable elástico en un río, y de esta manera se puede ver como el cable es transportado y deformado por el flujo del río. Desde el punto de vista geométrico, una línea de tiempo puede obtenerse al aplicar una integración de superficie del camino en el fluido, comenzando en una línea recta con t = constante e intersectando esta superficie con el hiperplano perpendicular al eje del tiempo t. Para comprender mejor el planteamiento anterior, consideremos la figura (1.9.d) y supongamos que disponemos de una partícula en el punto (x0 , y0 ,t0 ). El camino de la partícula es la curva tangente l1 de. La curva l1 podría pasar por la las coordenadas espaciales (x1 , y1 ) en el instante de tiempo t1 (t0 < t1 ). Considerando dos partículas más dispuestas en el instante de tiempo t = t0 :(x0 –dx, y0 –dy,t0 ), (x0 + dx, y0 + dy,t0 ). Supongamos que estas partículas siguen las curvas tangentes l4 y l5 de V . Supongamos también que l4 pasa por la localización espacial (x4 , y4 ) en el instante de tiempo t = t1 , y que l5 pasa por la localización (x5 , y5 ) en el mismo instante de tiempo t = t1 . Entonces (x1 , y1 ,t1 ), (x4 , y4 ,t1 ) y (x5 , y5 ,t1 ) yacen en una timeline lt a través de (x1 , y1 ,t1 ). La elección de una timeline particular a través de (x1 , y1 ,t1 ) depende de dos parámetros: la elección de t0 y la dirección de la línea recta en el plano t = t0 .. 1.4.4.. S TREAKLINES. Una streakline (Weinkauf/Theisel, 2010b)es la conexión de todas las partículas dispuestas en diferentes instantes de tiempo, pero exactamente en la misma ubicación en el espacio (Theisel, 2001). En la figura (1.9.c) se ilustra el comportamiento de una curva de esta familia (con el objetivo de facilitar la comprensión se emplean campos vectoriales 2D dependientes del tiempo). Supongamos que una partícula se coloca en el punto (x0 , y0 , z0 ), el camino que recorre la partícula es la curva tangente l1 del campo vectorial V . La curva l1 podría pasar por la ubicación (x1 , y1 ) pero en un instante de tiempo t1 (t0 < t1 ). Considerando dos partículas más dispuestas en (x0 , y0 ) en una vecindad anterior y posterior al instante de tiempo t0 . Es decir, disponemos las partículas en (x0 , y0 ,t0 –dt) y (x0 , y0 ,t0 + dt). Ellas siguen las curvas tangentes l2 y l3 de V . Suponiendo que l2 pasa por las coordenadas espaciales (x2 , y2 ) en el instante de tiempo t = t1 , y que l3 pasa por las coordenadas espaciales (x3 , y3 ) en el instante de tiempo t = t1 . Entonces, (x1 , y1 ,t1 ), (x2 , y2 ,t1 ) y (x3 , y3 ,t1 ) yacen en una streakline ls a través de (x1 , y1 ,t1 ).. 21.

(23) 1.5.. I NTEGRACIÓN DE CURVAS CARACTERÍSTICAS. Los problemas reales relacionados con el análisis visual de datos de fluidos, se tornan difíciles de describir matemáticamente a medida que aumenta su complejidad. En un gran número de casos, los datos provienen de mediciones de campo y requieren de un procesamiento inicial para organizarlos de manera correcta, en un dominio de definición entendible por los sistemas de visualización. Los datos obtenidos en CFD (por las siglas en inglés de: Computational Fluids Dynamics) en un gran número de ocasiones son de origen discreto y se requiere de métodos del análisis numérico para operar sobre ellos. El objetivo principal del análisis numérico es proveer métodos convenientes para solucionar problemas matemáticos y extraer información útil a partir de las soluciones de algunas ecuaciones que no se conocen explícitamente su definición. Muchos valores de interés de la vida práctica se obtienen a través de mediciones en un espacio discreto y en la mayoría de los casos se desconoce la definición explicita de la función que representan. Existe un gran número de técnicas numéricas (Guckenheimer/Holmes, 1983) para aproximar 0 la solución de las ecuaciones diferenciales de la forma Y = f (x, y) con condiciones iniciales y (x0 ) = y0 . Dentro de ellos se destacan, la familia de los métodos de Runge-Kutta. El método de Runge-Kutta (Crouch/Grossman, 1993) es un método genérico de resolución numérica de ecuaciones diferenciales. Fue inicialmente desarrollado alrededor del año 1900 por los matemáticos C. Runge y M. W. Kutta. Estos métodos reemplazan efectivamente el error de truncamiento de la expansión de la serie de Tylor: ∞. ∑ n=0. f (n) (a) (x − a)n n!. (1.16). donde f (n) es la aproximación de la n-ésima derivada de f . El esquema general de los métodos de Runge-Kutta plantea que el método de orden s se corresponde con la expresión: s. yn+1 = h · ∑ bi ki. (1.17). i=1. donde h es el paso de integración. Los coeficientes ki son términos de aproximación que responden a la siguiente ecuación: s. ki = f. tn + h · ci , yn + h · ∑ ai, j k j. ! (1.18). j=1. En la ecuación (1.18) tn representa el punto sobre el que se evalúa, ci y ai, j son los coeficientes propios del esquema numérico elegido y dependen de la regla de la cuadratura utilizada. Por la definición generalizada de curvas tangentes en las ecuaciones (1.14) y (1.15) podemos. 22.

(24) aplicar el método de Runge-Kutta de orden 4 para aproximar adecuadamente las curvas tangentes. Debido a que los campos vectoriales describen una función vectorial, integrable en todo su dominio, se han utilizado a lo largo de los años diferentes métodos numéricos para integrar y derivar dichos campos vectoriales. Un ejemplo sencillo de explicar es el cálculo de las curvas tangentes del campo vectorial, el cual se realiza utilizando el método de integración (Runge-Kutta de orden 4) (Lu et al., 2013).. 1.5.1.. M ÉTODO DE RUNGE -K UTTA. a). b). Figura 1.10: Esquema de integración numérica Runge-Kutta (orden 4). a) El punto azul es el punto inicial de la curva y se aplica el algoritmo con paso hacia adelante. b) El punto azul es el punto inicial de la curva y se aplica el algoritmo como paso hacia adelante y hacia atrás. En ambos caso la curva resultante posee aproximadamente, la misma representación.. El método de Runge-Kutta de orden 4 (rk4 ) se basa en el cálculo de cuatro coeficientes internos denominados ki Sean X ∈ Rn y V : D ⊆ Rn → I ⊆ Rn un campo vectorial, donde v f : D → I es una función interpoladora que para cada X ∈ D produce un vector v ∈ I. La implementación computacional del método se describe de la siguiente manera:. 23.

(25) Algoritmo 1.1 Implementación del algoritmo runge-kutta de orden 4 en C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26. Entrada : x0 : Punto sobre el que se quiere integrar el campo vectorial s : paso de integración del Runge - Kutta forward : dirección en la que se integra Salida : Siguiente punto en el campo vectorial SbVec3f rk4 ( const SbVec3f & x0 , float s , bool forward ) { if ( forward ) { SbVec3f v1 = vf ( x0 ); SbVec3f v2 = vf ( x0 + v1 * ( s / 2)); SbVec3f v3 = vf ( x0 + v2 * ( s / 2)); SbVec3f v4 = vf ( x0 + v3 * s ); return x0 + ( v1 / 6 + v2 / 3 + v3 / 3 + v4 / 6) * s ; } else { SbVec3f v1 = vf ( x0 ); SbVec3f v2 = vf ( x0 - v1 * ( s / 2)); SbVec3f v3 = vf ( x0 - v2 * ( s / 2)); SbVec3f v4 = vf ( x0 - v3 * s ); return x0 - ( v1 / 6 + v2 / 3 + v3 / 3 + v4 / 6) * s ; } }. En la implementación del algoritmo (1.1) se utilizó convenientemente la clase SbVec3f, la cual se encuentra definida en la biblioteca Coin3D (Kongsberg, 2002) . Esta biblioteca fue utilizada como herramienta de apoyo para lograr nuestras visualizaciones al igual que VTK (por las siglas en inglés de Visualization Toolkit). El tercer parámetro del algoritmo (forward) se utiliza para definir, sobre la misma implementación del método, el sentido de integración de la partícula, que tiene como posición inicial x0. Sea una curva tangente L ∈ V : Aplicar el método rk4 en una sola dirección (con paso hacia adelante o hacia atrás), conlleva a truncar la trayectoria de la curva, y por tanto restringir su representación visual. Ver figuras (1.10.a) y (1.10.b). 24.

(26) Si en vez de aplicar el esquema de integración en una sola dirección, es aplicado en ambas direcciones, la curva L ∈ V cubrirá todo su dominio de definición. Ver figura (1.10.b). Nótese que si se aplica en la figura (1.10.b) la integración en una sola dirección, el resultado no sería el mismo. En la mayoría de los casos, es prácticamente imposible conocer el punto L (0) = p (x) de la curva, por lo que es aconsejable integrar siempre en ambos sentidos. Aplicar el método de integración con paso hacia adelante y paso hacia atrás brinda ventajas desde el punto de vista de la eficiencia, ya que se puede implementar sobre arquitecturas paralelas a través de MPI (por las siglas en inglés de Message Passing Interface), OpenMP (por las siglas en inglés de Open Multi-Processing), etc. aplicando ínfimas variaciones sobre el algoritmo (Camp et al., 2013; Fu et al., 2009).. 1.5.2.. C ÁLCULO DE STREAMLINES. Las streamlines de un campo vectorial son calculadas a través de la integración del campo vectorial en un intervalo de tiempo (ver epígrafe 1.4.1). Debido a que una streamline y una pathline de un campo vectorial comparten el mismo dominio espacial y temporal, podemos definir el cálculo de una streamline de un campo vectorial estacionario de la siguiente manera. Sea p (t) ∈ D la posición de una partícula en el instante de tiempo t. La posición inicial de la streamline se define como p (0) = t0 , t=0..n y define una trayectoria que se corresponde con: ˆt p (t) = p (t0 ) +. v f (p (x)) dx. (1.19). 0. donde v f puede ser cualquier función interpoladora que cumpla con lo establecido en el epígrafe (1.5.1). La integral (1.19) debe resolverse utilizando el método de Runge-Kutta de orden 4 (Lu et al., 2013), aunque para soluciones donde la presición no es un factor decisivo se puede utilizar el método de Euler. La literatura demuestra, que el método que con mayor frecuencia se utiliza, es el definido en el epígrafe (1.19). Para la elección de p (0) existen diversas tendencias, las cuales pueden estudiarse en (McLoughlin et al., 2010). Integrando (1.19) se obtiene la trayectoria de la partícula p, que comienza en el instante de tiempo t0 y termina en el instante de tiempo tn o en un punto p (ti ) ∈ / D, que sea generado por el esquema de integración numérico empleado. Además, si la curva alcanza un punto crítico del campo vectorial, el algoritmo deberá detener su ejecución. El algoritmo (1.1) no tiene en cuenta la posibilidad de generar un punto fuera del dominio, ya que esta condición debe ser chequeada por la implementación de campo vectorial que se tenga.. 25.

(27) 1.5.3.. C ÁLCULO DE PATHLINES. Cuando la funciónV describe un campo vectorial dentro del dominio D como el producto cartesiano de dos o tres dimensiones seguido de una dimensión temporal, las streamlines del fluido, son reemplazadas por pathlines. Las pathlines definen la trayectoria de una partícula del campo vectorial sobre la dimensión espacio − temporal. Sea p (x,t) ∈ DxT la posición de la partícula en el instante de tiempo t. La posición inicial de la partícula se define como p (0) = [x0 ,t0 ] , donde t=0..n y la trayectoria de la misma como: ˆt p (t) = p (x0 ,t0 ) +. v f (p (x) ,t) dx. (1.20). 0. donde p (t) describe la posición de la partícula en el instante de tiempo t. Nótese que la función v f ahora depende de la dimensión espacial y de la dimensión temporal. La generalización del método de Runge-Kutta de orden 4 para el cálculo de las pathlines de un campo vectorial dependiente del tiempo se expresa en el siguiente algoritmo (1.2): Algoritmo 1.2 Generalización de Runge-Kutta de orden 4 para integrar campos vectoriales dependientes del tiempo. v f es la función interpoladora de un campo vectorial dependiente del tiempo. x1 = v f (p  (t) ,t) ,  4t x2 = v f p (t) + 4t 2 x1 ,t + 2  ,  4t x3 = v f p (t) + 4t 2 x2 ,t + 2 , x4 = v f (p (t) + 4tx3 ,t + 4t) , y p (t + 4t) = x1 +2(x26+x3 )+x4. A diferencia de las streamlines, para las pathlines si se conoce el instante de tiempo t0 , por lo que no existe necesidad de aplicar el esquema de integración en ambas direcciones.. 1.6.. V ISUALIZACIÓN DE CAMPOS VECTORIALES. Existe en la actualidad un gran número de técnicas de visualización que se emplean para representar los rasgos más significativos de los campos vectoriales. De manera general, la visualización de fluidos se divide en tres grandes grupos (Weinkauf, 2008): Visualización directa de campos vectoriales Visualización basada en integración Visualización de rasgos topológicos 26.

(28) 1.6.1.. V ISUALIZACIÓN DIRECTA DE CAMPOS VECTORIALES. La visualización directa de campos vectoriales genera una imagen directamente a partir de los datos sin realizar ningún tipo de transformaciones en ellos. Como ejemplo de este tipo de visualización de campos vectoriales podemos presentar el trabajo realizado por (Schulz et al., 1999) Otra técnica interesante es la visualización de volúmenes (Crawfis et al., 1993; Ebert et al., 1994; Rosa et al., 2003), donde se visualizan campos escalares asociados al campo vectorial (curvatura, torsión, magnitud).. a). b). Figura 1.11: Visualización directa de campos vectoriales. a) campo escalar que representa la magnitud del campo vectorial. b) vectores codificados con los valores de magnitud y curvatura.. En la figura (1.11.a) se visualiza el campo de fuerzas del huracán Isabel donde el rojo representa las zonas de mayor intensidad del huracán y el azul las zonas donde las bandas de viento poseen menor magnitud. La visualización de flechas (Klassen/Harrington, 1991), (Boring/Pang, 1996) también es una técnica utilizada para representar campos vectoriales, donde por cada punto de la malla se visualiza un flecha con el mismo sentido y dirección que el vector descrito en el campo vectorial en cuestión. Este tipo de visualización puede ser asistida por otras propiedades de los vectores, como la magnitud, la cual puede codificarse mediante la dimensión de la flecha o el color de la misma. Es importante destacar que los resultados que se obtienen empleando esta técnica, cuando los datos se encuentran densamente poblados dejan de ser expresivos para convertirse en una representación no interpretable por el usuario, debido al solapamiento entre las flechas. Ver figura (1.11b). Es muy común encontrar, tanto en la literatura como en las herramientas empleadas para la visualización de campos vectoriales, una mezcla de estas técnicas. (Urness et al., 2003) es un ejemplo donde se combinan ambas magnitudes: escalares y vectoriales para producir un visualización más expresiva. Por otra parte, existen sistemas de visualización como ParaView (Squillacote/Ahrens, 2007), Amira (Stalling/Westerhoff/Hege, 2005), Mayavi 27.

(29) (Ramachandran/Varoquaux, 2011), etc., que permiten codificar las magnitudes vectoriales a través de las magnitudes escalares asociadas al campo vectorial.. 1.6.2.. V ISUALIZACIÓN BASADA EN INTEGRACIÓN. Las técnicas basadas en integración numérica pueden dividirse en dos grandes grupos. Un primer grupo se basa en la convolución de una función sobre una textura, que se deforma dependiendo del campo vectorial, y el otro grupo extrae características geométricas del campo vectorial. T ÉCNICAS BASADAS EN TEXTURAS El primer intento de visualización basada en textura fue hecho por (Van Wijk, 1991) con su técnica Spot-Noise, la cual fue extendida rápidamente por (de Leeuw/Van Wijk, 1995), introduciendo la magnitud de los vectores. Posteriormente surge la convolución de integral de líneas, la cual hace convolucionar la función V que describe el campo vectorial sobre una textura (Cabral/Leedom, 1993). Estas técnicas fueron extendidas a campos vectoriales 3D e implementadas sobre la GPU para mejorar los tiempos de respuestas de los algoritmos (Urness et al., 2003).. a). b). c). d) Figura 1.12: Visualización de campos vectoriales a través de técnicas basadas en texturas. 28.

(30) La figura (1.12.a) describe el campo vectorial asociado al Pacífico Sur empleando la técnica Spot-Noise en dos dimensiones. La escala de colores codifica la divergencia del fluido donde el color rojo tonifican altos valores de la magnitud, mientras que el color azul indica lo contrario. Las figuras (1.12.b) y (1.12.d) representan la técnica LIC (por las siglas en inglés de Line Integral Convolution) de campos vectoriales 2D y 3D. Finalmente la figura (1.12.c) visualiza una combinación de Spot-Noise y LIC para un campo vectorial analítico. T ÉCNICAS BASADAS EN GEOMETRÍA Los métodos basados en geometrías se encargan de visualizar las líneas del fluido, ya sea mediante puntos, líneas, superficies o volúmenes. (Kenwright/Lane, 1996) introduce el trazado de partículas en fluidos dependientes del tiempo, que posteriormente fue implementado sobre la GPU para acelerar el proceso de cómputo del algoritmo. Streamlines iluminadas es un método bastante expresivo que utiliza el vector tangente de la curva en cada punto como un patrón de luz, el cual es utilizado por la iluminación de la escena para decorar las líneas del fluido y reducir el solapamiento de las mismas (Zockler/Stalling/Hege, 1996).. a). b). c). Figura 1.13: Streamlines ilumiadas y Streamsurfaces. Sin lugar a dudas, las técnicas de visualización basadas en la extracción de las líneas de corriente y superficies de corriente brindan la mayor cantidad de información referente al fluido, a pesar del alto costo computacional que sus implementaciones contemplan.. 1.6.3.. V ISUALIZACIÓN DE RASGOS TOPOLÓGICOS. La extracción y visualización son técnicas efectivas para el estudio de campos vectoriales. Los métodos basados en la extracción de rasgos se basan en codificar regiones del fluido que 29.

(31) son de interés para los especialistas (puntos críticos, vórtices, superficies de separación, líneas de separación). La topología en general como rama de la matemática puede ser estudiada en (Abraham/Shaw, 1983), donde se expresan fundamentos del comportamiento topológico de los sistemas dinámicos. Los métodos topológicos fueron introducidos en la visualización de campos vectoriales por (Batra et al., 1999), donde por primera vez los puntos críticos de primer orden de los campos vectoriales fueron clasificados por los valores propios y vectores propios de la matriz jacobiana asociada al punto. En el trabajo presentado por (Theisel/Seidel, 2003) se le da seguimiento a algunos rasgos del fluido a través de la integración de las streamlines del fluido. En (Globus/Levit/Lasinski, 1991) se realiza un excelente trabajo para extraer y visualizar el esqueleto topológico de los campos vectoriales 3D. En las figura (1.14) se representa el esqueleto topológico de campos vectoriales 3D. Debido a la importancia de los rasgos topológicos de los fluidos, muchos esfuerzos se han realizado en aras de extraer tales rasgos, con el objetivo de minimizar los requerimientos de hardware para el análisis de campos vectoriales complejos. Además, esta familia de métodos brinda la posibilidad de entender el comportamiento del fluido a través de la representación de su topología, la cual se construye a partir de líneas, puntos y superficies.. a). b). c). Figura 1.14: Topología del fluido. 1.7.. C ONCLUSIONES Las técnicas de visualización de campos vectoriales optimizan en gran medida el proceso de exploración y análisis de los datos. La visualización de rasgos topológicos de un fluido ayuda a entender el comportamiento global del campo vectorial, mientras que las técnicas basadas en integración de texturas muestran con un mayor nivel de detalle el comportamiento de los datos en todas las regiones del campo vectorial. 30.

(32) Las técnicas que describen las líneas y superficies del fluido, a pesar de su alto costo computacional, muestran de manera más expresiva el comportamiento de los datos.. 31.

(33) Capítulo 2 E XTRACCIÓN DE ZONAS DE COMPORTAMIENTO SIMILAR EN CAMPOS VECTORIALES El análisis de grupos es descrito como una herramienta para el descubrimiento del conocimiento, ya que permite establecer de forma automática relaciones de similitud entre los datos. Los algoritmos de agrupamiento son usados para encontrar una estructura de grupos que se ajuste al conjunto de datos, logrando homogeneidad dentro de los grupos y heterogeneidad entre ellos (Ankerst, 2001; Anderberg, 1973). Debe existir un alto grado de asociación entre los objetos de un mismo grupo y un bajo grado entre los miembros de grupos diferentes. Cuando el agrupamiento se basa en la similitud de los objetos, se desea que los objetos que pertenecen al mismo grupo sean tan similares como se pueda y los objetos que pertenecen a grupos diferentes sean tan diferentes como sea posible. En otras palabras, seguir el principio de maximizar la similitud dentro del grupo y minimizar la similitud entre los grupos (Jain/Murty/Flynn, 1999). El concepto de “similitud” tiene que ser especificado acorde a los datos. En la mayoría de los casos los datos son vectores de valores reales, entonces se requieren algunas medidas (distancias, similitudes, o disimilitudes) para cuantificar el grado de asociación entre ellos (Irpino/Verde/De Carvalho, 2014; Rossl/Theisel, 2012). Los métodos de agrupamiento se clasifican siguiendo varios criterios: tipo de los datos de entrada del algoritmo, criterios para definir la similitud entre los objetos, conceptos en los cuales se basa el análisis y forma de representación de los datos, entre otros (Halkidi et al., 2001a). Una clasificación general distingue dos tipos: aquellos basados en una función objetivo (basados en partición) y los jerárquicos (Jiawei/Kamber, 2001; Pedrycz, 2005). Los algoritmos basados en partición se caracterizan por la construcción de particiones (grupos) del conjunto de datos sobre la base del perfeccionamiento de algún índice, conocido también como función objetivo. El objetivo de estos métodos es encontrar la mejor división de los datos en k. 32.

(34) grupos basada en una medida de similitud dada y conservar el espacio de particiones posibles en k subconjuntos. El algoritmo kmeans propuesto por McQueen en 1967 es un algoritmo típico de agrupamiento basado en particiones. El algoritmo trabaja con un número k prefijado, sobre el cual se construyen los grupos. En cada grupo se calcula el grado de pertenencia de los elementos al mismo minimizando la función (2.1): k. ∑∑. | O − µi |2 −→ min. (2.1). i=1 O∈Ci. donde O es un objeto perteneciente al grupo Ci y µ i es el elemento más representativo del grupo (centroide), en la mayoría de los casos la media de Ci o el elemento que reduce la distancia al resto del grupos. Así, la función objetivo trata de minimizar la suma de los cuadrados de las distancias de los objetos a los centros de sus respectivos grupos. Este algoritmo posee algunas variantes como kernel − kmeans, la cual logra separar correctamente los grupos cuando el conjunto de entrada no es linealmente separable (Jain, 2010). Esta variante traslada los datos originales a un nuevo espacio de dimensiones mayores y lo transforma en un conjunto de datos sobre un espacio linealmente separable.. a). b). Figura 2.1: Agrupamiento basado en particiones. a) kmeans. b) kernel-kmeans. Los algoritmos jerárquicos, hacen una descomposición jerárquica de los datos. Dentro de ellos, los aglomerativos (bottom-up), consideran que cada objeto constituye un grupo, por tanto, inicialmente existen tantos grupos como objetos tiene la colección de datos, y sucesivamente los unen, hasta que todos los objetos formen un único grupo, generalmente considerando alguna de las medidas de distancia entre grupos, dentro de las cuales se encuentran el enlace simple(Gower/Ross, 1969; Kumar, 1968) y el enlace completo (Baker/Hubert, 1976), que son ampliamente utilizadas. Por otra parte se encuentran los algoritmos divisivos (top-down) que consideran inicialmente la existencia de un único grupo al cual pertenecen todos los objetos del conjunto de datos. Este único 33.

(35) grupo es dividido sucesivamente en grupos más pequeños, hasta que cada grupo contenga un único objeto. Algunos algoritmos jerárquicos de este tipo son: BIRCH (Sheikholeslami/Chatterjee/Zhang, 1998) es una variante con complejidad lineal, pero no tiene en cuenta la calidad del agrupamiento, requiere de parámetros de entrada que pueden forzar el tamaño de los grupos, es sensible al orden de los datos de entrada y es cuestionable su uso en datos con alta dimensionalidad. CURE es capaz de captar grupos de varias formas y tamaños, tiene una alta complejidad y es sensible a varios parámetros de entrada (Guha et al., 1998). El agrupamiento basado en celdas (grid-based clustering) es esencialmente propuesto para la minería de datos espaciales (Halkidi/Batistakis/Vazirgiannis, 2001). Algunos algoritmos basados en celdas son: ST ING (Wang et al., 1997), WaveCluster (Sheikholeslami/Chatterjee/Zhang, 1998; Sheikholeslami/Chatterjee/Zhang, 2000) y CLIQUE (Agrawal et al., 1998). Existe una clasificación que divide el agrupamiento en conceptual y estadístico (Halkidi/Batistakis/Vazirgiannis, 2001). Por otra parte, aquellos algoritmos que utilizan métodos geométricos y técnicas de proyección se clasifican en agrupamiento incompleto o heurístico (?, ). Otras propuestas agrupan utilizando redes neuronales artificiales, por ejemplo, mapas auto-organizativos (SOM: por las siglas en inglés de Self Organizing Maps) (Halkidi/Batistakis/Vazirgiannis, 2002) . Algunos agrupamientos se basan en modelos (model-based clustering), encontrando buenas aproximaciones de los parámetros del modelo que mejor ajustan los datos. Otra clasificación, no mutuamente excluyente a las ya presentadas, considera la forma de manipular la incertidumbre en términos del solapamiento de los grupos: agrupamiento duro y borroso (?, ). Las técnicas duras pueden ser deterministas o con solapamiento. Las deterministas crean una partición, donde los grupos son mutuamente excluyentes y exhaustivos del universo de objetos. Los algoritmos con solapamiento crean un cubrimiento, donde un objeto puede pertenecer a más de un grupo. Las técnicas borrosas se subdividen en probabilísticas y posibilísticas (Kruse/Döring/Lesot, 2007). El algoritmo EM (Bradley/Fayyad/Reina, 1998), base del agrupamiento basado en modelos probabilísticos, y su mejora FREM (Ordonez/Omiecinski, 2002), son variantes del algoritmo kmedias y asignan a los objetos una distribución de probabilidad de pertenencia a cada grupo. Éstos manipulan datos de alta dimensionalidad, pero realizan un refinamiento muy costoso. También existen los algoritmos de agrupamiento basados en la descomposición espectral de la matriz de distancia. Aunque no constituye una clasificación de algoritmo de agrupamiento puede verse como un mecanismo efectivo que mejora la calidad de los resultados. El agrupamiento espectral (Dey/Rossi/Sidiropoulos, 2014; Ng et al., 2002) como también se denominan esta familia de métodos, a partir de un número k prefijado calcula los k − mayores vectores propios1 de la matriz de afinidad D y el grafo de Lapace asociado, con el fin de trasladar los datos a un espacio k − dimensional sobre el cual se ejecuta un algoritmo de agrupamiento. Las variantes del algoritmo 1 Vectores. propios asociados a los k − valores propios de mayor valor. 34.

(36) kmeans son muy utilizadas en el agrupamiento espectral, ya que las transformaciones realizadas con los k − vectores − propios en el espacio k − dimensional genera grupos que son linealmente separables (Rossl/Theisel, 2012). Al igual que el algoritmo kernel − kmeans, el agrupamiento espectral es útil cuando el espacio de entrada no es linealmente separable (Shi/Malik, 2000). La correcta elección del parámetro k define la calidad del agrupamiento en los algoritmos basados en particiones. La estimación del parámetro a través de los cortes normalizados es utilizada y fundamentada su aceptación en (Shi/Malik, 2000), (Rossl/Theisel, 2012), (Dhillon/Guan/Kulis, 2004), (Shi/Malik, 1998), (Carreira/Sminchisescu, 2010), (Huang et al., 2013) debido a la calidad de los resultados cuando los datos poseen características geométricas. Las técnicas de agrupamiento son herramientas generales para el análisis de datos, que también son valiosas para la visualización de trayectorias (Ferreira et al., 2013). Además, permiten revelar patrones y comportamientos ocultos dentro de un conjunto, que pueden ser visualizados de manera expresiva, facilitando así la comprensión de los datos y la reducción del solapamiento. Existen dos clases principales de algoritmos de agrupamiento para datos que representan trayectorias (Ferreira et al., 2013). La primera clase corresponde a los métodos que transforman las trayectorias en un espacio métrico (n-dimensional) para poder definir las nociones de similitud, y utilizar técnicas de agrupamiento punto − punto. El principal inconveniente de este enfoque es la dificultad de definir una similitud entre trayectorias, lo cual produce características no deseadas, o hace caso omiso del comportamiento global de la trayectoria. La segunda categoría comprende al enfoque basado en la geometría de las trayectorias, en el cual se supone una agrupación sobre las características geométricas de los parámetros del modelo. Un ejemplo de esta clase es el trabajo presentado por Wei et al. (Wei et al., 2011), en el cual las trayectorias se aproximan mediante polinomios ajustados. Las curvas tangentes de los campos vectoriales, por definición describen la trayectoria seguida por las partículas sobre el dominio espacial, y por tanto pueden utilizarse como datos de entrada de los algoritmos de agrupamiento, que responden a la segunda clasificación de agrupamiento de trayectorias descrita por (Wei et al., 2011).. 2.1.. Z ONAS. DE COMPORTAMIENTO SIMILAR EN CAMPOS. VECTORIALES Existen varias técnicas que permiten la extracción adecuada de “zonas de comportamiento similar” en campos vectoriales estacionarios. Estas técnicas interpretan como zonas de comportamiento similar a las regiones del fluido en las que se manifiestan de manera similar algunas propiedades físico-matemáticas del campo vectorial asociado. En (Kuhn et al., 2011) se utiliza el campo escalar de energía elástica del fluido para definir la zonas de comportamiento similar, mientras que en (Lu et al., 2013) se utiliza la información 35.

Figure

Figura 1.1: Campos vectoriales. a) V =  sin (π ∗ x) sin (π ∗ y)  . b) V =  sin (π ∗ x)sin(π ∗ y) sin (π ∗ z) 
Figura 1.2: Representación de campos escalares bidimensionales. a) representa el campo escalar asociado a un plano de corte del campo escalar 3D descrito en la figura 1.3.c)
Figura 1.4: Campo vectorial dependiente del tiempo en dos dimensiones
Figura 1.5: Singularidades de primer orden
+7

Referencias

Documento similar