El Método de los Volúmenes Finitos...

22
Capítulo 2 El Método de los Volúmenes Finitos (MVF). 2.1. Introducción. En este capítulo se recogen todas las características del método empleado para la solución del problema de ujos: tipo de problema, aproximaciones, discretización espacial, de las ecuaciones, temporal, esquema de integración, etcétera. La resolución del problema de ujos se encuentra disponible en el departamento y no es materia de inverstigación del presente proyecto [5]. Siendo el nucleo de este proyecto el acoplamiento uido-estructura (ver capítulo 4) Para la solución de los ujos se ha optado por un método que presenta las siguientes características: El método empleado para la discretización de las ecuaciones es el método de los volúmenes nitos. La discretización espacial se realiza con mallas no estructuradas. No se emplea ningún modelo de turbulencia, es decir, se realiza una simulación numérica directa de las ecuaciones de Navier-Stokes (DNS) El esquema de integración temporal empleado será implícito En lo que se reere al esquema de comunicaciones, este será de nivel IV, como se verá en el apartado 2.4.7. 2.2. Generación de la malla de volúmenes nitos. En primer lugar, y para poder generar la malla de volúmenes nitos se ha de crear un modelo geométrico del dominio. En este caso, se ha empleado GiD en su versión 7 release 2. El siguiente paso en el MVF es la generación de la malla de volúmenes nitos, en el propio programa de GiD, que se empleara en la discretización espacial del problema. Se emplearan mallas no estructuradas, formada por tetraedros con un nodo por vértice. En la generación de mallas, el tamaño de los elementos viene determinado por la capacidad computacional disponible para la solución del problema; así, si disponemos de un solo ordenador personal deberemos generar mallas de pocos elementos, mientras que si tenemos una gran computadora o varios equipos conectados en paralelo podremos llegar hasta tamaño de elementos mucho menores. Como es de esperar, la exactitud de la solución dependerá del tamaño de los elementos que denan la malla; como es obvio, para tamaño los elementos pequeños se obtienen resultados mejores que con elementos grandes. 23

Transcript of El Método de los Volúmenes Finitos...

Capítulo 2

El Método de los Volúmenes Finitos(MVF).

2.1. Introducción.

En este capítulo se recogen todas las características del método empleado para la solución del problemade flujos: tipo de problema, aproximaciones, discretización espacial, de las ecuaciones, temporal, esquemade integración, etcétera. La resolución del problema de flujos se encuentra disponible en el departamento yno es materia de inverstigación del presente proyecto [5]. Siendo el nucleo de este proyecto el acoplamientofluido-estructura (ver capítulo 4)

Para la solución de los flujos se ha optado por un método que presenta las siguientes características:

El método empleado para la discretización de las ecuaciones es el método de los volúmenes finitos.

La discretización espacial se realiza con mallas no estructuradas.

No se emplea ningún modelo de turbulencia, es decir, se realiza una simulación numérica directa delas ecuaciones de Navier-Stokes (DNS)

El esquema de integración temporal empleado será implícito

En lo que se refiere al esquema de comunicaciones, este será de nivel IV, como se verá en el apartado2.4.7.

2.2. Generación de la malla de volúmenes finitos.

En primer lugar, y para poder generar la malla de volúmenes finitos se ha de crear un modelo geométricodel dominio. En este caso, se ha empleado GiD en su versión 7 release 2.

El siguiente paso en el MVF es la generación de la malla de volúmenes finitos, en el propio programade GiD, que se empleara en la discretización espacial del problema. Se emplearan mallas no estructuradas,formada por tetraedros con un nodo por vértice.

En la generación de mallas, el tamaño de los elementos viene determinado por la capacidad computacionaldisponible para la solución del problema; así, si disponemos de un solo ordenador personal deberemos generarmallas de pocos elementos, mientras que si tenemos una gran computadora o varios equipos conectados enparalelo podremos llegar hasta tamaño de elementos mucho menores.

Como es de esperar, la exactitud de la solución dependerá del tamaño de los elementos que definan lamalla; como es obvio, para tamaño los elementos pequeños se obtienen resultados mejores que con elementosgrandes.

23

24 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

‹No nodos› ‹No caras› ‹No elementos› ‹No caras exteriores›

Listado de nodos‹x› ‹y› ‹z›

Listado de caras‹Elemento 1› ‹Elemento 2› ‹No nodos› ‹Nodo 1› ‹Nodo 2› ‹Nodo 3›

Cuadro 2.1. Estructura de la malla adaptada; es decir, expresada a través de sus caras.

Parámetro Descripción Valores (S.I.)γ Relación de calores específicos 1,4

R Constante de los gases ideales 287,04

ρ∞ Densidad 1,3813

u∞ Velocidad en la dirección X > 0

v∞ Velocidad en la dirección Y > 0

w∞ Velocidad en la dirección Z > 0

p∞ Presión 101325,0

µ∞ Viscosidad 1,831e− 5

