Sei sulla pagina 1di 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 flujos: tipo de problema, aproximaciones, discretización espacial, de las ecuaciones, temporal, esquema
de integración, etcétera. La resolución del problema de flujos 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
fluido-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 de
las 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 apartado
2.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é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 finitos, 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 definan la
malla; como es obvio, para tamaño los elementos pequeños se obtienen resultados mejores que con elementos
grandes.

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
Constante que multiplica a las
Scalef reestream 1
componentes iniciales de la velocidad

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 los
elementos sean mucho menores que en el resto del dominio. Estas zonas suelen coincidir con los vórtices de
la zona de turbulencias y sus proximidades. En la zona de turbulencias, el tamaño de los elementos ha de
ser 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 del
problema, 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 introducirla
en el MVF; se pasa de una malla definida por elementos volumétricos, a una dada por todas sus caras. El
archivo 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 necesaria
para 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ón
del problema. Ver cuadro 2.2.

Factores de convergencia: incluye todo lo relacionado con el problema iterativo de resolución. Ver
cuadro 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.)


100 − 1000, modelos implícitos
Nits Máximo número de iteraciones
1000 − 5000, modelos explícitos
Maxmin Máximo número de minutos De 5 a 10 minutos
Se detendrá cuando el residuo
Residuorel De 1,0 · 10−4 a 1,0 · 10−16
relativo sea menor que este valor
Se detendrá cuando el residuo
Residuoabs 1,0 · 10−16
absoluto sea menor que este valor
Número máximo de iteraciones para
Itsint 100
cumplir el problema interno
El problema interno converge
Tolint kAx−bk 0,1
cuando kbk ≤ T olint

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

Parámetro Descripción Valores (SI)


·Si CF Lconst > 0,0, CF Lse calcula:
CF L = CF Lconst + CF Lslope · log10 (R0 /Rn )
CFLconst 10 − 1021
·Si CF Lconst < 0,0, éste es el paso de tiempo,
y CF Lslope se ignora
CFLslope Ver arriba 0,0; CF Lconst /4
Si su valor es 1, usa el paso de tiempo local
Steplocal 1
para mejorar la convergencia de un estado fijo
Estrategia de comunicación para la 0 I, II, III, IV 0
Schemecom
solución en paralelo del problema

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ámetros


0 Ninguna
1 Flujo libre
2 Flujo libre con valores impuestos ρ, u, v, w, p
3 Extrapolación de 1er orden desde el interior
4 Extrapolación de 2o o orden desde el interior
5 Tipo Riemman
6 Presión y temperatura impuesta po, To
7 Presión impuesta p
8 Tangencia
9 No deslizamiento adiabática
10 No deslizamiento con temperatura de pared impuesta Tpared
17 Velocidad u = 0 impuesta u
18 Velocidad u = 0 impuesta v
19 Velocidad u = 0 impuesta w
20 Capa límite terrestre de tipo Riemmann
21 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:
Z I ³ ´ I ³ ´

QdV + F · n dS − F · n dS = 0 (2.1)
∂t Ω
Γ Γ

en donde Q es el vector de variables de flujo,


⎡ ⎤
ρ
⎢ ρu ⎥
⎢ ⎥
Q=⎢
⎢ ρv ⎥
⎥ (2.2)
⎣ ρw ⎦
ρeo

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

F = Fx i + Fy j + Fz k (2.3)

en donde
1
Como se ha visto, en las estelas turbulentas, existen vórtices de muy diferentes escalas. La energía turbulenta se genera en
los 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

⎡ ⎤
ρu
⎢ ρu2 + p ⎥
⎢ ⎥
Fx = ⎢
⎢ ρuv ⎥ ⎥
⎣ ρuw ⎦
ρuho
⎡ ⎤
ρv
⎢ ρuv ⎥
⎢ ⎥
Fy = ⎢
⎢ ρv 2 + p ⎥
⎥ (2.4)
⎣ ρvw ⎦
ρvho
⎡ ⎤
ρu
⎢ ρuw ⎥
⎢ ⎥
Fz = ⎢
⎢ ρvw ⎥ ⎥
⎣ ρw2 + p ⎦
ρwho

