T E S I S - Centro de Investigación en Computación – IPN
Transcript of 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
“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.
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
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
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
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
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
Í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
Í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
Í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
ÍNDICE DE FIGURAS
5.1 Tiempo por simulación y speedup . . . . . . . . . . . . . . . . . . . . . . . . 62
xi
ÍNDICE DE TABLAS
5.1 Tiempo de ejecución y speedup entre CPU y GPU . . . . . . . . . . . . . . . . 61
xii
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
mπ
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
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
mπ
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
nπ
∫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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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