Experimentación Numérica en Turbulencia DNS de turbulencia...

59
Experimentación Numérica en Turbulencia DNS de turbulencia de pared Sergio Hoyas CMT- Motores Térmicos, Universidad Politécnica de Valencia Finaciación (Técnica o económica): DEISA, BSC,CICYT,PIC Trabajo en colaboración con Javier Jiménez ETSI Aeronáuticos, UPM y Centre for Turbulent Research, Stanford University

Transcript of Experimentación Numérica en Turbulencia DNS de turbulencia...

Experimentación Numérica en TurbulenciaDNS de turbulencia de pared

Sergio Hoyas

CMT- Motores Térmicos,

Universidad Politécnica de Valencia

Finaciación (Técnica o económica):DEISA, BSC,CICYT,PIC

Trabajo en colaboración con Javier JiménezETSI Aeronáuticos, UPM y Centre for Turbulent Research, Stanford University

Guión

Channel 2000 2

• Introducción histórica

• ¿Que es el CFD?

• Métodos numéricos: DNS, LES, RANS

• Un ejemplo: DNS en capas límites

Mecánica de fluidos

Channel 2000 3

• La mecánica de fluidos es todavía uno de los campos abiertos en la física que más aplicación tiene en la vida real

• Interviene en multitud de fenómenos desde como llenar un tetra-brik a la estela de un coche.

Mecánica de fluidos

Channel 2000 4

Mecánica de fluidos

Channel 2000 5

• En aeronáutica tenemos múltiples ejemplos

➘ Flujo en el interior del 380

Mecánica de fluidos

Channel 2000 6

Mecánica de fluidos

Channel 2000 7

• En aeronáutica tenemos múltiples ejemplos

➘ Flujo en el interior del A380

➘ Diseño de nuevos elementos

Mecánica de fluidos

Channel 2000 8

Mecánica de fluidos

Channel 2000 9

• En aeronáutica tenemos múltiples ejemplos

➘ Flujo en el interior del A380

➘ Diseño de propulsores

➘ Resistencia al movimiento

Mecánica de fluidos

Channel 2000 10

Historia Antigua

Channel 2000 11

• Primeros desarrollos

➘ Arquímedes de Siracusa: primeros estudios sobre la presión y flotabilidad

➘ Sextus Julius Frontinus: Diseño de acueductos en Roma

➘ Leonardo Da Vinci: Primeros estudios sobre la voticidad

Historia Antigua

Channel 2000 12

Surgimiento

Channel 2000 13

• El estudio científico empieza con grandes nombres

➘ B. Pascal: Estudio de la estática de fluidos

➘ I. Newton: Cálculo y las leyes de viscosidad

➘ H. de Pitot: Tubo de Pitot para medir velocidad en un fluido

➘ Bernouilli. Dinámica de fluidos en líneas de corriente

➘ Euler: Ecuaciones de los flujos ideales sin viscosidad.

➘ Venturi: Tubo de Venturi, estudios en toberas convergentes divergentes

➘ Hagen: Transición flujo laminar a turbulento

➘ Poiseuille: Estudio de la presión y caudal en capilares sanguineos

Epoca dorada

Channel 2000 14

• Durante los últimos 150 años, grandes científicos se han dedicado a la mecánica de fluidos

➘ Claude Navier – Henry Stokes: Ecuaciones de Navier-Stokes

Epoca dorada

Channel 2000 15

• Durante los últimos 150 años, grandes científicos se han dedicado a la mecánica de fluidos

➘ Claude Navier – Henry Stokes: Ecuaciones de Navier-Stokes

➘ E. Mach: Número de Mach -> Relación entre la velocidad de una onda y el sonido en un medio.

➘ O. Reynolds: Número de Reynolds -> Número adimensional que identifica si un fluido es laminar o turbulento

➘ También desarrolla la teoría de lubricación fluidodinámica

➘ L. Prandtl: Desarrollador de la teoría de capa límite y de la mecánica de fluidos moderna.

