Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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)
En lo que se refiere al esquema de comunicaciones, este será de nivel IV, como se verá en el apartado
2.4.7.
23
24 Capítulo 2. El Método de los Volúmenes Finitos (MVF).
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.
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.
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.
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
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 Ω
Γ Γ
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:
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
n
Ω ∂R
A = I+ (2.21)
4t ∂Q
x = 4Qn
b = −R(Qn+1 )
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
Γ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
∂ ³ ³ ´ ´
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).
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
⎡ ⎤
⎢Ω 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
kvk
vcc = · vt (2.32)
kvt k
∂ρ ∂
+ (ρ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
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
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 .
∂ 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
QL = Q0 (2.50)
QR = Q1
Z
1
OQ = QdS (2.51)
Oe Γe
−−→
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
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
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
AA · X A = bA − M A · y A (2.56)
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∗ .
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 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.
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
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.6
Bandwidth (Gbs)
0.5
0.4
0.3
0.2
0.1
0.0
0 20000 40000 60000 80000 100000
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).