SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Algoritmo Tree Code
Aproximando 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
Algoritmo Tree Code


Introducci´n
          o
Problema de n-cuerpos




Definici´n
       o
Predecir el movimiento de un grupo de objetos celestes, que van
interactuando unos con otros gravitacionalmente.




 2 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Introducci´n
          o
Secciones 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
Algoritmo Tree Code


Introducci´n
          o
Algoritmo 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
Algoritmo Tree Code


Introducci´n
          o
Tree-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
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea




       “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo”




 6 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea




       “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
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea




       “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
Algoritmo Tree Code


Barnes-Hut Tree Code
Idea

Centro de Masa

Formalmente 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
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   Esquema inteligente para agrupar cuerpos suficientemente lejos.




 8 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   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
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   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
Algoritmo Tree Code


Barnes-Hut Tree Code
Algoritmo




   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
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´n
          o


                                   B
                               C
                   A
                                       D


                           E




                       G
               F                   H

 9 of 31
                                              Cristi´n D. Maureira Fredes
                                                    a
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´n
          o




   Cada nodo externo, representa un unico cuerpo.
                                    ´




10 of 31
                                                       Cristi´n D. Maureira Fredes
                                                             a
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´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
Algoritmo Tree Code


Barnes-Hut Tree Code
Aproximaci´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´
                                                                    ıo

11 of 31
                                                              Cristi´n D. Maureira Fredes
                                                                    a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´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.
                               a




12 of 31
                                                                      Cristi´n D. Maureira Fredes
                                                                            a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´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
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´
                                                                 ı.




14 of 31
                                                         Cristi´n D. Maureira Fredes
                                                               a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. 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
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. 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




14 of 31
                                                         Cristi´n D. Maureira Fredes
                                                               a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. 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




14 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. 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
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. 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
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo un ´rbol
                a


Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x.
                                       a           ız
1. 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
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo 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      SE


15 of 31
                                                                Cristi´n D. Maureira Fredes
                                                                      a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo 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      SE


16 of 31
                                                                 Cristi´n D. Maureira Fredes
                                                                       a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo 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      SE


17 of 31
                                                                 Cristi´n D. Maureira Fredes
                                                                       a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo 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    SE


18 of 31
                                                                      Cristi´n D. Maureira Fredes
                                                                            a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo 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    SE


19 of 31
                                                                       Cristi´n D. Maureira Fredes
                                                                             a
Algoritmo Tree Code


Barnes-Hut Tree Code
Construyendo 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    SE


20 of 31
                                                                       Cristi´n D. Maureira Fredes
                                                                             a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando
con 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
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando
con la raiz:
1. Si el nodo actual es un nodo externo (y no b).
   Calcular y agregar fuerza.
                   s      s
2. 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
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando
con la raiz:
1. Si el nodo actual es un nodo externo (y no b).
   Calcular y agregar fuerza.
                   s      s
2. 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
Algoritmo Tree Code


Barnes-Hut Tree Code
C´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
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
1. 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         D

23 of 31
                                                              Cristi´n D. Maureira Fredes
                                                                    a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
2. El primer hijo es el cuerpo A
   No ejerce fuerza sobre si mismo.
   → No hacemos nada.




                                           A               F


                                                     E


                                       B   C    D

24 of 31
                                                  Cristi´n D. Maureira Fredes
                                                        a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
3. Hijo representante NE (contiene b, c, d y e).
   s        50
   d   =   62,7   > θ.
   → Proceso recursivo dentro.




                                           A                   F


                                                         E


                                       B   C        D

25 of 31
                                                      Cristi´n D. Maureira Fredes
                                                            a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
4. 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              D

26 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
5. 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            D

27 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a
6. Volvemos al nivel anterior, para ver otro hijo.
   Este es un nodo externo.
   → Calculamos fuerza entre a y f.




                                           A                     F


                                                           E


                                       B   C          D

28 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Barnes-Hut Tree Code
C´lculo de la fuerza sobre un cuerpo
 a




7. 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
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.




30 of 31
                                                        Cristi´n D. Maureira Fredes
                                                              a
Algoritmo Tree Code


Conclusiones



   Muestra nuevo enfoque para abordar el problema.
   Es m´s r´pido, pues no recorre todos los cuerpos.
       a a




30 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Conclusiones



   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
Algoritmo Tree Code


Conclusiones



   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




30 of 31
                                                          Cristi´n D. Maureira Fredes
                                                                a
Algoritmo Tree Code


Conclusiones



   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




30 of 31
                                                              Cristi´n D. Maureira Fredes
                                                                    a
Algoritmo Tree Code


Conclusiones



   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
Algoritmo Tree Code
Aproximando 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

Más contenido relacionado

Último

periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 

Último (20)

periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 