y Fv es el vector de flujos viscosos.

Fv = Fv,x i + Fv,y j + Fv,z k (2.5)

en donde

⎡ ⎤
0
⎢ τ xx ⎥
⎢ ⎥
Fx = ⎢
⎢ τ xy ⎥

⎣ τ xz ⎦
(uτ xx + vτ xy + wτ xz ) − qx
⎡ ⎤
0
⎢ τ yx ⎥
⎢ ⎥
Fy = ⎢
⎢ τ yy ⎥
⎥ (2.6)
⎣ τ yz ⎦
(uτ yx + vτ yy + wτ yz ) − qy
⎡ ⎤
0
⎢ τ zx ⎥
⎢ ⎥
Fz = ⎢
⎢ τ zy ⎥

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

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

∂u 2µ
τ xx = 2µ − O·v (2.7)
∂x µ3 ¶
∂u ∂v
τ xy = τ yx = µ +
∂y ∂x
µ ¶
∂u ∂w
τ xz = τ zx = µ +
∂z ∂x
∂v 2µ
τ yy = 2µ − O·v
∂y 3
µ ¶
∂v ∂w
τ yz = τ zy = µ +
∂z ∂y
∂w 2µ
τ zz = 2µ − O·v
∂z 3
∂T
qx = −k
∂x
∂T
qy = −k
∂y
∂T
qz = −k
∂z
además ρ es la densidad del fluido, v = (u, v, w)T son las componentes cartesianas de la velocidad, p la
presión, eo la energía total, τ ij es el tensor de esfuerzos viscosos que es función de los gradientes de velocidad
y µ es la viscosidad molecular que es función de la temperatura a través de la función de Sutherland:

T 3/2
µ = C1 (2.8)
T + C2
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 el
flujo de calor por conducción y k el coeficiente de conductividad térmica, que también puede escribirse:

µ ∂a2
qi = − (2.9)
Pr(γ − 1) ∂x2i
en donde
√ Cp µ
a= γRT Pr = k
(2.10)
Teniendo en cuenta que la entalpía total, ho , está relacionada con la energía interna total, eo , por la
relación:
p
ho = eo + ρ e = Cv T h = Cp T (2.11)
donde

eo = e + 12 v · v ho = h + 12 v · v (2.12)
nos queda un sistema de cinco ecuaciones con seis incógnitas. Por lo tanto, es necesaria una ecuación
adicional para cerrar el problema que es la ecuación de estado, que para gases idelaes se expresa:
µ ¶
1
P = ρRT = (γ − 1) ρe = (γ − 1) ρ eo − v · v (2.13)
2

¡ ¢ γ = Cp /Cv es la relación de valores específicos que para el aire toma el valor γ = 1,4 y R = 287
donde
m2 / s2 k .
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 para
un volúmen de control Ω y superficie exterior Γ se expresan de la siguiente manera:
Z I ³ ´ I ³ ´

QdV + F · n dS − F · n dS = 0 (2.14)
∂t Ω
Γ Γ

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


centro de dicho volumen, nos queda:
Nf,i ∙³ ´¸
d X
Ωi Qi + F · nS = 0, ∀i = 1, ..., Nc (2.15)
dt j i
j=1

en donde Nc es el número de volúmenes finitos (celdas) y Nf,i el número de caras del volumen de control
0 i0 (caras)
La ecuación anterior puede reescribirse:

dQ
Ω + R(Q) = 0 (2.16)
dt
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.

1 1
4Qn = − 4tR(Qn ) = − 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 un
desarrollo en series de Taylor:

n
∂R
R n+1 n
=R + 4Qn + O (4Qn )2 (2.19)
∂Q
y se resuelve el sistema de ecuaciones siguiente:
" n#
Ω ∂R
I+ 4Qn = −R(Qn+1 ) (2.20)
4t ∂Q

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

