Algoritmo Tree CodeAproximando el c´lculo de la fuerza, en el problema de n-cuerpos.                a                     ...
Algoritmo Tree CodeIntroducci´n          oProblema de n-cuerposDefinici´n       oPredecir el movimiento de un grupo de obje...
Algoritmo Tree CodeIntroducci´n          oSecciones cr´            ıticas Posiciones iniciales.      Random.              ...
Algoritmo Tree CodeIntroducci´n          oAlgoritmo General   C´lculo de la fuerza.    a           Posiciones iniciales xi...
Algoritmo Tree CodeIntroducci´n          oTree-code    “A Hierarchical O(N log N) Force Calculation Algorithm”, Josh      ...
Algoritmo Tree CodeBarnes-Hut Tree CodeIdea       “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” 6 of 31     ...
Algoritmo Tree CodeBarnes-Hut Tree CodeIdea       “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo”   Si el grup...
Algoritmo Tree CodeBarnes-Hut Tree CodeIdea       “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo”   Si el grup...
Algoritmo Tree CodeBarnes-Hut Tree CodeIdeaCentro de MasaFormalmente si dos cuerpos con posiciones (x1 , y1 ), (x2 , y2 ) ...
Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo   Esquema inteligente para agrupar cuerpos suficientemente lejos. 8 of 31 ...
Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo   Esquema inteligente para agrupar cuerpos suficientemente lejos.   Recurs...
Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo   Esquema inteligente para agrupar cuerpos suficientemente lejos.   Recurs...
Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo   Esquema inteligente para agrupar cuerpos suficientemente lejos.   Recurs...
Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n          o                                   B                        ...
Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n          o   Cada nodo externo, representa un unico cuerpo.           ...
Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n          o   Cada nodo externo, representa un unico cuerpo.           ...
Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n          o                                        *NO A               ...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza a   En un cuerpo particular.           Recorrer los nodos del ...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza a   ¿C´mo determinarlo?     o                         ancho re...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                aSi queremos ingresar el cuerpo b en el ´rbol ...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                aSi queremos ingresar el cuerpo b en el ´rbol ...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                aSi queremos ingresar el cuerpo b en el ´rbol ...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                aSi queremos ingresar el cuerpo b en el ´rbol ...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                aSi queremos ingresar el cuerpo b en el ´rbol ...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                aSi queremos ingresar el cuerpo b en el ´rbol ...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                aSi queremos ingresar el cuerpo b en el ´rbol ...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                a   Ejemplo, 5 cuerpos.           Convenci´n r...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                a   Agregar cuerpo A.           Encaja en el c...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                a   Agregar cuerpo B.           Encaja en el c...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                a   Agregar cuerpo C.           Cuadrante NE o...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                a   Agregar cuerpo D.           Encaja en el c...
Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol                a   Agregar cuerpo E.           Encaja en el c...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo aCalcular la fuerza que ejerce la red sobre un...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo aCalcular la fuerza que ejerce la red sobre un...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo aCalcular la fuerza que ejerce la red sobre un...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a   Ejemplo, calcular la fuerza de la red sobr...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a1. El primer nodo examinado es la ra´        ...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a2. El primer hijo es el cuerpo A   No ejerce ...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a3. Hijo representante NE (contiene b, c, d y ...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a4. Hijo representante NE del padre (contiene ...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a5. El siguiente hijo es el que contiene el cu...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a6. Volvemos al nivel anterior, para ver otro ...
Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a7. Finalmente, en cada paso vamos sumando las...
Algoritmo Tree CodeConclusiones   Muestra nuevo enfoque para abordar el problema.30 of 31                                 ...
Algoritmo Tree CodeConclusiones   Muestra nuevo enfoque para abordar el problema.   Es m´s r´pido, pues no recorre todos l...
Algoritmo Tree CodeConclusiones   Muestra nuevo enfoque para abordar el problema.   Es m´s r´pido, pues no recorre todos l...
Algoritmo Tree CodeConclusiones   Muestra nuevo enfoque para abordar el problema.   Es m´s r´pido, pues no recorre todos l...
Algoritmo Tree CodeConclusiones   Muestra nuevo enfoque para abordar el problema.   Es m´s r´pido, pues no recorre todos l...
Algoritmo Tree CodeConclusiones   Muestra nuevo enfoque para abordar el problema.   Es m´s r´pido, pues no recorre todos l...
Algoritmo Tree CodeAproximando el c´lculo de la fuerza, en el problema de n-cuerpos.                a                     ...
Upcoming SlideShare
Loading in …5
×

Algoritmo Tree code

729 views

Published on

Spanish presentation about the main idea behind the tree codes algorithms

Published in: Education
  • Be the first to comment

  • Be the first to like this

Algoritmo Tree code

  1. 1. Algoritmo Tree CodeAproximando el c´lculo de la fuerza, en el problema de n-cuerpos. a Cristi´n D. Maureira Fredes a cmaureir@hpc.cl Universidad T´cnica e Federico Santa Mar´ ıa 19 de septiembre de 2011
  2. 2. Algoritmo Tree CodeIntroducci´n oProblema de n-cuerposDefinici´n oPredecir el movimiento de un grupo de objetos celestes, que vaninteractuando unos con otros gravitacionalmente. 2 of 31 Cristi´n D. Maureira Fredes a
  3. 3. Algoritmo Tree CodeIntroducci´n oSecciones cr´ ıticas Posiciones iniciales. Random. C´lculo de las fuerzas. a Plummer Model. Particle-Particle. O(n2 ) M´todo de integraci´n. e o Particle-Mesh. O(n + ng log ng ) Euler. Treecode. O(n log n) Leapfrog. Multipole. O(n) Runge Kutta. etc. Two step Adams-Bashworth. etc. 3 of 31 Cristi´n D. Maureira Fredes a
  4. 4. Algoritmo Tree CodeIntroducci´n oAlgoritmo General C´lculo de la fuerza. a Posiciones iniciales xi . Velocidades iniciales vi . 1≤i ≤N mi · mj rij fij = G · 2 · ||rij || ||ri j|| mi y mj masas de los cuerpos i y j. rij = (xj − xi ) vector de distancia entre los cuerpos i y j. G , constante gravitacional. (6, 67428 × 10−11 m3 kg −1 s −2 ) 4 of 31 Cristi´n D. Maureira Fredes a
  5. 5. Algoritmo Tree CodeIntroducci´n oTree-code “A Hierarchical O(N log N) Force Calculation Algorithm”, Josh Barnes & Piet Hut, 1986. Nature 324, 446. Joshua Edward Barnes Faculty member at the Institute for Astronomy (IfA), University of Hawaii. Piet Hut Professor of Interdisciplinary Studies, Institute for Advanced Study. 5 of 31 Cristi´n D. Maureira Fredes a
  6. 6. Algoritmo Tree CodeBarnes-Hut Tree CodeIdea “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” 6 of 31 Cristi´n D. Maureira Fredes a
  7. 7. Algoritmo Tree CodeBarnes-Hut Tree CodeIdea “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” Si el grupo est´ muy lejos, se aproximan los efectos gravitacionales a utilizando el centro de masa. 6 of 31 Cristi´n D. Maureira Fredes a
  8. 8. Algoritmo Tree CodeBarnes-Hut Tree CodeIdea “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” Si el grupo est´ muy lejos, se aproximan los efectos gravitacionales a utilizando el centro de masa. Centro de masa, promedio de las posiciones de un cuerpo en un grupo, ponderado por la masa. 6 of 31 Cristi´n D. Maureira Fredes a
  9. 9. Algoritmo Tree CodeBarnes-Hut Tree CodeIdeaCentro de MasaFormalmente si dos cuerpos con posiciones (x1 , y1 ), (x2 , y2 ) y masas m1 , m2 , la masa total del centro de masa (x, y ) est´ dada por: a m = m1 + m2 (x1 · m1 + x2 · m2 ) x = m (y1 · m1 + y2 · m2 ) y = m 7 of 31 Cristi´n D. Maureira Fredes a
  10. 10. Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. 8 of 31 Cristi´n D. Maureira Fredes a
  11. 11. Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. Recursivamente divide el conjunto de cuerpos en grupos guard´ndolos en un “quad-tree”. a 8 of 31 Cristi´n D. Maureira Fredes a
  12. 12. Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. Recursivamente divide el conjunto de cuerpos en grupos guard´ndolos en un “quad-tree”. a Cada nodo representa una regi´n en un espacio de dos dimensiones. o 8 of 31 Cristi´n D. Maureira Fredes a
  13. 13. Algoritmo Tree CodeBarnes-Hut Tree CodeAlgoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. Recursivamente divide el conjunto de cuerpos en grupos guard´ndolos en un “quad-tree”. a Cada nodo representa una regi´n en un espacio de dos dimensiones. o El nodo m´s alto representa todo el espacio, y sus cuatro hijos a representan cuatro cuadrantes en el espacio, 8 of 31 Cristi´n D. Maureira Fredes a
  14. 14. Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n o B C A D E G F H 9 of 31 Cristi´n D. Maureira Fredes a
  15. 15. Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n o Cada nodo externo, representa un unico cuerpo. ´10 of 31 Cristi´n D. Maureira Fredes a
  16. 16. Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n o Cada nodo externo, representa un unico cuerpo. ´ Cada nodo interno, representa el grupo de cuerpos debajo de ella, (guarda “centro de masa” y “masa total”).10 of 31 Cristi´n D. Maureira Fredes a
  17. 17. Algoritmo Tree CodeBarnes-Hut Tree CodeAproximaci´n o *NO A NE SO SE H D E F G NO NE SO SE B C NO NE SO SE Cuerpo Regi´n con > 1 cuerpo o Cuadrante vac´ ıo11 of 31 Cristi´n D. Maureira Fredes a
  18. 18. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza a En un cuerpo particular. Recorrer los nodos del ´rbol, partiendo de la ra´ a ız. Centro de masa de un nodo interno: Si lo suficientemente lejos del cuerpo. Se aproximan los cuerpos contenidos. (con centro de masa y masa total) No lo suficientemente lejos del cuerpo. Recorrer los sub-´rboles recursivamente. a12 of 31 Cristi´n D. Maureira Fredes a
  19. 19. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza a ¿C´mo determinarlo? o ancho regi´n nodo (s) o Cociente = distancia Cuerpo-CM (d) Despu´s, comparar con un valor umbral θ. e s Si d < θ, entonces el nodo interno esta lo suficiente lejos. Ajustando θ, podemos cambiar la velocidad y la precisi´n de la o simulaci´n. o Se suele utilizar θ = 0,5. Si θ = 0, degenera (fuerza bruta).13 of 31 Cristi´n D. Maureira Fredes a
  20. 20. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol aSi queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı.14 of 31 Cristi´n D. Maureira Fredes a
  21. 21. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol aSi queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı.2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado).14 of 31 Cristi´n D. Maureira Fredes a
  22. 22. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol aSi queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı.2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado).3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o14 of 31 Cristi´n D. Maureira Fredes a
  23. 23. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol aSi queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı.2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado).3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o14 of 31 Cristi´n D. Maureira Fredes a
  24. 24. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol aSi queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı.2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado).3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o Entonces, recursivamente inserta ambos cuerpos, b y c, en el cuadrante apropiado.14 of 31 Cristi´n D. Maureira Fredes a
  25. 25. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol aSi queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı.2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado).3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o Entonces, recursivamente inserta ambos cuerpos, b y c, en el cuadrante apropiado. Recursividad!14 of 31 Cristi´n D. Maureira Fredes a
  26. 26. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol aSi queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı.2. Si el nodo x es un nodo interno, actualizar el CM y M. (Recursivamente inserta el cuerpo b en el cuadrante apropiado).3. Si el nodo x es un nodo externo, digamos que contiene un cuerpo c, entonces hay dos cuerpos, b y c en la misma regi´n. o Subdivide la regi´n creando cuatro hijos. o Entonces, recursivamente inserta ambos cuerpos, b y c, en el cuadrante apropiado. Recursividad! Finalmente, actualizar el CM y M de x.14 of 31 Cristi´n D. Maureira Fredes a
  27. 27. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol a Ejemplo, 5 cuerpos. Convenci´n ramas, de izquierda a derecha (NO, NE, SO y SE). o B A C D E NO NE SO SE15 of 31 Cristi´n D. Maureira Fredes a
  28. 28. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol a Agregar cuerpo A. Encaja en el cuadrante NO de la ra´ ız. NO NE 1 SO SE A masa: 1 NO NE SO SE16 of 31 Cristi´n D. Maureira Fredes a
  29. 29. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol a Agregar cuerpo B. Encaja en el cuadrante NE de la ra´ ız. NO NE 2 SO SE A B masa: 2 NO NE SO SE17 of 31 Cristi´n D. Maureira Fredes a
  30. 30. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol a Agregar cuerpo C. Cuadrante NE ocupado por B, se crea rama y se insertan los dos. NO NE 3 SO SE masa: 2 A 2 NO SO SE B C masa: 3 NO NE SO SE18 of 31 Cristi´n D. Maureira Fredes a
  31. 31. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol a Agregar cuerpo D. Encaja en el cuadrante SE de la rama. NO NE 4 SO SE masa: 3 A 3 NO SO SE B C D masa: 4 NO NE SO SE19 of 31 Cristi´n D. Maureira Fredes a
  32. 32. Algoritmo Tree CodeBarnes-Hut Tree CodeConstruyendo un ´rbol a Agregar cuerpo E. Encaja en el cuadrante SE de la ra´ ız. 5 NO NE A 3 E SO SE NO SO SE B C D masa: 5 NO NE SO SE20 of 31 Cristi´n D. Maureira Fredes a
  33. 33. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo aCalcular la fuerza que ejerce la red sobre un cuerpo b, comenzandocon la raiz:1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza.21 of 31 Cristi´n D. Maureira Fredes a
  34. 34. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo aCalcular la fuerza que ejerce la red sobre un cuerpo b, comenzandocon la raiz:1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza. s s2. Si no, calcular d . Si d < θ, nodo interno como un unico cuerpo. ´ Calcular y agregar fuerza.21 of 31 Cristi´n D. Maureira Fredes a
  35. 35. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo aCalcular la fuerza que ejerce la red sobre un cuerpo b, comenzandocon la raiz:1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza. s s2. Si no, calcular d . Si d < θ, nodo interno como un unico cuerpo. ´ Calcular y agregar fuerza.3. Si no, recursividad del procedimiento en cada hijo del nodo actual.21 of 31 Cristi´n D. Maureira Fredes a
  36. 36. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a Ejemplo, calcular la fuerza de la red sobre el cuerpo a. Comenzaremos en la ra´ (nodo interno). ız Representa CM de los 6 cuerpos. a, b, c, d, e y f, con masas 1, 2, 3, 4, 5 y 6 Kg.El calculo de fuerza procede de la siguiente forma.22 of 31 Cristi´n D. Maureira Fredes a
  37. 37. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a1. El primer nodo examinado es la ra´ ız. s 100 Cociente entre A y CM. d = 43,1 > θ = 0,5 → Proceso recursivo dentro. B C D A F A E E F B C D23 of 31 Cristi´n D. Maureira Fredes a
  38. 38. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a2. El primer hijo es el cuerpo A No ejerce fuerza sobre si mismo. → No hacemos nada. A F E B C D24 of 31 Cristi´n D. Maureira Fredes a
  39. 39. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a3. Hijo representante NE (contiene b, c, d y e). s 50 d = 62,7 > θ. → Proceso recursivo dentro. A F E B C D25 of 31 Cristi´n D. Maureira Fredes a
  40. 40. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a4. Hijo representante NE del padre (contiene b, c y d). s d = 25/66,9 < θ. → Se calcula la fuerza como un s´lo nodo. o A F E B C D26 of 31 Cristi´n D. Maureira Fredes a
  41. 41. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a5. El siguiente hijo es el que contiene el cuerpo e. Este es un nodo externo. → Calculamos fuerza entre a y e. A F E B C D27 of 31 Cristi´n D. Maureira Fredes a
  42. 42. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a6. Volvemos al nivel anterior, para ver otro hijo. Este es un nodo externo. → Calculamos fuerza entre a y f. A F E B C D28 of 31 Cristi´n D. Maureira Fredes a
  43. 43. Algoritmo Tree CodeBarnes-Hut Tree CodeC´lculo de la fuerza sobre un cuerpo a7. Finalmente, en cada paso vamos sumando las fuerzas calculadas,para obtener la fuerza total de la red sobre el cuerpo a.29 of 31 Cristi´n D. Maureira Fredes a
  44. 44. Algoritmo Tree CodeConclusiones Muestra nuevo enfoque para abordar el problema.30 of 31 Cristi´n D. Maureira Fredes a
  45. 45. Algoritmo Tree CodeConclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a30 of 31 Cristi´n D. Maureira Fredes a
  46. 46. Algoritmo Tree CodeConclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n).30 of 31 Cristi´n D. Maureira Fredes a
  47. 47. Algoritmo Tree CodeConclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n). Generamos errores, lo que nos lleva a tener una menor precisi´n. o30 of 31 Cristi´n D. Maureira Fredes a
  48. 48. Algoritmo Tree CodeConclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n). Generamos errores, lo que nos lleva a tener una menor precisi´n. o Podemos controlar la precisi´n, modificando θ. o30 of 31 Cristi´n D. Maureira Fredes a
  49. 49. Algoritmo Tree CodeConclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a Disminuye el orden del algoritmo de O(n2 ) a O(n log n). Generamos errores, lo que nos lleva a tener una menor precisi´n. o Podemos controlar la precisi´n, modificando θ. o Desarrollo multipolar (Multipole expansions) lo corrige!.30 of 31 Cristi´n D. Maureira Fredes a
  50. 50. Algoritmo Tree CodeAproximando el c´lculo de la fuerza, en el problema de n-cuerpos. a Cristi´n D. Maureira Fredes a cmaureir@hpc.cl Universidad T´cnica e Federico Santa Mar´ ıa 19 de septiembre de 2011

×