El gradiente del kernel

Definimos a los kernels como funciones del tipo: $latex W_{ab}=W(boldsymbol{r}_a – boldsymbol{r}_b,h)$, donde $latex a$ es la partícula en la que está centrada la función y $latex b$ es una partícula dentro del soporte compacto de la función kernel, controlado éste último por $latex h$, la smoothing length (longitud de suavizado). En este post básicamente …

Animaciones VisIt con los kernels 2D, sus primeras y segundas derivadas de nuestra aplicación

Construimos una malla de $latex 100times 100$ puntos de nuestros kernels en $latex 2D$. La primera animación contiene el kernel Gaussiano en el primer frame, el cúbico en el segundo, el cuártico en el tercero y el quíntico en el último: [youtube http://www.youtube.com/watch?v=toa1Asoo600?rel=0&w=420&h=315] En la siguiente animación mostramos los puntos de la primera derivada de …

Kernels y sus derivadas (2D)

En $latex 2D$ nos encontramos las siguientes gráficas. En primer lugar, dos imagenes, cualitativas y parciales, del Kernel Gaussiano y su derivada (en blanco opaco y hueco respectivamente) junto al Kernel cúbico y su derivada (en azul), y a continuación dos del Kernel Gaussiano y su derivada junto al Kernel quíntico y su derivada (en …

Kernels y sus derivadas (1D)

A continuación tenemos diferentes funciones kernel, el linea contínua, junto a su primera y segunda derivada, en lineas discontinuas de mayor y menor longitud respectivamente. En color negro el kernel gaussiano, su primera derivada y su segunda derivada: en azul el cúbico: en verde el cuártico: y en rojo el quíntico: $latex y$ representa $latex …

Actualización de la minisimulación de 1000 péndulos con NNPS: el color de cada partícula va variando en función de su número de vecinos

Actualizamos la minianimación que teniamos incluyendo los algoritmos y las estructuras de datos necesarias para la NNPS. Con el fin de poder comprobar la determinación de vecinos, el color de cada péndulo depende, en un instante dado, del número de vecinos que tiene a una distancia menor o igual a $latex h$. En la siguiente …

Determinación de vecinos en SPH (Nearest Neighboring Particle Searching: NNPS)

En el método SPH necesitamos conocer cual es su conjunto de vecinos de una partícula $latex a$. Este viene determinado por la smoothing length $latex h$, uno de los parámetros de las funciones kernel. Supongamos que tenemos $latex N$ partículas. Si $latex N$ es lo suficientemente pequeño, lo único que tenemos que hacer es, para …

Nueva minisimulación con 1000 péndulos

En la siguiente simulación tenemos $latex 1000$ partículas. Cada partícula $latex a$ representa un péndulo de masa $latex m_a$ y posición $latex (x_a(t),y_a(t),z_a(t))$, con $latex z_a(t)$ constante, sometido a las fuerzas: $latex F_1 = -m_ag$, la fuerza de la gravedad, con $latex g$ constante. $latex F_2$, la fuerza elática de la suspensión, de sentido opuesta …

SPH para fluidos con densidades muy diferentes.

En el artículo A modified SPH approach for fluids with large density differences de F. Ott y E. Schnetter se explica una nueva modificación del método SPH que permite la interacción entre fluidos con densidades muy diferentes. En la aproximación del SPH estandar tenemos: $latex rho_i = sum_j m_j W_{ij}$ con $latex W_{ij}:=W(boldsymbol{x}_i – boldsymbol{x}_j)$, …

Shocks en SPH

En el review que Rosswog hace sobre el método SPH, en especial en sus aplicaciones a la astrofísica, hay un apartado dedicado al tratamiento de los shocks. El tratamiento de los strong shocks es uno de los puntos débiles del método SPH (penetración de partículas parcialmente resuelto mediante XSPH). En este apartado comenta que, básicamente, …

Campos magnéticos en SPH

En el artículo «MAGMA: a three-dimensional, Lagrangian magnetohydrodynamic code for merger applications» de S. Rosswog y D. Price comentan como introducir campos magnéticos en SPH. Las ecuaciones ya discretizadas quedan: Ecuación de densidad: $latex rho = sum_b m_b W(r-r_b,h)$ Ecuación del momento (conh: «grad-h» term, mag: magnetic force term, g: self-gravity and gravitational softening term) …

Discretización de las ecuciones de la hidrodinámica en forma Lagrangiana

En [Rosswog 2009] tenemos las ecuaciones de la hidrodinámica en forma Lagrangiana discretizadas y en su forma mas básica. Las partículas avanzaran en el tiempo siguiendo las siguientes ecuaciones: Para empezar, no hay necesidad de resolver la ecuación de continuidad ya que la masa de las partículas permanece fija. Podemos obtener las densidades mediante: $latex …

SPH y Relatividad Especial

En [Monaghan 1992] comenta el caso del método SPH en relatividad especial. Para empezar asumimos que el fluido está constituido por bariones, por lo que el tensor de energia-momento es: $latex T^{mu nu} = (n m_0 c^2 + n tau + P) U^mu U^nu + P g^{mu nu}$ donde los indices griegos van de $latex 0$ …

SPH en la Olimpiadas de Barcelona :-)

Según Monaghan en [Monaghan, 1992], uno de los padres del método, buscaban un método con el que fuera fácil trabajar y diera buenos resultados y encontraron eso y mucho mas. Además de no  necesitar malla para calcular las derivadas, puesto que se calculan de manera analítica a partir de una fórmula de interpolación, las ecuaciones …

Ecuaciones de la hidrodinámica en forma Lagrangiana.

En el artículo [Rosswog 2009], Stephan Rosswog hace un repaso detallado del método SPH centrandose especialmente en sus aplicaciones en astrofísica. Repasamos el apartado que hace referencia a las ecuaciones de la hidrodinámica en forma Lagrangiana. A diferencia de los metodos basados en malla, que son Eulerianos, es decir, métodos donde  describimos el fluido desde …

Orígenes del Smoothed Particle Hydrodynamics (SPH)

En el artículo  [Gingold & Monaghan, 1977] se presenta por primera vez el método Smoothed Particle Hydrodynamics. Los autores, originalmente, buscaban un método que permitiera tratar problemas en astrofísica asimétricos (sin simetría esférica, sin simetría axial, etc.) . En estos casos, los métodos de diferencias finitas no se adaptan bien, pues requieren elevar el número …