n
Ω ∂R
A = I+ (2.21)
4t ∂Q
x = 4Qn
b = −R(Qn+1 )

hasta que se cumpla la siguiente condición:

kAx − bk2
< innerT ol (2.22)
kbk2

Detalles de implementación.
En el cálculo del vector residuo,
Nf,i ∙³ ´¸
X
n
R(Q )i = F · nS (2.23)
j i
j=1

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 se
puede observar en la figura 2.2, ∂ R/∂ Q sólo tiene términos en Qi , Qk , Ql y el resto de los Q de elementos
circundantes.
Por lo tanto, una vez montada, la matriz A será no simétrica y sparse (no llena) por bloques; véase el
siguiente 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á:


⎡ ⎤⎡ ⎤
¤ ¥ ¥ ¥ 4Qn1
⎢ ¥ ¤ ¥ ¥ ⎥ ⎢ n ⎥
⎢ ⎥ ⎢ 4Q2 ⎥=b (2.24)
⎣ ¥ ¥ ¤ ¥ ⎦ ⎣ 4Qn3 ⎦
¥ ¥ ¥ ¤ 4Qn4
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:
n
∂R n
∂ Rcell X ∂ Rn X ∂ Rn
= 4Qncell + I
4QnI + O
4QnO (2.26)
∂Q ∂ Qcell ΓI ∂ QI ΓO ∂ QO
sustituyendo, tenemos:
" #
Ω n
∂ Rcell X ∂ Rn X ∂ Rn
I+ 4Qncell + I
4QnI + O
4QnO = −R(Qncell ) (2.27)
4t ∂ Qcell ∂ QI ∂ QO
ΓI ΓO

Si se toma la expresión del residuo (flujo en una cara), sabiendo que éste se calcula como una función
de QL y QR :
Nt,i ∙³ ´¸ Nt,i h ³ ´ i
X X
n
R(Q )i = F · nS = F QL , QR · nS (2.28)
j i j
j=1 j=1

y llamando en una cara del dominio

∂ ³ ³ ´ ´
A+ = F QL , QR · n (2.29)
∂ QL
∂ ³ ³ ´ ´
A− = F QL , QR · n
∂ QR
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

n
∂ Rcell X ∂ Rn X ∂ Rn X X
= cell
+ cell
= A+ S − A− S (2.30)
∂ Qcell ΓO ∂ QL ∂ QR
ΓI ΓO ΓI
³ ´
n
∂ Rcell ∂ F ·n
4QnΓI = − S4QnΓI = −A+ S4QΓI
∂ QΓI ∂ QL
³ ´
n
∂ Rcell ∂ F · n
4QnΓO = − S4QnΓO = A− S4QΓO
∂ QΓO ∂ QR

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

⎡ ⎤
⎢Ω X X ⎥ X X
⎣ I+ A+ S − A− S ⎦ 4Qncell + A− S4QnΓO − A+ S4QnΓI = −R(Qncell ) (2.31)
4t
ΓO ΓI ΓO ΓI −ΓB

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 de
Reynolds el decrecimiento de la velocidad hasta el valor cero en la pared, ocurre casi exclusivamente en una
capa 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 la
velocidad es debido a las fuerzas de viscosidad, que no pueden ser despreciadas aún cuando el número de
Reynolds tienda a infinito ( Re −→ ∞ ). Esto se traduce matemáticamente en el hecho de que los gradientes
de velocidad en la dirección normal a la pared son muy grandes y para ser capturados haría falta una malla
muy 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 efectos
de cálculo de Cp podemos renunciar a modelar dicho gradiente, imponiendo simplemente una condición de
tangencia de la velocidad al contorno.
Para imponer esta condicón, se elimina la componente normal de la velocidad de la celda inmediatamente
interior, manteniendo constante la entalpía de remanso. Es decir, se mantiene p y ρ y se sustituye v por vcc ,
siéndo esta última:

