Introducción a la Simulación de Fluidos
Introducción a la Simulación de Fluidos
Bloque 1:
o Tema 1: Introducción a la mecánica de
fluidos.
o Tema 2: Cinemática de fluidos y
transporte.
o Tema 3: Ecuaciones generales de la
mecánica de fluidos.
Bloque 2:
o Tema 4: Aproximación numérica de las
soluciones en mecánica de fluidos.
o Tema 5: Mecánica de fluidos
computacional.
o Tema 6: Modelos aproximados. Modelos
de partículas.
o Tema 7: Modelado de la dinámica del
fluido mediante SPH.
o Tema 8: Herramientas software para la
animación visual de fluidos.
o Tema 9: Anexo
Preguntas: Temas 1, 2 y 3
TEMA 1: Introducción a la mecánica de fluidos.
1. ¿Qué es un fluido?
Microscópico Macroscópico
Está constituido por moléculas y la Distribución de masa continua y las fuerzas
Característica interacción de dichas moléculas internas se compensan [no existen fuerzas
s depende de la distancia [suele ser a internas netas, la sumatoria de todas las
distancias muy cortas] fuerzas y de los momentos es 0]
Las características del fluido dentro de ser un medio continuo es que va a tener
velocidad, posición y energía interna. Además de tener propiedades constitutivas como
son la densidad y la viscosidad [una de las magnitudes que es responsable del efecto
Koanda]. Estas magnitudes permiten describir el fluido mediante ecuaciones en
derivadas parciales.
Ejemplo: Teorema de Gauss con la esfera y miramos el campo dentro y fuera del
radio de la esfera de carga uniforme. Donde hay una densidad de carga y esta
densidad aparece porque existe una distribución continua de carga a lo largo de todo
ese volumen. La densidad depende de la temperatura y la presión.
Pregunta que puede caer: ¿A qué grafica representa esta? ¿A la del agua o a la del
aire? La del agua aumenta conforme aumenta la temperatura, pero a partir de un
valor muy alto de temperatura disminuye [entre los 0º y los 30º la densidad del agua
es constante]. En cabio la densidad del aire es un descenso lineal [densidad promedio
entre el Nitrógeno, Oxigeno y Carbono].
Ejemplos:
a. ¿Por qué el agua puede hervir a 40º en el Everest? ¿Por qué un alpinista no
puede hervir unos macarrones? Esto ocurre debido a que al haber menor
presión el agua hierve antes de los 100º.
b. ¿Por qué un astronauta se muere si se le raja el traje en el espacio? Esto se
debe a que al haber menor presión fuera del traje la sangre hierve y explota
matando al astronauta.
Otra variable sería la tensión superficial que se debe a polaridad a las moléculas del
líquido, las moléculas que están en la superficie cuando están en el interior las
fuerzas se compensan, en cambio en la interfase las fuerzas no se compensan. Es
muy pequeña y solo es importante cuando tenemos gotas o cuando no se puede
romper dicha tensión. Cuando la velocidad de impacto es tan alta el agua se
convierte en un suelo de hormigo provocando accidentes nefastos. Una de las
consecuencias de la tensión superficial es el efecto Capilar [si el coeficiente es < 1
sube, la superficie es cóncava y si es > 1 baja, la superficie es convexa].
Volumen, Presión,
Temperatura, Densidad Calor o energía térmica
Tipo
Energía interna Trabajo mecánico
Entropía y Entalpía
4. Ecuaciones de Estado
Una ecuación de estado es la que relaciona el estado dinámico con las variables que
lo describen. En un sistema simple es el que está compuesto por una única sustancia.
[Ejemplo: Agua]
p = pRT o pV = nRT
5. Fluidostática
La fluidostática es la parte del fluido en las que se definen las ecuaciones que rigen el
comportamiento del fluido cuando se encuentra en reposo. Debemos tener en cuenta
que en la fluidostática vamos a poder definir y describir el estado de los cuerpos
sumergidos, así como la flotabilidad de los sistemas hidráulicos.
¿Por qué necesitamos las fuerzas si hablamos de fluidostática? Que sea fluidostática
no significa que no actúen fuerzas en el fluido. Aun existiendo la gravedad el fluido
está en reposo, es decir que las fuerzas se compensan. [El sumatorio de las fuerzas y
los momentos que actúan es nula]
Fuerzas volumétricas: Necesitas saber el valor de las fuerzas externas e internas para
imponer la condición de fluidostática.
¿Cómo conozco esas fuerzas? La única posibilidad es a través del cálculo tensorial, se
necesitan al menos 6 escalares para conocer cualquier dirección. En el tensor aparecen
esfuerzos cortantes [fuerzas en sentidos opuestos].
Fuerzas en equilibro: En fluido en reposo, todos los esfuerzos son iguales en todos
los puntos y además son perpendiculares, es decir, no tengo componente tangencial.
Puedo afirmar que mi fuerza superficial es: fs = -pn.
Caso práctico 1: Supongamos que nuestro fluido solo está sometido a la fuerza de la
gravedad.
p2 z2
p2 z2
∫ dp =−∫
−g
dz ln(p2) – ln(p1) = -g/RT (z2 – z1) ln(p2/p1) = -g/RT (z2 - z1)
p1 p z 1 RT
p2/p1 = e-g/RT (z2 - z1) p2 = p1 * e-g/RT (z2 - z1)
Veremos algunas de las aplicaciones que tiene las ecuaciones de la fluidostática. Una
de ellas es el Principio de Pascal. El Principio de Pascal nos quiere decir siempre que yo
ejerza una fuerza sobre un fluido se ejerce con la misma intensidad a lo largo de todo
el volumen donde se encuentra encerrado. [Ejemplo: Los Gatos Hidráulicos]
Barómetro de mercurio: Tubo de cristal de un metro de longitud lleno de mercurio.
Se encuentra abierto por un solo extremo por donde es sumergido en un recipiente
con mercurio. La columna desciende dejando un espacio que es casi un vacío perfecto.
7. Principio de Arquímedes
La fuerza que experimenta cualquier cuerpo sumergido es igual al peso del volumen
que desaloja.
¿Existe una única descripción? No, depende de la perspectiva con la que la estemos
analizando.
Euleriana Lagrangiana
Interaccione Entre partículas es modulada por Entre vértices es modulada por una
s una función escalar función escalar
Smoothed Particles
Finite Elements Method (FEM)
Ejemplos Hidrodynamic
Finite Differences (FD)
Particles in Cell (PIC)
2. Derivada Sustancial
−¿ ( dpdt +V ( p v ))dVc ¿
Aplicando el teorema de Gauss se obtiene: 0= ¿.
∫
Vc
dp
( +V ( p v ))=0[condición de incompresibilidad de los fluidos] sí p no cambia
dt
dp
con la posición se obtiene
dt( )
+ pV v =0. Si el fluido es incompresible dp/dt = 0: Vv =
Pregunta de examen: ¿Se podría simplificar ( dpdt +V ( p v ))=0 dicha ecuación sin el
fluido fuera incompresible? Si es incomprensible el diferencial de ro con respecto del
tiempo es 0, por lo que ro * nabla *v es = 0, porque si decimos que la divergencia de v
es 0, entonces estaríamos diciendo que ro no cambia con la posición.
o = -pI + tau
Tipo de
Ideales Newtonianos No newtonianos
Fluidos
La cizalladura depende
Definició Denominados La cizalladura no
linealmente de la tasa de la carga a
n no viscosos depende linealmente
la que se somete
Formula o = -pI o = -pI + C o = -pI + f(Vv)
Pintura de látex
Plástico Bingham
Ejemplo ------- ----------
Mezcla de agua con
almidón
1. Ecuaciones de la conservación
¿Qué es la dinámica del fluido? La dinámica analiza cómo cambian las variables de
estado y las variables termodinámicas, teniendo en cuenta las cargas externas y la
existencia de fuentes o sumideros de energía [calentando o enfriando el fluido].
¿Cómo se formulan las ecuaciones que describen la dinámica del fluido? Para formula
estas ecuaciones nos centramos en los teoremas de conservación o leyes de
conservación, con tres:
dp
Forma diferencial: + ( v V ) p+ pVv=0
dt
Para un fluido incompresible (p = cte): Vv = 0
Fuerzas másicas: ∫ p f m dΩ
D
pvdΩ=∫ p f m dΩ +∫ (−pn+ taun ) dS
Dt ∫
Fuerzas superficiales:
D
pvdΩ Derivada sustancial
Dt ∫
o
D( pv)
=−Vp+V tau+ p f m
Dt
Ecuación de la energía: Dos tipos de energía, la interna y cinética [no solo por la
velocidad, sino también por los fenómenos de fricción interna que produce un
calentamiento].
D v2
Dt
∫ p e +( )
2
dΩ=W +Q
de
Ecuación general de la energía: p + pv Ve=− pVv+tau Vv−Vq
dt
Dp de
+ pV v=0 p + pv Ve=o :V v−V q
Dt dt
dv
p + p ( v V ) v= pb+ v o
dt
2. Números adimensionales
• masa • tiempo
• longitud • temperatura
Número de Froude: Mide la importancia relativa entre las fuerzas gravitatorias y los
términos convectivos
Número de Prandtl: Mide la importancia relativa entre los términos convectivos y
difusividad térmica. Es una propiedad del fluido y no una magnitud del movimiento.
Varía con la temperatura (como la viscosidad, por ejemplo).
No viscoso
Se denomina a aquellos fluidos en los que los efectos de la viscosidad
Definición son despreciables. En este caso el tensor de estrés sólo tendrá
componentes no nulas en su diagonal principal.
Turbulentos: Laminar/Caótico
Flujo laminar es el ordenado, fluye de forma ordenada en
láminas solapadas que deslizan una sobre la otra.
Definición
Flujo caótico caracterizado por desorden y mezcla de
fenómenos de transporte.
Compresibles
Son aplicables a la dinámica de gases. La característica importante es
Definición que es que la densidad de masa se puede considerar constante y la
fuerza de la gravedad es menos importante que el gradiente de presión.
Ondas de normales: el flujo subsónica aparece detrás del
objeto.
Ondas
Ondas de oblicuas: el flujo supersónico aparece detrás del
objeto.
Incompresibles: M<0.3 Variaciones de la densidad como
consecuencia de cambios de presión son despreciables.
Subsónico: M>0.3 en algún lugar, pero M<1
Transónico: 0 < M < 1.2 aparecen ondas de choque.
Tipos
Supersónico: 1 < M < 3 aparecen ondas de choque donde la
información se propaga a través de líneas características.
Hipersónico: M > 3 La velocidad elevada suele inducir
importante incremento de la temperatura.
3. ¿Cuál es la restricción que permite definir una densidad de masa? (Diap. 14) Para
considerar que existe una distribución continua de masa tiene que haber una relación
entre la masa del fluido englobada dentro de un volumen y a su vez las dimensiones
características han de ser dos órdenes de magnitud superior al rango molecular.
4. ¿De qué magnitud depende la densidad de masa en el fluido? (Diap. 17) La densidad
de masa de un fluido depende de la temperatura.
9. ¿Cuáles son los tipos de fuerzas que actúan en un fluido? (Diap.53-54) Existen dos
tipos de fuerzas que actúan en un fluido y son las volumétricas (estas actúan a gran
distancia, se las relaciona con el nivel macroscópico) y las superficiales (que son
consecuencias de las interacciones moleculares, fuerzas de corto alcance, se las
relaciona con el nivel microscópico)
10. ¿Qué facilita el uso de un tensor en el cálculo de las fuerzas del fluido? (Diap.59-61)
Para facilitar el uso de un tensor en el cálculo de las fuerzas del fluido se necesita
conocer hasta 6 escalares para conocer la fuerza en cualquier dirección.
12. En un fluido estático ¿se puede afirmar que no actúan fuerzas? (Diap.62-63) No
actúan fuerzas como la gravedad. (El sumatoria de las fuerzas es 0)
2. ¿Existe una única descripción cuantitativa de la cinemática del fluido? (Diap.6) No,
esto depende de si la partícula fluida se desplaza con el flujo, o sí la partícula está en
reposo y el flujo lo atraviesa. (Descripción Lagrangiana y Euleriana)
9. ¿Un flujo estacionario puede ser uniforme? (Diap.33) Sí, cuando llegue al punto
óptimo, el de estancamiento.
10. ¿Existe algún tipo de flujo en el que líneas, trazas y trayectorias coincidan? (Diap.41)
Sí, en el flujo uniforme.
11. ¿Cuantitativamente, que relación conecta las formulaciones Lagrangiana y
Euleriana? (Diap.63) La ecuación de Reynolds (la derivada sustantiva) permite
relacionar las formulaciones Lagrangiana y Euleriana.
12. ¿Qué nos indica la ecuación de conservación de la masa? (Diap.69) Que la masa ni se
crea ni se destruye. (Solo se evoluciona)
14. ¿Qué es el transporte por difusión? (Diap.72) Es el transporte de una sustancia debido
a la diferencia de la concentración, es decir, se debe a la existencia de un gradiente de
concentración.
15. ¿Qué tipo de transporte describe la ley de Fick? (Diap.85) El tipo de transporte que
describe la ley de Fick es el transporte por difusión.
1. El término flujo en las ecuaciones de continuidad ¿Qué representa? ¿qué tipos hay?
(Diaps.16-19) Representa el intercambio de una propiedad entre elementos vecinos. Se
distinguen dos tipos:
Flujo convectivo: debido al transporte con el movimiento del fluido.
Flujo difusivo: debido a la agitación molecular, presente incluso en reposo.
9. ¿Qué magnitud hace que varíe el número de Prandlt? (Diap.62) Varia con la
temperatura.
10. ¿Qué tipos de fuerzas masivas permite obtener la ecuación de Bernoulli? (Diap.66)
Las fuerzas externas a las que se somete al fluido.
11. ¿En qué se basa el tubo de Pitot? ¿Para qué se utiliza? (Diap.70) Se basa en tubos
concéntricos conectados a sensores de modo que se conoce P3 y P4. Se utiliza para
medir la velocidad.
12. ¿Por qué vuela un avión con suficiente velocidad relativa? (Diap.71) Para un ángulo
de ataque nulo, la sustentación generada en un ala con perfil asimétrico se debe a que
el aire que pasa sobre el extrados se superior a la del intrados. Esta diferencia de
velocidad induce una depresión en el extrados y un relativo incremento de la presión,
lo que induce la fuerza de sustentación.
14. ¿Qué número adimensional permite distinguir entre flujo laminar y turbulento?
(Diap.76) El número de Reynolds.
15. Mediante el número Mach ¿Que se puede clasificar? (Diap.81) Se puede clasificar las
ondas de choque.
16. ¿Cuándo un avión vuela a velocidad supersónica que ocurre con las ondas de sonido?
(Diap.84) Que rompe la barrera del sonido provocando un ruido que se produce
instantes después de haber pasado el avión.
TEMA 1
Primer caso práctico: p + pU (g) = 0 El campo es conservativo, solo tiene simetría en el eje z.
dp/dz + pg = 0 dp/dz = -pg dp = -pg dz Calculamos la integral porque hay diferenciales
a los dos lados.
Integral de p1 a p2 de dp = - integral de z1 a z2 de pg dz p2 – p1 = -pg integral de z1 a z2 de
dz (puedo sacar ro porque es constante y no depende de z, si dependiera de z no lo podríamos
sacar de la integral) p2 – p1 = -pg [z2 – z1] p1 = p2 + pg [z2 – z1] H = (p1-p2) / pg
v = u i + v j v = 25x i + 25y j
dx/vx = dy/vy = dz/vz dy/dx = vy/vx dy/dx = v/u dy/dx = -25y/25x dy/dx = -y/x
integral de - dx/x = integral de dy/y ln(y) = - ln(x) + const (porque no tengo los límites de la
integral establecidos) e^ln(y) = e^-ln(x) * e^c y = 1/x * c x*y = c diferentes líneas de
corriente. De las dos formas estaría igual de bien: ln(y) = -ln(x) + c o x*y = c
ejeX = arrow (pos = vector (0,0,0), axis = vector (1,0,0), shaftwidth = 0.5)
ejeY = arrow (pos = vector (0,0,0), axis = vector (0,1,0), shaftwidth = 0.5)
ejeZ = arrow (pos = vector (0,0,0), axis = vector (0,0,1), shaftwidth = 0.5)
[Link] = (1,0,0)
[Link] = (0,1,0)
[Link] = (0,0,1)
Se comenta con una # una línea y cuando es más de una línea es ‘’’ y ‘’’
18/03/2021 TEMA 4 (Parte 2): Aprox. numérica de las soluciones en mecánica de fluidos.
2. Notación matemática
Escalares: densidad, viscosidad e incremente del tiempo.
Vectoriales: vector (VPython, vector()).
Operadores espaciales: nabla, laplaciano (Utilizando SPH).
Operadores temporales: derivada sustancial. (Utilizando una modificación en
el desarrollo de Taylor)
Derivadas parciales: para que sean utilizas en SPH.
dv
Nuestro caso particular será la formulación Lagrangiana: = -Vp + vV2v + Fext
dt
c. Métodos de integración
i. Integración espacial: Transforma un medio continuo en un medio discreto,
utilizando partículas (SPH) o utilizando una malla de polígonos (FEM).
ii. Integración temporal: Una única dimensión dividida en diferentes
incrementos. (Calcular el valor en cada instante de tiempo)
Métodos implícitos: Se coge la velocidad, posición y aceleración. Se
establece una relación entre la velocidad y la aceleración con la
posición. Ecuación de Euler.
Métodos explícitos: Discretiza en tiempos más pequeños. Se resuelve
la aceleración, y a partir de ella, velocidad y posición.
Fn+1 = m*an+1 Fn+1 = m dvn+1/dt integral de n a n+1 dvn+1 = F/m
integral de n a n+1 dt vn+1 - vn = F/m Vt vn+1 = vn + Fn+1/m Vt
4. Herramientas software
Python con VPython.
5. Bucle de simulación
1. Inicializamos el entorno
2. Inicializamos las magnitudes
3. Se detecta colisiones
4. Si hay colisión Impone unas condiciones de contorno
5. Si no hay colisión Hace el cálculo de partícula libre
6. Hace el cálculo de integración dinámica.
7. Actualizo las variables: posición, velocidad, etc.
8. Vuelvo a detectar colisiones.
Ejercicio 2:
o A partir del ejercicio anterior, introducir un amortiguamiento del 20% en cada
rebote.
o Realizar los cambios necesarios para que cada vez que rebote cambie de azul a
verde y viceversa.
Ejercicio 3:
Se define como el vector (vector hecho a base de vectores) definido por el conjunto
de magnitudes, tanto vectoriales como escalares, que permiten definir el estado de un
sistema dinámico.
¿Es único o depende de sistema dinámico?
Depende del sistema dinámico.
o En un sistema de partículas X = (𝒙𝒊, 𝒗𝒊, 𝒂𝒊) (posiciones,
velocidades, aceleraciones).
o En nuestro sistema X = ( 𝒙𝒊, 𝒗𝒊, 𝒂𝒊, ρ𝒊, 𝑷𝒊) (posiciones,
velocidades, aceleraciones, densidades, presiones).
Ventajas Desventajas
Bajo coste computacional, sistema Precisión condicionada por el paso de tiempo
desacoplado, sencillez operativa.
3. Detección de colisiones:
a. Restricción por límite (cajas)
i. Es útil en geometrías sencillas: cajas, esferas, cilindros.
ii. Consiste en utilizar los límites geométricos.
iii. Controlar si la partícula es interior a esos límites.
Ventajas Desventajas
Rapidez y estabilidad (no aparecen artificios) Objetos alta simetría (caja, esfera, cilindro)
d. Campo de distancia
Permite gestionar cualquier tipo objeto… discretizado en triángulos.
Consiste en utilizar operaciones de geometría analítica.
Controlar si la partícula es interior a los triángulos candidatos.
o Ejemplo: Triangulo de la base y partícula designada
Calcular la distancia de la partícula 𝑝𝑝𝑖, al triángulo definido (𝑝0, 𝑝1,
𝑝2).
Si la distancia es compatible con colisión, proyectar sobre triángulo.
Comprobar si la proyección es interior al (𝑝0, 𝑝1, 𝑝2).
ex e y ez
S = r01 x r02 = x 01 y 01 z 01 =
x 02 y 02 z 02
((y01z02- y02z01), (x02z01- x01z02), (y02x01- x02y01)) =
V
V = hS h =
S
¿(( x 0 pi ( y 01 z 02− y 02 z 01))+( y 0 pi (x 02 z 01−x 01 z 02))+( z 0 pi( y 02 x 0
4. Respuesta a la colisión
Incidente:
v∗n
o vin= n;
n2
o viτ =v i−vin
Proceso:
o Se proyecta la velocidad incidente en las direcciones normal y
tangencial.
o Se aplican los coeficientes de respuesta.
o Se suma las componentes rectificadas.
o Se resuelve la posición
Respuesta:
o v fn=−α v i n ;
o viτ =βv i
o v f =v fn +v fτ
Salida = []
• Parámetros de entrada:
o detectaColisionLimites(LimitesX, LimitesY, LimitesZ, espesor,
partícula):
o LimitesX=[LimX_inf,LimX_sup];
o LimitesY=[LimY_inf,LimY_sup];
o LimitesZ=[LimZ_inf,LimZ_sup]
• En este método se debe calcular los vectores normales de cada límite.
• Parámetros de entrada:
o respuestaColision(partícula, vectorNormal):
• En la respuesta introducir dos parámetros tasaRozamiento y tasaRebote,
definidos entre cero y uno.
25/03/2021 TEMA 6 (Parte 1): Modelados aproximados: Modelos de partículas
1. Estructuras de datos
¿Qué es una estructura de datos? Es una formación especificativa con la que se
organizan los elementos de la simulación para obtener una implementación versátil y
eficiente. Manera específica, estructura de clases, en la que cada clase tiene su
propia semántica, los atributos son necesarios de cada clase. [Ejemplo: en la clase
partículas no tienen por qué aparecer atributos del contenedor.]
Atributos
Tipo Estructura
posición
Presión
Partículas Fuerza Aceleración -----------
Densidad
Velocidad
Basada en límites
Contenedor -------------------
Basada en distancias
Columna cuadrada Columna Circular
Posición inicial, Posición inicial,
Nº de partículas
Fuente definición de un general
Posición inicial
numero de coordenadas
partículas, triple for polares
2. Generación
Agregación: un conjunto de, una fuente está compuesta por una configuración de
partículas. Las clases hijo comparten clases con la clase padre. De la clase padre a la
clase hijo es una especificación y al revés es una generalización.
Existe una parte de fluido y de integración. Decimos que el simulador es funcional
cuando tenemos una fuente, un contenedor.
a. Lista de partículas
¿Por qué implementar un sistema de partículas?
Por estructura del programa, el código debe ser reutilizable.
Semánticamente una Lista de Partículas debe tener atributos
propios: acceder a partícula, añadir partícula…
Usabilidad, a nivel de programación es más cómodo tratar en
distintas clases un sistema de una partícula que una a una cada
partícula
b. Entorno de simulación
Nuestro entorno de simulación serán los componentes que vamos a
manejar. La clase fuente debe tener, el tipo de fuente, donde se ubican las
partículas, el número de partículas.
c. Gestor de simulación
¿Qué es un gestor de simulación? No puedes crear clase de ella, pero es el
que organiza las cosas. (El main)
Donde se definen las magnitudes a simular: tipo de partículas,
numero de partículas, objetos con los que colisionan esas
partículas, propiedades de las partículas, paso de tiempo…
Donde se define y controla el bucle de simulación, el tiempo de
simulación…
En síntesis… el Main de la simulación.
Ley de Hooke: Es un caso específico de fuerza central (de orden 2), que se deriva
de un potencial (energía) que es proporcional al cuadrado de la distancia.
1
v α x 2= K x 2 → F=−Kx e r
2
Variables:
F es la fuerza
K es la constante de proporcionalidad
x es la distancia
er es el vector unitario conecta el centro y la partícula
2. Programación de restricciones
Primer algoritmo:
Input: Conjunto de partículas del sistema, distancia h de cada partícula.
Output: Conjuntos de partículas vecinas.
Ensure: Todas las partículas conocen sus partículas vecinas.
for(cada partícula i):
for(cada particula j):
Se calcula la distancia entre la partícula i y la j|𝒓j – 𝒓i|
if(|𝒓j – 𝒓i| <= h):
La partícula j es vecina de i, se agrega a su array
de vecinas.
end
end
end
Segundo algoritmo:
Input: Cada partícula conoce sus partículas vecinas.
Output: Cada partícula conocen la interacción con sus vecinas.
Ensure: Todas las partículas conocen las fuerzas de interacción mutua.
for(cada partícula i):
Se calcula el tamaño del array de vecinas(la vecindad N(i))→𝑛v
for(cada j ∊ N(i) ):
(r j−r i)
Calcular distancia entre partículas i y la j, según F ij=−K ∑ (|r j−r i|−h )
|r j−r i|
end
end
b. Técnicas Tridimensionales
i. Árbol de división en Octantes (Octree)
Se etiqueta cada subdivisión, mediante una función, con un número
entero. Las partículas y la celda comparten ese número entero.
14/04/2021 TEMA 6 (Parte 4): Búsqueda de Partículas Vecinas (2)
1. Spatial hashing
a. Problemática
En un sistema de n partículas, se necesitan n operaciones de consulta para
conocer la posición relativa de unas respecto de otras.
𝑛º 𝑜𝑝𝑒𝑟𝑎𝑐𝑖𝑜𝑛𝑒𝑠 = 𝑛 ∗ 𝑛
¿PROBLEMA?
El número medio de partículas es del orden de 100000 =>
El número de operaciones necesarias es 1012
El rango de partículas próximas es 20~250
Técnicas de Segmentación
Técnicas Relevantes Ventajas vs. Limitaciones
Búsqueda exhaustiva
Total precisión vs. Excesivo coste computacional.
Búsqueda jerarquizada: Estructura en árbol.
Rápido acceso vs. Consumo de memoria y tiempo
Búsqueda estructurada:
en el balanceo.
o Basada en Hash
o Optimización memoria vs. Colisiones.
o Ordenación basada en curvas
o Rápido acceso vs. Pérdida de eficiencia.
extremales.
Condiciones de implementación:
1. Las partículas que están dentro de una celda tienen todas el mismo hash.
2. Solo debe almacenarse en memoria las celdas que contienen partículas.
3. La función hash debe minimizar falsas vecindades (colisiones).
4. El tamaño de cada celda debe ser el mismo y su semiarista será h.
6. Las celdas son cubos y el dominio de interacción esférico. Consecuencia: la
búsqueda de vecinos se extiende a las 27 celdas contiguas.
1. Revisión de Conceptos
¿Qué es un fluido? Se trata de un medio continuo, por lo tanto, se puede definir una
densidad de masa (ρ). En él existen fuerzas internas que satisfacen la conservación de la
energía. Estas fuerzas no tienen por qué restituir su estado inicial (no es un sólido rígido). El
movimiento del fluido, el flujo, se describe por magnitudes no sólo dinámicas, ( 𝒓, 𝒗, 𝒂 ),
sino termodinámicas (𝑃, 𝑇, 𝐶v, 𝐶p)
¿Y todas son necesarias? En el ámbito de la informática grafica no, por lo general sólo se
opera con la ecuación dinámica esto es, la Ecuación de Navier-Stokes:
Dv 2
p =−∇ P+ v ∇ v + F ext
Dt
c. Bucle de simulación
3. Incompresibilidad
¿Qué es la incompresibilidad? Es la propiedad que tienen los líquidos de mantener
constante la densidad y es consecuencia de la conservación de la masa (Tema 2)
• Cuantitativamente: Se describe a través de la ecuación de continuidad:
∂ρ
+ ρ ∇ v=0
∂t
• Cualitativamente: La distancia entre las partículas tiene que ser tal que la
densidad se mantenga constante.[densidad - > fuerza presión posición - >
partículas]
1. Entorno de Simulación
¿Qué es RealFlow? Es un software de simulación de fluidos en 3D. Basado en sistema de
partículas.
29/04/2021 TEMA 8 (Parte 2): Herramientas software para la animación visual de fluidos.
2. Ejercicio:
a. Renderizado fluido del código propio
Ejercicio: Renderizando fluido propio
a. Implementar un archivo que permita exportar, en formato .bin, el estado
instantáneo de la simulación, para su renderizado mediante Realflow.
b. Probar dicho exportador y comprobar su operatividad.