➘ T. Von Karman: Estudio de la vorticidad detrás de un cilindro y de las fuerzas de sustentación y arrastre en un medio turbulento.

➘ A.I. Kolmogorov: clave para entender la turbulencia: Cascada de Kolmogorov

Momento actual

Channel 2000 16

• Ahora mismo, la mecánica de fluidos es un campo muy activo de trabajo.

➘ Desde un punto de vista matemático, falta resolver el principal problema: la existencia y unicidad de soluciones de las ecuaciones de Navier-Stokes.

➘ Desde un punto de vista físico, se siguen sin entender mucho de los mecanismos de la mecánica de fluidos. Es decir, entendemos sabemos que pasa, entendemos como pasa, sabemos predecir que va a pasar, pero no sabemos la razón última de porque pasa.

➘ Desde el punto de vista de un ingeniero, las ecuaciones de la mecánica de fluidos son tan complicadas que se requieren modelos para poder resolverlas en tiempos razonables.

➘ Ahora mismo hay una gran discusión entre experimentos numéricos y experimentos físicos. Es lógico que al final el numérico se acabe imponiendo

Sergio Hoyas 17AMF – Lección 2

Ecuaciónes de Navier-Stokes

• Ecuación de la continuidad

• Si la densidad del fluido no depende del tiempo,

• En caso contrario, diremos que el fluido es compresible• Nota: Todos los fluidos son técnicamente compresibles, pero dependiendo de su movimiento pueden ser tratados como compresibles o incompresibles por lo que técnicamente es más correcto hablar de flujos compresibles o incompresibles

Momento actual

Channel 2000 18

• Ahora mismo, la mecánica de fluidos es un campo muy activo de trabajo.

➘ Desde un punto de vista matemático, falta resolver el principal problema: la existencia y unicidad de soluciones de las ecuaciones de Navier-Stokes.

➘ Desde un punto de vista físico, se siguen sin entender mucho de los mecanismos de la mecánica de fluidos. Es decir, entendemos sabemos que pasa, entendemos como pasa, sabemos predecir que va a pasar, pero no sabemos la razón última de porque pasa.

➘ Desde el punto de vista de un ingeniero, las ecuaciones de la mecánica de fluidos son tan complicadas que se requieren modelos para poder resolverlas en tiempos razonables.

➘ Ahora mismo hay una gran discusión entre experimentos numéricos y experimentos físicos. Es lógico que al final el numérico se acabe imponiendo

Ecuaciones

Channel 2000 19

Capa límite

Tubo

Canal plano

Dominio

Channel 2000 20

Capa límite

Tubo

Canal plano

Dominio

Channel 2000 21

Capa límite

Tubo

Canal plano

Dominio

flujoflujo

Channel 2000 22

Channel 2000 23

Turbulencia de pared

Viscosa

Log

Exterior

EnergíaDisipación

Energía

Momento

Simulaciones anteriores

Channel 2000 24

Simulaciones anteriores

Kim, Moin and Moser, 1987, 180 (Cray XMP, NASA Ames)Kim, Moin and Moser, 1987, 180 (Cray XMP, NASA Ames)

Del Álamo and Jiménez, 2003 (Kadesh, CEPBA) 550Del Álamo and Jiménez, 2003 (Kadesh, CEPBA) 550

Del Álamo, Moser, Jiménez and Zandonade, 2004 (Blue Horizon) 950Del Álamo, Moser, Jiménez and Zandonade, 2004 (Blue Horizon) 950

Del Álamo and Jiménez, 2003 (Kadesh, CEPBA) 180Del Álamo and Jiménez, 2003 (Kadesh, CEPBA) 180

Channel 2000 25

Simulaciones anteriores

Channel 2000 26

Malla

Espacio físicoEspacio físico Espacio de FourierEspacio de Fourier

# Puntos (Fis.) # Puntos (Fis.) # Puntos (Fourier, R.)# Puntos (Fourier, R.) # Puntos (Fourier, C.) # Puntos (Fourier, C.)