kvk
vcc = · vt (2.32)
kvt k

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 calcular
los invariantes de Riemmann, partimos de las ecuaciones de Euler monodimensionales:

∂ρ ∂
+ (ρu) = 0 (2.33)
∂t ∂x
∂u ∂u 1 ∂p
+u =−
∂t ∂x ρ ∂x
Suponiendo un flujo isentrópico y teniendo en cuenta la definición de la velocidad de propagación del
sonido
34 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

∙µ ¶ ¸1/2
∂p
c= (2.34)
∂ρ S
se tiene:

∂ρ ∂ρ ∂u
+u +ρ =0 (2.35)
∂t ∂x ∂x
∂u ∂u c2 ∂p
+u =−
∂t ∂x ρ ∂x
por otro lado, para gases perfectos:

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

∂c ∂c ∂u
α + αu +c =0 (2.37)
∂t ∂x ∂x
∂u ∂u ∂c
+u + αc =0
∂t ∂x ∂x
Sumando y restando las ecuaciones anteriores, tenemos finalmente:

∙ ¸
∂ ∂
+ (u + c) (u + αc) = 0 (2.38)
∂t ∂x
∙ ¸
∂ ∂
+ (u − c) (u − αc) = 0
∂t ∂x

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

dx
=u±c (2.39)
dt
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ón
de 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:

2
R∞ = Vn∞ − C∞ (2.41)
γ−1
2
Re = Vne + Ce
γ−1

donde el subíndice 0 n0 indica proyección en la dirección normal a la cara, 0 ∞0 condiciones de flujo libre
y 0 e0 ,
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:

1
Vnb = (Re + R∞ ) (2.44)
2
γ−1
Cb = (Re − R∞ )
4
Los valores de densidad, velocidad y presión pueden finalmente imponerse en el volúmen finito anexo
al contorno exterior utilizando las expresiones 2.44 y a partir de los valores extrapolados, de la siguiente
manera:

∙ ¸ 1
ργe c2b γ−1
ρ= (2.45)
pe γ
v = ve + (vnb − vne ) · n
ρc2
p=
γ
Por otro lado, para el caso de entrada de flujo el proceso es idéntico sustituyendo los valores extrapolados
0 e0 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 de
una 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 celda
perteneciente al dominio, se escribe:

∂ QΓB
4QnΓB = = JBC 4Qncell (2.46)
∂ Qcell
y se introduce en el término diagonal, quedando finalmente:
36 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

⎡ ⎤
⎢Ω X X X ⎥ X X
⎣ I+ A+ S − A− S − A+ JBC ⎦ 4Qncell + A− S4QnΓO − A+ S4QnΓI = −R(Qncell ) (2.47)
4t
ΓO ΓI ΓB ΓO ΓI −ΓB

simplificando un poco la expresión queda:


X X
D4Qncell − A+ S4QnΓI + A− S4QnΓO = −R(Qncell ) (2.48)
ΓI −ΓB ΓO

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


⎡ ⎤
⎢Ω X X X ⎥
D=⎣ I+ A+ S − A− S − A+ JBC ⎦ (2.49)
4t
ΓO ΓI ΓB

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 siguiente
esquema:

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


Para obtener los valores de QL y QR partiendo de los valores que toman las variables Q y Qf ace 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:

Z
1
OQ = QdS (2.51)
Oe Γe

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

L min
Calcular el paso de tiempo: ∆t=CFL·
U ∞ +c ∞

G
Aplicar las condiciones de contorno: q BC

G r G r -r G
Calcular q face de las ghost cells: q face = 1 q 0 + 2 1 q1
r2 r2

G G G G
Extrapolar q L y q R a partir de q y q face

G G G
Calcular los flujos en las caras: F(Q L ,Q R )

G G N f ,i
G G G G
Calcular el residuo: R(Q n )i = ∑ [F(Q L ,Q R )·nS] j
j=1

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

