t e s i s - centro de investigación en computación – ipn

81
INSTITUTO POLITCNICO NACIONAL CENTRO DE INVESTIGACIN EN COMPUTACIN Autmatas celulares y ecuaciones diferenciales como tØcnicas convergentes para la simulacin de sistemas fsicos. T E S I S QUE PARA OBTENER EL GRADO DE DOCTORADO EN CIENCIAS DE LA COMPUTACIN PRESENTA : M. EN C. ILIAC HUERTA TRUJILLO Director de Tesis: DR. JUAN CARLOS CHIMAL EGU˝A DRA. NORMA S`NCHEZ SALAS MØxico D. F., Enero 2016

Upload: others

Post on 02-Aug-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T E S I S - Centro de Investigación en Computación – IPN

INSTITUTO POLITÉCNICO NACIONALCENTRO DE INVESTIGACIÓN EN COMPUTACIÓN

Autómatas celulares y ecuaciones diferenciales

como técnicas convergentes para la simulación

de sistemas físicos.

T E S I SQUE PARA OBTENER EL GRADO DE

DOCTORADO EN CIENCIAS DE LA COMPUTACIÓN

PRESENTA :

M. EN C. ILIAC HUERTA TRUJILLO

Director de Tesis:

DR. JUAN CARLOS CHIMAL EGUÍA

DRA. NORMA SÁNCHEZ SALAS

México D. F., Enero 2016

Page 2: T E S I S - Centro de Investigación en Computación – IPN
Page 3: T E S I S - Centro de Investigación en Computación – IPN
Page 4: T E S I S - Centro de Investigación en Computación – IPN

“Siento la computación como una idea más profunda

que los sistemas operativos, lenguajes de

programación, bases de datos y similares; las ideas

profundas de la computación están íntimamente

relacionadas con las ideas profundas de la vida y la

inteligencia . . . ”

Melanie Mitchell.

Page 5: T E S I S - Centro de Investigación en Computación – IPN

RESUMEN

La presente tesis trata los conceptos fundamentales de Autómatas Celulares (AC),

como técnica para modelar sistemas naturales, que muestran un comportamiento complejo

en función del tiempo, por medio de reglas lo más sencillas posibles.

El capítulo 1, presenta la hipótesis que da origen a esta investigación así como los

objetivos tanto general como específicos.

Seguido de esto, en el capítulo 2, se discute el marco teórico que sustenta la investi-

gación. Continuando, el capítulo 3, presenta la metodología seguida para definir un AC

2-dimensional que simule un sistema de membrana vibrante, así como la obtención de la

regla de evolución tomando como base para dicha regla las Leyes de Newton y Hooke.

El capítulo 4, presenta el análisis que da origen a un AC 1-dimensional que simule el

comportamiento de difusión de calor en una barra de un material definido, tomando como

idea para la regla de evolución, la ley de enfriamiento de Newton.

En ambos AC la implementación se llevó a cabo haciendo uso de cómputo paralelo

desarrollado para GPU’s, codificado en CUDA y C++.

Finalmente, el capítulo 5 presenta las conclusiones y trabajo futuro derivados de esta

investigación.

Palabras Clave: Simulación, autómatas celulares, modelado de sistemas, membrana

vibrante, difusión de calor, CUDA, GPU’s.

iii

Page 6: T E S I S - Centro de Investigación en Computación – IPN

ABSTRACT

This thesis uses the fundamental concepts of Cellular Automata as a technique to

model natural systems that show complex behavior as a function of time through simplest

rules as possible.

Chapter 1 presents the hypothesis that gives rise to this investigation as well as both

general and specific targets.

Following that, in the chapter 2, the theoretical framework that sustain this research

is discussed. Continuing, Chapter 3 presents the methodology used to define an AC 2-

dimensional that simulates a vibrating membrane system and obtaining the evolution rule,

based on Newton’s and Hooke’s Laws.

Chapter 4 shows the analysis that gives rise to a 1-dimensional AC simulating the

behavior of heat diffusion in a bar of a defined material, taking the evolution rule from the

Newton’s cooling law.

In both AC, the implementation was carried out using parallel computing, developed

for GPU’s, cooded in CUDA and C ++.

Finally, Chapter 5 presents the conclusions and future work resulting from this re-

search.

Keywords: Simulation, cellular automata, systems modeling, evolution, vibrant

membrane, heat diffusion, CUDA, GPU’s.

iv

Page 7: T E S I S - Centro de Investigación en Computación – IPN

AGRADECIMIENTOS

Existen muchas cosas y muchas personas a las que tengo que agradecer por

haber formado parte de esta aventura llamada Doctorado, si omito a alguien,

tengan por seguro que no es por no ser agradecido sino que mi memoria me

habrá fallado un momento.

Primero que nada debo agradecer al CONACYT por el apoyo que me

otorgó durante mis estudios en el programa de Doctorado, de no ser por

este organismo, creo que difícilmente se podría enfrentar a una empresa tan

demandante. Espero que las autoridades que dirigen esta nación, se den

cuenta de que no hay otro camino para el desarrollo que no sea por el de la

educación. En la misma tónica, al Centro de Investigación en Computación

(CIC-IPN) por haberme aceptado como su alumno, por todo el apoyo que

su Director el Dr. Luis A. Villa pudo darle a este servidor, Gracias por el

tiempo que pasé aquí.

En segundo lugar, debo agradecer a las personas que de una forma di-

recta influyeron en el desarrollo de mi trabajo, al Dr. Juan Carlos Chimal

Eguía y a la Dra. Norma Sánchez Salas, por la confianza que depositaron

en mí, por ser más que unos asesores y convertirse en mis amigos, por todos

esos consejos, pláticas, regaños y asesorías que permitieron construir este

proyecto. !Muchas Gracias!.

A 8 años de tu partida todavía siento que debo estar a la altura de lo que

esperabas de mí, gracias Papá por todas esas conversaciones que tuvimos de

hombre a hombre, pero sobre todo de Padre a hijo, porque a pesar de mis

altibajos y que ya mero me sacas de la escuela en segundo de secundaria por

v

Page 8: T E S I S - Centro de Investigación en Computación – IPN

AGRADECIMIENTOS

que me llevé a extraordinario casi todas las materias, me permitiste conti–

nuar, dándome un voto de confianza. La vida no me dio la oportunidad de

seguir compartiendo mis nuevas experiencias contigo, sólo espero que en la

otra vida cuando nos encontremos, puedas verme a los ojos y decirme que

te sientes orgulloso de mi. Que las Valquirias te den la bienvenida y te guíen

por el gran campo de batalla de Odín, que canten tu nombre con amor y

furia para que lo escuchemos alzarse desde las profundidades del Valhalla y

sepamos que has tomado el lugar que te corresponde en la mesa de los reyes,

porque ha caído un gran hombre, un guerrero, un jefe tribal, un padre, un

amigo. Hasta siempre Papá Rubén Huerta!!!!!!

Orgulloso de lo que ella representa, agradezco a mi Mamá, María Elena,

porque esa mañana muy temprano, cuando me preguntó si iba a desobedecer

a mi papá, a lo cual respondí afirmativamente, me dijo “Vete con cuidado y

apúrate, que de tu papá me encargo yo. . . ” Gracias mami, mira hasta donde

llegamos.

Fuerza y coraje, a pesar de las adversidades de la vida representas para

mí. Todo mi agradecimiento, admiración y amor, están contigo María Luisa,

porque me diste esos hermosos chaparritos que con amor llamaremos por

siempre hijos y sin importar las vicisitudes que enfrentemos siempre sere-

mos una familia, tal vez poco convencional, pero siempre Familia. Y a mis

chaparritos Iliac Yafet y Ariadna, que siempre serán una parte fundamental

en mi corazón, en mi vida, en mi amor. Siempre los voy a amar!!!!!

En todo viaje tenemos compañeros que nos hacen el trayecto más lle-

vadero, Erandi Castillo, Julio Mendoza, Julio Rangel, Francisco Islas (Pacul),

Sarahi Sánchez, Ángel Mandujano, mi más sincero agradecimiento por com-

partir este viaje conmigo, por todas aquellas platicas interminables en las

que resolvíamos los problemas nacionales con una taza de café en la mano

o simplemente platicar tonterías que hacían que riéramos previas a la eterna

agonía de presentar avances de tesis. Los llevaré el resto de mi vida junto a

vi

Page 9: T E S I S - Centro de Investigación en Computación – IPN

AGRADECIMIENTOS

mí, cuenten conmigo como un Amigo que siempre abrirá las puertas de su

corazón para ustedes.

Las personas a nuestro alrededor dejan huella a veces si saberlo. Sra.

Leticia, gracias por asegurarse que siempre tuviéramos un lugar digno para

trabajar, estudiar y tomar café, siempre se lo voy a agradecer, Lupita, que

siempre me recordaste que no olvidara entregar los libros a la biblioteca, de

no ser por ti debería hasta la camisa. Jazmín, que de una forma un tanto

mágica, me ayudaste a tener días de 25 horas. Prof. Sergio Salínas Lugo,

mi maestro, consejero, amigo y mecenas, le viviré eternamente agradecido

por todo lo que me ayudó.

Imaginen mi sorpresa al darme cuenta que a estas alturas de la vida

podemos llegar a hacer buenos amigos, Sergio Flores, gracias por siempre

escuchar mis platicas medio locas sobre lo que significaba la ciencia para

mí y seguirme la corriente, espero que encuentres tu camino así como yo

encontré el mío, Gracias amigo!!!

A ti, mi Dios, por haber hecho que me diera cuenta de que siempre

podré dar más de lo que yo creía, por permitirme encontrarte y encontrarme,

por dejarme verte y adorarte, por iluminarme cuando más lo necesitaba, por

recordarme que había un niño que era agradecido y soñaba, al cual había

olvidado y tú me lo regresaste. De ahora en adelante siempre estarás en mi

corazón y en mi alma.

De corazón, ¡Gracias a Todos!.

Iliac Huerta Trujillo

México, D.F., Enero de 2016.

vii

Page 10: T E S I S - Centro de Investigación en Computación – IPN

ÍNDICE GENERAL

RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

AGRADECIMIENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

ÍNDICE DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

ÍNDICE DE TABLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

1. INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1. HIPÓTESIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. JUSTIFICACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3.1. ¿Por qué usar Autómatas Celulares? . . . . . . . . . . . . . . . . . . 2

2. Marco teórico conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2. Ecuaciones Diferenciales Parciales . . . . . . . . . . . . . . . . . . . . . 5

2.2.1. Definición formal para EDP . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2. Clasificación de las EDP . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3. Autómatas Celulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.1. Definición Formal de Autómata Celular . . . . . . . . . . . . . . . . 9

2.4. La Ecuación de Onda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

viii

Page 11: T E S I S - Centro de Investigación en Computación – IPN

ÍNDICE GENERAL

2.5. La Ecuación de Calor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.6. Cómputo Heterogéneo . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3. Transformación de una EDP Hiperbólica

en un AC 2-dimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1. Modelo analítico de membrana . . . . . . . . . . . . . . . . . . . . . . . 14

3.2. Modelo Discreto de la Membrana . . . . . . . . . . . . . . . . . . . . . . 26

3.2.1. Discretización del modelo analítico . . . . . . . . . . . . . . . . . . 26

3.3. Modelo de Membrana Vibrante Usando un AC 2-dimensional . . . . . . . 32

3.3.1. Cálculo de la constante k . . . . . . . . . . . . . . . . . . . . . . . 35

3.4. Implementación y Simulación . . . . . . . . . . . . . . . . . . . . . . . 36

3.4.1. Diseño de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4.2. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4. Transformación de una EDP Parabólica en un AC 1-dimensional . . . . . . . . 45

4.1. Modelo analítico de calor . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2. Modelo Discreto de Transferencia de Temperatura . . . . . . . . . . . . . 50

4.2.1. Discretización del modelo analítico . . . . . . . . . . . . . . . . . . 50

4.3. Modelo de Difusión de Calor Usando un AC 1-dimensional . . . . . . . . 54

4.4. Implementación y Simulación . . . . . . . . . . . . . . . . . . . . . . . 55

4.4.1. Diseño de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.4.2. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5. Conclusiones y Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

BIBLIOGRAFÍA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

ix

Page 12: T E S I S - Centro de Investigación en Computación – IPN

ÍNDICE DE FIGURAS

3.1 Membrana rectangular de longitud b×b. . . . . . . . . . . . . . . . . . . . . 14

3.2 Condiciones iniciales y de frontera del sistema de membrana. . . . . . . . . . . 15

3.3 Simulación de la EDP para el punto (b2 ,

b2) . . . . . . . . . . . . . . . . . . . . 24

3.4 Acercamiento de la EDP para el punto (b2 ,

b2) . . . . . . . . . . . . . . . . . . 25

3.5 Representación de una membrana como masas y resortes . . . . . . . . . . . . 27

3.6 Representación de la vecindad von Neumann del AC . . . . . . . . . . . . . . 27

3.7 Representación de los vectores asociados con la célula central y un vecino . . . 28

3.8 Representación de un arreglo de resortes Delta-Estrella . . . . . . . . . . . . . 33

3.9 Diagrama de clases AC membrana vibrante. . . . . . . . . . . . . . . . . . . . 37

3.10 Respuesta del AC propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.11 Acercamiento de la gráfica de respuesta . . . . . . . . . . . . . . . . . . . . 39

3.12 Superposición de las simulaciones del AC y EDP . . . . . . . . . . . . . . . 41

3.13 Superposición del espectro de frecuencias del AC y EDP . . . . . . . . . . . 43

3.14 Simulación de AC con condiciones iniciales aleatorias . . . . . . . . . . . . 44

4.1 Barra de longitud l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2 Gráficos de perfiles de temperatura para ec. de calor. . . . . . . . . . . . . . . 51

4.3 Barra de longitud l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.4 Diagrama de clases AC difusión de calor. . . . . . . . . . . . . . . . . . . . . 55

4.5 Gráficos de perfiles de temperatura para el AC. . . . . . . . . . . . . . . . . . 59

x

Page 13: T E S I S - Centro de Investigación en Computación – IPN

ÍNDICE DE FIGURAS

5.1 Tiempo por simulación y speedup . . . . . . . . . . . . . . . . . . . . . . . . 62

xi

Page 14: T E S I S - Centro de Investigación en Computación – IPN

ÍNDICE DE TABLAS

5.1 Tiempo de ejecución y speedup entre CPU y GPU . . . . . . . . . . . . . . . . 61

xii

Page 15: T E S I S - Centro de Investigación en Computación – IPN

CAPÍTULO 1.

INTRODUCCIÓN

“A partir de cierto punto no hay retorno. Ese es el punto que hay que

alcanzar.”

(Franz Kafka. Escritor checoslovaco).

Existen muchos ejemplos sobre el reduccionismo, pero iniciemos tratando de definir

¿Qué es lo que podemos entender por Reduccionismo? se puede decir que es un enfoque

filosófico en el cual la reducción es necesaria y suficiente para resolver diversos proble-

mas del conocimiento. En áreas del conocimiento como Física, Química y Biología exis-

ten diversos tipos de fenómenos que juegan un rol importante en el desarrollo de dichas

áreas [1, 2, 3], por ejemplo fenómenos de vibración, fenómenos difusivos, entre otros. Es-

tos fenómenos generalmente son representados matemáticamente en forma de Ecuaciones

Diferenciales Parciales (EDP), debido al número de variables que intervienen en el fenó-

meno, dependiendo del tipo de EDP, puede o no tener una solución analítica, la importancia

de resolver estas ecuaciones radica en que tal solución daría información sobre cómo el sis-

tema estudiado evoluciona con respecto a alguna o algunas variables.

1.1. HIPÓTESIS

Dada una Ecuación Diferencial Parcial lineal y homogénea que describa un sistema

físico, es posible definir una metodología que permita cambiar la EDP a un Autómata

Celular y con esto liberar el modelo de las condiciones iniciales y de frontera a fin de

facilitar la implementación computacional y la experimentación con el sistema descrito.

1

Page 16: T E S I S - Centro de Investigación en Computación – IPN

1. INTRODUCCIÓN

1.2. OBJETIVOS

1.2.1. Objetivo general

Definir una metodología para transformar una EDP lineal y homogénea, a un Autó-

mata Celular, su justificación matemática, así como mostrar el poder computacional de

los Autómatas Celulares al simular sistemas físicos, dado que éstos pueden reproducir el

comportamiento del sistema sin estar sujeto a una nueva definición del modelo por algún

cambio en las condiciones iniciales del sistema, como ocurre con las ED.

1.2.2. Objetivos específicos

Puntualmente los objetivos específicos de este trabajo son:

(i) Diseñar, desarrollar y validar un modelo de membrana usando un AC 2-dimen-

sional tomando como base el modelo de cuerda vibrante desarrollado.

(ii) Establecer el grado de complejidad, precisión y coherencia del modelo pro-

puesto.

(iii) Diseñar un modelo usando AC para sistemas modelados por EDP parabólicas.

(iv) Buscar reglas de cuándo se pueden hacer isomorfos los espacios vectoriales de

solución.

(v) Definir matemáticamente por qué, computacionamente hablando, es factible usar

un modelo de AC a una EDP.

1.3. JUSTIFICACIÓN

1.3.1. ¿Por qué usar Autómatas Celulares?

Los autómatas celulares han sido estudiados por un considerable número de investi-

gadores en todo el mundo, existen al menos cuatro características que motivan al estudio

de estos [4]:

• Los autómatas celulares pueden verse como poderosos motores de cómputo.

• Como simuladores discretos de sistemas dinámicos.

2

Page 17: T E S I S - Centro de Investigación en Computación – IPN

1. INTRODUCCIÓN

• Como los vehículos conceptuales para el estudio de la formación de patrones y

la complejidad.

• Como modelos originales de física fundamental.

Vistos como simuladores discretos de sistemas dinámicos, los autómatas celulares

permiten la investigación sistemática de fenómenos complejos que contienen cualquier

número de propiedades físicas deseables. Un ejemplo, son los autómatas celulares re-

versibles1 los cuales han sido usados en los laboratorios para el estudio de las relaciones

entre reglas microscópicas y comportamiento macroscópico, asegurando que se retiene ex-

actamente en memoria el estado inicial por largos periodos de tiempo.

Los modelos generados a partir de autómatas celulares, los cuales han sido adecuada-

mente generalizados según el fenómeno que estudien, son usados para el estudio de cre-

cimiento de formaciones de cristales de dendrita, patrones espaciales generados por la reac-

ción de los sistemas de difusión, auto-organización de redes neuronales y turbulencia de

sistemas hidrodinámicos, estos últimos son capaces de reproducir el comportamiento con-

tinuo del sistema a gran escala.

Por otro lado, los autómatas celulares como modelos originales de física fundamental,

permiten el estudio de la física con una aproximación microscópica, dinámica y discreta;

usando el hecho de que los sistemas computacionales universales son capaces de presentar

una conducta arbitraria complicada (en el sentido de que pueden imitar cualquier cálculo

realizado por una computadora convencional), la idea es construir un campo de teorías

fundamentalmente discretas que puedan competir con los modelos continuos existentes.

La importancia de esta clase de modelos radica, no en el hecho de construir una red de

calibre similar a la teoría, sino en reproducir con éxito el fenómeno a pesar de nunca haber

escuchado hablar de las ecuaciones que lo gobiernen, la esperanza es de establecer un

conjunto abstracto de leyes de la microfísica que reproducen el comportamiento conocido

en la macroescala; en este sentido autores como Fredkin[4] sostiene que ha llegado al

extremo de afirmar que el universo es, en su núcleo, un autómata celular.1los autómatas celulares reversibles se caracterizan por la propiedad de que cada valor de un sitio tiene unaúnica configuración de vecindad predecesora.

3

Page 18: T E S I S - Centro de Investigación en Computación – IPN

CAPÍTULO 2.

MARCO TEÓRICO CONCEPTUAL

2.1. Antecedentes

La simulación por computadora es, hoy en día, una estrategia de la que dispone la

ciencia actual para predecir sucesos en sistemas con un alto grado de complejidad. Esta

complejidad puede ser tal que, con ecuaciones diferenciales podría no ser factible analizar

los sistemas dados los fenómenos que pueden presentar. La simulación es una de las he-

rramientas factibles de usar para observar los comportamientos de los sistemas deseados.

Shannon[5] define el proceso de simulación como: el proceso de diseñar un modelo de

un sistema real y llevar a término experiencias con él, con la finalidad de comprender el

comportamiento del sistema o evaluar nuevas estrategias -dentro de los límites impuestos

por un cierto criterio o un conjunto de ellos - para el funcionamiento del sistema.

La simulación consiste en la experimentación aplicada a los modelos del sistema o

fenómeno que se quiere estudiar con el objeto de obtener información que ayude a entender

este sistema. La simulación está fuertemente ligada a un proceso iterativo compuesto por

el diseño del modelo, ejecución del modelo, análisis de la ejecución [6].

Frecuentemente los modelos matemáticos empleados para describir las vibraciones de

un sistema físico incluyen ecuaciones diferenciales parciales, tradicionalmente se ha usado

el método de elemento finito para resolver este tipo de problemas, la principal dificultad

con dicho método se presenta al hacer el análisis para plantear la ecuación diferencial a

resolver, la cual depende tanto de la geometría del sistema como de las condiciones de

frontera y de las condiciones iniciales, [1].

Las ecuaciones diferenciales están intrínsecamente relacionadas con modelos conti-

nuos, al resolverlas numéricamente solo se resuelven sobre un punto o grupo de puntos de

4

Page 19: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

un conjunto compuesto por un continuo infinito[7], por lo que las soluciones resultan ser

aproximadas.

Hasta este momento se ha hablado de ecuaciones diferenciales, formalmente decimos:

Una ecuación que contiene derivadas de una o más variables respecto a una o más

variables independientes, se dice que es una ecuación diferencial (ED).

Definición 2.1 (Ecuación Diferencial).

2.2. Ecuaciones Diferenciales Parciales

El concepto de “razón de cambio”, fue un concepto radical para la física en el sigo

XVII. Este nos indica como cambia una cantidad respecto de otra. A partir de la apari-

ción de este concepto se desarrolló el cálculo infinitesimal y sus descendientes [8], ha sido

una de las ramas predominantes de la matemática desde que fuere inventada por Newton

y Leibniz. La teoría del cálculo diferenial, aplicada particularmente al movimiento de ob-

jetos, es decir, la mecánica clásica, básicamente da origen a las ecuaciones diferenciales.

Que son su núcleo principal pues ha sido fundamental para comprender las ciencias físi-

cas, frecuentemente es necesario incluir más de una variable dado que se requiere conocer

cómo cambian una variable en función de otra o del tiempo, esto solo se logra cuando ten-

emos ecuaciones diferenciales interrelacionadas. En el modelado de sistemas físicos, las

ecuaciones diferenciales parciales han tenido un grán éxito, esto debido en parte a que se

cuenta con una experiencia de más de tres siglos con métodos para su solución simbólica,

aún así, pocas ecuaciones diferenciales parciales tienen una solución exacta [9].

En la actualidad las ecuaciones diferenciales se pueden dividir en dos grandes grupos.

• Ecuaciones Diferenciales Ordinarias (EDO).

• Ecuaciones Diferenciales Parciales (EDP).

5

Page 20: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

Muchos problemas de física, biología e ingeniería pueden ser expresados matemáti-

camente por ecuaciones diferenciales parciales (EDP) junto con condiciones iniciales y de

frontera. Las EDP han sido usadas básicamente en todas las áreas científicas desde la física,

biología, química, entre otras. Un característica de las EDP es que pueden ser clasificadas

en tres grupos llamadas elípticas, parabólicas e hiperbólicas. Generalmente una EDP tendrá

una infinidad de soluciones, para encontrar una única solución es necesario introducir al-

gunas condiciones que auxilien en este análisi, estas condiciones son llamadas condiciones

iniciales y condiciones de frontera.

2.2.1. Definición formal para EDP

Sea f : Ω → R una función definida sobre un conjunto abierto Ω ⊂ R2. Las

derivadas parciales de f (x,y) están definidas como:

∂xf (x,y) = lim

h→0

f (x+h,y)− f (x,y)h

(2.1a)

∂yf (x,y) = lim

h→0

f (x,y+h)− f (x,y)h

(2.1b)

donde consideramos que el límite existe.

Definición 2.2.

En general una EDP para una función desconocida u(x,y),u(x,y,z),etc puede ser es-

crita en su forma general como:

F(x,y,u,ux,uy,uxx,uxy,uyy,uxxx, . . .) = 0

Siendo u la variable dependiente y x,y,z, . . . las variables independientes.

6

Page 21: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

Una EDP de una función desconocida u se dice lineal si la ecuación es lineal en u

y en las derivadas de u.

Definición 2.3.

Una EDP se llama homogenea si para una función u (solución) al multiplicarse

por una constante αu también es solución.

Definición 2.4.

2.2.2. Clasificación de las EDP

La clasificación en grupos de las EDP, se obtiene del estudio de las EDP de segundo

órden lineal. En general una EDP lineal homogénea de segundo orden se puede escribir

como:

a∂ 2u∂x2 +2b

∂u∂x∂y

+ c∂ 2u∂y2 +d

∂u∂x

+ e∂u∂y

+ f u = 0 (2.2)

Con coeficientes a,b,c,d,e, f ∈ R, el tipo de la ecuación está definido por la parte

principal que tiene los términos de mayor orden:

a∂ 2u∂x2 +2b

∂u∂x∂y

+ c∂ 2u∂y2

Los cuales se pueden escribir de forma matricial como:

(∂

∂x∂

∂x

)a b

b c

∂x∂

∂y

u

la matriz(

a bb c

)es llamada matriz de coeficientes, la clasificación de las EDP está

basada en el signo relativo de los eigenvalores de la matriz de coeficientes.

7

Page 22: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

detA = λ1λ2 = ac−b2

Una EDP se dice que es:

Elíptica: si y sólo si ac−b2 > 0.

Parabólica: si y sólo si ac−b2 = 0.

Hiperbólica: si y sólo si ac−b2 < 0.

Definición 2.5.

De estas definiciones podemos decir que la ecuación d2udx −c2 d2u

dx2 = 0 que representa la

ec. onda en una dimensión es de tipo hiperbólico ya que detA =−c2 < 0

Por otro lado los modelos de escala celular o modelos discretos, consideran que el

elemento (no el fenómeno en sí) juega un papel fundamental, dado que la dinámica de

todo el fenómeno se observa en la simulación de efectos colectivos [10].Curiosamente, los

autómatas celulares tienen la capacidad de representar comportamientos complejos a partir

de una dinámica sencilla. Debido a esto, desde su origen se les ha utilizado como elementos

de la computación para la modelación de fenómenos biológicos y físicos. Además, los

autóamatas celulares son estudiados como objetos matemáticos debido al interés intrínseco

relativo a los aspectos formales de su comportamiento.

Siguiendo con esta línea, Wolfram [3] dice que los modelos basados en autómatas

celulares han resultado apropiados en sistemas físicos con un régimen altamente no lineal,

también en sistemas químicos y biológicos donde tienen lugar umbrales discretos.

2.3. Autómatas Celulares

Un autómata celular (AC), es un sistema dinámico discreto, que consiste en un arreglo

de células (nodos) en alguna dimensión d [11]. Wolfram [12, 13] los define como ideal-

izaciones matemáticas de sistemas físicos, cuyo espacio y tiempo son discretos, en donde

las cantidades físicas se pueden circunscribir a un conjunto finito de valores, los cuales han

8

Page 23: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

resultado apropiados en sistemas físicos con un régimen altamente no lineal, también en

sistemas químicos y biológicos donde tienen lugar umbrales discretos[3].

El concepto de AC lleva implícitamente asociado otros conceptos, como espacio y

localidad de influencia. Se asume que el sistema representado está distribuido en el espa-

cio y que regiones cercanas tienen mayor influencia entre sí, que otras que se encuentren

apartadas dentro del sistema[14].

Para definir un AC es necesario definir otros elementos que lo integran, tales como:

• Una lattice (retícula) regular de N máquinas de estado finito idénticas, llamadas

células [15], que cubre el espacio n-dimensional; cada una de las células cuenta

con patrones idénticos y conexiones locales con otras células.

• Un conjunto de estados que pueden ser asignados a cada célula.

• Una regla de transición, que especifica la evolución en el tiempo de los estados.

• Una vecindad; las interacciones locales que toda célula tiene es con células que

pertenecen sólo a su vecindad (área de influencia).

Estas características son las que en conjunto dan forma a un AC.

Existen diferentes autores [4, 13, 16, 17] que han definido los AC, pero todos coinciden

en los cuatro elementos que lo conforman, tomando como base estas definiciones, podemos

llegar a una definición que un AC por la definición de sus componentes. La siguiente

sección presenta estas definiciones.

2.3.1. Definición Formal de Autómata Celular

Una “lattice” o “retícula” es un arreglo uniforme, generalmente infinito [12],

formado por objetos idénticos llamados “células”. Este arreglo puede ser n-

dimensional, pero para efectos de simulación de sistemas naturales se implementa

de 1, 2 ó 3 dimensiones, de tamaño finito.

Definición 2.6.

9

Page 24: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

Un AC es una 4-tupla AC = (L,S,V,Φ) donde:

L:: Es una retícula regular y L = c∈Cd para una lattice d-dimensional.

S:: Es el conjunto finito de todos los posibles estados de las células, c∈ L.

V :: Es el conjunto finito de células que definen la vecindad para una

célula.

Φ:: Sd → S, es una función de transición aplicada simultáneamente a las

células que conforman la lattice.

Definición 2.7.

La actualización en el estado de las células requiere que se conozca el estado de las

células vecinas, a esta región del espacio que la célula necesita conocer se le conoce como

vecindad [1].

Una vecindad para una célula c ∈ L es V (c) = k1,k2, · · · ,kn | k j ∈ L, j =

0,1, . . . ,n; es decir, una vecindad es un conjunto de células para las cuales la

célula c es el punto de referencia para el área de influencia.

Definición 2.8.

En el caso de AC 1-dimensionales, la vecindad para la i-esima célula (la vecindad

incluye a la célula i, sin embargo, la actualización por la función no depende del estado de

i en el tiempo t), puede estar compuesta por las células adyacentes a esta en el lado derecho

e izquierdo (se busca que esta vecindad respete la simetría respecto a la célula central,

aunque no es obligatorio), por lo que se dice que esta vecindad es de radio r, es decir:

V (c) = ci−r, · · · ,ci−1,ci,ci+1, · · · ,ci+r

Para AC 2-dimensionales, generalmente se considera una retícula cuadrada, aunque

hay una variedad de diferentes tipos de retículas que pueden ser usadas así como vecin-

dades, dos vecindades clásicas son[4, 18] la de von Neumann que consiste en una célula

10

Page 25: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

central, que es la célula que será actualizada, y cuatro vecinos geográficos norte, sur, este

y oeste (N, S, E, W, por sus siglas en inglés) y la vecindad de Moore que consiste en el

conjunto de las ocho células que rodean a la célula central incluyendo a ésta [19].

2.4. La Ecuación de Onda

Con esto se hace necesario un modelo que simule los sistemas físicos que tienda a

ser de una complejidad que permita su tratabilidad, así como acercarse lo más posible a la

realidad, en este sentido, técnicas discretas han tenido mayor éxito cuando se implementan

con fines de simulación, ejemplo de esto son los autómatas celulares.

Por ejemplo la ecuación de onda en dos dimensiones que simulan a una membrana

vibrante es una ecuación importante dado que es la representativa de las ecuaciones difer-

enciales parciales hiperbólicas. Existen intentos por simular el comportamiento de la

ecuación de onda usando un autómata celular (AC) pero solo se han llevado a cabo en

una dimención como los presentados por Chopard y Droz [1] y Kawamura et al. [20],

esto debido a la complejidad de obtener una regla de evolución adecuada para el AC, pues

esta tarea es un problema fundamental en el estudio de los AC. que no tiene una solución

analítica [9]. En otros casos se han presentado aproximaciones a dos dimensiones [21] sin

llegar a una implementación.

Para Ilachinski y Packard et. al. [4, 18], la extensión de los sistemas de CA a dos

dimensiones es importante por dos razones: en primer lugar, la extensión trae consigo

la aparición de muchos fenómenos nuevos que involucran las fronteras del autómata y

las interfaces entre células, que generan patrones bidimensionales que no tienen análogos

simples en una dimensión, sin embargo también dependen de la geometría. Segundo la

dinámica bidimensional permite una comparación mas fácil y algunas veces directa a sis-

temas físicos reales.

11

Page 26: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

2.5. La Ecuación de Calor

La ecuación diferencial representativa de las EDP parabólicas es la ecuación de calor

[22], la cual se deriva de la Teoría analítica del calor de Fourier [23] describe la evolución

de la temperatura, como la tasa de flujo de energía calorífica por unidad de tiempo, en un

medio conductor de calor, la cual puede representar algunos otros procesos difusivos, de

ahí la importancia de dicha ecuación. Se han desarrollado modelos basados en autómatas

celulares para simular procesos difusivos como el presentado por Shiff [24] o Chopard

y Droz [2] que muestra una posible implementación de difución de una sustancia dentro

de otra usando movimientos aleatorios, sin llegar a una comparación cuantitativa, sólo

sugiriendola, o como el mostrado por Yang et. al. o Weimar [21, 25], en el cual sugiere

una aproximación al modelo usando diferencias finitas.

2.6. Cómputo Heterogéneo

El desarrollo de modelos computacionles busca que las soluciones planteadas, en el

marco de su implementación computacional, tiendan a ser de una complejidad tal que per-

mita que el tiempo consumido el la obtención de resultados pueda expresarse en tiempo

polinomial. Un ejemplo básico es la lectura de una matriz de datos, el cual en una imple-

mentación serial, tendría una complejidad O(n2) en el peor de los casos.

En el caso de los AC, es evidente que el espacio donde evolucionan las células o

retícula, puede verse como una matriz de datos con una dimensión específica, que para

evolucionar, consumirá un tiempo computacional equivalente a O(m×nd) con m el número

de pasos de tiempo y nd el número de células en alguna dimensión.

Una alternativa factible es poder hacer implementaciones que ayuden a reducir este

tiempo polinomial es el cómputo heterogéneo, que puede verse como una rama del cóm-

puto de alto rendimiento (HPC, por sus siglas en Inglés), el cual es una arquitectura que

mezcla las capacidades de una arquitectura CPU convencional [26, 27], con el poder de

procesamiento que pueden brindar las unidades gáficas de procesamiento (GPU’s), toma

ventaja de las capacidades de los procesadores multinúcleo, en tareas de control intensivo

12

Page 27: T E S I S - Centro de Investigación en Computación – IPN

2. MARCO TEÓRICO CONCEPTUAL

así como de los GPU’s los cuales mejoran las tareas de cálculo intensivo de datos en par-

alelo.

GPU está diseñada para soportar aplicaciones que requieran las siguientes característi-

cas [28]:

• Gran requerimiento de cálculos.

• Alto grado de paralelismo.

• El rendimiento sea más importante que la latencia.

GPU basa su modelo de programación en el paradigma SPMD (Single-program multiple-

data), dado que el dispositivo procesa una gran cantidad de elementos de datos en paralelo

usando el mismo fragmento de código.

Al uso de GPU’s para el desarrollo de aplicaciones, se le conoce como cómputo GPU

de propósito general (GPGPU), uno de los principales ambientes para desarrollo en este

paradigma es CUDA (de la empresa NVIDIA), el cual es una interfaz de alto nivel, con

estilo de sintaxis de C/C++ que permite desarrollar código que se ejecuta en el dispositivo

GPU, el cual proporciona dos niveles de paralelismo, paralelismo en datos y multithreding

[28, 29]. Permitiendo realizar aplicaciones paralelas de alta demanda a un bajo costo en

hardware.

13

Page 28: T E S I S - Centro de Investigación en Computación – IPN

CAPÍTULO 3.

TRANSFORMACIÓN DE UNA EDP

HIPERBÓLICA

EN UN AC 2-DIMENSIONAL

3.1. Modelo analítico de membrana

La obtención de la ecuación de movimiento para una membrana [30] se basa en las

suposiciones de que es delgada y uniforme con rigidez despreciable, que es perfectamente

elástica, sin amortiguamiento y que vibra con desplazamientos de amplitud pequeños. La

ecuación que regula las vibraciones transversales de una membrana está dada por [31]:

(∂ 2u∂x2 +

∂ 2u∂y2

)=

1c2

∂ 2u∂ t2 (3.1)

donde u(x,y, t) es la deflexión de la membrana, y c2 = Tρ

, siendo ρ la densidad de masa

de la membrana [32] y T la tensión de le membrana por unidad de longitud. La ecuación

(3.1) se denomina ecuación de onda en dos dimensiones.

x

y

0 b

b(b,b)

FIGURA 3.1. Membrana rectangular de longitud b×b.

14

Page 29: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Se considera una membrana cuadrada (Fig:3.1), definimos las condiciones de frontera

como sigue:

u(x,y, t) = 0 para x = 0, x = b, y = 0, y = b ∀ t (3.2)

Las condiciones iniciales se definen como:

u(x,y, t) = f (x,y) (3.3)

∂u(x,y, t)∂ t

∣∣∣t=0

= g(x,y) (3.4)

donde f (x,y) y g(x,y) son el desplazamiento y la velocidad inicial de la membrana

respectivamente.

Si definimos las condiciones iniciales como:

u(x,y, t) = xy(x−b)(y−b) (3.5)

∂u(x,y, t)∂ t

∣∣∣t=0

= 0 (3.6)

0

a

0

b0

c

xy

z

FIGURA 3.2. Condiciones iniciales y de frontera del sistema de membrana.

15

Page 30: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Entonces la membrana inicia del reposo con una distribución espacial que puede verse

en la gráfica de la figura 3.2.

La solución a la ecuación diferencial (3.1) con las condiciones iniciales y de frontera

descritas anteriormente se obtiene de la siguiente manera:

Supóngase que u(x,y, t) = F(x,y)T (t), sustituyendo en (3.1) tenemos

F∂ 2T∂ t2 = c2

(∂ 2F∂x2 T +

∂ 2F∂y2 T

)(3.7)

despejando T (t)

FT = c2T(

∂ 2F∂x2 +

∂ 2F∂y2

)(3.8a)

⇒ Tc2T

=Fxx +Fyy

F(3.8b)

Si suponemos que F(x,y) = X(x)Y (y) y sustituyendo en (3.8b), entonces:

1c2

TT

=X ′′Y +XY ′′

XY(3.9a)

⇒ 1c2

TT

=X ′′

X+

Y ′′

Y(3.9b)

Dado que ambos lados de la ecuación (3.9b) dependen de variables diferentes, se de-

duce que se pueden igualar a una constante que llamaremos −k2, entonces:

⇒ 1c2

TT

=X ′′

X+

Y ′′

Y=−k2 (3.10)

Lo que nos lleva a tener las siguientes ecuaciones diferenciales ordinarias (EDO)

T + c2k2T = 0 (3.11a)

&X ′′

X+

Y ′′

Y=−k2 ⇒ X ′′

X=−Y ′′

Y− k2 (3.11b)

16

Page 31: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

De igual forma como ambos lados de (3.11b) dependen de variables diferentes, estas

deben ser iguales a una constante que definiremos como −l2, entonces:

X ′′

X=−Y ′′

Y− k2 =−l2 (3.12)

lo que nos conduce a

X ′′

X=−l2 ⇒ X ′′+ l2X = 0 (3.13a)

& − k2− Y ′′

Y=−l2 ⇒ Y ′′+α

2Y = 0 (3.13b)

Donde α2 = k2− l2. Dado que (3.11a),(3.13a) y (3.13b) son EDO, es posible dar una

solución general a las mismas las cuales serán:

X(x) = Acos(lx)+Bsen(lx) (3.14a)

Y (y) =C cos(αy)+Dsen(αy) (3.14b)

T (t) = E cos(ckt)+F sen(ckt) (3.14c)

Para dar una solución única se toman en cuenta las condiciones de frontera descritas

en (3.2), con esto tenemos que u(x,y,0) = 0, dado que u(x,y,0) = X(x)Y (y)T (0) = x(x−b)y(y− b) entonces deducimos que T (0) no puede ser igual a 0, luego entonces hay dos

posibilidades, que X(x) = 0 o Y (y) = 0 para el caso de la condición inicial; esto solo es

posible en 4 casos los cuales son cuando x = 0, x = b, y = 0, y por último cuando y = b,

de esto seguimos que:

X(0) = A:1cos(l0)+B

:0sen(l0) = A = 0

X(b) = B sen(lb) = 0 ⇒ lb = mπ ⇒ l =mπ

bpara m = 1,2,3, . . .

análogamente

17

Page 32: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Y (0) =C:1

cos(α0)+D:0

sen(α0) =C = 0

Y (b) = D sen(αb) = 0 ⇒ αb = nπ ⇒ α =nπ

bpara n = 1,2,3, . . .

con α2 = k2+ l2 lo que implica que k2 = l2−α2, sustituyendo los valores encontrados

para l y α tenemos que

k2 =(mπ

b

)2+(nπ

b

)2⇒ k2

mn =(m2 +n2)π2

b2

Dado que la solución de las ecuaciones generales (3.14a),(3.14b) y (3.14c) depende

del valor que tomen m y n, decimos que la solución particular es:

Xm(x) = Bm sen(mπx

b

); m = 1,2,3, . . . (3.15a)

Yn(y) = Dn sen(nπy

b

); n = 1,2,3, . . . (3.15b)

De esto seguimos que la solución para (3.14c) es:

Tm,n(t) = Em,n cos(ckm,nt)+Fm,n sen(ckm,nt) (3.15c)

Con m = 1,2,3, . . . y n = 1,2,3, . . ..

Construimos una solución particular para (3.1) a partir de las ecuaciones (3.15a),

(3.15a) y (3.15a), de lo que se obtiene:

um,n(x,y, t) = Xm(x)Yn(y)Tm,n(t)

= Bm sen(mπx

b

)Dn sen

(nπyb

)[Em,n cos(ckm,nt)+Fm,n sen(ckm,nt)]

= [BmDnEm,n cos(ckm,nt)+BmDnFm,n sen(ckm,nt)]sen(mπx

b

)sen(nπy

b

)= [Gm,n cos(ckm,nt)+Hm,n sen(ckm,nt)]sen

(mπxb

)sen(nπy

b

)(3.16)

18

Page 33: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Donde m = 1,2,3, . . ., n = 1,2,3, . . . y km,n =π√

m2+n2

b .

La solución plasmada en la ec. (3.16) depende directamente de los valores que m y n

tomen, luego entonces cada combinación de estas es una solución particular a (3.1). Por el

principio de superposición la combinación lineal de las soluciones es también una solución

a la ecuación diferencial luego entonces se tiene:

u(x,y, t) =∞

∑m=1

∑n=1

um,n(x,y, t)

=∞

∑m=1

∑n=1

[Gm,n cos(ckm,nt)+Hm,n sen(ckm,nt)]sen(mπx

b

)sen(nπy

b

)(3.17)

Usando (3.17) y buscando que la solución satisfaga las condiciones iniciales tenemos:

u(x,y,0) = f (x,y) =∞

∑m=1

∑n=1

Gm,n sen(mπx

b

)sen(nπy

b

)(3.18a)

∂u∂ t

∣∣∣∣∣t=0

= g(x,y) =∞

∑m=1

∑n=1

Hm,nckm,n sen(mπx

b

)sen(nπy

b

)(3.18b)

a las ecuaciones (3.18a) y (3.18b) se les denomina serie doble de Fourier, es necesario

encontrar los valores de los coeficientes de Fourier Gm,n y Hm,n esto nos lleva a resolver lo

siguiente:

Gm,n =4b2

b∫0

b∫0

f (x,y) sen(mπx

b

)sen(nπy

b

)dxdy (3.19a)

Hm,n =4

b2ckm,n

b∫0

b∫0

g(x,y) sen(mπx

b

)sen(nπy

b

)dxdy (3.19b)

19

Page 34: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Resolviendo Gm,n, si f (x,y) = xy(x−b)(y−b) entonces;

Gm,n =4b2

b∫0

b∫0

xy(x−b)(y−b) sen(mπx

b

)sen(nπy

b

)dxdy

=4b2

b∫0

b∫0

x(x−b) sen(mπx

b

)y(y−b)sen

(nπyb

)dxdy

=4b2

b∫0

x(x−b) sen(mπx

b

)dx

b∫0

y(y−b)sen(nπy

b

)dy (3.20)

Resolviendo las integrales por separado tenemos;

b∫0

x(x−b) sen(mπx

b

)dx =

b∫0

(x2−bx) sen(mπx

b

)dx

=

b∫0

x2 sen(mπx

b

)dx−b

b∫0

x sen(mπx

b

)dx (3.21)

encontrando las dos integrales por separado e integrando por partes, por un lado obte–

nemos;

b∫0

x2 sen(mπx

b

)dx =−x2b

mπcos(

mπxb

)+2bmπ

b∫0

cos(mπx

b) xdx

=−x2bmπ

cos(mπx

b

)+

2bmπ

bxmπ

sen(mπx

b

)− b

b∫0

sen(mπx

b

)dx

=−x2b

mπcos(mπx

b

)+

2xb2

m2π2 sen(mπx

b

)+

2b3

m3π3 cos(mπx

b

)∣∣∣∣∣b

0

=− b3

mπcos(mπ)+

2b3

m2π2:

0sen(mπ)+

2b3

m3π3 cos(mπ)− 2b3

m3π3

=− b3

mπ(−1)m +

2b3

m3π3 (−1)m− 2b3

m3π3 (3.22)

20

Page 35: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

por otro lado;

−bb∫

0

x sen(mπx

b

)dx =−b

− xbmπ

cos(mπx

b

)+

bmπ

b∫0

cos(mπx

b

)dx

=

xb2

mπcos(mπx

b

)− b2

b∫0

cos(mπx

b

)dx

=xb2

mπcos(mπx

b

)− b3

m2π2 sen(mπx

b

)∣∣∣∣∣b

0

=b3

mπcos(mπ)− b3

m2π2:

0sen(mπ) =

b3

mπ(−1)m (3.23)

Por lo tanto la solución a la integral con respecto a x de la ecuación (3.20), dados los

resultados (3.22) y (3.23), es;

b∫0

x(x−b) sen(mπx

b

)dx =− b3

mπ(−1)m +

2b3

m3π3 (−1)m− 2b3

m3π3 +b3

mπ(−1)m

=2b3

m3π3 [(−1)m−1] (3.24)

De la misma forma el resultado de la integral con respecto a y de la ecuación (3.20),

sería;

b∫0

y(y−b) sen(nπy

b

)dy =

2b3

n3π3 [(−1)n−1] (3.25)

sustituyendo los resultados (3.24) y (3.25) en (3.20), tenemos;

21

Page 36: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Gm,n =4b2 ·

2b3

m3π3 [(−1)m−1] · 2b3

n3π3 [(−1)n−1]

=16b4

m3n3π6 [(−1)m−1] [(−1)n−1]

=

64b4

m3n3π6 si m y n son impares

0 en otro caso

(3.26)

Por otra parte, es necesario conocer el valor del coeficiente Hm,n, lo que nos lleva a

resolver la ecuación (3.19b), como la membrana parte del reposo, las condiciones iniciales

nos dicen que g(x,y) = 0 ∴ Hm,n = 0, entonces sustituyendo los valores encontrados de

los coeficientes Gm,n y Hm,n en (3.17), tenemos;

u(x,y, t) =∞

∑m=1

∑n=1

Gm,n cos(ckm,nt)sen(mπx

b

)sen(nπy

b

)=

∑m=1

m=impar

∑n=1

n=impar

64b4

m3n3π6 cos(ckm,nt)sen(mπx

b

)sen(nπy

b

)

=64b4

π6

∑m=1

m=impar

∑n=1

n=impar

1m3n3 cos(kmnct)sen(

mπxb

)sen(nπy

b

)(3.27)

Sustituyendo el valor de km,n, la solución final es:

u(x,y, t) =64b4

π6

∑m=1

m=impar

∑n=1

n=impar

1m3n3 cos

(π√

m2 +n2

bct

)sen(mπx

b

)sen(nπy

b

)(3.28)

La solución a la ecuación diferencial (3.1) con las condiciones iniciales y de frontera

descritas en las ecuaciones (3.5) y (3.6), para una longitud b = 0.12m y una constante

c = 14.2829, es:

22

Page 37: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

u(x,y, t) =64(0.12)4

π6

∑m=1

m=impar

∑n=1

n=impar

1m3n3 cos

(π√

m2 +n2

0.1214.2829t

)

sen(mπx

0.12

)sen( nπy

0.12

)(3.29)

La respuesta dinámica del punto central p = (b/2,b/2) de la membrana de acuerdo a

la ec. (3.29) se puede observar en las gráficas de la figura 3.3 y 3.4.

La sección 3.2 presenta la metodología seguida en la obtención de la regla de evolución

para un AC y la definición del mismo.

23

Page 38: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

00.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1−1.5

−1

−0.50

0.51

1.5x 10−5

tiem

po(s)

Amplitud(m)

EDP

FIG

UR

A3.

3.G

ráfic

ade

lasi

mul

ació

nob

teni

dade

laE

DP,

sepr

esen

tael

desp

laza

mie

nto

dela

célu

la(b 2,b 2)

enz.

24

Page 39: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

0.2

0.21

0.22

0.23

0.24

0.25

0.26

0.27

0.28

0.29

0.3

−1

−0.50

0.51

x 10−5

tiem

po(s)

Amplitud(m)

EDP

FIG

UR

A3.

4.A

cerc

amie

nto

dela

sim

ulac

ión

obte

nida

dela

ED

P,se

pres

enta

elde

spla

zam

ient

ode

lacé

lula(b 2,b 2)

enz.

25

Page 40: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

3.2. Modelo Discreto de la Membrana

Se considera un AC síncrono donde la topología subyacente es una retícula rectangular

finita 2-dimensional, para este tipo de AC existen dos vecindades clásicas, para el caso de

este AC se considera una vecindad de tipo von Neumann [19] que consiste en una célula

central y sus cuatro vecinos geográficos en el norte, sur, este y oeste (n,s,e,w).

La importancia de extender los AC a dos dimensiones radica en que [4]: la extensión

trae consigo la aparición de patrones bidimencionales que no tienen análogos simples en

una dimensión y la dinámica bidimencional permite una comparación algunas veces directa

a sistemas físicos.

A continuación se presenta la metodología usada para la discretización de la EDP en

un AC 2-dimensional.

3.2.1. Discretización del modelo analítico

Supongamos que una membrana es una sucesión de puntos con masa específica unidos

por resortes como se puede ver en la figura 3.5, cada punto de la membrana se encuentra

unido a sus cuatro vecinos ortogonales, donde la masa de la membrana se encuentra dis-

tribuida en los puntos de unión y no en los resortes, y el borde de la membrana se encuentra

sujeto a una superficie.

Llamaremos de o distancia de equilibrio, a la longitud del resorte que une a dos masas

y el cual se encuentra en estado de reposo, esa longitud será la que separe a las masas.

Para un sistema de membrana vibrante con condiciones iniciales espaciales descritas en

la ecuación (3.5) y partiendo del reposo, tenemos que cada punto de unión de la membrana

se encuentra sometido a cuatro fuerzas que actúan en dirección de cada uno de los vecinos

ortogonales que llamaremos mc, mn, ms, me, mw para la partícula central, norte, sur, este y

oeste (west) respectivamente, como se muestra en la figura 3.6

Es necesario conocer la fuerza que cada vecino ejerce sobre mc. Siguiendo el proce-

dimiento definido por [33], procedemos a calcular para un vecino (ver figura 3.7).

26

Page 41: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

x

y

z

FIGURA 3.5. Representación de una membrana como una sucesión de masas yresortes, cada masa está unida a sus vecinos norte, sur, este y oeste.

x

y

z

mc

mn

ms

memw

FIGURA 3.6. Representación de la vecindad von Neumann del AC, la célula cen-tral y sus cuatro vecinos ortogonales, así como la dirección en la que ejercen lafuerza los vecinos.

27

Page 42: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

x

y

z

mc

−→rc

mw

−→rw

−→∆rw

FIGURA 3.7. Representación de los vectores asociados con la célula central, unvecino y la dirección de la fuerza ejercida por el resorte en dirección a la célulavecina, −→rc , −→rw y

−→∆rw representan los vectores de la célula central, del vecino oeste

y del vector del resorte que los une, respectivamente.

Tomando en cuenta la figura 3.7, tenemos que:

−→rc +−→∆rw =−→rw

⇒−→∆rw =−→rw−−→rc

(3.30)

El vector−→∆rw se puede expresar como el producto de un vector unitario por el módulo

del mismo, entonces:

−→∆rw = |−→∆rw|∆rw

Sabemos que |−→∆rw|, representa la distancia de separación de las masas, es posible es-

cribir este escalar como la suma de la distancia de equilibrio o longitud del resorte incre-

mentando la deformación sufrida por el mismo resorte debido al cambio de posición de la

masa central, por lo que tenemos:

28

Page 43: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

|−→∆rw|∆rw = (de +∆de)∆rw

Donde ∆de es el valor de la deformación del resorte, la cual es necesario calcular con

el objeto de conocer el incremento de la fuerza desde el punto de equilibrio al punto de

análisis, por lo que tenemos lo siguiente:

|−→∆rw|∆rw = (de +∆de)∆rw

⇒ |−→∆rw|∆rw = de∆rw +∆de∆rw

⇒ ∆de∆rw = |−→∆rw|∆rw−de∆rw

⇒ ∆de∆rw =(|−→∆rw|−de

)∆rw (3.31)

Dado que ambos elementos de la ecuación (3.31) son vectores, los representamos en

sus componentes rectangulares como sigue:

∆de∆rw = (∆xw,∆yw,∆zw) (3.32)

(|−→∆rw|−de

)∆rw =

(|−→∆rw|−de

)(xw− xc

|−→∆rw|,yw− yc

|−→∆rw|,zw− zc

|−→∆rw|

)(3.33)

Igualando miembro a miembro de las ecuaciones vectoriales (3.32) y (3.33), tenemos:

∆xw =(|−→∆rw|−de

) xw− xc

|−→∆rw|(3.34)

∆yw =(|−→∆rw|−de

) yw− yc

|−→∆rw|(3.35)

∆zw =(|−→∆rw|−de

) zw− zc

|−→∆rw|(3.36)

De esta forma obtenemos las componentes rectangulares ∆xw, ∆yw, y ∆zw que corres-

ponden a los incrementos de desplazamiento en los ejes coordenados x, y y z para la masa

29

Page 44: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

mc para−→∆rw, los valores de los componentes para los vectores

−→∆rn,−→∆rs y

−→∆re se calculan de

forma análoga.

Continuando con el análisis, por la ley de Hooke para un sistema de masa-resorte en

una dimensión tenemos que:

F =−k∆x (3.37)

En general, para la partícula mc, existen tres fuerzas ejercidas por mw en dirección de−→∆rw debido a los componentes x, y y z del vector, y así para cada una de las partículas

mn, ms y me en las direcciones−→∆rn,

−→∆rs y

−→∆re respectivamente. Sustituyendo los valores

encontrados en la ecuación (3.34) y los respectivos de los vecinos de mc, en la ecuación

(3.37) obtenemos:

Fx =−kn∆xn− ks∆xs− ke∆xe− kw∆xw

Suponiendo que los resortes que unen a las masas de la membrana son iguales, en-

tonces −kn =−ks =−ke =−kw ==−k entonces:

Fx =−k(∆xn +∆xs +∆xe +∆xw) (3.38)

Análogamente:

Fy =−k(∆yn +∆ys +∆ye +∆yw) (3.39)

Fz =−k(∆zn +∆zs +∆ze +∆zw) (3.40)

Siendo estas las fuerzas que actúan sobre mc, que definen su aceleración en el momento

que mc se encuentra oscilando. Dado que se conoce la fuerza, utilizando la segunda ley de

30

Page 45: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Newton−→F = m−→a , y la ecuación de velocidad para un movimiento uniformemente acele–

rado, tenemos que la velocidad final para mc está dada en función de su velocidad inicial y

de la aceleración que experimenta la partícula en un instante de tiempo t, en consecuencia:

−→v f = −→vi +−→a t

= −→vi +

−→Fm

t

Separando el vector de velocidad en sus componentes rectangulares y retomando los

valores de fuerza de las ecuaciones (3.38), (3.39) y (3.40), se encuentran las componentes

de velocidad para mc siendo estas:

v f x = vix +Fx

mt (3.41)

v f y = viy +Fy

mt (3.42)

v f z = viz +Fz

mt (3.43)

Con esto obtenemos la velocidad de mc transcurrido un tiempo t, esto permite realizar

el cálculo de la nueva posición de la partícula para el siguiente instante de tiempo. Uti-

lizando la ecuación de movimiento uniformemente acelerado, tenemos:

x f i = xi + vixt +12

Fx

mt2 (3.44)

y f i = yi + viyt +12

Fy

mt2 (3.45)

z f i = zi + vizt +12

Fz

mt2 (3.46)

31

Page 46: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Las ecuaciones de velocidad y posición son las que se emplean en la defición de la

función de evolución para el AC propuesto.

3.3. Modelo de Membrana Vibrante Usando un AC 2-dimensional

Basado en el análisis desarrollado se define el modelo de AC para un sistema de

membrana vibrante fijo en los extremos, de una longitud l× l como: Una 4-tupla AC =

(L,S,V,Φ) donde cada célula mc ∈ L está definida por su masa, posición inicial y su ve-

locidad, cuando la membrana se encuentra en reposo, siendo:

L: Es una retícula regular y L = mi, j ∈ L2 : i = 1,2, . . . ,n : j = 1,2, . . . ,n

es decir una retícula 2-dimensional.

S: =

Célula fija−−→Pt

mi, j: vector de posición en tiempo t

−−→V t

mi, j: velocidad de la célula en el tiempo t.

∀mi, j ∈ L2

V : V = (mn,ms,mc,me,mw)

Φ: R3→ R3,

Φ :

a)−−→Pt+1

mc f=−→Pt

mci+−−→Vitmci

t +12(

4

∑v=1

−→at

vc)t2

b)−−−→V f t+1

mc=−−−→Vitmc f

+4

∑v=1

−→at

vct

donde :4

∑v=1

−→at

vces la aceleración que las células vecinas de mc ejercen sobre ella en el

tiempo t.−−→Pt+1

mc f, es la posición final de la célula en el espacio y

−−−→V f t+1

mc, es la velocidad final

de la célula en el tiempo t +1.

32

Page 47: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

La función de evolución Φ, está compuesta por dos reglas fundamentales, ambas se

aplican simultáneamente a todas las células que conforman el lattice, a diferencia del mod-

elo propuesto por Glabiz[34, 35], que se aplican las reglas de forma asimétrica.

La regla a) define la posición de la célula en el tiempo t + 1, tomando la velocidad

en el tiempo t, esta posición se actualiza, siendo la nueva posición inicial para t + 2 y así

sucesivamente. Similarmente, para b) la velocidad final para el tiempo t + 1 se actualiza,

siendo la velocidad inicial para el tiempo t +2.

Un punto importante en la definición del modelo es la constante de restitución para los

resortes empleada en la ecuación (3.37), a diferencia de otros modelos [33] en el cual la

constante de restitución era relativamente simple de calcular, en este modelo nos enfrenta-

mos a un problema, el que el arreglo de masas y resortes no presentan un patrón serial

sino que presentan un arreglo de mallas, para obtener este valor procedemos de la siguiente

manera:

Análogamente al método para reducción de mallas eléctricas, para obtener una cons-

tante de restitución general iniciamos definiendo cómo se pueden reducir arreglos de tipo

"Delta" a "Estrella" y viceversa, tomando como base la figura 3.8.

a b

c

ka

kbkc

k1 k3

k2

FIGURA 3.8. Representación de un arreglo de resortes en forma de Delta-Estrella.

33

Page 48: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Definimos la tranfomacón de un arreglo de resortes en patrón delta hacia un patrón

estrella como:

k1 =kakc

ka + kb + kc(3.47a)

k2 =kbkc

ka + kb + kc(3.47b)

k3 =kakb

ka + kb + kc(3.47c)

Donde k1,k2,k3 son las nuevas constantes de restitución que tendrán los resortes

al realizar la transformación y ka,kb,kc son las constantes de restitución que sirven

como base para el cambio.

Definición 3.1 (Transformación Delta a Estrella).

Definimos la transformación de un arreglo de resortes en patrón estrella hacia un

patrón delta como:

ka =k1k2 + k1k3 + k2k3

k2(3.48a)

kb =k1k2 + k1k3 + k2k3

k1(3.48b)

kc =k1k2 + k1k3 + k2k3

k3(3.48c)

Donde ka,kb,kc son las nuevas constantes de restitución que tendrán los resortes al

realizar la transformación y k1,k2,k3 son las constantes de restitución que sirven

como base para el cambio.

Definición 3.2 (Transformación Estrella a Delta).

Es necesario saber cómo tratar los resortes que se encuentren conectados en serie o en

paralelo, para esto definimos lo siguiente:

34

Page 49: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Dado un grupo de resortes unidos en un patrón serie, definimos la constante de

restitución total del arreglo como:

1kt

=1k1

+1k2

+ . . .+1kn

(3.49)

Donde kt es la constante de restitución total del arreglo y k1, . . . ,kn son las cons-

tantes de restitución de cada uno de los resortes que forman el arreglo.

Definición 3.3 (Resortes conectados en serie).

Dado un grupo de resortes unidos en un patrón paralelo, definimos la constante de

restitución total del arreglo como la suma de las constantes de restitución de todos

los resortes que formen el arreglo.

Definición 3.4 (Resortes conectados en paralelo).

3.3.1. Cálculo de la constante k

Se procede de la siguiente forma para calcular el valor de la constante de restitución k

de los resortes que unirán a las masa correspondientes.

El proceso inicia suponiendo que la membrana tiene una constante de elasticidad con

un valor igual a kt . Si se inicia con una membrana representada por el AC propuesto con-

formada por 2× 2 nodos, luego entonces siguiendo la reducción para resortes conectados

en serie y en paralelo obtenemos que:

k = kt

Siguiendo el proceso para un AC de 3×3 nodos, encontramos que:

k =3kt

2

35

Page 50: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

Si se continúa podemos ver que la relación se presenta de la forma:

k =n2

kt

donde k es la constante de los resortes, kt la constante de elasticidad de la membrana y

n el número de nodos para un AC de n×n nodos.

3.4. Implementación y Simulación

3.4.1. Diseño de clases

La figura 3.9 muestra el diseño de clases para la implementación del modelo de AC, el

cual se describe a continuación:

Cell: Clase que implementa una célula para el AC, compuesta por atributos para

la posición espacial rectangular (x, y, z), velocidad en respresentación vectorial

rectangular y si es una célula fija.

Space: Clase que consta de un arreglo bidimensional que representa a la mem-

brana.

Lattice: Clase compuesta de dos referencias a arreglos bidimensionales que re–

presentan el estado actual y siguiente del AC en el GPU, un objeto de tipo Space

usado para la definición de condiciones iniciales y que sirve como base para

realizar la reservación de memoria en el GPU. La clase implementa sus propios

kernels [36] para la manipulación del lattice en el GPU.

VMCellularAutomaton: Clase que define la regla de evolución del AC aplicán-

dola en el GPU, implementa los kernels para cálculo de elongación del resorte

que une dos células, fuerza, velocidad y posición de acuerdo a los vecinos.

UTSaveLattice: Clase de utilitaria empleada para realizar la persistencia de datos

del lattice en DD.

36

Page 51: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

*..1

1..1

1..1

1..1

Cell

positionspeedisFixed

Space

h DataArrayfriend:Lattice

Lattice

Cell*: d ActualStateCell*: d NextStateSpace*: spacesize t: p Actualsize t: p Next

VMCellularAutomaton

Lattice: latticeUTSaveLattice: saveLattice

UTSaveLattice

FIGURA 3.9. Diagrama de clases para el modelo AC 2-dimensional para una mem-brana vibrante.

3.4.2. Simulación

La respuesta dinámica del AC se obtiene definiendo una membrana representada por

una lattice de n×n nodos con n = 51, tomando como base el número de células necesarias

para simular un sistema lineal[33]. Para el AC se toma como base una membrana de 10×10 cm. estirada un 20% de su longitud en dirección de su eje x y y para obtener una

longitud igual a la empleada en la EDP, se toma como referencia el nodo ubicado en la

posición (n/2,n/2) a fin de que coincida con el punto (b/2,b/2) de la membrana. la masa

de las células es proporcional a la densidad usada para resolver la EDP presentada en la

sección 3.1. La respuesta del AC se presenta en la figura 3.10 y 3.11. De forma cualitativa,

la respuesta del AC es correspondiente con la respuesta de la EDP, tomando las mismas

condiciones iniciales y de frontera para ambos modelos.

37

Page 52: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

00.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1−2

−1.5

−1

−0.50

0.51

1.52x 10−5

tiem

po(s)

Amplitud(m)

AC

FIG

UR

A3.

10.

Grá

fica

dere

spue

sta

dela

sim

ulac

ión

real

izad

apo

relA

C,s

epr

esen

tael

desp

laza

mie

nto

dela

célu

la(n 2,n 2)

enz.

38

Page 53: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

0.2

0.21

0.22

0.23

0.24

0.25

0.26

0.27

0.28

0.29

0.3

−1.5

−1

−0.50

0.51

1.5x 10−5

tiem

po(s)

Amplitud(m)

AC

FIG

UR

A3.

11.

Ace

rcam

ient

ode

lagr

áfica

dela

sim

ulac

ión

real

izad

apo

relA

C.

39

Page 54: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

La figura 3.3, presenta el desplazamiento obtenido por la EDP de la membrana que

osciló por 1s y de la cual se tomaron 1×104 muestras, la figura 3.10, presenta el desplaza-

miento que se obtuvo del AC propuesto para las mismas condiciones que la EDP.

Las figuras 3.12(a) y 3.12(b), muestran la superposición de las gráficas obtenidas de

las oscilaciones arrojadas por el AC (en línea continua) y por la EDP (en línea punteada)

así como un acercamiento a la misma superposición.

Para calcular el error cuadrático medio entre las medidas generadas por el AC y los

valores de referencia que nos proporciona la EDP, empleamos la formula:

MSE =1n

n

∑i=1

(Vaci−V ri)2 (3.50)

donde Vaci es el i-ésimo valor estimado por el AC y V ri es el valor de referencia

tomado de la EDP.

Realizando el cálculo obtenemos que MSE = 4.4189×10−11.

De forma cualitativa, existe una correspondencia de fase entre los dos modelos para la

misma célula. Analíticamente la frecuencia fundamental está limitada por los valores de

las constantes n y m, la frecuencia queda definida como[30]:

fnm =c2

√(nb

)2+(m

b

)2

Por lo que se espera una frecuencia fundamental aproximada a:

f1,1 = 84.1625Hz

Obteniendo los espectros de frecuencia para ambas señales y graficándolos, se observa

que existe una congruencia entre los espectros de frecuencia arrojados por el AC y la EDP

(ver figura 3.13(a)). En la gráfica 3.13(b) puede verse que la frecuencia fundamental para

40

Page 55: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−2

−1.5

−1

−0.5

0

0.5

1

1.5

2x 10

−5

tiempo

m

ACEDP

(a) Gráficos superpuestos.

0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2−1.5

−1

−0.5

0

0.5

1

1.5x 10

−5

tiempo (s)

m

CAEDP

(b) Acercamiento de la gráfica de superposición

FIGURA 3.12. Gráfica de superposición 3.12(a) de la simulación realizada por elAC y la EDP, se presenta el desplazamiento de la célula (n

2 ,n2) en z para ambos ca-

sos, 3.12(b) Acercamiento de la gráfica de superposición de la simulación realizadapor el AC y la EDP.

41

Page 56: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

ambos modelos se encuentra alrededor de los 85Hz. El error entre la frecuencia funda-

mental analítica y la simulada por el AC propuesto es de 0.995%, que es menor que el

encontrado en otros modelos[20, 34, 37].

Por otro lado, es posible mostrar la robustez del modelo AC, dando un tipo irregular de

condiciones iniciales, por ejemplo, una posición inicial aleatoria para todas las células en

el eje zc, con 0 < zc << b dejando las propiedades de tensión, densidad y condiciones de

frontera iguales a las descritas en la sección 3.1. En este caso la EDP no tiene una solución

analítica dado que no es posible definir una función que describa la distribución espacial

de las células y que sea derivable en todo el dominio, no obstante el modelo AC propuesto

soporta este tipo de condiciones iniciales, como puede verse en la figura 3.14(a) donde se

presenta la evolución para la célula central en el tiempo y el espectro de frecuencias (Figura

3.14(b), en el que la frecuencia fundamental se mantiene en 85Hz consistente con los ex-

perimentos anteriores dado que sólo se cambiaron las condiciones iniciales de distribución

espacial, dejando iguales las condiciones de frontera y las características de la membrana.

42

Page 57: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

50 100 150 200 250 300

0

0.01

0.02

0.03

0.04

0.05

0.06

Frecuencia (Hz)

Amplitud

AC

EDP

(a) Superposición del espectro de frecuencias del AC y EDP

70 75 80 85 90 95 100

0.01

0.02

0.03

0.04

0.05

0.06

Frecuencia(Hz)

Amplitud

AC

EDP

(b) Acercamiento de la superposición del espectro de frecuencias

FIGURA 3.13. Gráfica de superposición del espectro de frecuencias 3.13(a) de lasimulación realizada por el AC y la EDP, 3.13(b) Acercamiento de la gráfica desuperposición.

43

Page 58: T E S I S - Centro de Investigación en Computación – IPN

3. TRANSFORMACIÓN DE UNA EDP HIPERBÓLICA EN UN AC 2-DIMENSIONAL

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2x 10

−5

t

m

CA

(a) Evolución de AC con condiciones iniciales aleatorias.

(b) Espectro de frecuencias

FIGURA 3.14. Gráfica de evolución del AC con condiciones inicialesaleatorias3.14(a) se presenta la célula central, y el espectro de frecuencias parala misma célula, 3.14(b) se conserva la frecuencia fundamental con respecto a lascondiciones de frontera, tensión, etc.

44

Page 59: T E S I S - Centro de Investigación en Computación – IPN

CAPÍTULO 4.

TRANSFORMACIÓN DE UNA EDP

PARABÓLICA EN UN AC 1-DIMENSIONAL

4.1. Modelo analítico de calor

La ecuación representativa de las EDP parabólicas es la ecuación de calor, la cual

describe el flujo de calor de un cuerpo de material homogéneo, se basa en la suposión [38]

de que el material tiene la forma de una varilla delgada de longitud l, de ancho y alto igual

a la unidad y tiene una temperatura inicial descrita por la ecuación f (x) y sus extremos

se mantienen a una temperatura de 0C en todo momento t; La ecuación que muestra la

distribución de la temperatura a lo largo del material está dada por[39]:

∇2u(x,y,z, t) =

1c2

∂u(x,y,z, t)∂ t

(4.1)

donde u(x,y,z, t) es la temperatura inicial del cuerpo, y c2 = kρσ

, siendo k la conduc-

tividad términca, ρ la densidad del material y σ el calor específico. El laplaciano de u

(∇2u), puede expresarse como:

∇2u =

∂ 2u∂x2 +

∂ 2u∂y2 +

∂ 2u∂ z2 (4.2)

Considérese una barra uniforme de longitud l (ver figura 4.1) orientada a lo largo del

eje x, con los extremos a cero grados; definiendo la temperatura inicial del cuerpo como:

f (x) =

x para 0 < x <

l2

l− x paral2< x < l

(4.3)

45

Page 60: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

z

x

y

x

l

FIGURA 4.1. Barra de longitud l.

Dado que la definición de la temperatura define que ésta sólo depende de x y t, la EDP

de flujo de calor (4.1) queda circunscrita al caso 1-dimensional, reescribiendo:

∂ 2u(x, t)∂x2 − 1

c2∂u(x, t)

∂ t= 0 (4.4)

Las condiciones de frontera son:

u(0, t) = 0 & u(l, t) = 0 (4.5)

La solución a la EDP (4.4) con las condiciones iniciales y de frontera descritas anterior-

mente se obtiene resolviendo por el método de separación de variables [23] de la siguiente

manera:

Supóngase que la solución puede ser expresada como producto de dos funciones inde-

pendientes, es decir, que u(x, t) = X(x)T (t), sustituyendo en (4.4) tenemos:

∂ 2X(x)∂x2 T (t)− 1

c2 X(x)∂T (t)

∂ t= 0 (4.6)

Por separación de variables tenemos:

X ′′(x)X(x)

=1c2

T ′(t)T (t)

(4.7)

46

Page 61: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

Dado que ambos lados de la ecuación (4.7) dependen de variables diferentes, se puede

igualar ambos elementos a una constante que debe ser negativa, de lo contrario la solución

sería la solución trivial, por lo tanto tenemos:

X ′′(x)X(x)

=1c2

T ′(t)T (t)

=−k2 (4.8)

lo que nos deja dos EDO:

X ′′(x)+ k2X(x) = 0 (4.9a)

T ′(x)+ c2k2T (t) = 0 (4.9b)

las soluciones generales para las ecuaciones (4.9a) y (4.9b) son:

X(x) = Acos(kx)+Bsen(kx) (4.10a)

T (x) =Ce−c2k2t (4.10b)

empleando las condiciones de frontera:

X(0) = A = 0 (4.11a)

X(l) = Bsen(kx) = 0 (4.11b)

La ecuación (4.11b) es 0 sólo en los casos que kl = nπ ó k = nπ

l con n = 1,2, . . ., ∴ la

solución para la ec. (4.9a) es:

Xn(x) = Bn sen(nπx

l

); n = 1,2, . . . (4.12)

Para la ec. (4.9b) tenemos:

Tn(t) =Cne−c2 n2π2

l2t

47

Page 62: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

decimos que λn =cnπ

l , entonces;

Tn(t) =Cne−λ 2n t (4.13)

combinando las soluciones (4.11b) y (4.13) se obtiene que;

un(x, t) = Xn(x)Tn(t) = Dnsen(nπ

l

)e−λ 2

n t |n = 1,2, . . . (4.14)

donde Dn =BnCn y (4.14) son las soluciones que satisfacen la ec. (4.4), por el principio

de superposición, la solución general es;

u(x, t) =∞

∑n=1

un(x, t) =∞

∑n=1

Dne−λ 2n t sen

(nπxl

)(4.15)

Para obtener la solución particular se consideran las condiciones iniciales, entonces;

u(x,0) =∞

∑n=1

Dn sen(nπx

l

)= f (x) (4.16)

Para que (4.15) cumpla con las condiciones iniciales (4.16), Dn deben ser la expansión

en series de Fourier en términos del seno de f (x), entonces;

Dn =2l

∫ l

0f (x)sen

(nπxl

)dx

sustituyendo f (x) de la ec. (4.3), Dn se expresa;

Dn =2l

[∫ l/2

0xsen

(nπxl

)dx+

∫ l

l/2(l− x)sen

(nπxl

)dx]

(4.17)

Resolviendo la primer integral por partes:

48

Page 63: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

∫ l/2

0xsen

(nπxl

)dx =− lx

nπcos(nπx

l

)+

lnπ

∫cos

nπxl

dx

=− lxnπ

cos(nπx

l

)+

l2

n2π2 sen(nπx

l

)=

l2

n2π2 sen(nπx

l

)− lx

nπcos(nπx

l

)∣∣∣∣∣l2

0

=l2

n2π2 sen(

nπ CCl2CCl

)− ll

2nπcos(

nπ CCl2CCl

)

− l2

n2π2

*0sen(

nπ0l

)−

:0l0nπ

cos(

nπ0l

)=

l2

n2π2 sen(nπ

2

)− l2

2nπcos(nπ

2

)(4.18)

Resolviendo la segunda integral por partes:

∫ l

l/2(l− x)sen

(nπxl

)dx =−(l− x)l

nπcos(nπx

l

)− l

∫cos

nπxl

dx

=− l(l− x)nπ

cos(nπx

l

)− l2

n2π2 sen(nπx

l

)∣∣∣∣∣l

l2

=−

:ol(l− l)nπ

cos(

nπll

)− l2

n2π2

*0

sen(

nπ CClCCl

)−[− l(l− l

2)

nπcos(

nπ CCl2CCl

)− l2

n2π2 sen(

nπ CCl2CCl

)]

=l2

2nπcos(nπ

2

)+

l2

n2π2 sen(nπ

2

)(4.19)

lo que da como resultado para (4.17);

49

Page 64: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

Dn =2l

[l2

n2π2 sen(nπ

2

)− l2

2nπcos(nπ

2

)+

l2

2nπcos(nπ

2

)+

l2

n2π2 sen(nπ

2

)]=

2l

[l2

n2π2 sen(nπ

2

)+

l2

n2π2 sen(nπ

2

)]=

4ln2π2 sen

(nπ

2

)(4.20)

Por lo tanto la solución de la ec. (4.15) queda expresada como:

u(x, t) =4lπ2

∑n=1

1n2 sen

(nπ

2

)sen(nπx

l

)e−(

ncπ

l )2t (4.21)

Simulando el comportamiento de la ec. (4.21), para una barra de aluminio, con una

densidad ρ = 2700 kg/m3, conductividad térmica k = 237 W/C ·m, calor específico σ =

900 J/CKg y una longitud l = 1 m, así como las condiciones iniciales descritas por la

ecuación (4.3) y las condiciones de frontera descritas por la ec. (4.5), durante un periodo

de tiempo t = 0, . . . ,5000 s. Obtenemos la respuesta mostrada en la gráfica 4.2(a), la cual

muestra los perfiles de temperatura de la barra conforme avanza el tiempo. Esto puede

apreciarse de una mejor forma en la gráfica 4.2(b), en la cual muestra en el eje x la ubicación

de la barra, en el eje y el tiempo y en el eje z, el perfil de temperatura de acuerdo a la

posición y el tiempo, estos derivados de la solución de la ecuación diferencial.

4.2. Modelo Discreto de Transferencia de Temperatura

Se considera un AC de topología unidimensional finita, con una definición de vecindad

de primeros vecinos, es decir el radio de la vecindad es r = 1, a continuación se presenta la

metodología usada para la discretización de la EDP de calor en un AC 1-dimensional.

4.2.1. Discretización del modelo analítico

Supongamos que una barra de algún material es una suceción de prismas cuadrados,

que llamaremos células (ver figura 4.3), con una mása específica en contacto entre sí por

50

Page 65: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

x(cm)0 10 20 30 40 50 60 70 80 90 100

T(C

)

0

5

10

15

20

25

30

35

40

45

50EDP

(a) Gáfica de perfiles de temperatura con respecto del tiempo.

10090

8070

6050

x(cm)

4030

2010

EDP

05000

4500

4000

3500

3000

t(s)

2500

2000

1500

1000

500

30

25

35

40

45

50

0

5

10

15

20

0

T(C

)

0

5

10

15

20

25

30

35

40

45

(b) Representación 3D de los perfiles de temperatura.

FIGURA 4.2. Gráficos de perfiles de temperatura acorde a la solución de laecuación de calor para una barra de aluminio.

51

Page 66: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

z

x

y

∆l ∆l ∆l· · ·

x

FIGURA 4.3. Barra de longitud l.

medio de una cara de la célula con un área A, que llamaremos área de contacto. Cada célula

se encuentra unido a sus dos vecinos cercanos, izquierdo y derecho, el borde de la barra se

encuentra a una temperatura constante Tb.

Supóngase que cada célula que conforma la barra cambia su temperatura en un instante

de tiempo δ t, debido al contacto con su vecino izquierdo o derecho, en dicho instante de

tiempo la temperatura de los vecinos permanece constante, entonces podemos decir que la

temperatura de la célula central cambiará de forma proporcional a las temperaturas de las

dos células en contacto. La célula vecina inyectará calor o lo tomará de la célula central de

acuerdo a su temperatura.

Podemos suponer que la célula vecina enfriará a la célula central, utilizando la Ley de

enfriamiento de Newton [40, 41] la cual definimos como:

Definiremos el concepto de enfriamiento newtoniano como la tasa de enfriamiento

de un cuerpo caliente el cual es expresado por la ecuación diferencial

dT (t)dt

= αA(T0−Ta) (4.22)

Donde α es la relación definida como coeficiente de intercambio de calor, A como

el área del cuerpo, T0 la temperatura inicial del cuerpo y Ta la temperatura del

ambiente, la cual se considera como constante.

Definición 4.1.

52

Page 67: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

La solución a la ecuación diferencial (4.22) es:

T (t) = Ta +(T0−Ta)e−(αAt) (4.23)

La cual muestra el cambio de temperatura de un cuerpo con respecto del tiempo, debido

a la interacción con el medio.

Es posible suponer que una célula aislada al entorno, podría variar su temperatura sólo

por el área en contacto con el medio, entonces decimos que para una célula ci cualquiera,

el entorno con el cual realizará algún cambio de temperatura será el medio o el contacto

con otra célula en un instante de tiempo t, durante el cual se lleva a cabo el cambio de

temperatura, definiendo que en ese lapso de tiempo la temperatura de los vecinos de ci o de

la frontera es constante, ci varía su temperatura con respecto al vecino ci+1 de la siguiente

forma:

Tcid = Ti+1 +(Tci−Ti+1)α (4.24)

Donde Tcid es la temperatura para la célula ci en el tiempo t debido a la influencia del

vecino derecho, Ti+1 la temperatura a la que se encuentra la célula ci+1 y α = e−kAt la

constante de enfriamiento de acuerdo al instante de tiempo t.

De la misma forma para el vecino ci−1, tenemos:

Tciz = Ti−1 +(Tci−Ti−1)α (4.25)

Donde Tciz es la temperatura para la célula ci en el tiempo t debido a la influencia del

vecino izquierdo, por lo que la temperatura final deci sería:

Tci(t +1) = Tciz(t)+Tcid(t)−Tci(t) (4.26)

53

Page 68: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

Que es la adición de las diferencias de temperatura debidas a la interacción con los

vecinos izquierdo y derecho. Con esta relación se define el modelo de AC 1-dimensional

para el modelo de difusión.

4.3. Modelo de Difusión de Calor Usando un AC 1-dimensional

Se define el modelo de AC para un sistema de difusión de calor de una barra que se

extiende en una dimensión de longitud l, como: Una 4-tupla AC = (L,S,V,Φ) donde cada

célula c∈ L está definida por su temperatura inicial y su posición dentro de la barra, aislada

y sólo difunde su temperatura debido a la interación con sus primeros vecinos, siendo:

L: Es una retícula regular y L = ci ∈ L : i = 1,2, . . . ,n

es decir una retícula 1-dimensional.

S: =

Ti: Temperatura inicial de ci−→Pt

ci: vector de posición en tiempo todo tiempo t

∀ci ∈ L

V : V = (ci−1,ci,ci+1)

Φ: R→ R,

Φ :

a)Tci(t +1) = Tciz(t)+Tcid(t)−Tci(t)

b)Pi = Pi

La regla a) define la temperatura para el timepo t +1 de la célula ci como la suma de

las diferencias de temperatura debidas a la interacción con los vecinos izquierdo y derecho

más la temperatura de ci en t, la regla b) especifica que no hay cambio de posición a lo

largo de la evolución.

54

Page 69: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

4.4. Implementación y Simulación

4.4.1. Diseño de clases

*..1

1..1

1..1

1..1

Cell

double: tempdouble: posX

Dims t

int: xint: yint: z

CellularAutomaton

Cell*: latticeCell*: bufferCell*: hlatticeDims t*: dimsTransitionFunction*: tfint: numCellsbool: isSync

virtual init()

TransitionFunction

virtual apply(Cell*, Cell*, dims t)

UTSaveLattice

CA ConducTermica

void init()

TF ConducTermica

void apply()

FIGURA 4.4. Diagrama de clases para el modelo AC 1-dimensional para difusiónde calor.

La figura 4.4.1, presenta el diseño de clases usado en la implementación del modelo

de AC el cual se describe a continuación:

Cell: Clase que representa una célula en el AC, básicamente es una estructura que

cuenta con atributos para definición de temperatura y posición, así como sus

respectivos métodos "set" y "get", son los objetos que conformarán el lattice.

55

Page 70: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

Dims_t: Clase utilizada para definir las dimensiones que puede tener una lattice

para el AC, define básicamente 3 dimensiones, x, y y z, así como los valores de

tamaño.

UTSaveLattice: Clase usada como utilería la cual permite realizar la escritura de

un arreglo de objetos Cell en disco, creando un archivo de datos.

CellularAutomaton: Clase base utilizada para la definición de Autómatas Celu-

lares, define los apuntadores para los valores iniciales del lattice del AC, así

como apuntadores que sirven para la operación de los mismos datos en el GPU,

está compuesto por el lattice de células, un objeto Dims_t para la definicón de

la dimensión del AC, un objeto TransitionFunction que implementa la regla de

evolución, una bandera de sincronización, así como funciones para el copiado

del lattice del CPU al GPU y viceversa, una función virtual init la cual define la

configuración inicial para el AC y funciones para calcular la configuración del

AC para el paso t +1 resultado de aplicar la regla de evolución.

TransitionFunction: Clase virtual usada en la definición del algoritmo de una

regla de transición, implementa el patrón Strategy.

CA_ConducTermica: Clase que extiende de CellularAutomaton, la cual imple-

menta un AC para un modelo de difusión de calor, recibe como argumento en su

constructor una referencia de tipo Dims_t con definición de una dimensión y una

referencia al objeto TransitionFuncion que implementa la regla de evolución.

Define la función de inicialización del AC.

TF_ConducTermica: Clase que extiende a TransitionFuction, la cual define el

método apply que es el método que invoca a la función que aplica la regla de

transición, así como la definición de los kernels [36] o funciones que se ejecu-

tarán en el GPU de forma paralela para aplicarse sobre las células del AC y así

evolucionar.

56

Page 71: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

El uso del patrón Strategy [42] es ideal, pues permite encapsular una familia de algo-

ritmos con el fin de hacerlos intercambiables, pudiendo variar dicho algoritmo indepen-

dientemente del cliente que lo requiera. Dicho patrón presenta las siguientes ventajas y

desventajas:

• Las jerarquías de clases Estrategia definen una familia de comportamientos que

permiten la reutilización por diferentes contextos.

• Promueve la eliminación de sentencias condicionales para seleccionar un com-

portamiento requerido.

• Las estrategias aumentan el número de objetos de una implementación.

• Los clientes deben conocer las estrategias para poder hacer uso de la que sea

requerida.

La implementación hace uso del patrón de diseño Strategy [42, 43] permitiendo sacar

la definición de la regla de evolución del AC como un objeto aparte para realizar la imple-

mentación de la misma y y así poder realizar una redefinición de la regla sin cambiar la

implementación del AC.

4.4.2. Simulación

La respuesta dinámica del AC en la transferencia de calor se obtiene definiendo una

barra de longitud l con un lattice 1-dimensional la cual relaciona una célula con una unidad

de longitud para la barra. Se toma como base una barra de aluminio de 1 m de longitud en

dirección del eje x, misma longitud para la EDP, con un coeficiente de conductividad tér-

mica de 237 W/Cm, una densidad ρ = 2700 kg/m3 y un calor específico σ = 900 J/Ckg,

la masa de las células es proporcional a la densidad total, se toma el mismo periodo de

tiempo t = 0, . . . ,5000 s.

Se toma como referencia los puntos ubicados entre 0 y l para un total de 101 células,

tomando las mismas condiciones iniciales y de frontera en ambos casos.

La grafica de la figura 4.5(a) muestra los perfiles de temperatura generados por el mo–

delo AC, iniciando con la definición de las condiciones iniciales descritas por la ecuación

57

Page 72: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

(4.3) y mostrando el perfil cada 200 s, misma que puede verse en su representación en

3D, donde x presenta la posición dentro de la lattice, y el tiempo y z la variación de la

temperatura con respecto del tiempo.

Cualitativamente existe una correspondencia entre los perfiles generados por la EDP

y el AC, cabe señalar que en el caso del primer perfil, el AC sí puede re–presentar las

condiciones iniciales triangulares definidas para el sistema, la EDP no puede hacer la rep-

resentación inicial triangular, sólo una aproximación debido a su representación en series

de senos.

El error cuadrático medio obtenido entre la simulación presentada por la EDP y la

generada por el AC es MSE = 0.0025

58

Page 73: T E S I S - Centro de Investigación en Computación – IPN

4. TRANSFORMACIÓN DE UNA EDP PARABÓLICA EN UN AC 1-DIMENSIONAL

x(cm)0 10 20 30 40 50 60 70 80 90 100

T(C

)

0

5

10

15

20

25

30

35

40

45

50AC

(a) Gráfico de perfiles de temperatura generados por el AC.

10090

8070

6050

x(cm)

4030

20

AC

1005000

4500

4000

3500

3000

t(s)

2500

2000

1500

1000

500

0

5

10

15

20

25

30

35

40

45

50

0

T(C

)

0

5

10

15

20

25

30

35

40

45

50

(b) Representación 3D de los perfiles de temperatura.

FIGURA 4.5. Gráficos de perfiles de temperatura generados por el modelo ACpropuesto para la difución de calor para una barra de aluminio.

59

Page 74: T E S I S - Centro de Investigación en Computación – IPN

CAPÍTULO 5.

CONCLUSIONES Y TRABAJO FUTURO

5.1. Conclusiones

Como puede observarse es factible escalar un modelo de AC de cuerda vibrantes a

dos dimensiones para modelar membranas, también es posible extender el modelo a tres

dimensiones. La dificultad radica en obtener la relación existente entre la elasticidad del

material que se modela y la constante de restitución de los resortes internos del AC.

Para el caso de la ecuación de calor unidimensional, el modelo de AC propuesto, pre-

senta una alternativa viable para la simulación de procesos de transferencia de calor, hasta

el momento unidimensionales, debido a que se observó una disminución del error cuando

se agregaban términos a la solución de la EDP, iniciando en 0.0030 y quedando en 0.0025

cuando se agregaron los primeros 30 términos a la solución.

Los modelos de AC para la membrana y la transferencia de calor, quedan liberados de

las condiciones iniciales, pues no es necesario redefinirlos debido a algún cambio en éstas,

por lo que es posible definir las condiciones iniciales y simular el comportamiento del sis-

tema de forma inmediata, a diferancia de las EDP que son sensibles a dichas condiciones

y solo tendrán solución si las condiciones iniciales son derivables en todas las posiciones

de lo contrario, la EDP no tendrá una solución analítica. El AC propuesto puede ser con-

figurado con prácticamente cualquier condición inicial pudiendo obtener la respuesta del

sistema debido a esa definición.

La expansión del modelo de cuerda de una a dos dimensiones para simular membranas,

trae consigo el incremento de la complejidad computacional del modelo, de lineal en el caso

de una dimensión, a una complejidad O(n2) debido a que el espacio del AC ahora es una

matriz de n× n. Si definimos m como el número de hilos de ejecución que ayuden a la

evolución del AC por unidad de tiempo, entonces la complejidad del AC quedaría como

O(n2

m ) y si hacemos a m lo suficientemente grande tal que m→ n, entonces la complejidad

60

Page 75: T E S I S - Centro de Investigación en Computación – IPN

5. CONCLUSIONES Y TRABAJO FUTURO

TABLA 5.1. Tiempo de ejecución para la simulación y speedup entre imple-mentación CPU y GPU

Células 102 202 302 402 502 602 104

CPU 762.2 3677.0 8839.9 16179.0 25281.7 36602.9 102279.6GPU 743.5 911.6 959.3 1341.7 1937.7 2236.8 5975.9Speedup 1.03 4.03 9.21 12.06 13.05 16.36 17.12

se reduce a O(n) lo que justifica la paralelización del modelo. El estudio del impacto de la

paralelización del modelo AC se realizó en un CPU Intel Core-i7(r) a 3.1 GHz contra un

GPU Nvidia GeForce GT 640 (r), sobre un SO Debian/Linux compilado con gcc 4.8.1 y

CUDA 6.0.1, en la tabla 5.1, se presenta los tiempos (segundos) que le tomó al AC obtener

la simulación de la membrana, se comparan los tiempos de acuerdo a una implementación

serial en CPU y una implementación paralela usando cómputo heterogéneo. En ambos

casos se incluye el tiempo utilizado para realizar la persistencia de datos en DD. Es posible

observar (ver figura 5.1(a)) que el tiempo se incrementa en varios órdenes de magnitud, en

las simulaciones realizadas en el CPU, de acuerdo al incremento en el número de células

en el lattice, el incremento del speedup puede verse en la gráfica de la figura 5.1(b).

En el caso del modelo AC para transferencia de calor, la complejidad computacional se

puede expresar como O(m×n), donde m es el número de pasos que realiza el AC para una

simulación y n el número de células que componen el lattice, dado que la implementación

se realizó para una arquitectura heterogénea usando CUDA, podemos asegura que lan-

zamos un thread que aplica la regla de evolución por célula en el AC, por lo que la com-

plejidad se reduce a O(m) dependiendo sólo del numero de iteraciones del AC. Por este

motivo no se realizó una implementación serial puesto que se garantiza que el tiempo nece-

sario para realizar una simulación siempre será menor debido a la complejidad.

Por otra parte, es importante mencionar que a diferencia de la propuesta de Chopard y

Droz [2], el modelo AC propuesto no se inspira en caminantes aleatorios, por el contrario

toma comportamiento a pequeña escala del cual el comportamiento emergente responde a

una solución viable a una EDP parabólica.

61

Page 76: T E S I S - Centro de Investigación en Computación – IPN

5. CONCLUSIONES Y TRABAJO FUTURO

1000

10000

100000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

tiem

po (

s)

células

CPUGPU

(a) Tiempo por simulación de acuerdo al número de células.

0

2

4

6

8

10

12

14

16

18

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Speedup

células

GPU vs. CPU speedup

(b) Speedup alcanzado por número de células

FIGURA 5.1. Gráfica de tiempo tomado por simulación 5.1(a) de acuerdo alnúmero de células empleado en el lattice del AC y gráfico de speedup alcanzado deacuerdo al número de células para el AC de acuerdo a la implementación para GPU.

Finalmente existe una ventaja sustancial entre los modelos propuestos y los métodos

numéricos que se utilizan para resolver EDP, y es que no se requiere el uso de estados

anteriores para calcular estados futuros por lo que el desarrollo computacional se simplifica

de forma sustancial.

62

Page 77: T E S I S - Centro de Investigación en Computación – IPN

5. CONCLUSIONES Y TRABAJO FUTURO

5.2. Trabajo Futuro

Dadas las experiencias obtenidas en el desarrollo de este trabajo, se proponen los si–

guientes tópicos como trabajo futuro:

• Expandir el modelo de calor a dos dimensiones, lo que conlleva a desarrollar una

nueva regla de evolución para el AC, así como su implementación en paralelo.

• Agregar al modelo de calor la propiedad de transferencia de masa para simular

un proceso de secado de cuerpos porosos. Es necesario contemplar que ese pro–

blema no tiene una solución analítica en los reales, debido a que las EDP que lo

representan son acopladas.

• Realizar el analísis de las EDP elípticas. Generalmente presentan sistemas en

estado estacionario, en donde no hay indicaciones de los procesos, ni del tiempo

que tomó el llevar al sistema a dicho estado.

• Desarrollar el concepto Big Cellular Automata (BCA) desde el punto de vista

computacional. La definición matemática de AC permite que éstos puedan ser

de tamaño infinito, pero esto es imposible de implementar a nivel computacional,

la idea es proponer una arquitectura de solución de permita tener AC implemen-

tados que puedan ser expandidos en tamaño lo más grandes posibles de acuerdo

al Hardware que se tenga disponible.

63

Page 78: T E S I S - Centro de Investigación en Computación – IPN

BIBLIOGRAFÍA

[1] B. Chopard and et al. “Cellular Automata Modeling of Physical Systems”. Cam-

bridge University Press, USA, 1998.

[2] B. Chopard and M. Droz. Cellular automata model for the diffusion equation.

Journal of Statistical Physics, 64(3-4):859–892, 1991.

[3] S. Wolfram. Cellular automata as models of complexity. Nature, (311):419–424,

1984.

[4] Ilachinski, A. “Cellular Automata: a discrete universe”. World Scientific, 2001.

[5] J. Johannes and R. Shannon. “Systems simulation: the art and science”. IEEE

Transactions on Systems, Man and Cybernetics, vol. 6(10):pp. 723–724., 1976.

[6] P. Fishwick. “Simulation Model Design”. Proceeeding of the Winter Simulation

Conference, 1995.

[7] T. Toffoli. “Occam, Turing, von Neumann, Jaynes: How much can you get for

how little? (A conceptual introduction to cellular automata)”. InterJournal, MIT,

December 1994. Cambridge, MA.

[8] J.A. Paulos. Beyond Numeracy. Vintage Series. Vintage Books, 1992.

[9] Tommaso Toffoli. Cellular automata as an alternative to (rather than an approxi-

mation of) differential equations in modeling physics. Physica D: Nonlinear Phe-

nomena, 10(1-2):117 – 127, 1984.

[10] S. Motta and V. Brusic. “Mathamatical Modelling of the Immune System”.

Springer, USA, 2004.

64

Page 79: T E S I S - Centro de Investigación en Computación – IPN

BIBLIOGRAFÍA

[11] R. Espericueta. “Cellular Automata Dynamics Explorations in Parallel Process-

ing”. Bakersfield College, USA, 1997.

[12] S. Wolfram. “statistical mechanics of cellular automata”. Reviews of Modern

Physics, (55):601–644, 1983.

[13] S. Wolfram. “A New Kind of Science”. Wolfram Media, Inc., USA, 2002.

[14] Y. Bar-Yam. “Dynamics of Complex Systems”. Addison-Wesley, USA, 1997.

[15] M. Mitchell. “Computation in cellular automata: A selected review”. Nonstan-

dard Computation, pages 95–140, 1998. Weinheim: VCH Verlagsgesellschaft.

[16] M. Kutrib, R. Vollmar, and Th. Worsch. Introduction to the special issue on cellular

automata. Parallel Computing, 23(11):1567 – 1576, 1997. Cellular automata.

[17] Jarkko Kari. Theory of cellular automata: A survey. Theoretical Computer Sci-

ence, 334(1–3):3 – 33, 2005.

[18] NormanH. Packard and Stephen Wolfram. Two-dimensional cellular automata.

Journal of Statistical Physics, 38(5-6):901–946, 1985.

[19] S. Hoya White, A. Martín del Rey, and G. Rodríguez Sánchez. Modeling

epidemics using cellular automata. Applied Mathematics and Computation,

186(1):193 – 202, 2007.

[20] Shozo Kawamura, Takeshi Yoshida, Hirofumi Minamoto, and Zahid Hossain.

Simulation of the nonlinear vibration of a string using the cellular automata based

on the reflection rule. Applied Acoustics, 67(2):93 – 105, 2006.

[21] Xin-She Yang and Y. Young. Handbook of Bioinspired Algorithms and Appli-

cations, chapter Cellular Automata, PDEs, and Pattern Formation. Chapman &

Hall/CRC, 2005.

[22] Jurgen Jost. Partial Differential Equations, volume 214. Springer New York,

2013.

[23] J.R. Cannon. The One-Dimensional Heat Equation. Encyclopedia of Mathematics

and its Applications. Cambridge University Press, 1984.

65

Page 80: T E S I S - Centro de Investigación en Computación – IPN

BIBLIOGRAFÍA

[24] J.L. Schiff. Cellular Automata: A Discrete View of the World. Wiley Series in

Discrete Mathematics & Optimization. Wiley, 2008.

[25] Jörg R. Weimar. Cellular automata for reaction-diffusion systems. Parallel Com-

puting, 23(11):1699 – 1715, 1997.

[26] J. Cheng, M. Grossman, and T. McKercher. Professional CUDA C Programming.

Wrox : Programmer to Programmer. Wiley, 2014.

[27] David B. Kirk and Wen-mei W. Hwu. Programming Massively Parallel Proces-

sors: A Hands-on Approach. Morgan Kaufmann Publishers Inc., San Francisco,

CA, USA, 1st edition, 2010.

[28] J.D. Owens, M. Houston, D. Luebke, S. Green, J.E. Stone, and J.C. Phillips. Gpu

computing. Proceedings of the IEEE, 96(5):879–899, May 2008.

[29] Xiongwei Liu, Lizhi Cheng, and Qun Zhou. Research and comparison of cuda

gpu programming in matlab and mathematica. In Zengqi Sun and Zhidong Deng,

editors, Proceedings of 2013 Chinese Intelligent Automation Conference, volume

255 of Lecture Notes in Electrical Engineering, pages 251–257. Springer Berlin

Heidelberg, 2013.

[30] L.E. Kinsler. Fundamentals of acoustics. Wiley, 2000.

[31] H. P. Hsu. “Análisis de Fourier”. Prentice Hall, México, 1998.

[32] Maarten Van Walstijn and Eoin Mullan. Time-domain simulation of rectangular

membrane vibrations with 1-d digital waveguides. pages 449–454, 2011.

[33] I. Huerta-Trujillo et. al. Modelo de autómata celular 1-dimensional para una edp

hiperbólica. Research in Computing Science, 58(ISSN: 1870-4069):407 – 423,

November 2012.

[34] W. Glabisz. Cellular automata in nonlinear string vibration. Archives of Civil and

Mechanical Engineering, X:27–41, 2010.

66

Page 81: T E S I S - Centro de Investigación en Computación – IPN

BIBLIOGRAFÍA

[35] W. Glabisz. Cellular automata in nonlinear vibration problems of two-parameter

elastic foundation. Archives of Civil and Mechanical Engineering, 11(2):285 –

299, 2011.

[36] N. Wilt. The CUDA Handbook: A Comprehensive Guide to GPU Programming.

Pearson Education, 2013.

[37] Shozo Kawamura, Masaki Shirashige, and Takuzo Iwatsubo. Simulation of the

nonlinear vibration of a string using the cellular automation method. Applied

Acoustics, 66(1):77 – 87, 2005.

[38] D. Zill. Ecuaciones Diferenciales con Aplicaciones de Modelado. Cengage

Learning, 2009.

[39] A. Bejan. Heat transfer. John Wiley & Sons, Inc., 1993.

[40] Sasha Panayotova. An undergraduate experiment on thermal properties. European

Journal of Physics, 8(4):308, 1987.

[41] Ugo Besson. The history of the cooling law: When the search for simplicity can

be an obstacle. Science and Education, 21(8):1085–1110, 2012.

[42] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Pat-

terns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman

Publishing Co., Inc., Boston, MA, USA, 1995.

[43] A. Ezust and P. Ezust. Introduction to Design Patterns in C++ with Qt. Prentice

Hall Open Source Software Development Series. Pearson Education, 2011.

67