Memoria total Memoria total 400GB (precisión simple). 400GB (precisión simple).

Channel 2000 27

Tamaño: 6144 x 633 x 4608 = Tamaño: 6144 x 633 x 4608 = 1.8e101.8e10 puntos. puntos.

1536

Ecuaciones de Navier-Stokes

Channel 2000 28

Discretización en x y z

Channel 2000 29

70-80% del tiempo99% de las comunicaciones

Discretización en x y z

Discretización

Espacial: Fourier en x y z, diferencias finitas compactas en z

con

tomando

Channel 2000 30

Ecuaciones en Fourier

Channel 2000 31

!Aliasing!. Solución: regla de 2/3

Discretización

Método: Runge-Kutta de tercer orden (Spalart et al, 1991)

118 e6 ecuaciones/paso118 e6 ecuaciones/paso

Channel 2000 32

Discretización - y

Normal: Diferencias finitas compactas (Lele, 1991)

N=M=7

N=M=5

Primera derivada: malla de 7 puntos. Mapeada a la originalPrimera derivada: malla de 7 puntos. Mapeada a la original

Segunda derivada: malla realSegunda derivada: malla real

Channel 2000 33

Discretización - y

Sistemas: métodos LU, sin pivotaje, adaptadas de “Numerical Recipes”Sistemas: métodos LU, sin pivotaje, adaptadas de “Numerical Recipes”

Channel 2000 34

Aliasing

Channel 2000 35

El error de aliasing surge al calcular eficientemente los términos de la helicidad H, por ejemplo

La forma más eficiente de calcular estos productos es:

1. Transformar al espacio físico las variables

2. Calcular los productos dobles

3. Volver al espacio de Fourier

Al hacer esto estamos cometiendo un error, llamado error de Aliasing que introduce energía de los nodos más altos en los más pequeños.

Para resolver este problema nosotros hemos optado por el sistema de truncación, aunque existen otros métodos.

Dealiasing

Channel 2000 36

240 MB

540 MB

• Este método es barato computacionalmente, pero muy caro en memoria.• Para un Reynolds 4000 necesitaríamos 2.2GB de RAM, en simple precisión

• En doble precisión, como se hizo el código finalmente, se hubiesen necesitado

• La simulación nono se hubiese podido hacer!

1.1 GB

4.4 GB

Paralelización clásica

Solo podemos usar NSolo podemos usar N

y y

procs procs

Problema dealiasing 2DProblema dealiasing 2D

Channel 2000 37

Channel 2000 38

Paralelización en planos-líneas

Proc

b

Proc

b

EsquemaPrimera partePrimera parte

1.- Calculamos vel. y vort. (F-P-F)1.- Calculamos vel. y vort. (F-P-F)2.- Transformamos z al espacio físico 2.- Transformamos z al espacio físico

Segunda parteSegunda parteMovemos de yz a líneas en xMovemos de yz a líneas en x

Tercera parteTercera parte1.- Transformamos x a físico 1.- Transformamos x a físico 2.- Cálculo de la helicidad2.- Cálculo de la helicidad3.- Transfomamos la helicidad a Fourier3.- Transfomamos la helicidad a Fourier

Quinta parteQuinta parte1.- Transformamos a (F-P-F)1.- Transformamos a (F-P-F)2.- Calculo del RHS de la ecuación2.- Calculo del RHS de la ecuación3.- Resolvemos los sistemas3.- Resolvemos los sistemas4.- Avanzamos en tiempo4.- Avanzamos en tiempo

Cuarta parteCuarta parteMovemos de líneas en x a yz Movemos de líneas en x a yz

1.- 10%1.- 10%

2.- 40% (133MB2.- 40% (133MB))

3.- 10%3.- 10%

4.- 20% (66 MB)4.- 20% (66 MB)

5.- 20%5.- 20%

Channel 2000 39

Comunicaciones

1. Si A está mandando datos a B, B tiene que estar esperando a A.2. Nadie más tiene que comunicarse con A o B

#Procs = 4=22

1º Comm.

2ª Comm.

