Este documento describe la implementación del método Lattice Boltzmann en GPU para simulaciones de fluidodinámica. Presenta la teoría del método Lattice Boltzmann, incluyendo las ecuaciones discretas y de colisión, así como las condiciones de contorno. Validaciones numéricas muestran que el método reproduce con precisión casos clásicos como la cavidad entraída y el flujo de Poiseuille. Se concluye que la GPU acelera significativamente los cálculos y que el método Lattice Boltzmann es una alternativa sólida a es
1. Implementaci´on del m´etodo Lattice Boltzmann
CPU - GPU
Alfonso Aguilar Pontes
E.T.S.I.A.E., Universidad Polit´ecnica de Madrid
Septiembre, 2015
Director : Vassilis Theofilis
Co-Director : Jos´e Miguel P´erez
2. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
´Indice
1 Motivaci´on y Objetivos.
2 Introducci´on. Caracter´ıticas generales.
3 Teor´ıa.
4 Resultados y Validaciones.
5 Conclusiones y Trabajo Futuro.
3. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Motivaci´on y Objetivos del TFG
Motivaci´on
Control a tiempo real de dispositivos aerodin´amicos.
Objetivo
Desarrollo de un c´odigo basado en el m´etodo Lattice
Boltzmann para GPUs.
4. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
¿D´onde se encuentra LBM?
5. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Ecuaciones
Teor´ıa. Ecuaciones
Teor´ıa cin´etica discreta
fi (x + ei ∆x, t + ∆t) = fi (x, t) + Ωi (f (x, t)),
∀i = 0, ..., M.
ei : Direcciones discretas del espacio.
fi : Funci´on de distribuci´on de probabilidad de las part´ıculas.
∆x: Distancia entre mol´eculas consecutivas del lattice.
Ωi : Operador de colisi´on. Aproximaci´on BGK ≈
1
τ
f eq
i − fi .
6. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Ecuaciones
Teor´ıa. Ecuaciones. LBGK-NS - I.
N-S a partir de LBGK
Expansi´on de fi fi = f eq
i + εf
(1)
i + ε2f
(2)
i
fi (x + ei ∆x, t + ∆t) = fi (x, t) −
1
τ
(f
(1)
i + εf
(2)
i ).
Taylor en (x, t) de: fi (x + ei ∆x, t + ∆t)
Expansi´on Chapman-Enskog
∂
∂t
= ε
∂
∂t1
+ ε2 ∂
∂t2
,
∂
∂x
= ε
∂
∂x1
siendo t1 t2
7. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Ecuaciones
Teor´ıa. Ecuaciones. LBGK-NS - II.
Momentos de fi :
ρ :=
M
i=0
fi , ρu :=
M
i=0
fi ei .
Colisiones el´asticas:
M
i=0
Ωi = 0,
M
i=0
Ωi ei = 0
C. Masa:
∂ρ
∂t
+ (ρu) = 0
C. Momento:
∂ρu
∂t
+ · Π = 0,
donde Π es el tensor de flujo de momento que se define como:
Παβ =
M
i=0
(ei )α(ei )β f eq
i + 1 −
2
τ
f
(1)
i ,
8. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Ecuaciones
Teor´ıa. Ecuaciones. LBGK-NS - III.
Definir f eq
i a partir de:
f eq
i = ρωi a + bei u + c(ei u)2
+ du2
,
Selecci´on
Mol´ecula Lattice
ωi =
4/9 i = 0.
1/9 i = 1, 2, 3, 4.
1/36 i = 5, 6, 7, 8,
Coeficientes f eq
i : a = 1, b = 3, c =
9
2
, d = −
3
2
.
9. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Condiciones de Contorno
Teor´ıa. Condiciones de contorno - I
C.C. Seg´un las variables
Variables f´ısicas.
Funci´on de distribuci´on de probabilidad fi .
C.C. Seg´un el Tipo de Contorno:
Paredes fijas: Bounce-Back.
Contornos m´oviles: Modelo Zou-He.
Presi´on: Modelo Hou.
Flujo Peri´odico.
Flujo de salida.
Flujo Sim´etrico.
10. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Condiciones de Contorno
Teor´ıa. Condiciones de contorno - II
Pared fija: Bounce-Back
11. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
GPUs
GPUs. CUDA - I
CUDA: Programaci´on Heterog´enea CPU-GPU
CPU: C++
C´alculo en SERIE
Gesti´on de memoria:
new & delete
GPU: CUDA
C´alculo en
PARALELO
Gesti´on de memoria:
cudaMalloc &
cudaFree
CONEXI´ON CPU-CUDA:
cudaMemcpy: Copia de datos de CPU a GPU.
12. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
GPUs
GPUs. CUDA - II
Estructura CARTESIANA vs AUTORREFERENCIADA
13. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
GPUs
GPUs. CUDA - III. ECUACI´ON DEL CALOR.
14. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Validaci´on - I (Lid Driven Cavity Cl´asica a Re = 1000.)
Lineas de Corriente
D. A. Perumal and A. K.
Dass 2011.
Perfil de Velocidad
u y v
U. Ghia, K.N. Ghia, C.T.
Shin, 1983
15. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Validaci´on - II (LDC 4 lados m´oviles Re = 100)
Lineas de Corriente
Error M´aximo en la
posici´on de los v´ortices
Re Error M´aximo ( %)
10 0.97
100 0.57
127 1.86
D. A. Perumal and A. K. Dass 2011.
16. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Validaci´on - III (Canal Flujo Poisseuille)
Orden del M´etodo de Lattice Boltzman
17. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Conclusiones y Trabajo Futuro
Conclusiones
1 GPU: Resultados Convergidos en menos Tiempo de
Computaci´on.
2 LBM es una alternativa s´olida a los esquemas cl´asicos.
3 M´etodo completamente paralelizable. C´odigo LBM OpenMP.
4 Su rendimiento computacional mejora al ritmo de la
tecnolog´ıa GPU.
Trabajo Futuro
1 C´odigos LBM-CUDA.
2 Validaci´on LBM-CUDA.
18. Motivaci´on y Objetivos. Introducci´on. Caracter´ıticas generales. Teor´ıa. Resultados y Validaciones. Conclusiones y Trabajo F
Gracias por su atenci´on
¿Preguntas?