ScalefreestreamConstante que multiplica a lascomponentes iniciales de la velocidad

1

Cuadro 2.2. Condiciones del flluido en el infinito.

Otra idea importante a la hora de crear mallas de volúmenes finitos es el refinamiento de la malla,esto es, hacer que en las zonas donde los gradientes de las variables que gobiernan el flujo son elevados loselementos sean mucho menores que en el resto del dominio. Estas zonas suelen coincidir con los vórtices dela zona de turbulencias y sus proximidades. En la zona de turbulencias, el tamaño de los elementos ha deser de orden menor que la menor tamaño de vórtices1 que se deseen capturar.

El archivo que contiene la malla contiene en primer lugar los nodos, a continuación los elementos y enúltimo lugar las caras exteriores de los elementos sobre las que se impone las condiciones de contorno delproblema, como se puede ver en el Apéndice A.

Una vez generada la malla en GiD debemos de adaptar el archivo que la contiene para poder introducirlaen el MVF; se pasa de una malla definida por elementos volumétricos, a una dada por todas sus caras. Elarchivo de la malla una vez adaptada tiene la estructura que se indica en el cuadro 2.1.

2.3. Descripción de los parámetros de entrada.

Para resolver el problema de flujo, es necesario suministrarle al algoritmo toda la información necesariapara la resolución; esta información podemos clasificarla en:

Parámetros del fluido: datos del fluido y valores de referencia que el programa usa para la resolucióndel problema. Ver cuadro 2.2.

Factores de convergencia: incluye todo lo relacionado con el problema iterativo de resolución. Vercuadro 2.3.

Factores de integración. Ver cuadro 2.4.

2.3. Descripción de los parámetros de entrada. 25

Parámetro Descripción Valores (S.I.)

Nits Máximo número de iteraciones100− 1000, modelos implícitos1000− 5000, modelos explícitos

Maxmin Máximo número de minutos De 5 a 10 minutos

ResiduorelSe detendrá cuando el residuorelativo sea menor que este valor

De 1,0 · 10−4 a 1,0 · 10−16

ResiduoabsSe detendrá cuando el residuoabsoluto sea menor que este valor

1,0 · 10−16

ItsintNúmero máximo de iteraciones paracumplir el problema interno

100

TolintEl problema interno converge

cuando kAx−bkkbk ≤ Tolint

0,1

Cuadro 2.3. Parámetros de convergencia en la resolución del problema.

Parámetro Descripción Valores (SI)

CFLconst

·Si CFLconst > 0,0, CFLse calcula:CFL = CFLconst + CFLslope · log10(R0/Rn)·Si CFLconst < 0,0, éste es el paso de tiempo,y CFLslope se ignora

10− 1021

CFLslope Ver arriba 0,0;CFLconst/4

SteplocalSi su valor es 1, usa el paso de tiempo localpara mejorar la convergencia de un estado fijo

1

SchemecomEstrategia de comunicación para lasolución en paralelo del problema

0I, II, III, IV 0

Cuadro 2.4. Parámetros de integración temporal.

26 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

Tipo Descripción Parámetros0 Ninguna1 Flujo libre2 Flujo libre con valores impuestos ρ, u, v, w, p3 Extrapolación de 1er orden desde el interior4 Extrapolación de 2o o orden desde el interior5 Tipo Riemman6 Presión y temperatura impuesta po, To7 Presión impuesta p

8 Tangencia9 No deslizamiento adiabática10 No deslizamiento con temperatura de pared impuesta Tpared17 Velocidad u = 0 impuesta u

18 Velocidad u = 0 impuesta v

19 Velocidad u = 0 impuesta w

20 Capa límite terrestre de tipo Riemmann21 Capa límite terrestre de pared

Cuadro 2.5. Condiciones de contorno.

Condiciones de contorno. Ver cuadro 2.5.

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes.

2.4.1. Introducción. Ecuaciones de Navier-Stokes

Las ecuaciones de Navier-Stokes pueden escribirse en forma integral completa para un volumen de controlΩ encerrado en una superficie Γ y desprecieando las fuerzas volumétricas de la siguiente manera:

∂t

ZΩQdV +

³F · n

´dS −

³F · n

´dS = 0 (2.1)

en donde Q es el vector de variables de flujo,

Q =

⎡⎢⎢⎢⎢⎣ρρuρvρwρeo

⎤⎥⎥⎥⎥⎦ (2.2)

F es el vector de flujo no viscoso incluyendo la variación de presiones

F = Fxi+ Fyj + Fzk (2.3)

en donde

1Como se ha visto, en las estelas turbulentas, existen vórtices de muy diferentes escalas. La energía turbulenta se genera enlos vórtices grandes y se va transfiriendo hasta los más pequeños en los que se disipa la energía.

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 27

Fx =

⎡⎢⎢⎢⎢⎣ρu

ρu2 + pρuvρuwρuho

⎤⎥⎥⎥⎥⎦