3ª Comm.

P

1

P

2

P3

P

4

Channel 2000 40

Hipercubo

#Procs = 8=32

1st.

2nd

3rd

4th

5th

6th

7th

Channel 2000 41

Hipercubo: seudocódigo

Wrong!!!

Channel 2000 42

El problema de la caché

Channel 2000 43

z

y

z

y

Pi

Pi+1

nl

x

El cambio global pasa de datos ordenados a datos mal ordenados o viceversa

Dos soluciones

1. MPI_TYPE_VECTOR

2. Transpuestas locales y comunicaciones

Entrada/salida de datos

- El código salva una imagen cada 200 pasos.- El código salva una imagen cada 200 pasos.- El archivo pesa alrededor de - El archivo pesa alrededor de 60GB60GB- Implementación clásica: esclavos a maestroImplementación clásica: esclavos a maestro- Todos los procesadores tienen que esperar a que el archivo esté escritoTodos los procesadores tienen que esperar a que el archivo esté escrito

30%30%

7%7%

Channel 2000 44

Dos soluciones

Propuesta por MN: Propuesta por MN:

Cada procesador escribe su plano a un directorioCada procesador escribe su plano a un directorio- No se implemento- No se implemento- Problemas: 2048 procesadores intentando escribir al mismo tiempo.Problemas: 2048 procesadores intentando escribir al mismo tiempo.

2048 archivos generados por cada imagen, 600.000 en total2048 archivos generados por cada imagen, 600.000 en total

Implementada: Pedimos 60 procs más y creamos dos MPI_GROUPS Implementada: Pedimos 60 procs más y creamos dos MPI_GROUPS

Cálculo Cálculo Sálida Sálida

P

1

-P

x1

P

x2

-P

x3

Pxn-1-P2048

60GB

Disk Disk

P

1

P

2

P60

5-6 s 30-40 m

Channel 2000 45

Comparación entre códigos

Channel 2000 46

Speed-up del nuevo esquema

Importante

• Optimización de rutinas

Adaptado: Adaptado:

- XLF - XLF

-Arquitectura de MareNostrumArquitectura de MareNostrum

Claves

• Input/ouputInput/ouput

• ComunicacionesComunicaciones

Desechamos

• Comunicaciones asíncronas

Channel 2000 47

Simulaciones cinemáticas

Channel 2000 48

!Las DNS son muy caras!

ProcesadorProcesador TotalTotal

Memoria 0.2GB 400GB

Pasos 125.000 125.000

Tiempo por cada paso del Runge-Kutta 40s 40s

CPU-hours totales 2800h 6e6h (2.8e6)

Horas humanas totales 4 meses 4 meses

Transferencia de datos entre procesadores 0.6GB 1.2PB

Total de datos transmitidos 73PB 145EB

Base de datos obtenidad 25TB 25TB

Flops conseguidos 50GF 3TF

Flops totales 5.9PF 0.36EF

Channel 2000 49

Postproceso

Channel 2000 50

Por motivos de eficiencia computacional, hay estadísticas que no se calculan durante la simulación como pueden ser los balances de energía o las presiones.

Estos datos deben ser calculados a posteriori, a partir de imágenes de los campos guardadas.

0.6-8 TB, 64GB, 200GB1.5 PB, 25TB

Postproceso

Channel 2000 51

Aunque ahora hay máquinas de más de 250GB de memoria compartida, hace tres años eran inaccesibles.

El postproceso se hace usando el disco como memoria RAM escribiendo los datos en acceso directo.

Para ello es necesario que los discos sean muy rápidos o mejor que sean sistemas distribuidos raid0 o raid5.

En una máquina típica de postproceso, sólo teníamos dos discos de 300 GB, con dos procesadores. Teníamos cuatro máquinas de estas. El problema era claramente: ¿Como optimizar las máquinas?

Postproceso

Channel 2000 52

Opciones:

➘ Utilizar los dos procesadores independientemente, aprovechando al máximo el disco. Problemas: Conflictos de lectura disco a disco y disco a RAM

