Logo Studenta

Métodos sin mallas

¡Este material tiene más páginas!

Vista previa del material en texto

UNVERSIDAD DE CARABOBO
FACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍA
DEPARTAMENTO DE MATEMÁTICAS
MÉTODOS SIN MALLAS.
Trabajo de Ascenso presentado ante la Universidad de Carabobo por
Máximo Gonzalo Mero Barcia
Como requisito para optar a la Categoŕıa de Profesor Asociado
2014
Índice general
Portada I
Resumen V
1. Introducción y Planteamiento del Problema 1
2. Métodos sin Mallas 4
2.1. Smoothed Particle Hydrodynamics - SPH . . . . . . . . . . . . . . . . . . . . 5
2.2. Mı́nimos Cuadrados Móviles - MLS . . . . . . . . . . . . . . . . . . . . . . . 8
3. Aproximación de nubes de puntos usando métodos sin mallas 12
3.1. Mı́nimos Cuadrados (LS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2. Mı́nimos Cuadrados Ponderados (WLS) . . . . . . . . . . . . . . . . . . . . . 14
3.3. Mı́nimos Cuadrados móviles (MLS) . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.1. Aplicaciones de Mı́nimos Cuadrados Móviles . . . . . . . . . . . . . . 19
3.4. Implementación y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4. Modelos deformables usando MLS 24
i
4.1. Teoŕıa de Elasticidad Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2. Métodos de Mallas Libres MLS . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.1. Aproximación de ∇~U empleando el método de MLS . . . . . . . . . . 26
4.2.2. Funciones de Peso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.3. Cálculo de las Fuerzas . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3. Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.1. Dinámica de la Superficie del objeto 3D . . . . . . . . . . . . . . . . 32
4.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5. Simulación de Fluidos Basados en Part́ıculas usando SPH 39
5.1. Las Ecuaciones de Navier-Stokes . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1.1. Enfoque Euleriano . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2. Smoothed Particle Hydrodynamics (SPH) . . . . . . . . . . . . . . . . . . . 41
5.3. Enfoque Lagrangiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3.1. Masa-Densidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.3.2. Fuerzas Internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.3.3. Viscosidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3.4. Fuerzas Externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.4. Integración Numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6. Conclusiones 64
ii
Índice de figuras
3.1. Aproximación por Mı́nimos Cuadrados . . . . . . . . . . . . . . . . . . . . . 21
3.2. Aproximación por Mı́nimos Cuadrados ponderados . . . . . . . . . . . . . . . 21
3.3. Aproximación por Mı́nimos Cuadrados Móviles . . . . . . . . . . . . . . . . 22
3.4. Aproximación por SPH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5. MLS con 256 datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1. Objeto en estado de reposo y en estado de deformación. . . . . . . . . . . . . 34
4.2. Función de Lennard-Jones L(α, dij). Función W1(r, h). . . . . . . . . . . . . 36
4.3. Funciones de peso W2(r, h) y W3(r, h). . . . . . . . . . . . . . . . . . . . . . 36
4.4. Funciones de peso W4(r, h) y W5(r, h). . . . . . . . . . . . . . . . . . . . . . 36
4.5. Diferencia entre hi y α. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6. Animación de un octaedro con 299 part́ıculas internas. . . . . . . . . . . . . 37
4.7. Animación de un elipsoide con 568 part́ıculas internas. . . . . . . . . . . . . 37
4.8. Animación de un elipsoide formado por 715 part́ıculas internas y 990 de la
superficie y 1976 triángulos. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1. Configuración Básica de SPH para las ecuaciones de Navier-Stokes . . . . . 46
iii
5.2. Núcleo por Defecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3. Gráfica del núcleo de Presión . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4. Gráfica del núcleo de Viscosidad . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.5. Función de Peso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.6. Simulación en Progreso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.7. Manejo de Colisión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.8. Dinámica con 65536 Part́ıculas . . . . . . . . . . . . . . . . . . . . . . . . . 63
iv
Índice de cuadros
4.1. Equipos utilizados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2. Tiempos de las animaciones basadas en el modelo de part́ıculas internas
usando la estrategia de búsqueda de vecinos de todos contra todos en los
distintos equipos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3. Parámetros usados en las animaciones basadas en el modelo de los puntos
internos y de superficie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1. Resultados para HW1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2. Resultados para HW2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3. Resultados para HW3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
v
RESUMEN
Los métodos sin mallas (Mesh Free -MFree) son métodos de aproximación, es decir, métodos
para reconstruir funciones y sus derivadas a partir de los valores puntuales en una serie
de part́ıculas irregularmente distribuidas, y de cierta información geométrica de bajo nivel
acerca de la distribución de part́ıculas. La reconstrucción requiere la existencia de una
interconexión de más alto nivel entre part́ıculas, esto es, la reconstrucción es independiente
de que las part́ıculas sean o no los nodos de una red.
Por extensión, se denomina habitualmente métodos sin mallas a una serie de métodos
numéricos para resolver ecuaciones diferenciales, que trabajan directamente en el espacio
f́ısico y que obtienen su marco de representación espacial a través de un método
de aproximación sin malla. En la simulación dinámica se requiere resolver ecuaciones
diferenciales complejas que gobiernan estos fenómenos. Tradicionalmente, tales ecuaciones
diferenciales en derivadas parciales se resuelven usando métodos numéricos tales como el
Método de los Elementos Finitos (FEM) y el Método de Diferencias Finitas (FDM). En estos
métodos, el dominio espacial donde las ecuaciones diferenciales parciales están definidas,
usualmente se discretiza en mallas. En FDM, la malla es usualmente llamada cuadŕıcula
(grids). En el Método de Volumen Finito (FVM), estas mallas son llamadas volúmenes o
celdas, y en FEM las mallas son llamadas elementos. Sin embargo, todas estas cuadŕıculas,
volúmenes, celdas y elementos pueden ser calificadas como mallas. La clave es que una malla
debe estar predefinida para proveer cierta relación entre los nodos, la cual es la base de la
formulación de estos métodos numéricos convencionales.
Existen muchos métodos Mfree, tales como el método Element Free Galerkin (EFG) [5], el
método sin malla local de Petrov-Galerkin (MLPG) [3], el método de interpolación puntual
(PIM) [8], el método Smoothed Particle Hydrodynamics [16].
Esta investigación se centra en el estudio de los métodos Smoothed Particles Hydrodynamics
(SPH) [15], Moving Least-Squares (MLS),( [11], [14], [8]), Least-Squares (LS) y Weighted
Least Squares (WLS) [22], su aplicación en los modelos deformables basados en la teoŕıa de
elasticidad lineal y la simulación dinámica de los fluidos.
Caṕıtulo 1
Introducción y Planteamiento del
Problema
Si trabajamos directamenteen el espacio f́ısico un método numérico, es necesario disponer
de un marco de aproximación espacial, este ha de tener asociada una cierta representación
funcional. De esta forma, mientras los métodos de diferencias finitas trabajan en un
espacio computacional transformado, de forma que las ecuaciones se resuelvan en una malla
rectangular, otros métodos numéricos, como el método de los volúmenes finitos o el método
de los elementos finitos, toman la solución numérica de ciertos subespacios de funciones
capturadas por la malla. Por ejemplo, la representación básica en un método de volúmenes
finitos es la de una función constante a trozos, es decir, es constante en cada volumen de
control.
El principal atractivo de los métodos que trabajan en el espacio f́ısico es la posibilidad de
emplear mallas no estructuradas. Se dice que una malla es estructurada cuando se dispone
de una transformación desde el espacio f́ısico, representado por la red, hacia un espacio
computacional como el empleado con el método de diferencias finitas. Si la geometŕıa es
sencilla, se podrá generar una malla estructurada con relativa facilidad. Sin embargo, la
generación de mallas estructuradas, o estructuradas por bloques, para geometŕıas muy
complejas resulta, con frecuencia, en un problema inabordable en términos de ingenieŕıa
práctica. En estos casos, resulta mucho más eficiente el empleo de mallas no estructuradas,
a las que solamente se requiere cubrir la totalidad del dominio con una serie de celdas que
no se solapen.
Estas mallas, entendidas como conjuntos de celdas conectadas en el sentido de una red,
pueden ser empleadas por los métodos que trabajan en el espacio f́ısico para desarrollar
distintos aspectos de la formulación. En los métodos de elementos finitos o elementos de
1
contornos, la conectividad de la malla sirve para construir la aproximación espacial (definir
funciones de forma), además de permitir la discretización de la forma débil del problema
en términos de contribuciones elementales (elemento a elemento). El método de volúmenes
finitos no utiliza, en principio, unas funciones de forma (salvo, quizás, si suponemos que
utiliza funciones constantes en cada celda). Sin embargo, el papel de la discretización de
celdas (volúmenes de control) está intŕınsecamente relacionado con el propio planteamiento
del esquema, a través de conceptos como forma integral del problema en cada volumen de
control y flujo a través del contorno de cada volumen de control.
Los métodos sin mallas son métodos de aproximación, es decir, métodos para reconstruir
funciones y sus derivadas a partir de los valores puntuales en una serie de part́ıculas
irregularmente distribuidas, y de cierta información geométrica de bajo nivel acerca de la
distribución de part́ıculas (por ejemplo, la distancia entre ellas). La reconstrucción requiere la
existencia de una interconexión de más alto nivel entre part́ıculas, esto es, la reconstrucción
es independiente de que las part́ıculas sean o no los nodos de una red.
Por extensión, se denomina habitualmente métodos sin mallas a una serie de métodos
numéricos para resolver ecuaciones diferenciales, que trabajan directamente en el espacio
f́ısico (capaces de utilizar información no estructurada), y que obtienen su marco
de representación espacial a través de un método de aproximación sin malla. En la
simulación dinámica se requiere resolver ecuaciones diferenciales complejas que gobiernan
estos fenómenos. Tradicionalmente, tales ecuaciones diferenciales en derivadas parciales se
resuelven usando métodos numéricos tales como el Método de los Elementos Finitos (FEM)
y el Método de Diferencias Finitas (FDM). En estos métodos, el dominio espacial donde
las ecuaciones diferenciales parciales están definidas, usualmente se discretiza en mallas. En
FDM, la malla es usualmente llamada cuadŕıcula (grids). En el Método de Volumen Finito
(FVM), estas mallas son llamadas volúmenes o celdas, y en FEM las mallas son llamadas
elementos. Sin embargo, todas estas cuadŕıculas, volúmenes, celdas y elementos pueden ser
calificadas como mallas. La clave es que una malla debe estar predefinida para proveer cierta
relación entre los nodos, la cual es la base de la formulación de estos métodos numéricos
convencionales.
Al usar una malla predefinida apropiadamente y al aplicar un principio apropiado, las
ecuaciones diferenciales parciales que gobiernan el problema pueden ser aproximadas por un
conjunto de ecuaciones algebraicas a través de la malla. El sistema de ecuaciones algebraicas
para la totalidad del dominio del problema puede ser formado al ensamblar el conjunto de
las ecuaciones algebraicas para todas las mallas.
En los métodos sin mallas MFree (mesh free) se establece un sistema de ecuaciones algebraicas
para la totalidad del dominio del problema sin el uso de la malla predefinida. Los métodos
MFree usan un conjunto de nodos diseminado o esparcidos por el interior del dominio
del problema, aśı como también un conjunto de nodos diseminados por las fronteras para
2
representar (no discretizar) tanto el dominio como sus fronteras. Estos conjuntos de puntos
diseminados no forman una malla, lo cual significa que ninguna información de la relación
entre ellos es requerida, al menos para el campo de interpolación.
Existen muchos métodos Mfree, tales como el método Element Free Galerkin (EFG) [5], el
método sin malla local de Petrov-Galerkin (MLPG) [3], el método de interpolación puntual
(PIM) [8], el método Smoothed Particle Hydrodynamics [16].
Esta investigación se enfoca en el estudio de los métodos Smoothed Particles Hydrodynamics
(SPH) [15], Moving Least-Squares (MLS),( [11], [14], [8]), Least-Squares (LS) y Weighted
Least Squares (WLS) [22] y su aplicación en los modelos deformables basados en la teoŕıa
de elasticidad lineal y la simulación dinámica de los fluidos.
Esta trabajo combina y desarrolla las ĺıneas de investigación de métodos numéricos y
computación gráfica de la Facultad de Ciencias y Tecnoloǵıa de la Universidad de Carabobo
mediante el análisis y desarrollo de los métodos de aproximación sin mallas y sus aplicaciones
en la resolución numérica de ecuaciones diferenciales.
3
Caṕıtulo 2
Métodos sin Mallas
Los denominados métodos sin malla han atráıdo muy recientemente el interés de los investi-
gadores, debido a su flexibilidad para resolver problemas prácticos de simulación numérica.
El principal objetivo de los métodos sin malla es superar las dificultades que aparecen en
los problemas de simulación numérica al tener que remallar los dominios en estudio, ya que
en estos métodos es suficiente con añadir nodos donde sea necesario. Se trata por tanto de
enfoques novedosos en el área de computación gráfica que han cambiado la estrategias a la
hora de realizar simulación o animación de objetos deformables.
Los métodos sin mallas son aquellos donde el objeto es modelado por medio de una nu-
be de part́ıculas sin conectividad previa. Existe una diversidad de métodos sin mallas y
los más destacados son: SPH (Smoothed Particle Hydrodynamics), DEM (Method Element
Difuse),EFG (Element Free Galerkin), Mı́nimos Cuadrados (Moving Least-Squares), LBIE
(Local Boundary Integral Equation), PUM (Partition of Unity Method).
El método de SPH fue desarrollado originalmente en 1977 para la simulación de gas interes-
telar en el campo de la astro f́ısica. Fue desarrollado por Bob Gingold y Joe Monaghan [9] e
independientemente por Leon Lucy [16]. El método SPH es un método poderoso que permi-
te la solución de problemas dinámicos complejos tanto de fluidos como de otros materiales.
Desde su desarrollo ha sido usado exitosamente en mútiples áreas de estudio tales como:
rompimiento de oleaje, flujo de lava, estudio de fracturas elásticas, problemas de superficie
libre y materia granular.
4
La aproximación de los mı́nimos cuadrados (MLS - Moving Least-Squares)fue desarrollada
por Lancaster y Salkauskas en 1981 [12], quienes fueron los primeros que usaron la
aproximación de MLS para el suavizado e interpolación de datos en el área de computación
gráfica.
2.1. Smoothed Particle Hydrodynamics - SPH
La formulación de SPH se divide en dos etapas. La primera es la representación integral
o también llamada aproximación por núcleos del campo de funciones. La segunda es la
aproximación de part́ıculas.
En la primera, la integración de una función arbitraria y una función de núcleo (también
llamada función de peso) dá la función de núcleo en la forma de la representación integral de
la función. La representación integral de la función es posteriormente aproximada agregando
los valores de las part́ıculas vecinas más próximas las cuales producen la aproximación de
part́ıculas de la función a un punto discreto o part́ıcula.
Aqúı, el término representación integral o aproximación por núcleos y aproximación de
part́ıculas serán usados para lo mismo.
El Concepto de representación integral de una función f(x) usada en el método SPH comienza
de la siguiente identidad
f(x) =
∫
Ω
f(y)δ(x− y)dy (2.1)
donde f es una función del vector x y δ(x− y) es la función delta de Dirac dada por
δ(x− y) =
{
1 x = y
0 x 6= y (2.2)
En la ecuación (2.1), Ω es el volumen de la integral que contiene a x. La ecuación (2.1)
implica que una función puede ser representada en una forma integral. Puesto que la función
delta de Dirac es usada, la representación integral en la ecuación 2.1 es exacta siempre y
cuando f(x) esté definida y sea continua en Ω.
5
Si la función núcleo Delta δ(x − y) es reemplazada por una función suave W (x − y, h), la
representación integral de f(x) viene dada por
f(x)
.
=
∫
Ω
f(y)W (x− y, h)dy (2.3)
Donde W es la llamada función núcleo, o función de peso. h es la longitud de suavidad que
define el área de influencia de la función de peso W . Notar que aún cuando W no es la función
de Dirac, la representación integral de la ecuación (2.3) es solamente una aproximación. Este
es el origen del término aproximación por núcleos.
La función W es elegida de modo que cumpla las condiciones siguientes:
1. La función de peso debe estar normalizada sobre su dominio∫
Ω
W (x− y, h)dy = 1 (2.4)
2. La función de peso será de soporte compacto
W (x− y, h) = 0, | x− y |> κh (2.5)
El tamaño del soporte compacto está definido por la longitud del núcleo multiplicado
por un factor κ, donde h es la longitud del núcleo y κ determina la propagación de la
función de peso dada. | x− y |≤ κh define el dominio de soporte de la part́ıcula en el
punto x.
3. W (x − y, h) ≥ 0 para todo punto y dentro del dominio de soporte para el punto x
(Positividad).
4. La función de núcleo será una función monótona decreciente a medida que se incremente
la distancia entre part́ıculas.
5. La función de núcleo debeŕıa satisfacer la condición de la función delta de Dirac a
medida que la longitud de núcleo tienda a cero (propiedad de la función Delta)
ĺım
h→0
W (x− y, h) = δ(x− y). (2.6)
6. La función de núcleo debe ser una función par (propiedad de simetŕıa)
7. La función de núcleo debe ser lo suficientemente suave (condición de suavidad )
6
La primera propiedad de normalización asegura que la integral de la función de núcleo
sobre el dominio de soporte sea la unidad. También asegura el orden de consistencia de la
representación integral de una función continua.
La segunda propiedad transforma una aproximación SPH de forma global a una de
operaciones locales.
La tercera propiedad establece que la función núcleo seŕıa no negativa en el dominio de
soporte. Esto no es matemáticamente necesario como un requerimiento de convergencia,
pero importante para asegurar un sentido f́ısico, o estable, de la representación de algunos
fenómenos f́ısicos. Algunas funciones de núcleo usadas en la práctica son negativas en partes
del dominio soporte. Sin embargo en simulaciones hidrodinámicas, valores negativos para la
función de núcleo pueden tener serias consecuencias que resultan en algunos parámetros no
f́ısicos tales como densidad negativa y enerǵıa.
La cuarta propiedad está basada sobre consideraciones f́ısicas en que las part́ıculas más
próximas tendŕıan una influencia mayor sobre la part́ıcula en cuestión. En otras palabras, con
el incremento de la distancia entre dos part́ıculas que interactúan, las fuerzas de interacción
decrecen.
La quinta propiedad asegura que cuando la longitud de núcleo tiende a cero, los valores
aproximados se acercan a los valores reales de la función.
La sexta propiedad significa que las part́ıculas a una misma distancia pero en diferentes
posiciones tienen el mismo efecto sobre una part́ıcula dada. Esta no es una condición
muy ŕıgida, y algunas veces es violada en algunos métodos sin mallas que tienen mayor
consistencia.
La séptima propiedad tiene como objetivo obtener una mejor aproximación. Para el
aproximaciones de una función y sus derivadas, la función de núcleo necesita ser lo
suficientemente continua para obtener buenos resultados.
Cualquier función que tenga las propiedades anteriores puede ser empleado como una función
de peso o función núcleo del método SPH.
En el art́ıculo original del método SPH, Lucy [16] usó la siguiente función núcleo
W (x− y, h) = W (R, h) = αd
{
(1 + 3R)(1−R)3 R ≤ 1
0 R > 1
(2.7)
7
donde αd = 5/(4h), αd = 5/(πh
2) y αd = 105/(16h
3) en una, dos y tres dimensiones
respectivamente. r es la distancia entre los puntos x y y. R es la distancia relativa entre los
puntos x y y y la longitud de núcleo h definida por R = r
h
= |x−y|
h
.
Monagan [18] señaló que para encontrar una interpretación f́ısica de una ecuación SPH,
siempre es mejor asumir que la función de núcleo sea una Gaussiana. Gingold y Monaghan [9]
en su art́ıculo original seleccionaron el siguiente núcleo Gaussiano para simular estrellas no
esféricas
W (R, h) = αde
−R2 (2.8)
donde αd = 1/(π
1/2), αd = 1/(π
3/2h2) y αd = 1/(π
3/2h3) en una, dos y tres dimensiones
respectivamente.
El núcleo Gaussiano es suficientemente suave incluso para derivadas de orden grandes y es
considerado como una buena selección ya que es muy estable y exacta, especialmente para
part́ıculas desordenadas. Sin embargo, no es compacta porque nunca se va a cero a menos que
R se aproxime al infinito. Pero, debido a que se aproxima a cero muy rápido numéricamente
es practicamente compacta
2.2. Mı́nimos Cuadrados Móviles - MLS
La aproximación de Mı́nimos Cuadrados Móviles fue inicialmente trabajada sobre el ajuste
de datos y construcción de superficies (Lancaster y Salkauskas, [12]). La invención de la
aproximación MLS fue la clave para el desarrollo de muchos métodos sin mallas, porque
los MLS pueden dar una aproximación continua para una función de campo sobre todo el
dominio del problema. Este enfoque, en la actualidad, es extensamente usado en muchos
métodos sin mallas para construir las funciones de forma. Nayroles [21] usó la aproximación
MLS la primera vez para desarrollar los llamados métodos difusos (DEM). Muchos métodos
sin mallas basados en la aproximación MLS han sido desarrollados desde entonces, tales
como los elementos libres de Galerkin [5] y el método local sin malla Petrov-Galerkin [3].
El procedimiento del MLS es el siguiente. Sea u(x) la función del campo de variables definida
en el dominio Ω. La aproximación de u(x) en el punto x es denotada por uh(x). Aśı, la
aproximación MSL escrita en términos de campo es:
8
u(x) =
m∑
j
pj(x)aj(x) = p
T (x)a(x) (2.9)
donde m es el número de términos de los monomios (base polinomial), y a(x) es un vector
de coeficientes dado por
aT (x) = {a0(x), a1(x), · · · , am(x)} (2.10)
los cuales son funciones de x.
En la ecuación (2.9), p(x) es un vector de las funciones bases que consiste usualmente de
monomios de orden menor o igual a m. En 1D, una basecompleta de polinomios de orden
m está dado por
pT (x) = {p0(x), p1(x), · · · , pm(x)} = {1, x, · · · , xm} (2.11)
El vector de coeficientes de a(x) en la ecuación (2.9) es determinado usando los valores de
la función en el conjunto de los nodos que están incluidos en el dominio de soporte de x. Un
dominio de soporte de un punto x determina el número de nodos que son usados localmente
para aproximar el valor de la función en x.
Aśı, dada un conjunto de n nodos para la función de campo u1, u2, · · · , un en n nodos
x1, x2, · · · , xn que están en el dominio de soporte, entonces la ecuación (2.9) es usada para
calcular los valores aproximados a la función de campo en estos nodos:
uh(x, xi) = p
T (xi)a(x), i = 1, 2, · · · , n (2.12)
Notar que aqúı a(x) es una función arbitraria de x. Un funcional de residual ponderado es
construido usando los valores aproximados de la función de campo y los parámetros nodales
ui = u(xi)
J =
n∑
i
Ŵ (x− xi)[uh(x, xi)− u(xi)]2
=
n∑
i
Ŵ (x− xi)[pT (xi)a(x)− u(xi)]2
(2.13)
donde Ŵ (x−xi) es una función de peso y ui es el parámetro nodal de las variables de campo
en el nodo i. Estas funciones de pesos proveen una ponderación para los residuos en los
diferentes nodos en el dominio de soporte. Se espera que los nodos que están muy alejados
9
de x tengan un peso menor que los que están más próximos a x. También esta función de peso
debe asegurar que los nodos que entren o salgan de dominio de soporte de x sea en forma
suave. La condición de la unidad que es requerida para el SPH no es necesario aqúı para la
aproximación MLS.
En la aproximación MLS, en un punto arbitrario x, a(x) es elegido para minimizar el residual
ponderado. La condición de minimización requiere
∂J
∂a
= 0 (2.14)
lo cual resulta en el siguiente sistema de ecuaciones lineales
A(x)a(x) = B(x)Us (2.15)
Donde A es la matriz de momentos ponderada, la cual está dada por
A(x) =
n∑
i
Ŵi(x)p(xi)p
T
xi
(2.16)
donde
Ŵi(x) = Ŵ (x− xi) (2.17)
En la ecuación (2.15) la matriz B tiene la forma
B(x) = [B1,B2, . . . ,Bn] (2.18)
Bi = Ŵi(x)p(xi) (2.19)
y Us es en vector que reúne la todos los parámetros nodales de las variables de campo para
todos los nodos en el dominio de soporte:
Us = {u1, u2, · · · , un}T (2.20)
10
Resolviendo la ecuación (2.15) para a(x), obtenemos
a(x) = A(x)−1B(x)Us (2.21)
y sustituyendo este valor en la ecuación (2.12) se tiene que
uh(x, xi) =
n∑
i
m∑
j
pj(x)(A(x)
−1B(x))jiui (2.22)
o
uh(x, xi) =
n∑
i
φi(x)ui (2.23)
donde las funciones φi(x) están definidas por
φi(x) =
m∑
j
pj(x)(A(x)
−1B(x))ji = p
TA−1Bi (2.24)
Notar que m es el número de términos de la base de polinomios p(x), el cuál es mucho
menor que n, donde n es el número de nodos usados en dominio de soporte para construir
las funciones de formas. El requerimiento de que n � m evita la singularidad de la matriz
de momento ponderada, por lo tanto A−1 existe. En los siguientes cápitulos se dan detalles
de los métodos Least-Squares (LS) y Weighted Least Squares(WLS) [22].
11
Caṕıtulo 3
Aproximación de nubes de puntos
usando métodos sin mallas
3.1. Mı́nimos Cuadrados (LS)
Los Mı́nimos cuadrados es una técnica de aproximación numérica de una función u(x) a
partir de su valor en ciertos puntos {xi . . .xn} pertenecientes a algún conjunto Ω ⊂ Rd donde
i ∈ {1, . . . , N}. Se quiere obtener una función definida globalmente f(x) que se aproxime
a los valores escalares dados fi en los puntos xi en el sentido de mı́nimos cuadrados con el
error funcional
JLS =
∑
i
‖f(xi)− fi‖2
Por lo tanto, se plantea el problema de minimización siguiente
mı́n
f∈
∏d
m
∑
i
‖f(xi)− fi‖2, (3.1)
donde f es tomada de
∏d
m, el espacio de polinomios de grado total m en d dimensiones
espaciales, y puede ser escrito como
f(x) = b(x)T c = b(x) · c, (3.2)
donde b(x) = [b1(x), . . . , bk(x)]
T es el vector de base polinomial y c = [c1, . . . , ck]
T es el vector
de coeficientes desconocidos que se desean miminizar en la ecuación (3.1). Algunos ejemplos
12
de bases polinomiales son (a) para m = 2 y d = 2, b(x) = [1, x, y, x2, xy, y2]T , (b) para un
ajuste lineal en R3(m = 1, d = 3), b(x) = [1, x, y, z]T , y (c) para el montaje de una constante
en dimensiones arbitrarias b(x) = [1]. En general, el número k de elementos en b(x) (y por
tanto en c) es dado por k = (d+m)!
m!d!
Solución: Se puede minimizar (3.1) al establecer las derivadas parciales del error funcional
JLS a cero, i.e, ∇JLS = 0 donde ∇ = [ ∂∂c1 , . . . ,
∂
∂ck
]T que es una condición necesaria para un
mı́nimo. Al tomar derivadas parciales con respecto a los coeficientes desconocidos c1, . . . , ck,
se obtiene un sistema de ecuaciones lineales de donde se puede calcular c [22]
∂JLS
∂c1
= 0 :
∑
i
2b1(xi)[b(xi)
T c− fi] = 0
∂JLS
∂c2
= 0 :
∑
i
2b2(xi)[b(xi)
T c− fi] = 0
...
∂JLS
∂c3
= 0 :
∑
i
2b3(xi)[b(xi)
T c− fi] = 0
(3.3)
En notatición Matriz-Vector esto se escribe como:
∑
i
2b(xi)[b(xi)
T c− fi] = 2
∑
i
[b(xi)b(xi)
T c− b(xi)fi] = 0 (3.4)
Dividiendo por la constante y reordenando se obtiene:
∑
i
b(xi)b(xi)
T c =
∑
i
b(xi)fi, (3.5)
Que se resuelve como
c =
[∑
i
b(xi)b(xi)
T
]−1∑
i
b(xi)fi, (3.6)
13
Si la matriz cuadrada ALS =
∑
i b(xi)b(xi)
T es no singular, i.e det(ALS) 6= 0, sustituyendo
la ecuación (3.6) en la ecuación (3.2) se obtiene la función de ajuste f(x). Para k pequeños
(k < 5) la inversión de la matriz en la ecuación (3.6) puede llevarse a cabo de forma expĺıcita,
de lo contrario métodos numéricos son la herramienta preferida.
Ejemplo. Dados los puntos en R2 y se desea ajustar con una cuadrática, polinomio bivariado,
i.e. d = 2,m = 2 y por lo tanto b(x) = [1, x, y, x2, xy, y2]T entonces el Mı́nimo Cuadrado
resultante se ve aśı:
∑
i

1 xi yi x
2
i xiyi y
2
i
xi x
2
i xiyi x
3
i x
2
i yi xiy
2
i
yi xiyi y
2
i x
2
i yi xiy
2
i y
3
i
x2i x
3
i x
2
i yi x
4
i x
3
i yi x
2
i y
2
i
xiyi x
2
i yi xiy
2
i x
3
i yi x
2
i y
2
i xiy
3
i
y2i xiy
2
i y
3
i x
2
i y
2
i xiy
3
i y
4
i


c1
c2
c3
c4
c5
c6
 =
∑
i

1
xi
yi
x2i
xiyi
y2i
 fi. (3.7)
3.2. Mı́nimos Cuadrados Ponderados (WLS)
Formulación del Problema. En la formulación de Mı́nimos Cuadrados Ponderados
(Weighted Least Squares) se utiliza el error funcional JWLS =
∑
i θ(‖x̄ − xi‖)‖f(xi) − fi‖2
para un punto estimado x̄ ⊂ Rd que se minimiza
mı́n
f∈
∏d
m
∑
i
θ(‖x̄− xi‖)‖f(xi)− fi‖2, (3.8)
es similar a la ecuación (3.1) sólo que ahora el error es ponderado por θ(d) donde di son las
distancias euclidianas entre x̄ y las posiciones de los puntos de la data xi.
Los coeficientes desconocidos que se deben obtener de la solución a la ecuación (3.8) son
ponderados por las distancias a x̄ y por lo tanto una función x̄.
Aśı, la local, aproximación de mı́nimos cuadrados ponderados en x̄ se escribe como
fx̄(x) = b(x)
T c(x̄) = b(x) · c(x̄), (3.9)
14
y sólo define localmente dentro de una distancia R alrededor de x̄, i.e. ‖x− x̄‖ < R.
Función de Peso. Muchas opciones para la función de ponderación θ se han propuesto en
la literatura, tal como una gaussiana, [4]
θ(d) = e−
d2
h2 (3.10)
donde h es un parámetro de espaciado que se puede utilizar para suavizar los rasgos pequeños
en los datos. Otra función de ponderación popular, [15], con soporte compacto es la función
siguiente
θ(d) =
(
1− d
h
)4(
4d
h+ 1
)
(3.11)
Esta función está bien definida en el intervalo d ∈ [h, 0] , y, además θ(0) = 1, θ(h) = 0, θ′(h) =
0, θ′′(h) = 0. Varios autores, [12], [4], [19], sugieren usar funciones de peso de la siguiente
forma:
θ(d) =
(
1
d2 + ε2
)
(3.12)
Es de hacer notar que establecer el parámetro ε a cero da como resultado una singularidad
en d = 0, lo que obliga a la función de ajuste de la MLS a interpolar los datos.
Solución. Análogo al método de Mı́nimos Cuadrados convencional, se toman derivadas
parciales del error funcional JWLS con respecto a los coeficientes desconocidos c(x̄)15
∑
i
θ(di)2b(xi)[b(xi)
T c(x̄)− fi] =
2
∑
i
[θ(di)b(xi)b(xi)
T c(x̄)− θ(di)b(xi)fi] =0,
(3.13)
donde di = ‖x̄− xi‖. Dividiendo entre la constante y reordenando se tiene
∑
i
θ(di)b(xi)b(xi)
T c(x̄) =
∑
i
θ(di)b(xi)fi, (3.14)
y despejando los coeficientes
c(x̄) = [
∑
i
θ(di)b(xi)b(xi)
T ]−1
∑
i
θ(di)b(xi)fi], (3.15)
La única diferencia entre las ecuaciones (3.6) y (3.15) son los términos de ponderación. Ob-
serve de nuevo, sin embargo, que mientras los coeficientes c en la ecuación (3.6) son globales,
los coeficientes c(x̄) son locales y tienen que ser recalculados para cada x̄. Si la matriz cua-
drada AWLS =
∑
i θ(di)b(xi)b(xi)
T (a menudo se denomina Matriz Momento) es no singular
(i.e. det(AWLS) 6= 0), sustituyendo la ecuación (3.15) en la ecuación (3.9) se obtiene la fun-
ción de ajuste fx̄(x).
Aproximación Global usando una Partición de la Unidad PU. Ajustando polinomios
a j ∈ {1, . . . , n} los puntos estimados y discretos x̄j en el parámetro de dominio Ω se
pueden ensamblar en una aproximación global a la data garantizando que cada punto en Ω
está cubierto por al menos un polinomio de aproximación, es decir, el soporte de las funciones
de peso θj centrado en los puntos x̄j que cubren Ω
Ω = ∪jsupp(θj). (3.16)
La ponderación adecuada de estas aproximaciones se puede lograr mediante la construcción
de una partición de la unidad (PU) desde θj
ϕj(x) =
θj(x)∑n
k=1 θk(x)
(3.17)
16
donde
∑
j ϕi(x) ≡ 1 en todo Ω. La aproximación global viene a ser
f(x) =
∑
j
ϕj(x)b(x)
T c(x̄j). (3.18)
Una cuestión numérica. Para evitar inestabilidades numéricas con posibles números
grandes en AWLS puede ser beneficioso llevar a cabo el procedimiento de ajuste en un sistema
de coordenadas local con respecto a x̄, es decir, para cambiar x̄ en el origen. Por lo tanto, se
reescribe la función de ajuste local en x̄ como
fx̄(x) = b(x− x̄)T c(x̄) = b(x− x̄) · c(x̄), (3.19)
los coeficientes asociados como
c(x̄) =
[∑
i
θ(di)b(xi − x̄)b(xi − x̄)T
]−1∑
i
θ(di)b(xi − x̄)fi, (3.20)
y la aproximación global como
f(x) =
∑
j
ϕj(x)b(x− x̄j)T c(x̄j). (3.21)
3.3. Mı́nimos Cuadrados móviles (MLS)
Método. El Moving Least Squares fue propuesto por Lancaster and Salkauskas [12] para
suavizar e interpolar datos. Esta técnica de aproximación es una variante de la aproximación
por mı́nimos cuadrados ponderados, con la particularidad de que ahora la función de peso
se traslada de un punto a otro, de manera que el máximo está en el punto x donde se quiere
obtener el valor aproximado, por ello el nombre de mı́nimos cuadrados móviles [2]. Esto se
lleva a cabo fácilmente si se asocian unos pesos positivos Wi (los cuales van a depender de
x ) a cada punto y se minimiza.
17
La idea es iniciar con una formulación de mı́nimos cuadrados ponderados para un punto
fijo arbitrario en Rd, a continuación mover este punto sobre el dominio entero, donde se
calcula un mı́nimo cuadrado ponderado y se evalua para cada punto individualmente. Se
puede demostrar que la función global f(x), obtenida a partir de un conjunto de funciones
locales
f(x) = fx(x), mı́n
f∈
∏d
m
∑
i
θ(‖x− xi‖)‖fx(xi)− fi‖2, (3.22)
es continuamente diferenciable si y sólo si la función de ponderación es continuamente
diferenciable.
Además θ(‖x − xi‖) es positiva, grande para los puntos x cercanos a xi, y relativamente
pequeña para los x más distantes. diferencia θ(‖x−xi‖) decrece monótonamente al aumentar
la diferencia ‖x− xi‖ hasta valer cero (soporte compacto).
Aśı que en lugar de construir la aproximación global utilizando la ecuación (3.18), se utilizan
las ecuaciones (3.9) y (3.15) (o las ecuaciones (3.19) y (3.20)) y se construye y evalúa un
polinomio local adaptado continuamente a lo largo de todo el dominio Ω, lo que resulta en
la función de ajuste MLS.
Para el caso general, cuando el sistema es de r dimensiones x = [x1, x2, ..., xr] y se quiere
aproximar una función f(x), el funcional J pasa a ser ahora de la siguiente manera:
J =
∑
j
wj(x− xj)(P T (xj)c(x)− fj)2 (3.23)
y en forma matricial
J = (Pc(x)− f)TW (x)(Pc(x)− f) (3.24)
Donde f es el vector de nx1 valores nodales y P la matriz de nxm siendo n el número de
puntos y m el número de términos del polinomio aproximador (base polinomial), y W (x) es
la matriz diagonal de la función de ponderación
W = diag[w(x− xi), ..., w(x− xn)] (3.25)
18
derivando se obtiene
∂J
∂c
= A(x)c(x)−B(x)f = 0 (3.26)
donde
A(x) =P TW (x)P
B(x) =P TW (x)
(3.27)
y por lo tanto
c(x) = A(x)−1B(x)f (3.28)
en esta ocación los coeficientes de la matriz c(x), dependen de x, debido a la inclusión de la
función de ponderación en el funcional, de forma que la función de aproximación queda
f(x) = p(x)TA(x)−1B(x)f (3.29)
donde p(x) es la base polinomial evaluada en cada x y y perteneciente al dominio discretizado,
p(x) = [1, x, y, x2, xy, y2]T
Utilizando la ecuación (3.12) como la función de ponderación con un ε muy pequeño asigna
pesos cercanos al infinito cerca de los puntos de entrada de datos, obligando a la función
de ajuste MLS a interpolar los valores de la función prescrita en estos puntos. Por lo tanto,
mediante la variación de ε se puede influir directamente en la aproximacion / interpolación
de la naturaleza de la función de ajuste MLS. O también se puede hacer uso de la función de
ponderación exponencial (3.1012) con un radio de soporte entre 0 y 1 con la cual se pueden
obtener excelentes resultados.
3.3.1. Aplicaciones de Mı́nimos Cuadrados Móviles
Diseñada originalmente para el tratamiento de datos y la generación de superficies, la ténica
de Mı́nimos Cuadrados Móviles se ha vuelto muy popular entre los grupos de investigación
que trabajan con métodos sin malla, siendo ampliamente utilizada en aplicaciones tanto
eulerianas como lagrangianas. Esta clase de métodos de aproximación es particularmente
19
competitiva en la reconstrucción de una determinada función y sus derivadas sucesivas a
partir de los valores de dicha función en una serie de puntos dispersos. Se ha pretendido
que el empleo de Mı́nimos Cuadrados Móviles proporcione algo parecido a unas funciones de
formas para esquemas de volúmenes finitos en mallas no estructuradas, representando una
interesante alternativa a los métodos existentes en la actualidad, aśı como también hacer
uso del método en aplicaciones en problemas de flujo de fluidos comprensibles. En general,
el MLS es un método bastante útil a la hora de reconstruir superficies a partir de puntos [1],
simulaciones [4], animaciones [19], interpolación y aproximación de superficies impĺıcitas [24]
3.4. Implementación y resultados
Como se observó en la sección teórica, los métodos sin mallas MLS requieren más cálculos
matriciales que toman gran cantidad de tiempo de ejecución. Sin embargo, dado los estudios
realizados a la programación de las tarjetas gráficas se han conseguido buenos resultados en
tiempo de ejecución y en obtención de la solución.
Las primeras pruebas se realizaron con pocos puntos en la data. Se pudo notar que los
métodos LS, WLS son aproximaciones ”gruesas 2la solución no se ajusta a los datos, mientras
tanto, las soluciones obtenidas con los métodos SPH y MLS dan mejores resultados.
los resultados obtenidos con los métodos sin mallas, en este caso de 9 puntos de entrada, sobre
la CPU y sobre el dispositivo gráfico se lograron en el mismo tiempo aproximadamente ya
que como se observó en la sección de implementación de los algoritmos del álgebra matricial,
en principio, para matrices no muy grandes la multiplicación de matrices es bastante rápida
en la CPU, el problema viene a ser con matrices más grandes.
Se realizaron las pruebas usando una base polinomial b(x) = [1, x, y, x2, xy, y2]T .
Pi = {(1, 1), (1,−1), (−1, 1), (−1,−1), (0, 0), (1, 0), (−1, 0), (0, 1), (0,−1)}
con el conjunto de valores de función asociados
fi = {1.0,−1.0, 0.0, 0.0, 1.0, 0.0,−1.0,−1.0, 1.0}.
En la figura (3.1) se muestra la soluciónde la aproximación a los datos usando el Método de
Mı́nimo Cuadrado(LS). Se aprecia que existen datos muy alejados de la superficie solución.
20
Figura 3.1: Aproximación por Mı́nimos Cuadrados
En la figura 3.2 se muestra la solución al problema de ajuste de datos usando el Método
de Mı́nimos Cuadrado ponderado (WLS). Aqúı, el punto x̄ fijo es el origen. Con lo cual,
la función de peso que realiza la ponderación está centrada de este punto. Por lo tanto la
solución tiene un ajuste óptimo para los datos próximos a este punto fijo, fenómeno que se
aprecia en esta imagen.
Figura 3.2: Aproximación por Mı́nimos Cuadrados ponderados
La imagen (3.3) muestra la solución de ajuste de datos usando el Método de Mı́nimo
Cuadrado Móvil (MLS). De los métodos estudiados éste es el que mejor se ajusta a los
datos, pero el tiempo de ejecución es mayor. En esta imagen se aprecia un ajuste óptimo a
los datos usando esta estrategia.
21
Figura 3.3: Aproximación por Mı́nimos Cuadrados Móviles
En la figura (3.4)se presenta la solución del ajuste de datos usando el método SPH.
Aqúı usamos la discretización de la formulación integral y observamos que la solución
obtenida con este enfoque es óptimo para el ajuste de datos. El tiempo de ejecución usando
SPH es menor que el empleado con el método MLS.
Figura 3.4: Aproximación por SPH
También se realizaron pruebas con otro tipo de datos de entrada, aqúı mostramos un
ejemplo con 256 datos. El método utilizado en este caso fue el método sin mallas Mı́nimos
Cuadrados Móviles. En este ejemplo, la nube de puntos fue generada de forma aleatoria
y el dominio de definición fue generada con 10.201. El tiempo de ejecución fue de 44,43
segundos. La programación de estos métodos fue en lenguaje C, en un equipo de escritorio
22
con un procesador Intel Core i7 920 a 2.66 Ghz. Una GPU nVidia geForce 9500GT y una
memoria RAM de 4GB DDR3.
Figura 3.5: MLS con 256 datos
23
Caṕıtulo 4
Modelos deformables usando MLS
Este caṕıtulo contiene bases teóricas relacionadas con las ecuaciones de elasticidad lineal, la
aproximación del operador de deformación utilizando el método de los mı́nimos cuadrados,
la manera en que son obtenidas las fuerzas, las distintas funciones de peso utilizadas en esta
investigación y el cómo se realiza el movimiento de las part́ıculas del cuerpo en deformación.
4.1. Teoŕıa de Elasticidad Lineal
A continuación se muestra el modelo f́ısico-matemático que surge de la teoŕıa de elasticidad
lineal y cuyas leyes son las que gobiernan el modelo deformable en estudio, [7] . Considérese
un objeto 3D cuyas coordenadas de material son: ~Xi =
[
xi, yi, zi
]T
. Para describir
la deformación de dicho objeto se utiliza un campo vectorial de desplazamiento ~Ui =[
ui, vi, wi
]T
, donde ui = u(xi, yi, zi), vi = v(xi, yi, zi) y wi = w(xi, yi, zi) son funciones
de las coordenadas de material. En la figura 4.1 se observa que las coordenadas de una
part́ıcula originalmente se encuentran en ~Xi y en su posición deformada son ~Xi + ~Ui. Se
denota por ~Xij el vector diferencia entre los vectores posición de las part́ıculas i y j.
~Xij = ~Xj − ~Xi (4.1)
En el análisis de elasticidad lineal, el Jacobiano (J) de una transformación es fundamental
para determinar ciertas variaciones del objeto en estudio. Éste se expresa para cada part́ıcula
i como:
Ji = ∇ ~Ui
T
+ I (4.2)
24
donde I es la matriz identidad 3x3. Por comodidad en la escritura, el Jacobiano se escribe
de la siguiente manera:
Ji =
 JuTiJvTi
JwTi
 (4.3)
Para medir el grado de deformación (strain) de una part́ıcula i se empleó el tensor de Green-
Saint-Venant el cual está definido por la siguiente matriz:
εi = (J
T
i Ji)− I (4.4)
De la teoŕıa de elasticidad lineal se tiene que el grado de deformación ε y la tensión (stress)
σ están linealmente relacionados, es decir:
σi = Cεi (4.5)
donde C es un tensor de rango cuatro relacionado con la ley constitutiva de los materiales
y tanto ε como σ son tensores simétricos. Para materiales isotrópicos C tiene sólo dos
coeficientes independientes llamados módulo de Young (E) y tasa de Poisson (v). De esta
teoŕıa se deduce que el tensor de tensión es:
 σi(1,1)σi(2,2)
σi(3,3)
 = E
(1 + v)(1− 2v)
 1− v v vv 1− v v
v v 1− v
 εi(1,1)εi(2,2)
εi(3,3)
 (4.6)
σi(1,2) = σi(2,1) =
E
1+v
εi(1,2)
σi(1,3) = σi(3,1) =
E
1+v
εi(1,3)
σi(2,3) = σi(3,2) =
E
1+v
εi(2,3)
(4.7)
Para calcular tensión(stress), deformación (strain) y fuerzas elásticas es necesario determinar
el campo de desplazamiento ∇~U . Para ello se hace uso del método de mallas libres MLS
siguiendo las pautas del trabajo de Müller [20]. En este caso, las derivadas en una part́ıcula
i son estimadas a partir de sus vecinos.
4.2. Métodos de Mallas Libres MLS
Los métodos de mallas libres son métodos numéricos desarrollados para aproximar las
ecuaciones diferenciales parciales sobre una nube de part́ıculas sin conectividad previa [8].
Uno de los primeros enfoques utilizados para resolver estas ecuaciones es el método SPH
(Smoothed Particle Hydrodynamics), el cual fue empleado en computación gráfica en el año
1977 por Lucy [16]. Luego Monaghan [17], en 1982, utilizó las nociones de aproximación para
núcleos.
25
Lancaster y Salkauskas [11] en 1981, fueron los primeros que usaron la aproximación de
MLS en el área de computación gráfica, para el suavizado e interpolación de datos. Si una
función ~U ~X definida sobre un dominio Ω ⊂ Rd es suficientemente suave, se puede definir una
aproximación local alrededor de un punto fijo ~̄X ∈ Ω̄ como:
~U( ~X, ~̄X) ≈ L ~̄XU( ~X) = p
T ( ~X)a( ~̄X), (4.8)
donde
~U( ~X, ~̄X) =
{
~U( ~X) ∀ ~X ∈ Ω̄, || ~X − ~̄X||2 < ρ
0 en otro caso
(4.9)
y L ~̄X es un operador. El operador || ||2 es la norma eucĺıdea. El vector p( ~X) contiene una
base completa en dimensión d con consistencia n. En vista de que la aproximación local usa
la mejor aproximación de ~U en un cierto sentido de mı́nimos cuadrados, el vector incógnita
a( ~̄X) es seleccionado para minimizar la norma 2 de los mı́nimos cuadrados. De esta forma,
el vector coeficiente a( ~̄X) es seleccionado para satisfacer la condición H ~̄X(a(
~̄X)) ≤ H ~̄X(b)
para todo b 6= a ∈ R con
H ~̄X(a) =
N∑
i=1
W ( ~X − ~Xi)[L ~̄XU( ~X)− U( ~X,
~̄X)]2 =
N∑
i=1
W ( ~X − ~Xi)
(
pT ( ~Xi)a(
~̄X)− ~Ui
)2
(4.10)
~Xi se refiere a la posición de losN nodos dentro del dominio. Cada función de pesoWi( ~X− ~Xi)
está definida en soportes Ω̃i alrededor de cada nodo ~Xi para garantizar la aproximación local.
La función de peso Wi puede ser también elegida individualmente para cada nodo.
4.2.1. Aproximación de ∇~U empleando el método de MLS
El cálculo de las derivadas parciales ∇ui,∇vi,∇wi del vector desplazamiento ~Ui de la
part́ıcula i, siguiendo el método de mallas libres MLS, se muestran a continuación.
Haciendo uso de la expansión de Taylor en cada una de las coordenadas de ~Ui, midiendo el
error de aproximación promediado con el núcleo polinomial de soporte compacto, se tiene
que las derivadas que minimizan este error satisfacen para ∇ui lo siguiente:
26
∑
j
~Xij ~X
T
ijWij∇ui =
∑
j
(uj − ui) ~XijWij (4.11)
La expresión
Ai =
∑
j
(
~Xij ~X
T
ijWij
)
, (4.12)
es conocida como la matriz de momentos.
Mediante estas ecuaciones:
∇ui = A−1i
∑
j
(
(uj − ui) ~XijWij
)
(4.13)
De forma similar se obtiene un resultado para ∇vi,∇wi. Se deduce entonces que ∇ ~Ui
T
es:
∇ ~Ui
T
=
 ∇uTi∇vTi
∇wTi
 (4.14)
Para calcular la matriz A−1 se utilizó el algoritmo de descomposición en valores singulares
[25], (SVD - Singular Values Decomposition).
4.2.2. Funciones de Peso
Se considera en este modelo que la masa de una part́ıcula es fija y se calcula como sigue:
mi = s r̄i
3 ρ (4.15)
donde s es un factor de escala igual para todas las part́ıculas, ρ es la densidad del material
y r̄i es la distancia promedio de las k part́ıculas más cercanas a la part́ıcula i. La masa mi
está distribuidaalrededor de un núcleo polinomial ó función de peso. En esta investigación
se usaron los siguientes núcleos polinomiales, obtenidos de la literatura en computación
gráfica [8], [20]:
W1(r, h) =
{
315
64πh9
(h2 − r2)3 si r < h
0 en caso contrario
(4.16)
27
W2(r, h) =
{
e−(
r
0,4h
)2 si r
h
≤ 1
0 si r
h
> 1
(4.17)
W3(r, h) =

2
3
− 4( r
h
)2 + 4( r
h
)3 si r
h
≤ 1
2
4
3
− 4( r
h
) + 4( r
h
)2 − 4
3
( r
h
)3 si 1
2
< r
h
≤ 1
0 si r
h
> 1
(4.18)
W4(r, h) =
{
1− 6( r
h
)2 + 8( r
h
)3 − 3( r
h
)4 si r
h
≤ 1
0 si r
h
> 1
(4.19)
W5(r, h) =

2
3h
(
1− 3
2
( r
h
)2 + 3
4
( r
h
)3
)
si r
h
≤ 1
2
3h
(
1
4
(2− r
h
)3
)
si 1 < r
h
≤ 2
0 si r
h
> 2
(4.20)
de estas ecuaciones se define Wij por:
Wij = W (‖ ~Xij‖2, hi), (4.21)
siendo el operador ‖ ‖2 la norma eucĺıdea. Las gráficas de estos núcleos se pueden observar
en las figuras 4.2.b, 4.3 y 4.4.
El ı́ndice j representa la part́ıcula vecina de la part́ıcula i. Las funciones asociadas a estos
núcleos relacionan una part́ıcula con sus vecinos, donde r es la distancia entre la part́ıcula i
y j, y h es el radio de soporte de estos núcleos.
La esfera centrada en la coordenada de material de la part́ıcula i tiene como radio de soporte
hi = 3r̄i, donde r̄i es la distancia promedio entre la part́ıcula i y sus vecinos. La densidad de
una part́ıcula i viene dada por ρi =
∑
j
mjWij y el volumen de una part́ıcula i se obtiene de
la forma siguiente:
voli =
mi
ρi
(4.22)
4.2.3. Cálculo de las Fuerzas
Las fuerzas internas están formadas por fuerzas elásticas, fuerzas de conservación del volumen
y fuerzas de Lennard-Jones. Las primeras son descritas de la siguiente manera:
28
Fei = (2voliJiσi)A
−1
i
∑
j
(
~XijWij
)
(4.23)
estas fuerzas conservan momento angular y lineal. Las fuerzas de conservación del volumen
se definen como:
Fvi = volikv(|Ji| − 1)ϕiA−1i
∑
j
(
~XijWij
)
(4.24)
donde kv es una constante de conservación del volumen que penaliza la desviación del
Jacobiano y
ϕi =
 (Jvi × Jwi)T(Jwi × Jui)T
(Jui × Jvi)T
 (4.25)
Las fuerzas de Lennard-Jones (Fli) [13] son fuerzas de atracción y repulsión entre part́ıculas.
Para cada part́ıcula i esta fuerza es representada por:
Fli =
∑
j
L(α, dij)~pij (4.26)
donde L(α, dij) = 4β
(
12α
12
d13ij
− 6 α6
d7ij
)
, β es el mı́nimo del potencial de enerǵıa de Lennard-
Jones, dij es la distancia entre la part́ıcula i y j (dij = ‖ ~Xi− ~Xj‖2), ~pij = 1‖ ~Xi− ~Xj‖2 (
~Xi− ~Xj)
y α es el diámetro de la esfera que representa la part́ıcula i. En la figura 4.2.a se puede ver
la gráfica de la función L(α, dij). En la figura 5.5 se puede observar que hi define el radio de
la esfera de la vecindad de la part́ıcula i y α va asociado sólo a la part́ıcula i.
Por lo tanto, las fuerzas internas de una part́ıcula i son representadas por la siguiente
expresión:
Finti = (Fei + Fvi)A
−1
i
∑
j
(
~XijWij
)
+ Fli (4.27)
En este estudio de modelos deformables, a las fuerzas internas se le pueden agregar fuerzas
externas tales como: gravedad, presión atmosférica entre otras. La suma de las fuerzas
internas y externas es la fuerza total en el modelo.
29
4.3. Dinámica
La dinámica del modelo de part́ıculas se basa en las leyes de Newton. Para la integración de
las fuerzas totales fue necesario utilizar el esquema expĺıcito de Euler. De esta manera, de la
ecuación
f t+4ti = mia
t+4t
i (4.28)
donde f t+4ti es la fuerza total, a
t+4t
i es la aceleración y mi la masa de la part́ıcula i, se
deducen tanto la velocidad
vt+4ti = v
t
i + a
t+4t
i 4t (4.29)
como la posición de una part́ıcula i
xt+4ti = x
t
i + v
t+4t
i 4t. (4.30)
En este trabajo también se utilizó un método de integración impĺıcita similar al usado en
el trabajo de Müller [20]. En este esquema, las nuevas posiciones y velocidades de todas las
part́ıculas son calculadas de la siguiente manera:
X t+4t = X t + V t+4t4t (4.31)
MV t+4t = MV t +4tF (X t+4t) (4.32)
donde los vectores X y V contienen todas las posiciones y velocidades de las part́ıculas en el
sistema. La matriz M es diagonal y contiene todas las masas. Sustituyendo la ecuación 4.31
en la ecuación 4.32 se obtiene el siguiente sistema:
MV t+4t = MV t +4tF (X t +4tV t+4t) (4.33)
de donde se deduce:
≈MV t +4tF (X t) +4t2K |Xt .V 4t+t
30
siendo F las fuerzas de todos los puntos y K |Xt= ∇XF (X t) el Jacobiano de F . K |Xt es
una matriz 3n× 3n donde n es la cantidad total de part́ıculas. Reordenando los términos se
obtiene:
(M −4t2K |Xt)V t+4t = MV t +4tF (X t) (4.34)
Resolviendo el sistema de la ecuación anterior, se pueden obtener las nuevas velocidades.
La submatriz Kkl, k, l ∈ [1..n] tiene la forma
Kkl = ∇ulfk = (
d
dul
fk,
d
dvl
fk,
d
dwl
fk) (4.35)
donde Kkl es una matriz 3× 3, siendo fk = Fek + Fvk, Fek son las fuerzas elásticas y Fvk
son las fuerzas de conservación del volumen de la part́ıcula k. La derivada de las fuerzas
elásticas para la componente ul :
d
dul
Fek = −2V olk
 dTl0
0
σk + JkC(JukdTl + dlJuTk )
 · dk (4.36)
Para la componente vl la expresión es:
d
dvl
Fek = −2V olk
 0dTl
0
σk + JkC(JvkdTl + dlJvTk )
 · dk (4.37)
Para la componente wl la expresión es:
d
dwl
Fek = −2V olk
 00
dTl
σk + JkC(JwkdTl + dlJwTk )
 · dk (4.38)
donde
31
C =
E
1− v2
 1 v 0v 1 0
0 0 1−v
2
 (4.39)
siendo E el módulo de Young y v la tasa de Poisson. Para las fuerzas de conservación del
volumen la derivada con respecto a ul es:
d
dul
Fek = −kvV olk
∣∣∣∣∣∣
 dTlJvTk
JwTk
∣∣∣∣∣∣ ·
 (Jvk × Jwk)T(Jwk × Juk)T
(Juk × Jvk)T
+ (|Jk| − 1)
 0(Jwk × dl)T
(dl × Jvk)T
 · dk
(4.40)
Para la componente vl la expresión es:
d
dvl
Fek = −kvV olk
∣∣∣∣∣∣
 JuTkdTl
JwTk
∣∣∣∣∣∣ ·
 (Jvk × Jwk)T(Jwk × Juk)T
(Juk × Jvk)T
+ (|Jk| − 1)
 (dl × Jwk)T0
(Juk × dl)T
 · dk
(4.41)
Para la componente wl la expresión es:
d
dwl
Fek = −kvV olk
∣∣∣∣∣∣
 JuTkJvTk
dTl
∣∣∣∣∣∣ ·
 (Jvk × Jwk)T(Jwk × Juk)T
(Juk × Jvk)T
+ (|Jk| − 1)
 (Jvk × dl)T(dl × Juk)T
0
 · dk
(4.42)
donde el operador | | representa el determinante de una matriz cuadrada.
Una vez calculadas las nuevas velocidades, usando la ecuación 4.31 se pueden obtener las
nuevas posiciones de todas las part́ıculas.
4.3.1. Dinámica de la Superficie del objeto 3D
El esquema utilizado en este trabajo para representar la superficie del objeto en deformación
se basa en la investigación realizada por Pauly [23]. Una vez calculadas las nuevas posiciones,
32
velocidades y desplazamientos de las part́ıculas internas (part́ıculas del modelo) se procede
a determinar el desplazamiento de los puntos de las superficie. El desplazamiento de una
part́ıcula de la superficie con respecto a los puntos internos vecinos se obtiene de la siguiente
manera:
usurf =
1∑
ω(ri)
∑
i
ω(ri)(~Ui +∇~UTi (xsurf − ~Xi)) (4.43)
donde xsurf es la posición de la part́ıcula de la superficie, ω(ri) = e
−r2i
h2 es una función de
peso gaussiano, ri = ||xsurf − ~Xi||2 y h es la distancia del radio de la esfera que contiene a
la part́ıcula de la superficie y sus part́ıculas internas vecinas.
Una vez calculado el nuevo desplazamiento de la part́ıcula de la superficie se procede a
obtener su nueva posición, la cual tiene la siguiente expresión:
xt+4tsurf = x
t
surf + usurf (4.44)
4.4. Resultados
Se crearon varios ejemplos sobre los cuales utilizamos esta metodoloǵıa para realizar
simulación dinámica de objetos deformables. Todas las animaciones fueron realizadas dentro
de cajas y cilindros. Por esta razón fue necesario aplicar técnicas de colisión de las part́ıculas
contra las cajas y cilindros que sirvieron de recipientes. La estrategia usada para la
iluminación de la superficie de estos objetos consistió en calcular las normales promediadas
por los triángulos vecinos a cada punto de la superficie. Otro aspecto visto en las simulaciones
fue que las fuerzas de Lennard-Jones permitieron que el manejo de colisiones entre las
part́ıculas fuese el adecuado.Para lograr estas animaciones fue necesario la calibración de
los parámetros f́ısicos para estos objetos.
En la figura (4.2) se muestra el potencial de Lennard-Jones junto
Los objetos de prueba 3D que utilizamos son los siguientes. Objeto 1: es un objeto 3D en
forma de un octaedro. Está formado por 299 part́ıculas internas, no tiene asignada superficie
que cubra el objeto y por lo tanto no existe ninguna triangulación de malla de la superficie.
Objeto 2: Es un objeto en forma de elipsoide formado por 568 part́ıculas y tampoco tiene
superficie que lo cubra. Objeto 5: es un objeto en forma de elipsoide formado por 715
part́ıculas, tiene superficie asignada formada por 990 nodos y una triangulación de 1976
33
triángulos.
En la tabla (4.1) se muestran las caracteŕısticas de los equipos utilizados (hardware) y los
sistemas operativos que éstos contienen. En la tabla (4.3) se describen las caracteŕısticas de
los objetos tridimensionales. En la figura 4.6 se muestra la deformación del objeto 1 usando
los equipos 1 y 2. Se empleó una integración del tiempo expĺıcita con un diferencial de tiempo
∆t = 0.005. El radio de soporte hi para definir la vecindad fue igual para todas las part́ıculas
con el valor de 0.8. Otros atributos como la densidad de material, la constante de volumen
kv, el módulo de Young y la tasa de Poisson tienen los siguientes valores 1, 10, 10 y 0.1
respectivamente.
En la figura 4.7, se aprecia la deformación del objeto 2, ejecutado en los equipos 1 y 2. En
este modelo se utilizó una tasa de Poisson 0.1, un módulo de Young de 10, kv = 10, una
presión atmosférica de 7. Se realizó con una integración expĺıcita con ∆t = 0.009.
En la tabla (4.2) se puede apreciar tiempos en FPS (cuadros por segundo) y por iteración
o ciclo de animación (TIS - Tiempo por iteración en segundos). Estos TIS solo calculan el
tiempo de ejecución del método sin realizar la visualización, el cual implica no solo pintar el
modelo sino también la iluminación. En esta tabla se puede apreciar que los TIS del objeto 1
son mayores que los del objeto 2. Esto ocurre porque a medida que aumentan la cantidad de
part́ıculas los cálculos son mayores produciendo que los FPS disminuyan y los TIS aumenten.
En la figura 4.8 se puede apreciar la simulación del objeto 5 realizada en los equipos 1 y 4. Se
utilizó una integración del tiempo expĺıcita. La función de peso usada para esta simulación
es mostrada en la ecuación 4.16.
Figura 4.1: Objeto en estado de reposo y en estado de deformación.
La figura del lado izquierdo muestra el objeto sin deformaciones. La figura del lado derecho
representa un objeto con su deformación (X + U). Donde X es el conjunto de part́ıculas que
representan las coordenadas del material y X + U son las coordenadas de las part́ıculas del
objeto deformado.
34
Equipo Procesador Velocidad Memoria Arquitectura Aceleradora Sistema
(GHZ) RAM (bits) Gráfica Operativo
1 AMD 2.20 512 MB 64 · · · · · · · · · Windows
Athlon XP
2 Intel 2.80 752 MB 32 Intel 82852 Windows
Pentium 4 82855 GM/GME XP
Graphics Controller
3 UltraSPARC 1.2 1 GB 64 · · · · · · · · · Solaris
III Cu 10
4 2 Dual Core 2.4 7.79 GB 64 NVIDIA Quadro Suse 10.2
AMD Opteron FX3450 (Linux)
/4000 SID
Cuadro 4.1: Equipos utilizados.
Objeto FPS TIS Equipo
1 7.2944 0.09926 1
1 5.9943 0.1320 2
2 1.2751 0.5123 1
2 1.029 0.6683 2
Cuadro 4.2: Tiempos de las animaciones basadas en el modelo de part́ıculas internas usando
la estrategia de búsqueda de vecinos de todos contra todos en los distintos equipos.
Parámetros Objeto 1 Objeto 2 Objeto 5
∆t 0.001 0.001 0.001
Integración del tiempo expĺıcita expĺıcita expĺıcita
Max. de vecinos para hi 10 10 10
Módulo de Young 10000 100 100
Tasa de Poisson 0.1 0.2 0.2
Constante de Volumen kv 100 100 100
Densidad de Material 10 5 5
Presión Atmosférica 10 10 100
Radio f́ısico de las part́ıculas 0.4 0.2 0.2
Radio de vecindad de puntos de la superficie 2 1.5 2.5
Función de Peso W5 W1 W1
Cuadro 4.3: Parámetros usados en las animaciones basadas en el modelo de los puntos
internos y de superficie.
35
Figura 4.2: Función de Lennard-Jones L(α, dij). Función W1(r, h).
La imagen (a) muestra la función L(α, dij). La imagen (b) muestra la función W1.
Figura 4.3: Funciones de peso W2(r, h) y W3(r, h).
La imagen (a) muestra la función W2. La imagen (b) muestra la función W3.
Figura 4.4: Funciones de peso W4(r, h) y W5(r, h).
La imagen (a) muestra la función W4. La imagen (b) muestra la función W5.
Figura 4.5: Diferencia entre hi y α.
36
Figura 4.6: Animación de un octaedro con 299 part́ıculas internas.
Figura 4.7: Animación de un elipsoide con 568 part́ıculas internas.
Las secuencias de las dos animaciones son mostradas de izquierda a derecha.
37
Figura 4.8: Animación de un elipsoide formado por 715 part́ıculas internas y 990 de la
superficie y 1976 triángulos.
En la parte superior se muestran las part́ıculas internas y externas del objeto. La animación
de la deformación es mostrada en la parte inferior.
38
Caṕıtulo 5
Simulación de Fluidos Basados en
Part́ıculas usando SPH
En computación gráfica el flujo de fluidos es importante a la hora de simular fenómenos
presentes en el d́ıa a d́ıa, por ejemplo, agua, lluvia, olas, lodo. En este caṕıtulo se presentan
las ecuaciones de Navier-Stokes para el flujo de fluidos que servirán de basamento para el
presente trabajo.
Las ecuaciones de Navier-Stokes se pueden resolver usando métodos con mallas también
llamados métodos eulerianos, o bien usando métodos sin mallas, basados en part́ıculas,
también llamados métodos lagrangianos.
Los métodos eulerianos basados en mallas son los más usados en computación grááfica y las
ecuaciones de Navier-Stokes han sido extendidas para simular muchos efectos interesantes
como tensión superficial, visco-elasticidad y elasto-plasticidad. La mayoŕıa de las soluciones
eulerianas y sus extensiones son poco útiles a la hora de realizar simulaciones interactivas en
tiempo real.
5.1. Las Ecuaciones de Navier-Stokes
Las propiedades t́ıpicas de un fluido isotérmico viscoso son: velocidad u, masa-densidad ρ y
presión p. Las propiedades f́ısicas son consideradas como campos continuos en el fluido. La
formulación clásica de la dinámica para el flujo de un fluido incompresible en el tiempo t
viene dada por las ecuaciones de Navier-Stokes.
39
ρ(
∂
∂t
+ u · ∇)u = −∇p+ µ∇ · (∇u) + f , (5.1)
∇ · u = 0, (5.2)
donde µ es la viscosidad y f es la suma de las densidades-fuerzas externas actuando sobre
el fluido, como por ejemplo, la gravedad.
La formulación de Navier-Stokes para el flujo de fluidos está basado en una estructura de
mallas, lo que significa que no solo depende del tiempo t, sino también de la posición en
la malla r(t), que también dependen del tiempo. En tres dimensiones el vector de posición
viene dado por:
r(t) = (x(t), y(t), z(t))T . (5.3)
La ecuación (5.1) describe la conservación de momento y es básicamente la segunda ley
de Newton para un fluido. A la derecha de la ecuación están representados el total de las
densidades-fuerzas mientras que del lado izquierdo está el producto de las masas-densidades
por la densidad-aceleración. Para un fluido la densidad-aceleración es la derivada del campo
de velocidad. Usando la regla de la cadena tenemos:
d
dt
u(t, r(t)) =
∂u
∂t
+
∂u
∂x
∂x
∂t
+
∂u
∂y
∂y
∂t
+
∂u
∂z
∂z
∂t
=
∂u
∂t
+
[
∂u
∂x
· ∂u
∂y
· ∂u
∂z
]T
·
[
∂x
∂t
,
∂y
∂t
,
∂z
∂t
]T
=
∂u
∂t
+ (u ·
[
∂
∂x
· ∂
∂y
· ∂
∂z
]
)u
= (
∂
∂t
+ u · ∇)u. (5.4)
La velocidad de cambio de un campo continuo adimensional (5.4), en el fluido, es llamada
la derivada sustancial de ψ y esta definida como:
dψ
dt
=
∂ψ
∂t
+ u · ∇ψ, (5.5)
Donde u · ∇ψ es el término de advección y (5.4) justifica la aparición de éste. La derivada
sustancial es la derivada de tiempo completo del campo ψ en el enfoque euleriano.
40
La ecuación (5.2) describe la conservación de masa para un fluido incompresibley fue
formulada originalmente en las ecuaciones de Euler. En general, la ecuación de conservación
de masa para fluidos compresibles es conocida como la ecuación de continuidad. Es la
derivada sustancial del campo de densidad, lo que nos lleva a:
∂ρ
∂t
+∇ · (ρu) = 0. (5.6)
Cuando la masa-densidad es constante en el fluido ∂p
∂t
= 0 y por lo tanto ρ · ∇u = ∇ · u,
entonces el fluido es incompresible.
5.1.1. Enfoque Euleriano
Las ecuaciones de Navier-Stokes (5.1) y (5.2) formulan la dinámica de un fluido. El método
euleriano considera un fluido como un conjunto de celdas alineadas en una malla regular,
donde cada celda contiene una cantidad de moléculas de dicho fluido. El reto de este método
para la simulación consiste en superar las dificultades en la visualización debido al grosor de
la malla.
La solución anaĺıtica de las ecuaciones de Navier-Stokes es todo un desaf́ıo, pero se pueden
encontrar soluciones numéricas usando varios pasos para cada componente de las ecuaciones.
Uno de los mas importantes es la descomposición de Helmholtz-Hodge [6], [10], que propone
una técnica matemática que permite representar el gradiente de presión (−∇p) y la ecuación
(5.2) en una sola ecuación. Los diferentes pasos se resuelven usando integradores expĺıcitos,
impĺıcitos y semi-impĺıcitos. La malla provee de una solución a las derivadas usando el método
de diferencias finitas.
5.2. Smoothed Particle Hydrodynamics (SPH)
La formulación de SPH surge del campo de la astrof́ısica computacional y está diseñada para
representar problemas de flujo de fluidos compresibles. El método es ampliamente utilizado
en fenómenos del campo de la astrof́ısica, por su facilidad de representar problemas complejos
de una manera sencilla. SPH es un método de interpolación para aproximar los valores y
derivadas de campos continuos usando puntos discretos de muestreo.
Los puntos de muestreo son identificados como part́ıculas y contienen valores concretos, por
41
ejemplo, masa, velocidad, posición, etc., pero estas part́ıculas además poseen cantidades
estimadas de propiedades f́ısicas dependientes del problema como, por ejemplo, masa-
densidad, temperatura, presión, etc. Las propiedades en el método SPH son macroscópicas
y son obtenidas como los promedios pesados entre las part́ıculas vecinas.
Comparado con otros métodos conocidos para la aproximación numérica de las derivadas,
entre ellos, el método de diferencias finitas, que requiere que las part́ıculas se encuentren
alineadas en una malla regular, SPH puede aproximar derivadas de campos continuos usando
diferenciación anaĺıtica en part́ıculas con posiciones arbitrarias. Cada part́ıcula está pensada
como que ocupa una fracción del espacio del problema, y para obtener promedios de
cantidades mas precisos, las part́ıculas muestreadas deben ser numerosas.
El método SPH es básicamente un método de interpolación, esta interpolación está basada
en la teoŕıa de integrales interpolantes usando funciones de peso para aproximar una función
delta. La integral interpolante de cualquier función, A(r), está definida sobre todo el espacio,
Ω, porción
AI(r) =
∫
Ω
A(r′)W (r− r′, h)dr′, (5.7)
donde r es un punto en Ω, y W es una función de peso con h como su radio. El radio, es un
factor de escala que controla la suavidad de la función de peso.
El equivalente numérico de 5.7 es obtenido mediante la aproximación de la integral
interpolante con una sumatoria interpolante,
AI(r) =
∑
Ω
AjVjW (r− rj, h), (5.8)
donde j es iterada por todas las part́ıculas, Vj es el volumen atribuido impĺıcitamente a
la part́ıcula j, rj es la posición y Aj es la cantidad A en rj. En comparación con 5.7 el
volumen de cada part́ıcula es acumulado en 5.8 lo que puede ser justificado cuando Aj se
asume suficientemente constante en Vj. La siguiente relación entre la masa, el volumen y la
masa-densidad aplica
V =
m
ρ
, (5.9)
donde m es la masa y ρ es la masa-densidad. Sustituyendo el volumen para la part́ıcula j
42
en 5.8 con 5.9 tenemos la formulación básica del método SPH, que puede ser utilizada para
aproximar cualquier cantidad en un campo continuo, y ser evaluada en cualquier lugar del
espacio contenido,
As(r) =
∑
j
Aj
mj
ρj
W (r− rj, h). (5.10)
En SPH un interpolante diferenciable de una función puede ser construido a partir de sus
valores en las part́ıculas usando un núcleo diferenciable, y por lo tanto las derivadas de una
interpolante pueden ser obtenidas mediante la diferenciación anaĺıtica del núcleo. Por lo tanto
es un método directo que permite definir el gradiente y laplaciano de un campo, mediante la
asumpción de que el núcleo es diferenciable con derivadas continuas hasta el segundo orden.
Considerando un sistema de dos part́ıculas i y j, la derivada parcial en (5.10) para x resulta
en
∂
∂x
AS(ri) =
∂
∂x
(
Aj
mj
ρj
W (ri − rj, h)
)
(5.11)
usando la regla del producto veremos
∂
∂x
(
Aj
mj
ρj
W (ri − rj, h)
)
=
∂
∂x
(
Aj
mj
ρj
)
W (ri − rj, h) + Aj
mj
ρj
∂
∂x
W (ri − rj, h)
= 0 ·W (ri − rj, h) + Aj
mj
ρj
∂
∂x
W (ri − rj, h)
= Aj
mj
ρj
∂
∂x
W (ri − rj, h), (5.12)
donde se utiliza el hecho de que Aj
mj
ρj
en este punto no depende directamente de x ni de
ningún otro eje del espacio, por lo tanto el producto se considera constante.
Sabiendo que las derivadas de una sumatoria interpolante solamente afectan al núcleo, el
gradiente de un campo resulta en
∇AS(r) =
∑
j
Aj
mj
ρj
∇W (r− rj, h). (5.13)
43
Para obtener mayor precisión en el gradiente de un campo, la interpolante puede ser obtenida
usando
∇A = 1
ρ
(∇(ρA)− A∇ρ), (5.14)
La expresión en SPH para 5.14, usando 5.13 en el termino del gradiente resulta en
∇AS(r) =
1
ρ
(∑
j
pjAj
mj
ρj
∇W (r− rj, h)− A
∑
j
ρj
mj
ρj
∇W (r− rj, h)
)
(5.15)
=
1
ρ
(∑
j
Ajmj∇W (r− rj, h)− A
∑
j
mj∇W (r− rj, h)
)
(5.16)
Una forma particular de 5.14 puede ser obtenida reescribiendo ∇A
ρ
, de acuerdo con
∇A = ρ
(
∇
(
A
ρ
)
+
A
ρ2
∇ρ
)
. (5.17)
donde el termino del SPH se convierte en
∇AS(r) = ρ
(∑
j
Aj
ρj
mj
ρj
∇W (r− rj, h) +
A
ρ2
∑
j
ρj
mj
ρj
∇W (r− rj, h)
)
= ρ
(∑
j
Aj
ρ2j
mj∇W (r− rj, h) +
∑
j
A
ρ2
mj∇W (r− rj, h)
)
= ρ
∑
j
(
Aj
ρ2j
+
A
ρ2
)
mj∇W (r− rj, h). (5.18)
El laplaciano del campo 5.10 puede ser obtenido derivando el gradiente, de donde resulta
∇2AS(r) =
∑
j
Aj
mj
ρj
∇2W (r− rj, h). (5.19)
44
Núcleos del SPH
El uso de diferentes núcleos en SPH es equivalente al uso de diferentes esquemas de
diferenciación en diferencias finitas, por lo tanto la elección de un buen núcleo para un
problema espećıfico es sumamente importante. Los núcleos en SPH deben cumplir con dos
propiedades,
∫
Ω
W (r, h)dr = 1 (5.20)
y
ĺım
h→0
W (r, h) = δ(r). (5.21)
donde δ es la función del delta de dirac
δ(r) =
{
∞ ‖r‖ = 0
0 en caso contrario
(5.22)
En la ecuación (5.20) observamos que los núcleos deben estar normalizados. Los núcleos
además deben ser positivos
W (r, h) ≥ 0, (5.23)
para asegurar que son funciones de peso. Si el núcleo es par,
W (r, h) = W (−r, h), (5.24)
se confirma la simetŕıa rotacional, lo que es importante para evitar que vaŕıe bajo rotaciones
del sistema de coordenadas. Śı (5.24) y (5.20) se cumplen, el núcleo es par y esta normalizado,
entonces el error es O(h2). También se sugiere que los núcleos estén definidos sobre soportes
compactos del radio. Se utiliza h como el radio de soporte de los núcleos, por lo que se
cumplirá W (r, h) = 0, ‖r‖ > h.
45
5.3. Enfoque Lagrangiano
Las ecuaciones de Navier-Stokes representan la formulación euleriana básica para un fluido
isotérmico incompresible. Usando part́ıculas en vez de una malla se puede simplificar la
ecuación enormemente. Se asume que la cantidad de part́ıculas es constante durante la
simulación, y manteniendo la masa constante en las part́ıculas la conservación de masa esta
garantizada, por lo tanto la ecuación ∇ · u = 0 puede ser omitida.
Figura 5.1: Configuración Básica de SPH para las ecuacionesde Navier-Stokes
La figura muestra la configuración básica de un fluido basado en part́ıculas. En la formulación
lagrangiana de un fluido, son las part́ıculas quienes lo definen completamente, por lo tanto
las part́ıculas se mueven con el fluido.
Comparativamente el enfoque euleriano mantiene su malla estática durante la simulación y la
simulación depende de la posición de un nodo en la malla además del tiempo t, con el enfoque
lagrangiano cualquier propiedad del campo que representa al fluido depende solamente
del tiempo t. Las part́ıculas contienen masa, posición y velocidad, además de cantidades,
asociadas a propiedades de material, aproximadas mediante SPH. La aceleración para una
part́ıcula de fluido lagrangiano proviene de la derivada ordinaria d
dt
de su velocidad u(t). Esto
explica el por qué el término de advección no está presente en el enfoque lagrangiano. La
formulación lagrangiana básica de Navier-Stokes para un fluido incompresible e isotérmico
viene dada por
46
ρ
du
dt
= −∇p+ µ∇2u + f . (5.25)
El lado derecho de la ecuación consiste en las fuerzas internas y externas. Los campos de
fuerzas pueden ser combinados en una suma de fuerzas, F = f internal + f external. Para la
part́ıcula i, la aceleración se define como
ai =
dui
dt
=
Fi
ρi
. (5.26)
donde ai y ui son la aceleración y la velocidad para la part́ıcula i, respectivamente, Fi es el
total de fuerza aplicada sobre la part́ıcula y ρi es la masa-densidad evaluada en la posición
de la part́ıcula i.
Es necesario seleccionar un núcleo que nos ayude a resolver las ecuaciones de SPH, para
estas razones se ha elegido el núcleo polinomial de sexto grado, que viene dado por
Wdefault(r, h) =
315
64πh9
{
(h2 − r2)3 si r < h
0 en caso contrario
(5.27)
con gradiente
∇Wdefault(r, h) =
945
32πh9
r(h2 − ‖r‖2)2, (5.28)
y laplaciano
∇2Wdefault(r, h) =
945
32πh9
(h2 − ‖r‖2)(3h2 − 7‖r‖2). (5.29)
Existen algunas caracteŕısticas interesantes de este núcleo, tales como que preserva la
curvatura de campana de Gauss y la norma de r puede ser omitida completamente, haciéndolo
computacionalmente ligero. El núcleo por defecto Wdefault(r, h) y sus derivadas son utilizadas
para el cálculo de todas las aproximaciones de las propiedades del campo, excepto por las
fuerzas internas del campo.
47
5.3.1. Masa-Densidad
Las masas de las part́ıculas que son requeridas por las ecuaciones de SPH, son constantes
definidas por el usuario, pero la masa-densidad es un campo continuo del fluido, que debe
ser calculado. Para evitar cualquier confusión, la masa-densidad es el campo que únicamente
depende de la masa de las part́ıculas y para este caso especifico se usa la ecuación (5.10)
para calcularlo. En la part́ıcula i la masa-densidad se expresa aśı
ρi = ρ(ri) (5.30)
=
∑
j
ρj
mj
ρj
Wdefault(r, h) (5.31)
=
∑
j
mjWdefault(r, h). (5.32)
5.3.2. Fuerzas Internas
Las fuerzas internas son las fuerzas definidas por el fluido mismo, éstas se representan como
presión y viscosidad, que son el primero y segundo termino de la ecuación 5.25 en su lado
derecho. Las fuerzas internas del fluido son aproximadas usando la formulación del enfoque
SPH.
5.3.2.1. Presión
La presión p en una part́ıcula puede ser determinada usando la ley del gas ideal
pV = nRT, (5.33)
donde V = 1
ρ
es el volumen por unidad de masa, n es el numero de part́ıculas de gas en
mol, R es la constante de gas universal y T es la temperatura. Para un fluido isotérmico, con
masa constante el lado derecho de la ecuación se puede mantener como constante, y por lo
tanto lo reemplazamos con una constante de rigidez k, que en teoŕıa solamente depende de la
cantidad de part́ıculas en el fluido. El término de presión puede ser reescrito de la siguiente
manera
48
pV = k
p
1
ρ
= k
p = kρ. (5.34)
Si se conoce la presión en cada part́ıcula, la fuerza local de presión sobre la part́ıcula i en
notación SPH es
fpresioni = −∇p(ri) (5.35)
= −
∑
j 6=i
pj
mj
ρj
∇Wdefault(ri − rj, h) (5.36)
Esta fuerza no es simétrica lo que llevaŕıa a la no conservación de la ley de acción-reacción,
por lo tanto reescribiremos el término −∇p(ri) usando 5.18 para obtener una fuerza simétrica
que si conserve esta ley, quedando la ecuación anterior de la siguiente manera
fpresioni = −pi
∑
j 6=i
(
pi
ρ2i
+
pj
ρ2j
)
mj∇Wdefault(ri − rj, h). (5.37)
Usar la ecuación 5.34 para el calculo de la presión resulta en un comportamiento de gas
ideal que se expande en el espacio, pero como el objetivo es representar ĺıquidos, se debe
reformular la ecuación para que el fluido posea cohesión interna y tenga una masa-densidad
constante en reposo. Para ello se puede utilizar una versión modificada de la ecuación de gas
ideal con una presión de reposo p0, que es
(p+ p0)V = k (5.38)
p+ kρ0 = kρ (5.39)
p = k(ρ− ρ0), (5.40)
donde ρ0 es la densidad en reposo del fluido. Usando esta ecuación en (5.37) se obtendrá un
comportamiento en el cual, cuando las part́ıculas se acerquen a la densidad de reposo las
fuerzas de atracción repulsión se balancearan.
49
El gradiente del campo de presión se utiliza para calcular la fuerza de presión. Para esto
es necesario un núcleo especial, debido a que con el núcleo por defecto se obtiene una
acumulación poco realista de part́ıculas en las zonas de alta presión, esta misma situación se
le presento a Desbrum et al. Para lo que propuso otro núcleo normalizado, llamado núcleo
“spiky”, que sera utilizado como núcleo para la presión
Wpresion(r, h) =
15
πh6
{
(h− r)3 si 0 ≤ r ≤ h
0 si r > h
(5.41)
con gradiente
∇Wpresion(r, h) =
15
πh6
r
‖r‖
(h− ‖r‖)2 (5.42)
ĺım
r→0−
∇Wpresion(r, h) =
45
πh6
, ĺım
r→0+
∇Wpresion(r, h) = −
45
πh6
y laplaciano
∇2Wpresion(r, h) =
90
πh6
1
‖r‖
(h− ‖r‖)(h− 2‖r‖) (5.43)
ĺım
r→0
∇2Wpresion(r, h) = −∞,
5.3.3. Viscosidad
Un fluido es una sustancia que no posee resistencia para fuerzas de quiebre y por lo tanto fluye
a través de las deformaciones. Al mismo tiempo cuando el fluido fluye, las moléculas sufren
una fricción interna que reduce su enerǵıa cinética transformándola en calor. La resistencia
al flujo es llamada viscosidad, que está controlada por el coeficiente de viscosidad µ, que
define la fuerza de viscosidad sobre fluido. La variante de SPH para el término de la fuerza
de viscosidad se define
fviscosidadi = µ∇2u(ri) (5.44)
= µ
∑
j 6=i
uj
mj
ρj
∇2W (ri − rj, h). (5.45)
50
Similar a la fuerza de presión, la fuerza de viscosidad es también asimétrica, debido a que la
velocidad varia de part́ıcula a part́ıcula. Para contrarrestar este efecto, Mullr et al. simetriza
el campo de velocidad usando
fviscosidadi = µ
∑
j 6=i
(uj − ui)
mj
ρj
∇2W (ri − rj, h). (5.46)
Esto es posible debido al hecho de que la fuerza de viscosidad solamente depende de las
diferencias de velocidades y no de las velocidades absolutas.
El laplaciano del núcleo en la ecuación anterior debe ser siempre positivo. Esto es necesario
debido a que la fuerza de viscosidad no debe incrementar las velocidades relativas, pues
esto, introduciŕıa enerǵıa al sistema, causando inestabilidad. Solo si el laplaciano es positivo
definido entonces la fuerza de viscosidad actuará como amortiguamiento para las velocidades
relativas.
El núcleo por defecto no tiene esta propiedad ni tampoco el núcleo de presión, por lo tanto
se debe emplear un núcleo que cumpla ∇2W (r, h) ≥ 0 para ‖r‖ ≤ 0, el núcleo que cumple
estas propiedades es
Wviscosidad(r, h) =
15
2πh3
{
−‖r‖
3
2h3
+ ‖r‖
2
h2
+ h
2‖r‖ − 1 0 < ‖r‖ ≤ h
0 ‖r‖ > h
(5.47)
ĺım
r→0
Wviscosidad(r, h) =∞,
con gradiente
∇Wviscosidad(r, h) =
15
2πh3
r
(
−3‖r‖
2h3
+
2
h2
− h
2‖r‖3
)
, (5.48)
ĺım
r→0−
∇Wviscosidad(r, h) =∞, ĺım
r→0+
∇Wviscosidad(r, h) = −∞,
y el laplaciano
∇2Wviscosidad(r, h) =
45
πh6
(h− ‖r‖), (5.49)
51
5.3.4. Fuerzas Externas
Las fuerzas externas son todas aquellas fuerzas que actúan sobre el modelo, estás se balancean
con las fuerzas internas del modelo y corresponden al último término

Continuar navegando