Fy =

⎡⎢⎢⎢⎢⎣ρvρuv

ρv2 + pρvwρvho

⎤⎥⎥⎥⎥⎦

Fz =

⎡⎢⎢⎢⎢⎣ρuρuwρvw

ρw2 + pρwho

⎤⎥⎥⎥⎥⎦

(2.4)

y Fv es el vector de flujos viscosos.

Fv = Fv,xi+ Fv,yj + Fv,zk (2.5)

en donde

Fx =

⎡⎢⎢⎢⎢⎣0τxxτxyτxz

(uτxx + vτxy + wτxz)− qx

⎤⎥⎥⎥⎥⎦

Fy =

⎡⎢⎢⎢⎢⎣0τyxτyyτyz

(uτyx + vτyy + wτyz)− qy

⎤⎥⎥⎥⎥⎦

Fz =

⎡⎢⎢⎢⎢⎣0τ zxτ zyτ zz

(uτ zx + vτ zy + wτ zz)− qz

⎤⎥⎥⎥⎥⎦

(2.6)

con

28 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

τxx = 2µ∂u

∂x− 2µ3O · v (2.7)

τxy = τyx = µ

µ∂u

∂y+

∂v

∂x

¶τxz = τ zx = µ

µ∂u

∂z+

∂w

∂x

¶τyy = 2µ

∂v

∂y− 2µ3O · v

τyz = τ zy = µ

µ∂v

∂z+

∂w

∂y

¶τ zz = 2µ

∂w

∂z− 2µ3O · v

qx = −k∂T∂x

qy = −k∂T∂y

qz = −k∂T∂z

además ρ es la densidad del fluido, v = (u, v, w)T son las componentes cartesianas de la velocidad, p lapresión, eo la energía total, τ ij es el tensor de esfuerzos viscosos que es función de los gradientes de velocidady µ es la viscosidad molecular que es función de la temperatura a través de la función de Sutherland:

µ = C1T 3/2

T + C2(2.8)

en donde T se introduce en K, µ en kg/(ms) , C1 = 1,45 · 10−6 y C2 = 110 en el aire. Además qi es elflujo de calor por conducción y k el coeficiente de conductividad térmica, que también puede escribirse:

qi = −µ

Pr(γ − 1)∂a2

∂x2i(2.9)

en donde

a =√γRT Pr =

Cpµk

(2.10)

Teniendo en cuenta que la entalpía total, ho, está relacionada con la energía interna total, eo, por larelación:

ho = eo +pρ e = CvT h = CpT (2.11)

donde

eo = e+ 12v · v ho = h+ 1

2v · v (2.12)

nos queda un sistema de cinco ecuaciones con seis incógnitas. Por lo tanto, es necesaria una ecuaciónadicional para cerrar el problema que es la ecuación de estado, que para gases idelaes se expresa:

P = ρRT = (γ − 1) ρe = (γ − 1) ρµeo −

1

2v · v

¶(2.13)

donde γ = Cp/Cv es la relación de valores específicos que para el aire toma el valor γ = 1,4 y R = 287m2/

¡s2k¢.

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 29

Figura 2.1 . Elemento i pertenenciente a la malla. Qi es el vector de variables fluidas y nj es la normal a la cara j del elemento.

2.4.2. Discretización.

Discretización espacial.

Como se acaba de ver en el apartado anterior, las eccuaciones de Navier-Stokes en forma integral paraun volúmen de control Ω y superficie exterior Γ se expresan de la siguiente manera:

∂t

ZΩQdV +

³F · n

´dS −

³F · n

´dS = 0 (2.14)

Aplicando la ecuación anterior a un volumen finito 0i0, siendo Qi el vector de magnitudes fluidas en elcentro de dicho volumen, nos queda:

Ωid

dtQi +

Nf,iXj=1

∙³F · nS

´j

¸i

= 0, ∀i = 1, ...,Nc (2.15)

en donde Nc es el número de volúmenes finitos (celdas) y Nf,i el número de caras del volumen de control0i0 (caras)

La ecuación anterior puede reescribirse:

ΩdQ

dt+R(Q) = 0 (2.16)

en donde R(Q) es el residuo, que contiene los términos no contenidos en la derivación temporal.

Discretización temporal.

Existen dos métodos de discretización temporal:

El método explícito, clásico o método de Euler: se basa en evaluar R en el paso de tiempo actual, n.

4Qn = − 1Ω4tR(Qn) = − 1

Ω4tRn (2.17)

conocido Qn se calcula 4Qn de la siguiente manera:

Qn+1 = Qn +4Qn (2.18)

30 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

Figura 2.2 . El flujo a través de una cara sólo depende de la geometría y de un valor de las variables de las celdas vecinas.

El método implícito: en este caso se evalúa R en el paso de tiempo n + 1; para ello se realiza undesarrollo en series de Taylor:

Rn+1 = Rn +∂R

∂Q

n

