You are currently browsing the daily archive for agosto 9, 2012.

Una de las funcionalidades soportadas a partir de Fortran 2003 es la orientación a objetos. De esta manera, tenemos herencia, abstracción y polimorfismo en el lenguaje para computación de altas prestaciones por excelencia.

Sin embargo, cuando hablamos de Fortran 2003 nos referimos al estandar correspondiente, cuya implementación corresponde a los diferentes compiladores.

En particular, el compilador gfortran de GNU, ¿qué funcionalidades incorpora del estardar 2003? ¿qué es lo que incorpora de la Orientación a Objetos? Y de la misma manera, ¿qué soportan el resto de compiladores? En este enlace tenemos información al respecto.

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)

agosto 2012
L M X J V S D
 12345
6789101112
13141516171819
20212223242526
2728293031