Destacado

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destacado (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Algoritmo Tree code

  • 1. Algoritmo Tree Code Aproximando 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. Algoritmo Tree Code Introducci´n o Problema de n-cuerpos Definici´n o Predecir el movimiento de un grupo de objetos celestes, que van interactuando unos con otros gravitacionalmente. 2 of 31 Cristi´n D. Maureira Fredes a
  • 3. Algoritmo Tree Code Introducci´n o Secciones 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. Algoritmo Tree Code Introducci´n o Algoritmo 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. Algoritmo Tree Code Introducci´n o Tree-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. Algoritmo Tree Code Barnes-Hut Tree Code Idea “Agrupar cuerpos cercanos y aproximarlos en un solo cuerpo” 6 of 31 Cristi´n D. Maureira Fredes a
  • 7. Algoritmo Tree Code Barnes-Hut Tree Code Idea “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. Algoritmo Tree Code Barnes-Hut Tree Code Idea “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. Algoritmo Tree Code Barnes-Hut Tree Code Idea Centro de Masa Formalmente 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. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo Esquema inteligente para agrupar cuerpos suficientemente lejos. 8 of 31 Cristi´n D. Maureira Fredes a
  • 11. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo 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. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo 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. Algoritmo Tree Code Barnes-Hut Tree Code Algoritmo 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. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´n o B C A D E G F H 9 of 31 Cristi´n D. Maureira Fredes a
  • 15. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´n o Cada nodo externo, representa un unico cuerpo. ´ 10 of 31 Cristi´n D. Maureira Fredes a
  • 16. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´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. Algoritmo Tree Code Barnes-Hut Tree Code Aproximaci´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´ ıo 11 of 31 Cristi´n D. Maureira Fredes a
  • 18. Algoritmo Tree Code Barnes-Hut Tree Code C´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. a 12 of 31 Cristi´n D. Maureira Fredes a
  • 19. Algoritmo Tree Code Barnes-Hut Tree Code C´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. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. Si el nodo x no contiene un cuerpo, poner el nuevo cuerpo b ah´ ı. 14 of 31 Cristi´n D. Maureira Fredes a
  • 21. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. 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. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. 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 14 of 31 Cristi´n D. Maureira Fredes a
  • 23. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. 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 14 of 31 Cristi´n D. Maureira Fredes a
  • 24. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. 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. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. 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. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo un ´rbol a Si queremos ingresar el cuerpo b en el ´rbol con ra´ en el nodo x. a ız 1. 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. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo 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 SE 15 of 31 Cristi´n D. Maureira Fredes a
  • 28. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo 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 SE 16 of 31 Cristi´n D. Maureira Fredes a
  • 29. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo 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 SE 17 of 31 Cristi´n D. Maureira Fredes a
  • 30. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo 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 SE 18 of 31 Cristi´n D. Maureira Fredes a
  • 31. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo 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 SE 19 of 31 Cristi´n D. Maureira Fredes a
  • 32. Algoritmo Tree Code Barnes-Hut Tree Code Construyendo 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 SE 20 of 31 Cristi´n D. Maureira Fredes a
  • 33. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando con 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. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando con la raiz: 1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza. s s 2. 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. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a Calcular la fuerza que ejerce la red sobre un cuerpo b, comenzando con la raiz: 1. Si el nodo actual es un nodo externo (y no b). Calcular y agregar fuerza. s s 2. 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. Algoritmo Tree Code Barnes-Hut Tree Code C´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. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 1. 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 D 23 of 31 Cristi´n D. Maureira Fredes a
  • 38. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 2. El primer hijo es el cuerpo A No ejerce fuerza sobre si mismo. → No hacemos nada. A F E B C D 24 of 31 Cristi´n D. Maureira Fredes a
  • 39. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 3. Hijo representante NE (contiene b, c, d y e). s 50 d = 62,7 > θ. → Proceso recursivo dentro. A F E B C D 25 of 31 Cristi´n D. Maureira Fredes a
  • 40. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 4. 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 D 26 of 31 Cristi´n D. Maureira Fredes a
  • 41. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 5. 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 D 27 of 31 Cristi´n D. Maureira Fredes a
  • 42. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 6. Volvemos al nivel anterior, para ver otro hijo. Este es un nodo externo. → Calculamos fuerza entre a y f. A F E B C D 28 of 31 Cristi´n D. Maureira Fredes a
  • 43. Algoritmo Tree Code Barnes-Hut Tree Code C´lculo de la fuerza sobre un cuerpo a 7. 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. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. 30 of 31 Cristi´n D. Maureira Fredes a
  • 45. Algoritmo Tree Code Conclusiones Muestra nuevo enfoque para abordar el problema. Es m´s r´pido, pues no recorre todos los cuerpos. a a 30 of 31 Cristi´n D. Maureira Fredes a
  • 46. Algoritmo Tree Code Conclusiones 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. Algoritmo Tree Code Conclusiones 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 30 of 31 Cristi´n D. Maureira Fredes a
  • 48. Algoritmo Tree Code Conclusiones 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 30 of 31 Cristi´n D. Maureira Fredes a
  • 49. Algoritmo Tree Code Conclusiones 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. Algoritmo Tree Code Aproximando 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