Gn G G G Gn
Resolver: D∆Q cell - ∑
Γ I −Γ B
A +S∆Q Γn I + ∑ A -S∆Q Γn O =-R(Qcell
ΓO
)

G
Intercambiar ∆Q con otros procesos

G r G r -r G
Calcular q face de las ghost cells: q face = 1 q 0 + 2 1 q1
r2 r2

NO
G G G G
Extrapolar q L y q R a partir de q y q face

G G G
Calcular los flujos en las caras: F(Q L ,Q R )

G G N f ,i
G G G G
Calcular el residuo: R(Q n )i = ∑ [F(Q L ,Q R )·nS] j
j=1

G G
R n (Q) <ε
2

SI

FIN

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 Qf ace

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 dichas
tareas 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 operaciones
sobre estos datos en paralalelo.
Esta segunda visión es la seguida en este proyecto, si bien es importante comentar que las operaciones
que se hacen en los datos descompuestos no son totalmente independientes. Llega un momento en el proceso
de resolución en que ha de realizarse una transmisión de datos de un dominio a otro, con la misión de
cosiderar 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 de
la 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 en
el instante 0 n0 ; nos permite calcular el instante n + 1 mediante la expresión:
⎡ ⎤ ⎡ ⎤
⎡ ⎤ 4Qn1 R1n
D1 Ā+ −
12 Ā13 ⎢ ⎥ ⎢ ⎥
⎢ −
Ā21 D2 Ā− ⎥⎢ 4Qn2 ⎥ ⎢ R2n ⎥
⎢ 24 ⎥⎢ ⎥ ⎢ ⎥
⎢ Ā+ D 3 Ā−
34 Ā35
⎥⎢ 4Qn3 ⎥ ⎢ R3n ⎥
⎢ 31 ⎥⎢ ⎥ ⎢ ⎥
⎢ + +
Ā42 Ā43 D4 Ā− ⎥⎢ 4Qn4 ⎥ ⎢ R4n ⎥
⎢ 46 ⎥⎢ ⎥=⎢ ⎥ (2.53)
⎢ +
Ā53 D5 Ā− − ⎥⎢ 4Qn5 ⎥ ⎢ R5n ⎥
⎢ 56 Ā57 ⎥⎢ ⎥ ⎢ ⎥
⎢ Ā+ +
Ā− ⎥⎢ ⎥ ⎢ ⎥
⎢ 46 Ā65 D6 68 ⎥⎢ 4Qn6 ⎥ ⎢ R6n ⎥
⎣ Ā75 D7 Ā78 ⎦⎢ ⎥ ⎢ ⎥
⎣ 4Qn7 ⎦ ⎣ R7n ⎦
Ā+ +
86 Ā87 D8 4Qn8 R8n

Donde cada bloque es una matriz 5x5. La descomposición del dominio Ω en dos subdominios Ω = Ω1 ∩Ω2
se hace duplicando los volúmenes de la interfase en los procesos que la comparten, como aparece en la figura
2.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

9 10 11 12

20 1 3 5 7 13

19 2 4 6 8 14

18 17 16 15

Dominio Ω

9 10 11 12

20 1 3 5i 3i 5 7 13

19 2 4 6i 4i 6 8 14

18 17 16 15

Subdominio Ω1 Subdominio Ω 2

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 Ā+ −
12 Ā13
4Qn1 R1n
⎢ Ā− D2 Ā− ⎥⎢ 4Qn2 ⎥ ⎢ R2n ⎥
⎢ 21 24 ⎥⎢ ⎥ ⎢ ⎥
⎢ +
Ā31 D3 Ā− ⎥⎢ 4Qn3
⎥ ⎢
R3n

⎢ 34 Ā35 ⎥⎢ ⎥ ⎢ ⎥
⎢ + +
Ā− ⎥⎢ 4Qn4
⎥=⎢
R4n
⎥ (2.54)
⎢ Ā42 Ā43 D4 46 ⎥⎢ ⎥ ⎢ ⎥
⎣ +
Ā53 D5 Ā∗56
∗ ⎦⎢
⎣ 4Qn5i
⎥ ⎢
⎦ ⎣ R5∗


