introducción a la simulación de fluidos - mastergraficos.com · mecánica computacional de...

35
Introducción a la simulación de fluidos Animación Avanzada Iván Alduán Íñiguez 25 de Marzo de 2014

Upload: buique

Post on 01-Nov-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Introducción a la simulación de fluidos

Animación Avanzada

Iván Alduán Íñiguez

25 de Marzo de 2014

Page 2: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Índice

• Motivación • Mecánica computacional de fluidos • Método de diferencias finitas • Ecuación de convección • Ecuación de difusión

Page 6: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Motivación

Page 7: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Mecánica computacional de fluidos

Page 8: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

• Paso 1: Selección del modelo matemático, definir el nivel de aproximación de la realidad que queremos simular, por ejemplo en forma de PDEs.

- Modelo en 2D o 3D - Fluido compresible o no compresible - Fluido viscoso o no viscoso - Modelo de turbulencia - Fluido isotérmico o la temperatura es importante - Fluido subsónico o supersónico

8

Mecánica computacional de fluidos

Page 9: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

• Paso 2: Discretización del dominio, con principalmente dos componentes: la discretización del espacio por ejemplo mediante la generación de una malla; elección del esquema numérico por ejemplo elementos finitos.

Mecánica computacional de fluidos

(a) Irregular mesh

(b) Structured mesh

Page 10: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

• Paso 2: Discretización del dominio

• Métodos lagrangianos - Smoothed particle hydrodynamics - Moving least squares - Elementos finitos

• Métodos eulerianos - Diferencias finitas - Volumenes finitos - Elementos finitos

Mecánica computacional de fluidos

Page 11: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

• Paso 3: Análisis de que el método numérico elegido es válido, estudiando sus propiedades de consistencia, estabilidad, convergencia y precisión.

- Consistencia: Un esquema es consistente cuando la

ecuación discretizada tiende a la ecuación diferencial cuando dt y dx tienden a cero

- Estabilidad: Un esquema es estable si los errores no aumentan indefinidamente al progresar en el cálculo de un paso de tiempo a otro

- Convergencia: Un esquema converge cuando la solución numérica tiende a la solución exacta de la ecuación diferencial cuando dt y dx tienden a cero

Mecánica computacional de fluidos

Page 12: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

• Paso 4: Solución del esquema numérico, aplicando conocimientos matemáticos que aceleren la convergencia del sistema.

- El sistema es ¿simétrico?, ¿definido positivo?, ¿diagonal dominante?

- Métodos iterativos vs solvers directos - Factorización de Choleski, LU, QR, … - Jacobi, Gauss-Seidel, SOR, … - CG, PCG, BCG, … - Métodos multigrid

Mecánica computacional de fluidos

Page 13: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

• Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar y analizar los resultados obtenidos.

- Visualización de las cantidades simuladas mediante mapas de color

- Mallado de la superficie libre del fluido - Generación de splash, foam, mist - Renderizado en tiempo real - Renderizado fotorealista BRDF, Bidirectional path tracing, …

Mecánica computacional de fluidos

Page 14: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Diferencias finitas

• El Método de las Diferencias Finitas es el método numérico mas sencillo y mas antiguo para obtener soluciones numéricas de ecuaciones diferenciales (Euler 1768).

• Basado en las propiedades de los desarrollos de Taylor y en la definición de derivada.

• Requiere un alto grado de regularidad de la malla. La malla debe ser estructurada y uniforme.

Page 15: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Diferencias finitas

• Recordemos la definición de derivada:

• Para un valor finito de ∆x se introduce un error (error de truncamiento) que tiende a 0 cuando ∆x tiende a 0

• La potencia de ∆x con la que el error tiende a 0 se llama orden de aproximación y se obtiene a partir del desarrollo de Taylor de u(x + ∆x) alrededor de x

xxuxxu

xuu

xx ∆−∆+

=

∂∂