4Qn +O (4Qn)2 (2.19)

y se resuelve el sistema de ecuaciones siguiente:"Ω

4tI +

∂R

∂Q

n#4Qn = −R(Qn+1) (2.20)

se resuelve este sistema de ecuaciones A · x = b en donde

A =Ω

4tI +

∂R

∂Q

n

(2.21)

x = 4Qn

b = −R(Qn+1)

hasta que se cumpla la siguiente condición:

kAx− bk2kbk2

< innerTol (2.22)

Detalles de implementación.

En el cálculo del vector residuo,

R(Qn)i =

Nf,iXj=1

∙³F · nS

´j

¸i

(2.23)

el flujo en la cara j del elemento i, sólo depende de los Q a uno y otro lado de la cara, es decir, como sepuede observar en la figura 2.2, ∂R/∂Q sólo tiene términos en Qi, Qk, Ql y el resto de los Q de elementoscircundantes.

Por lo tanto, una vez montada, la matriz A será no simétrica y sparse (no llena) por bloques; véase elsiguiente ejemplo:

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 31

Figura 2.3 . Ejemplo de malla de volúmenes finitos

el sistema de ecuaciones correspondiente a ese dominio será:⎡⎢⎢⎣¤ ¥ ¥ ¥¥ ¤ ¥ ¥¥ ¥ ¤ ¥¥ ¥ ¥ ¤

⎤⎥⎥⎦⎡⎢⎢⎣4Qn

1

4Qn2

4Qn3

4Qn4

⎤⎥⎥⎦ = b (2.24)

en donde cada ¥ o ¤ son bloques de 5x5 elementos (El símbolo ¤ indica matriz de ceros).Si dividimos las caras de cada elemento en dos grupos (I) o caras con normal hacia adentro y (O) o

caras con normal hacia afuera, es decir

Γcell = ΓI ∪ ΓO (2.25)

podemos entonces organizar el Jacobiano de la siguiente forma:

∂R

∂Q

n

=∂Rn

cell

∂Qcell

4Qncell +

XΓI

∂RnI

∂QI

4QnI +

XΓO

∂RnO

∂QO

4QnO (2.26)

sustituyendo, tenemos:"Ω

4tI +

∂Rncell

∂Qcell

#4Qn

cell +XΓI

∂RnI

∂QI

4QnI +

XΓO

∂RnO

∂QO

4QnO = −R(Qn

cell) (2.27)

Si se toma la expresión del residuo (flujo en una cara), sabiendo que éste se calcula como una funciónde QL y QR:

R(Qn)i =

Nt,iXj=1

∙³F · nS

´j

¸i

=

Nt,iXj=1

hF³QL, QR

´· nS

ij

(2.28)

y llamando en una cara del dominio

A+ =∂

∂QL

³F³QL,QR

´· n´

(2.29)

A− =∂

∂QR

³F³QL, QR

´· n´

32 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

Figura 2.4 . Definición de variables a izquierda y derecha de una cara.

Figura 2.5 . Volumen de control definido a partir de sus caras.

y teniendo en cuenta que

∂Rncell

∂Qcell

=XΓO

∂Rncell

∂QL

+XΓI

∂Rncell

∂QR

=XΓO

A+S −XΓI

A−S (2.30)

∂Rncell

∂QΓI

4QnΓI = −

∂³F · n

´∂QL

S4QnΓI = −A

+S4QΓI

∂Rncell

∂QΓO

4QnΓO = −

∂³F · n

´∂QR

S4QnΓO = A−S4QΓO

se obtiene finalmente la siguiente expresión para cada celda:

⎡⎢⎣ Ω4tI +

XΓO

A+S −XΓI

A−S

⎤⎥⎦4Qncell +

XΓO

A−S4QnΓO −

XΓI−ΓB

A+S4QnΓI = −R(Q

ncell) (2.31)

2.4.3. Condiciones de contorno.

Las condiciones de contorno aplicadas en la aplicaciones son de dos tipos:

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 33

Figura 2.6 . Condición de contorno de tangencia.

• De tangencia, para el contacto entre el flujo y las superfícies rígidas.• De flujo tipo Riemmann, en las condiciones de contorno que delimitan el espacio fluido.

Condición de contorno de tangencia.

El concepto de capa límite, sea Prandtl, quien en 1904 introdujo la idea que a grandes números deReynolds el decrecimiento de la velocidad hasta el valor cero en la pared, ocurre casi exclusivamente en unacapa delgada adjunta a la misma.

La corriente en la capa límite puede ser laminar o turbulenta y en ella el rápido decrecimiento de lavelocidad es debido a las fuerzas de viscosidad, que no pueden ser despreciadas aún cuando el número deReynolds tienda a infinito ( Re −→∞ ). Esto se traduce matemáticamente en el hecho de que los gradientesde velocidad en la dirección normal a la pared son muy grandes y para ser capturados haría falta una mallamuy fina anexa a la pared.