➘ Lanzar un proceso únicamente, y usando OpenMP aprovechar los dos procesadores. Problemas: 80% de tiempo es leer y escribir. Movimiento de datos remotos.

➘Lanzar un proceso por nodo y usar el otro procesador para la gestión de datos remotos. ELEGIDA

Con este procedimiento hemos conseguido postprocesar cada campo en 12 horas. En avanzar el tiempo en el código se tarda 22h (2048*40)

Mare Nostrum

Supercomputador perteneciente al centro nacional de supercomputación.

4812 procesadores PowerPC 970FX a 2,2 GHz

9.6 TB de memoria ram. 236 TB de disco

Potencia mantenida de 38 Tflops.

Información: www.bsc.es

Agradecimientos

Almacenamiento: Port d’informacio cientifica,ww.pic.es. Castor: Capacitad 1.5 PB. Idea del centro: Llegar a 10PB

Agradecimientos

BSC BSC

José María Cela: FFTW y optimización de rutinas.

Sergi Girona: Rutinas I/O y multiples discusiones sobre MareNostrum.

Jesús Labarta: Rutinas de comunicaciones.

5.000.000 CPU-H asignadas para hacer la simulación.

PICPIC

Manuel Delfino: Almacenamiento de los resultados de la simulación.

25 TB of permanent storage.

DEISA DEISA

800.000 CPU-H de cálculo asignadas en la red europea de supercomputación

Channel 2000 55

Conclusiones

• Hemos realizado un nuevo algoritmo, basado en los conocimientos de los últimos 20 años que es capaz de usar miles de procesadores y mostrando un excelente speed-up.

• Este código ha sido principalmente escrito en Fortran77-90 usando C++ para las FFT y MPI para las rutinas de comunicación.

• Las DNS son muy caras, tanto computacionalmente como economicamente, pero no más que un experimento del mismo tamaño. Con una ventaja. Nosotros conocemos completamente la velocidad del fluido.

• Hemos obtenido una base de datos de 25TB que seguimos todavía analizando.

• Desde el punto de vista físico, hemos respondido varias preguntas, pero hemos abierto más interrogantes.

Channel 2000 56

¿Trabajo futuro?

• ¿Para cuándo un Channel 4000?

Channel 2000 57

• Tamaño de malla estimado

• Tiempo calculado en MareNostrum por paso.

• Número mínimo de pasos necesarios.

• Tiempo total estimado

(12288,901,9216)

140s en 4096 processors, 280 en 2048

250.000

20e6 CPU-Horas, entre 800 y 1400 días• Opciones

• Utilizar OpenFOAM para disminuir el número de comunicaciones entre procesadores.

Artículos técnicos: “Scaling of the velocity uctuations in turbulent channels up to Re = 2000". S. Hoyas and J. Jimenez. Phys. of Fluids. 18,1 2006.

“Reynolds number dependence of the Reynolds-stress budgets in channels ". S. Hoyas and J. Jimenez. Phys. of Fluids, 20, 101511, 2008.

“Turbulent fluctuations above the buffer layer of wall-bounded flows ". J. Jimenez and S. Hoyas, J. Fluid. Mech. 611, 215-236 SEP 25 200 2008

“A high-resolution code for turbulent boundary layers ". M. Simens, J. Jimenez, S. Hoyas and Y. Mizuno, International Journal of Computational Physics, in press. 2009.

Artículos divulgativos:“Channel 2000: Computing wall turbulence at experimental Reynolds numbers". S. Hoyas and J. Jimenez. DEISA Newsletter, 2006.http://www.deisa.org/les/DEISA Newsletter Vol2 06.pdf

Más Información

Channel 2000 58

¡Gracias!

Laboratorio de Dinámica de Fluidos Laboratorio de Dinámica de Fluidos ComputacionalComputacional

Escuela de Aeronáutica, UPMEscuela de Aeronáutica, UPM

http://torroja.dmt.upm.eshttp://torroja.dmt.upm.es

Channel 2000 59