≡→∆

)()(lim0

Page 16: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Diferencias finitas

• Desarrollo de Taylor:

• Reordenando los términos:

• Esta aproximación es de primer orden en ∆x, que indica que el error de truncamiento tiende a cero como la primera potencia de ∆x, y se escribe:

...)(2

)()()(2

+∆

+∆+=∆+ xuxxuxxuxxu xxx

...)(2

)()()(+

∆+=

∆−∆+ xuxxu

xxuxxu

xxx

)(0)()()( xxux

xuxxux ∆+=

∆−∆+

Page 17: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Diferencias finitas

• Desarrollo de Taylor:

• Reordenando los términos:

• Esta aproximación es de primer orden en ∆x, y se denomina diferencia hacia atrás, frente a la anterior aproximación que se denomina diferencia hacia adelante:

...)(2

)()()(2

−∆

+∆−=∆− xuxxuxxuxxu xxx

...)(2

)()()(+

∆+=

∆∆−− xuxxu

xxxuxu

xxx

)(0)()()( xxux

xxuxux ∆+=

∆∆−−

Page 18: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Diferencias finitas

• Desarrollo de Taylor:

• Restamos la segunda expresión a la primera y reordenamos:

• Esta aproximación es de segundo orden en ∆x, y se denomina diferencia centrada

)(0)(2

211 xxuxuu

xii ∆+=

∆− −+

...)(6

)(2

)(

...)(6

)(2

)(

32

1

32

1

+∆

−∆

+∆−=

+∆

+∆

+∆+=

+

ixxxixxixii

ixxxixxixii

uxuxuxuu

uxuxuxuu

Page 19: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Diferencias finitas

• Interpretación gráfica:

centradaDiferenciaxxuu

xuu

atráshaciaDiferenciaxxuu

xuu

delantehaciaDiferenciaxx

uuxuu

ii

xxix

ii

xxix

ii

xxix

i

i

i

)(02

)(

)(0)(

)(0)(

211

1

1

∆+∆−

=

∂∂

=

∆+∆−

=

∂∂

=

∆+∆−

=

∂∂

=

−+

=

=

+

=

ui −1

ui ui +1

∆x ∆x

i −1 i i +1

y = u(x)

Diferencia centrada

Diferencia hacia atrás

Diferencia hacia delante

Page 20: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

• Es el transporte de una propiedad (masa, calor, momentum) debido al movimiento de un fluido.

• Ecuación hiperbólica de transporte convectivo en 1D, de momento vamos a asumir una velocidad de propagación constante (a=cte):

• Veamos algunos esquemas numéricos para tratar esta ecuación

0=∂∂

+∂∂

xua

tu

Page 21: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

• Esquema FTBS (Forward in Time & Backward in Space) • Discretizando con DF hacia delante en el tiempo • Discretizando con DF hacia atrás en el espacio

)( 1

1ni

ni

ni

ni uu

xa

tuu

+

−−=−

∆∆

)( 11 n

ini

ni

ni uu

xtauu −

+ −∆∆

−=C =Número de Courant

Page 22: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

• Esquema FTBS (Forward in Time & Backward in Space) • El número de Courant C, es el cociente entre la

velocidad física de propagación a y la velocidad numérica dx/dt

• El esquema FTBS es explícito de primer orden • El esquema FTBS es condicionalmente estable - La idea intuitiva es no avanzar más de una celda en cada step - Discretizar la derivada espacial tomando la información de donde

viene la velocidad ( upwind-biased differencing)

10 ≤< C

Page 23: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

• Esquema FTCS (Forward in Time & Centered in Space) • Discretizando con DF hacia delante en el tiempo • Discretizando con DF centradas en el espacio

)(2

)(2 11

111

1ni

ni

ni

ni

ni

ni

ni

ni uuCuuuu

xa

tuu

−++

−+

+

−−=⇒−∆

−=∆−

incondicionalmente inestable

Page 24: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

• También métodos implícitos p.ej.:

• En gráficos: - Semi-lagrangian advection - MacCormack methods - Hybrid grid-particle methods

• Métodos más exactos: - TVD high order Runge–Kutta time discretization - Fifth order accurate WENO spatial discretization

01

111

=∆−

+∆− +

−++

xuua

tuu n

ini

ni

ni

Page 25: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

Page 26: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

Page 27: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de convección

Page 28: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Diferencias finitas para la derivada segunda

• Desarrollo de Taylor:

• Sumamos ambos desarrollos y reordenamos:

• De la misma manera hemos obtenido una aproximación por

diferencias finitas centradas para la segunda derivada, y esta aproximación también es de segundo orden.

)(0)(2 22

11 xxux

uuuxx

iii ∆+=∆

+− −+

...)(6

)(2

)(

...)(6

)(2

)(

32

1

32

1

+∆

−∆

+∆−=

+∆

+∆

+∆+=

+

ixxxixxixii

ixxxixxixii

uxuxuxuu

uxuxuxuu

Page 29: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de difusión

• Dada una distribución inicial de una propiedad (temperatura, velocidad), dicha función tiende a homogeneizarse, los cambios bruscos se suavizan.

• Ecuación parabólica de difusión en 1D (k=cte):

xuk

tu

2

2

∂∂

=∂∂

Page 30: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de difusión

• Esquema FTCS (Forward in Time & Centered in Space) • Discretizando con DF hacia delante en el tiempo • Discretizando con DF centradas en el espacio

211

1 2x

uuuDt

uu ni

ni

ni

ni

ni

∆+−

=∆− −+

+

)2( 1121 n

ini

ni

ni

ni uuu

xtDuu −+

+ +−∆∆

+=

D* 21*0 ≤≤ D

C ondición de estabilidad

Page 31: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de difusión

C ondición de estabilidad

Page 32: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuación de difusión

Page 33: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuaciones multidimensionales

• En el espacio 2D, la malla esta definida por los puntos de coordenadas: xi = i ∆x e yj = j ∆y

• uij serán los valores de la función u(x,y) en xi e yj uij = u(xi,yj)

∆x

∆y

x

y

i i +1 i -1

j -1

j +1

j (i,j)

Page 34: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuaciones multidimensionales

• Derivada primera respecto a x de primer orden:

• Derivada primera respecto a y de primer orden:

• Derivada segunda respecto a x de segundo orden:

)(0)( ,1 xx

uuu ijji

ijx ∆∆

+−

= +

)(0)( 1, yy

uuu ijji

ijy ∆∆

+−

= +

)(02

)( 22

,1,1 xx

uuuu jiijji

ijxx ∆∆

++−

= −+

Page 35: Introducción a la simulación de fluidos - mastergraficos.com · Mecánica computacional de fluidos • Paso 5: Post-procesado gráfico de los resultados cuantitativos para interpretar

Ecuaciones multidimensionales

21,1,,1,1 4

xuuuuu

u ijjijijijiij ∆

−+++=∆ −+−+

i

j

1

1

1 1 -4

• Esquema en diferencias finitas para el operador de Laplace en 2D:

• Aplicando diferencias centradas de segundo orden en ambas direcciones obtenemos:

• Y si ∆x = ∆y:

yyxx uuu +=∆

),(022 22

21,1,

2,1,1 yx

yuuu

xuuu

u jiijjijiijjiij ∆∆+

+−+

+−=∆ −+−+