Sin embargo, se puede demostrar que la presión en la capa límite es constante, por lo que a efectosde cálculo de Cp podemos renunciar a modelar dicho gradiente, imponiendo simplemente una condición detangencia de la velocidad al contorno.

Para imponer esta condicón, se elimina la componente normal de la velocidad de la celda inmediatamenteinterior, manteniendo constante la entalpía de remanso. Es decir, se mantiene p y ρ y se sustituye v por vcc,siéndo esta última:

vcc =kvkkvtk

· vt (2.32)

Condición de contorno tipo Riemmann.

Este tipo de condición de contorno, basada en los invariantes de Riemmann, permite que las perturba-ciones atraviesen los contornos exteriores sin producir reflexiones hacia el interior del dominio. Para calcularlos invariantes de Riemmann, partimos de las ecuaciones de Euler monodimensionales:

∂ρ

∂t+

∂x(ρu) = 0 (2.33)

∂u

∂t+ u

∂u

∂x= −1

ρ

∂p

∂x

Suponiendo un flujo isentrópico y teniendo en cuenta la definición de la velocidad de propagación delsonido

34 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

c =

∙µ∂p

∂ρ

¶S

¸1/2(2.34)

se tiene:

∂ρ

∂t+ u

∂ρ

∂x+ ρ

∂u

∂x= 0 (2.35)

∂u

∂t+ u

∂u

∂x= −c

2

ρ

∂p

∂x

por otro lado, para gases perfectos:

ρ= α

dc

c(2.36)

con α = 2/ (γ − 1), por lo que podemos reescribir las ecuaciones 2.33 en la forma:

α∂c

∂t+ αu

∂c

∂x+ c

∂u

∂x= 0 (2.37)

∂u

∂t+ u

∂u

∂x+ αc

∂c

∂x= 0

Sumando y restando las ecuaciones anteriores, tenemos finalmente:

∙∂

∂t+ (u+ c)

∂x

¸(u+ αc) = 0 (2.38)∙

∂t+ (u− c)

∂x

¸(u− αc) = 0

lo que implica que a lo largo de las líneas características:

dx

dt= u± c (2.39)

permanecen constantes las invariantes de Riemmann:

R = u± αc (2.40)

La implementación de la condición de contorno tipo Riemmann se basa en intentar cumplir la condiciónde invariantes en la cara del contorno exterior.

Para el caso de salida de flujo, los invariantes de Riemmann para ondas de entrada y salida son:

R∞ = Vn∞ −2

γ − 1C∞ (2.41)

Re = Vne +2

γ − 1Ce

donde el subíndice 0n0 indica proyección en la dirección normal a la cara, 0∞0 condiciones de flujo librey 0e0, valores extrapolables siguiendo la línea característica desde el interior del dominio.

En la cara del contorno (b), se tiene que cumplir

Vnb = Vn∞ = Vne (2.42)

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 35

Figura 2.7 . Condición de contorno tipo Riemmann.

y la velocidad del sonido

cb = c∞ = ce (2.43)

por lo que sumando y restando en 2.41 tenemos las condiciones en la cara:

Vnb =1

2(Re +R∞) (2.44)

Cb =γ − 14

(Re −R∞)

Los valores de densidad, velocidad y presión pueden finalmente imponerse en el volúmen finito anexoal contorno exterior utilizando las expresiones 2.44 y a partir de los valores extrapolados, de la siguientemanera:

ρ =

∙ργec2bpeγ

¸ 1γ−1

(2.45)

v = ve + (vnb − vne) · n

p =ρc2

γ

Por otro lado, para el caso de entrada de flujo el proceso es idéntico sustituyendo los valores extrapolados0e0 por las condiciones de contorno de flujo libre 0∞0.

Tratamiento de las condiciones de contorno.

Para el tratamiento de las condiciones de contorno, se crean una serie de celdas exteriores virtuales,llamadas ghost cells, que rodean todo el dominio y contienen la condición de contorno. La cara exterior deuna celda en común con una ghost cell pertenece siempre al grupo (I), es decir, ΓB ⊂ ΓI .

Como el valor e la condición de contorno, depende únicamente del valor de Qcell en la primera celdaperteneciente al dominio, se escribe:

4QnΓB=

∂QΓB

∂Qcell

= JBC4Qncell (2.46)

y se introduce en el término diagonal, quedando finalmente:

36 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

⎡⎢⎣ Ω4tI +

XΓO

A+S −XΓI

A−S −XΓB

A+JBC

⎤⎥⎦4Qncell+

XΓO

A−S4QnΓO−X

ΓI−ΓB

A+S4QnΓI= −R(Qn

cell) (2.47)

simplificando un poco la expresión queda:

D4Qncell −

XΓI−ΓB

A+S4QnΓI+XΓO

A−S4QnΓO= −R(Qn

cell) (2.48)

en donde D es una matriz 5x5, y tiene la siguiente forma:

D =

⎡⎢⎣ Ω4tI +

