You are currently browsing the tag archive for the ‘gaussiana’ tag.

Existen diferentes posibilidades a la hora de definir una función kernel:

  1. Gaussiana [Gingold & Monaghan, 1977]:W(r,h) = \alpha_D \cdot e^{-q^2} con 0 \leq q \leq 2 donde q=\frac{r}{h}, r es la distancia entre dos partículas determinadas y \alpha_D, el factor dimensional, que es \frac{1}{\pi h^2} en dos dimensiones y \frac{1}{\pi^{\frac{3}{2}} h^3} en tres.
  2. Cuadrática [Gingold & Monaghan, 1977]: \alpha_D (\frac{3}{16} q^2 - \frac{3}{4} q + \frac{3}{4}) con 0 \leq q \leq 2 y donde \alpha_D es \frac{2}{\pi h^2} en 2D y \frac{5}{4 \pi h^3} en 3D.
  3. B-spline cúbico [Monaghan & Lattancio, 1985]W(r,h) = \alpha_D \begin{cases} 1 - \frac{3}{2} q^2 + \frac{3}{4} q^3 ,& \mbox{if } 0 \leq q \leq 1 \\ \frac{1}{4}(2-q)^3 ,& \mbox{if } 1 < q \leq 2 \\ 0 ,& \mbox{if } q > 2\end{cases} con \alpha_D = \frac{10}{7 \pi h^2} en dos dimensiones y \frac{1}{\pi h^3} en 3 dimensiones.
  4. Quíntica: W(r,h) = \alpha_D (1-\frac{q}{2}^4)(2q + 1) con 0 \leq q \leq 2 y \alpha_D = \frac{7}{4 \pi h^2} en 2D y \frac{7}{8 \pi h^3} en 3D.

Pensando en posibles implementaciones, parece lógico utilizar una classe abstracta Kernel de la que heredaran las anteriores implementando sus métodos, de manera que, las posibles clases que llamen a la misma puedan hacerlo siempre de la misma manera independientement de cual estemos utilizando.

En el artíclo [Gingold & Monaghan, 1977] se introducen

La función kernel, W(\vec{r}-\vec{r'},h), es una función que permite interpolar los valores de cualquier propiedad del fluido en función del valor de las partículas del entorno. Su papel es similar al de los diferentes esquemas de diferencias en el ámbito de las Diferencias Finitas o las funciones de forma en los Elementos Finitos.

Existen diferentes funciones kernel: Gaussiana, cuadrática, spline cúbico, quíntica, etc.

La función kernel debe cumplir:

  1. Positiva: W(r-r',h) \geq 0 dentro del dominio.
  2. Soporte compacto: W(r-r',h) = 0 fuera del dominio.
  3. Normalizada: \int W(r-r',h) dr' = 1.
  4. Comportamiento de función delta: \lim_{h \rightarrow 0} W(r-r',h) dr' = \delta(r-r').
  5. Monotona decreciente.

Para derivar, tomamos la derivada analítica de la suma aproximada. De esta manera, como la derivada de la función kernel es conocida, no necesitamos diferencias finitas y el conjunto de ecuaciones PDE pasa a ser ODE.

\nabla f(\vec{r}) = \sum_b \frac{m_b}{\rho_b} f_b W(\vec{r}-\vec{r'},h)

mayo 2020
L M X J V S D
 123
45678910
11121314151617
18192021222324
25262728293031