Ā+ ∗
46 Ā65 D6

4Qn6i R6∗
donde la letra 0 i0 indica celda de interfase o réplica de celda externa, ∗ que es un término no calculable
por este proceso. Esquematizando el sistema de ecuaciones nos queda:
⎡ ⎤
AA A
20x20 M20x10
∙ A
¸ ∙ ¸
⎣ ⎦ X20x1 bA
20x1
A = (2.55)
Y10x1

y el sitema de ecuaciones a resover sería:

AA · X A = bA − M A · y A (2.56)

De la misma manera para el proceso B se tiene:


⎡ ⎤⎡ ⎤ ⎡ ⎤
D3∗ Ā∗34 Ā35 4Qn3i R3∗
⎢ Ā∗43 D4∗ Ā− ⎥⎢ 4Qn4i ⎥ ⎢ R4∗ ⎥
⎢ 46 ⎥⎢ ⎥ ⎢ ⎥
⎢ +
Ā53 D5 Ā− − ⎥⎢ 4Qn5
⎥ ⎢
R5n

⎢ 56 Ā57 ⎥⎢ ⎥ ⎢ ⎥
⎢ Ā+ +
Ā− ⎥⎢ 4Qn6
⎥=⎢
R6n
⎥ (2.57)
⎢ 46 Ā65 D6 68 ⎥⎢ ⎥ ⎢ ⎥
⎣ Ā75 D7 Ā78 ⎦⎢
⎣ 4Qn7
⎥ ⎢
⎦ ⎣ R7n


Ā+ +
86 Ā87 D8 4Qn8 R8n
que se esquematiza de la siguiente forma:
⎡ ⎤
∙ B
¸ ∙ ¸
⎣ ⎦ Y10x1 bB
20x1
B = (2.58)
B X20x1
M20x10 AB
20x20

y el sitema de ecuaciones a resover sería:

AB · X B = bB − B B · y B (2.59)

Como el subdominio ΩA y ΩB ha compartido la solución del paso de tiempo n-ésimo, se conocen los
valores de Qni para las celdas. En el dominio A se pueden calcular todos los valores, excepto los términos
D5∗ , D6∗ , Ā∗56 , Ā∗65 y los residuos R5∗ y R6∗ ; mientras que en el dominio B se desconocen D3∗ , D4∗ , Ā∗34 , Ā∗43 y
los residuos R3∗ y R4∗ .

2.4.7. Métodos de resolución.


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

Nivel 1: consiste en considerar ȳA e ȳ B igual a cero en ambos sistemas. Por lo tanto, se resuelve en
ambos procesos el sistema: A · X = b. Como los procesos comparten la solución Qni para cada paso
de 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 D5∗ , D6∗ por D3 , D4 y R5∗ y R6∗ por R3 y R4 en el proceso A y D3∗ , D4∗
por D5 , D6 y R3∗ y R4∗ por R5 y R6 en el proceso B; a continuación se resuelve el sistema:
∙ ¸ " #
D3 £ A ¤ R3
Y10x1 = (2.60)
D4 R4

para el proceso A y

∙ ¸ " #
D5 £ B ¤ R5
Y10x1 = (2.61)
D6 R6

en el B. Una vez obtenidas ȳ A e ȳ B se resuelven los sistemas de ecuaciones 2.56 y 2.59 para los procesos
A y B respectivamente.

Nivel 3: se comunican explícitamente los bloques diagonales y los resíduos, es decir: D3 , D4 , R3 y R4