XΓO

A+S −XΓI

A−S −XΓB

A+JBC

⎤⎥⎦ (2.49)

2.4.4. Esquema general de integración temporal en paralelo.

La integración temporal en paralelo se realiza siguiendo una serie de etapas que se resumen en el siguienteesquema:

2.4.5. Extrapolación de QL y QR a partir de Q y Qface

Para obtener los valores de QL y QR partiendo de los valores que toman las variables Q y Qface se puede:

Si el orden de aproximación espacial 1: en este caso se tiene:

QL = Q0 (2.50)

QR = Q1

en donde QL, QR, Q0 y Q1 aparecen representadas en la

Si el orden de aproximación espacial es 2: se le denomina predictor corrector y consiste en primer lugar,en calcular los gradientes:

OQ = 1

Oe

ZΓe

QdS (2.51)

y a continuación se intercambian los gradientes de interfases, y se calcula:

QL = Q0 +OQcell,0 ·−−→drL (2.52)

QR = Q1 +OQcell,1 ·−−→drR

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 37

NO

minLCalcular el paso de tiempo: t=CFL·U +c∞ ∞

BCAplicar las condiciones de contorno: q

1 2 1face face 0 1

2 2

r r -rCalcular q de las ghost cells: q = q + qr r

L R faceExtrapolar q y q a partir de q y q

L RCalcular los flujos en las caras: F(Q ,Q )

,n

i L R j1

Calcular el residuo: R(Q ) = [F(Q ,Q )·nS]f iN

j=∑

1 2 n-1 nt=t ,t ,...,t ,t

n + n - n ncell cellResolver: ∆Q - S∆Q S∆Q =-R(Q )

I O

I B O

Γ ΓΓ −Γ Γ

+∑ ∑D A A

Intercambiar Q con otros procesos∆

L RCalcular los flujos en las caras: F(Q ,Q )

,n

i L R j1

Calcular el residuo: R(Q ) = [F(Q ,Q )·nS]f iN

j=∑

n

2R (Q) <ε

L R faceExtrapolar q y q a partir de q y q

1 2 1face face 0 1

2 2

r r -rCalcular q de las ghost cells: q = q + qr r

FIN

SI

Figura 2.8 . Esquema general de integración temporal en paralelo.

38 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

Figura 2.9 . Extrapolación de QL y QR a partir de Q y Qface

2.4.6. Descomposición de dominios.

Históricamente, la paralelización de métodos numéricos ha empleado dos esquemas principales: la de-scomposición funcional y la descomposición de dominios.

La descomposición funcional consiste en dividir un problema en tareas y posteriormente ejectutar dichastareas en distintos procesos; se trata por tanto de una paralelización de tareas u operaciones. La descom-posición de dominios, en cambio, consiste en dividir los datos en distintos procesos y realizar las operacionessobre estos datos en paralalelo.

Esta segunda visión es la seguida en este proyecto, si bien es importante comentar que las operacionesque se hacen en los datos descompuestos no son totalmente independientes. Llega un momento en el procesode resolución en que ha de realizarse una transmisión de datos de un dominio a otro, con la misión decosiderar la interacción que un sistema (o subdominio) ejerce sobre otro a través de su interfase.

Para explicar cómo se lleva a cabo esta descomposición, se pondrá por ejemplo un dominio como el dela figura 2.10, dividido en dos partes, conocidos como proceso A y proceso B.

La aplicación de la ecuación 2.48 elemento a elemento en el dominio Ω, supuesta conocida la solución enel instante 0n0; nos permite calcular el instante n+ 1 mediante la expresión:

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

D1 A+12 A−13A−21 D2 A−24A+31 D3 A−34 A35

A+42 A+43 D4 A−46A+53 D5 A−56 A−57

A+46 A+65 D6 A−68A75 D7 A78

A+86 A+87 D8

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

4Qn1

4Qn2

4Qn3

4Qn4

4Qn5

4Qn6

4Qn7

4Qn8

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

Rn1

Rn2

Rn3

Rn4

Rn5

Rn6

Rn7

Rn8

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦(2.53)

Donde cada bloque es una matriz 5x5. La descomposición del dominio Ω en dos subdominios Ω = Ω1∩Ω2se hace duplicando los volúmenes de la interfase en los procesos que la comparten, como aparece en la figura2.10.

Aplicando el mismo esquema 2.48 para ambos subdominios, obtenemos para el proceso A:

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 39

16

6

11

5

15

8

13

14

12

7

17

4

10

3

18

2

20

19

9

1

6i

5i

17

4

10

3

18

2

20

19

9

1

Dominio Ω

16

6

11

5

15

8

13

14

12

7

4i

3i

1Subdominio Ω 2Subdominio Ω

Figura 2.10 . Descomposición del dominio en dos procesos (A y B) para la resolución en paralelo.

40 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

⎡⎢⎢⎢⎢⎢⎢⎣

D1 A+12 A−13A−21 D2 A−24A+31 D3 A−34 A35

A+42 A+43 D4 A−46A+53 D∗5 A∗56

A+46 A∗65 D∗6

⎤⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎢⎣

4Qn1

4Qn2

4Qn3

4Qn4

4Qn5i

4Qn6i

⎤⎥⎥⎥⎥⎥⎥⎥⎦=

⎡⎢⎢⎢⎢⎢⎢⎢⎣

Rn1

Rn2

Rn3

Rn4

R∗5R∗6

⎤⎥⎥⎥⎥⎥⎥⎥⎦(2.54)

donde la letra 0i0 indica celda de interfase o réplica de celda externa, ∗ que es un término no calculablepor este proceso. Esquematizando el sistema de ecuaciones nos queda:⎡⎣ AA

20x20 MA20x10

⎤⎦∙ XA20x1

Y A10x1

¸=

∙bA20x1

¸(2.55)

y el sitema de ecuaciones a resover sería:

AA ·XA = bA −MA · yA (2.56)

De la misma manera para el proceso B se tiene:

⎡⎢⎢⎢⎢⎢⎢⎣

D∗3 A∗34 A35A∗43 D∗4 A−46A+53 D5 A−56 A−57

A+46 A+65 D6 A−68A75 D7 A78

A+86 A+87 D8

⎤⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎢⎣

4Qn3i

4Qn4i

4Qn5

4Qn6

4Qn7

4Qn8

⎤⎥⎥⎥⎥⎥⎥⎥⎦=

⎡⎢⎢⎢⎢⎢⎢⎢⎣

R∗3R∗4Rn5

Rn6

Rn7

Rn8

⎤⎥⎥⎥⎥⎥⎥⎥⎦(2.57)

que se esquematiza de la siguiente forma:⎡⎣MB20x10 AB

20x20

⎤⎦∙ Y B10x1

XB20x1

¸=

∙bB20x1

¸(2.58)

y el sitema de ecuaciones a resover sería:

AB ·XB = bB −BB · yB (2.59)

Como el subdominio ΩA y ΩB ha compartido la solución del paso de tiempo n-ésimo, se conocen losvalores de Qn

i para las celdas. En el dominio A se pueden calcular todos los valores, excepto los términosD∗5, D

∗6, A

∗56, A

∗65 y los residuos R

∗5 y R∗6; mientras que en el dominio B se desconocen D∗3, D

∗4, A

∗34, A

∗43 y

los residuos R∗3 y R∗4.

2.4.7. Métodos de resolución.

Para resolver los sistemas de ecuaciones anteriores podemos emplear uno de los siguientes métodos deresolución:

Nivel 1: consiste en considerar yA e yB igual a cero en ambos sistemas. Por lo tanto, se resuelve enambos procesos el sistema: A · X = b. Como los procesos comparten la solución Qn

i para cada pasode tiempo, es de esperar que se produzca iterando en el tiempo la convergencia al estado estacionario.Este esquema no requiere intercomunicación, pero únicamente será válida la solución estacionaria.

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 41

Nivel 2: consiste en aproximar D∗5, D∗6 por D3, D4 y R∗5 y R∗6 por R3 y R4en el proceso A y D∗3, D

∗4

por D5, D6 y R∗3 y R∗4 por R5 y R6 en el proceso B; a continuación se resuelve el sistema:∙

D3

D4

¸ £Y A10x1

¤=

"R3R4

#(2.60)

para el proceso A y

∙D5

D6

¸ £Y B10x1

¤=

"R5R6

#(2.61)

en el B. Una vez obtenidas yA e yB se resuelven los sistemas de ecuaciones 2.56 y 2.59 para los procesosA y B respectivamente.

Nivel 3: se comunican explícitamente los bloques diagonales y los resíduos, es decir: D3, D4, R3 y R4del proceso A al B y en sentido contrario D5, D6, R5 y R6 del sistema B al A. Los términos A∗56 y A

∗65

del proceso A y A∗34 y A∗43 del proceso B no se comunican. Una vez comunicados los términos diagonales

y los resíduos, se calculan yA e yB igual que en el apartado anterior. Y por último se resuelven lossistemas de ecuaciones 2.56 y 2.59 para cada uno de los procesos.

Nivel 4: en este método se comunican las incógnitas yA e yB. Este esquema resuelve el sistema deforma exacta, pero incrementa el número de comunicaciones. El sistema de ecuaciones se resuelveiterativamente segun los siguientes pasos:

1. Se parte de ceros en las variables no locales a los procesos A y B, yA0 = 0 e yB0 = 0, respectivamente

2. Se resuelven los sistemas 2.56 y 2.59, y se obtiene una nueva solución del problema, yAi e yBi .

3. Se intercambian yAi e yBi entre ambos procesos.

4. Se resuelven nuevamente los sistemas 2.56 y 2.59 con el valor obtenido en (3) de las variables nolocales yAi e y