del proceso A al B y en sentido contrario D5 , D6 , R5 y R6 del sistema B al A. Los términos Ā∗56 y Ā∗65
del proceso A y Ā∗34 y Ā∗43 del proceso B no se comunican. Una vez comunicados los términos diagonales
y los resíduos, se calculan ȳ A e ȳB igual que en el apartado anterior. Y por último se resuelven los
sistemas de ecuaciones 2.56 y 2.59 para cada uno de los procesos.

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

1. Se parte de ceros en las variables no locales a los procesos A y B, ȳ0A = 0 e ȳ0B = 0, respectivamente
2. Se resuelven los sistemas 2.56 y 2.59, y se obtiene una nueva solución del problema, ȳiA e ȳiB .
3. Se intercambian ȳiA e ȳiB entre ambos procesos.
4. Se resuelven nuevamente los sistemas 2.56 y 2.59 con el valor obtenido en (3) de las variables no
locales ȳiA e ȳiB , y se obtiene ȳi+1
A e ȳ B .
i+1
5. Se calculan:
A
ȳi+1 − .ȳiA = 4ȳA
B
ȳi+1 − ȳiB = 4ȳB

6. Si 4ȳ A +4ȳ B > T olint se vuelve a (3), en caso contrario se ha obtenido la solución de los sistemas
de 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 cada
iteración ocurrirá un proceso de transmisión de datos en la interfase entre subdominios. Se comprueba que
por 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 con
el 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 para
cada iteración temporal Tt puede aproximarse por la siguiente expresión:

Tcomunicación = Tlatencia + Ttransmisión (2.62)

donde Tlatencia es el tiempo total de latencia y Ttransmisión es el tiempo de transmisión de los datos.
42 Capítulo 2. El Método de los Volúmenes Finitos (MVF).

3COM SWITCH
1 Gbit /s

MASTER DID32 DID33 DID34 DID35 DID36


DID31 Pentium IV Pentium IV Pentium IV Pentium IV Pentium IV
Pentium IV 2.6 GHz 2.6 GHz 2.6 GHz 2.6 GHz 2.6 GHz
2.6 GHz 1 Gbyte RAM 1 Gbyte RAM 1 Gbyte RAM 1 Gbyte RAM 1 Gbyte RAM
1 Gbyte RAM

LAN

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 la
que 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 de
subdominios puede calcularse como:
Np
X
Tlatencia ' ·Ni,j · tlatencia (2.63)
j=1

donde Np es el número de procesos y Ni,j es el número de interfases con otros subdominios que posee el
proceso j.
Por otro lado, el tiempo de transmisión:
Ldatos (bytes)
Ttransmisión ' (2.64)
Vtransmisión (Gbs)
donde Ldatos es la cantidad de datos a transmitir y Vtransmisión 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 depende
de 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 el
dominio, 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 de
transmitirse 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 actuamos
directamente sobre el tiempo de comunicación Tcomunicación .
2.4. Solución en Paralelo de las Ecuaciones de Navier-Stokes. 43

0.8

0.7 Gbs MPPtest

0.6
Bandwidth (Gbs)

0.5

0.4

0.3

0.2

0.1

0.0
0 20000 40000 60000 80000 100000

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ño
del 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 dividir
el dominio, existen muchas formas de particionarlo. Un criterio puede ser el minimizar el número de
vecinos 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 para
conseguirlo.

En redes muy lentas, como por ejemplo redes de área local tipo Ethernet no dedicadas, el segundo
término de la ecuación (2.62) resulta preponderante frente al tiempo de latencia. Por esta razón, resulta más
apropiado en este tipo de redes acudir a un esquema de división del dominio orientado a la disminución del
tamaño de la interfase.
En redes rápidas, como por ejemplo la red de 1Gbs que posee el cluster sobre el que se han realizado
los experimentos (??), resulta más importante el tiempo de latencia que el de transmisión. Ello nos lleva a
adoptar un esquema de división badado en la minimización del número de interfases. El algoritmo utilizado
para minimizar el ancho de banda de la matriz de conectividad de caras es el propuesto por Gibbs, Poole y
Stockmeyer.
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.

Potrebbero piacerti anche