Bi , y se obtiene y

Ai+1 e y

Bi+1.

5. Se calculan:

yAi+1 − .yAi = 4yA

yBi+1 − yBi = 4yB

6. Si4yA+4yB > Tolint se vuelve a (3), en caso contrario se ha obtenido la solución de los sistemasde ecuaciones.

2.4.8. Evaluación del tiempo de transmisión.

La resolución de un problema CFD conlleva la realización de miles de iteraciones temporales y en cadaiteración ocurrirá un proceso de transmisión de datos en la interfase entre subdominios. Se comprueba quepor pequeño que sea el tiempo de transmisión de datos, al ser multiplicado por el número de iteraciones,se convierte en una parte muy importante del tiempo total de resolución, incluso a veces comparable conel tiempo de cálculo. Resulta pues, necesario actuar sobre dicho tiempo de transmisión por iteración, dis-minuyéndolo en la medida de lo posible. El tiempo total de transmisión de los datos a través de la red paracada iteración temporal Tt puede aproximarse por la siguiente expresión:

Tcomunicacion = Tlatencia + Ttransmision (2.62)

donde Tlatencia es el tiempo total de latencia y Ttransmision es el tiempo de transmisión de los datos.

42 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

LAN

MASTERDID31

Pentium IV2.6 GHz

1 Gbyte RAM

DID32Pentium IV

2.6 GHz1 Gbyte RAM

DID33Pentium IV

2.6 GHz1 Gbyte RAM

DID34Pentium IV

2.6 GHz1 Gbyte RAM

DID35Pentium IV

2.6 GHz1 Gbyte RAM

DID36Pentium IV

2.6 GHz1 Gbyte RAM

3COM SWITCH1 Gbit /s

Figura 2.11 . Esquema representativo del cluster empleado para los cálculos.

El tiempo de latencia tlatencia es el tiempo transcurrido desde la petición de realización de una comu-nicación hasta que dicha comunicación comienza. Este tiempo dependerá tanto de la arquitectura sobre laque nos encontramos como de la capa de software encargada de tramitar la transmisión y podemos consid-erarlo aproximadamente constante. De esta manera, el tiempo total de latencia en una descomposición desubdominios puede calcularse como:

Tlatencia 'NpXj=1

·Ni,j · tlatencia (2.63)

donde Np es el número de procesos y Ni,j es el número de interfases con otros subdominios que posee elproceso j.

Por otro lado, el tiempo de transmisión:

Ttransmision 'Ldatos(bytes)

Vtransmision(Gbs)(2.64)

donde Ldatos es la cantidad de datos a transmitir y Vtransmision es el ancho de banda o velocidad de trans-misión de datos. Una complicación adicional subyace del hecho de que la velocidad de transmisión dependede la cantidad de datos a enviar, tal y como se recoge en la gráfica de la Figura 2.12.

A la vista de la ecuación (2.62), las posibles opciones que podemos adoptar, a la hora de subdividir eldominio, con la intención de disminuir el tiempo de transmisión total son:

Minimización del tamaño de la interfase: Consiste en actuar sobre la cantidad de datos que han detransmitirse Ldatos, que serán directamente proporcionales al tamaño de las superficies de interfase(más concretamente al número de elementos que conforman la interfase). De esta manera actuamosdirectamente sobre el tiempo de comunicación Tcomunicacion.

2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 43

0 20000 40000 60000 80000 1000000.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Gbs MPPtestBa

ndw

idth

(Gbs

)

Message size (bytes)

Figura 2.12 . Velocidad media de transmisión de la red utilizada. Se representa el ancho de banda en Gbits/s frente al tamañodel mensaje enviado en bytes. Resultados obtenidos con el MMtest del MPI.

Minimización del número de interfases: Supuesto constante el número de partes en los que se va a dividirel dominio, existen muchas formas de particionarlo. Un criterio puede ser el minimizar el número devecinos que va a poseer cada subdominio Ni,j . Esta minimización puede conseguirse, por ejemplo,disminuyendo el ancho de banda de la matriz de conectividades, existiendo distintos algoritmos paraconseguirlo.

En redes muy lentas, como por ejemplo redes de área local tipo Ethernet no dedicadas, el segundotérmino de la ecuación (2.62) resulta preponderante frente al tiempo de latencia. Por esta razón, resulta másapropiado en este tipo de redes acudir a un esquema de división del dominio orientado a la disminución deltamaño de la interfase.

En redes rápidas, como por ejemplo la red de 1Gbs que posee el cluster sobre el que se han realizadolos experimentos (??), resulta más importante el tiempo de latencia que el de transmisión. Ello nos lleva aadoptar un esquema de división badado en la minimización del número de interfases. El algoritmo utilizadopara minimizar el ancho de banda de la matriz de conectividad de caras es el propuesto por Gibbs, Poole yStockmeyer.

44 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

Figura 2.13 . Cluster bajo Windows-XP utilizado para los cálculos.