64
Soluci´on del problema de convecci´on utilizando volumen finito y algoritmos paralelos Luis Miguel de la Cruz Salas DGSCA–UNAM 2 de junio de 2009 ´ Indice 1.Convecci´on 2 1.1. Ecuaci´on general de transporte ....................... 2 1.2. Convecci´onnatural .............................. 3 1.3. Ecuaciones adimensionales .......................... 4 1.4. Convecci´on natural turbulenta ........................ 5 1.5. Funci´on de estructura selectiva ....................... 8 2. M´ etodo num´ erico 9 2.1. etodo de residuos pesados ......................... 9 2.2. etodo de volumen finito .......................... 10 2.3. Propiedades .................................. 10 2.4. Difusi´on .................................... 12 2.4.1. Difusi´on estacionaria en 1D ..................... 12 2.4.2. Difusi´on estacionaria en 2D y 3D .................. 16 2.5. Linealizaci´on del t´ ermino fuente ....................... 18 2.6. Condiciones de frontera ............................ 20 2.7. Consideraciones geom´ etricas ......................... 21 3.MVF:Advecci´on–Difusi´on 22 3.1. Aproximaci´on de los t´ erminos difusivos ................... 24 3.2. Aproximaci´on de los t´ erminos advectivos .................. 25 3.2.1. Upwind ................................ 25 3.2.2. Diferencias centrales (CDS) ..................... 26 3.2.3. QUICK ................................ 27

Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

Solucion del problema de conveccion utilizando

volumen finito y algoritmos paralelos

Luis Miguel de la Cruz SalasDGSCA–UNAM

2 de junio de 2009

Indice

1. Conveccion 2

1.1. Ecuacion general de transporte . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Conveccion natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Ecuaciones adimensionales . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4. Conveccion natural turbulenta . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5. Funcion de estructura selectiva . . . . . . . . . . . . . . . . . . . . . . . 8

2. Metodo numerico 9

2.1. Metodo de residuos pesados . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2. Metodo de volumen finito . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4. Difusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4.1. Difusion estacionaria en 1D . . . . . . . . . . . . . . . . . . . . . 12

2.4.2. Difusion estacionaria en 2D y 3D . . . . . . . . . . . . . . . . . . 16

2.5. Linealizacion del termino fuente . . . . . . . . . . . . . . . . . . . . . . . 18

2.6. Condiciones de frontera . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.7. Consideraciones geometricas . . . . . . . . . . . . . . . . . . . . . . . . . 21

3. MVF : Adveccion–Difusion 22

3.1. Aproximacion de los terminos difusivos . . . . . . . . . . . . . . . . . . . 24

3.2. Aproximacion de los terminos advectivos . . . . . . . . . . . . . . . . . . 25

3.2.1. Upwind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.2. Diferencias centrales (CDS) . . . . . . . . . . . . . . . . . . . . . 26

3.2.3. QUICK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Page 2: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

INDICE 1

4. Acoplamiento presion-velocidad 284.1. Mallas desplazadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2. Ecuacion de correccion a la presion . . . . . . . . . . . . . . . . . . . . . 304.3. SIMPLEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5. Solucion de los sistemas lineales 325.1. TDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.2. Aplicacion del TDMA en 2 y 3 dimensiones . . . . . . . . . . . . . . . . 34

6. Problemas no estacionarios 366.1. Esquema Explıcito: Forward Euler . . . . . . . . . . . . . . . . . . . . . . 376.2. Esquema Implıcito: Backward Euler . . . . . . . . . . . . . . . . . . . . . 376.3. Esquema Crank-Nicolson: Centred Differencing . . . . . . . . . . . . . . 38

7. Paradigmas de programacion 397.1. Programacion Orientada a Objetos . . . . . . . . . . . . . . . . . . . . . 397.2. Programacion Generica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

8. Programacion paralela 408.1. Organizacion de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . 418.2. Modelos de programacion . . . . . . . . . . . . . . . . . . . . . . . . . . 428.3. Comunicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428.4. Descomposicion del problema . . . . . . . . . . . . . . . . . . . . . . . . 438.5. Metricas y otros factores . . . . . . . . . . . . . . . . . . . . . . . . . . . 448.6. Balance de carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448.7. Metricas de rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 458.8. Sobreposicion de la comunicacion y los calculos . . . . . . . . . . . . . . 458.9. Ley de Amdahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458.10. Escalabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

9. Descomposicion de dominio y paralelismo 469.1. Algoritmo alternante de Schwarz . . . . . . . . . . . . . . . . . . . . . . 479.2. Particion del dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

10.Casos de estudio 5310.1. Conveccion forzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5310.2. Conveccion Natural: regimen laminar . . . . . . . . . . . . . . . . . . . . 54

10.2.1. Benchmark: de Vahl Davis . . . . . . . . . . . . . . . . . . . . . . 5410.3. Conveccion Natural: regimen turbulento . . . . . . . . . . . . . . . . . . 5510.4. Conveccion forzada en paralelo . . . . . . . . . . . . . . . . . . . . . . . 59

Page 3: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2 INDICE

1. Conveccion

Considerese los siguientes eventos: el movimiento imperceptible de las placas conti-nentales de la corteza terrestre, las violentas tormentas magneticas en la atmosfera solar,las sorprendentes y destructivas fuerzas que provoca un huracan tropical, el movimientodel aire en un horno de cocina, el crecimiento de cristales semiconductores usados en laconstruccion de microchips. Todos estos fenomenos involucran el movimiento de fluidos(lıquidos, gases, plasmas) a escalas muy diferentes. Este movimiento se conoce comoconveccion: movimiento de partıculas individuales de fluidos el cual ocurre a traves deprocesos de difusion y adveccion.

Dado que el fenomeno de conveccion aparece en muchos procesos naturales e indus-triales, no es sorprendente que en las ultimas decadas se haya puesto mucha atencionen entender el movimiento de fluidos y el transporte de cantidades fısicas generado oalterado por la conveccion.

La conveccion se clasifica en natural (libre) y forzada. En la primera, el movimientodel fluido se debe a fuerzas naturales, como por ejemplo el efecto de flotacion, el cual semanifiesta cuando existe una diferencia de temperaturas o densidades en presencia de lafuerza de gravedad. En la segunda, el fluido se obliga a fluir mediante el uso de fuerzasexternas como un ventilador o el movimiento de una de las paredes que contenga alfluido. Es posible que exista conveccion natural y forzada en algunos procesos, en estecaso se le suele llamar conveccion mixta.

El modelo matematico que describe la conveccion se basa en las ecuaciones de balancede masa, cantidad de movimiento y energıa, ası como en las ecuaciones de estado delfluido. La obtencion de estas ecuaciones se puede revisar por ejemplo en [7, 6].

En la seccion que sigue, se describe el modelo matematico desde un punto de vistageneral y posteriormente se reduce a casos particulares.

1.1. Ecuacion general de transporte

Las ecuaciones de la mecanica de fluidos representan leyes de conservacion o balancede cantidades fısicas como la masa, cantidad de movimiento (momentum) y energıa. Paraobtener las ecuaciones se considera el fluido continuo y la conservacion de una variablede flujo general φ (que puede ser por ejemplo la temperatura o una componente de lavelocidad), dentro de un volumen de control puede ser representada como un balanceentre varios procesos que tienden a incrementar o disminuir dicha variable, [3, 6]. Enotras palabras se tiene que:

Razon de cambio deφ en el volumen decontrol con respecto

al tiempo

=

Flujo neto de φpor adveccion enel volumen de

control

+

Flujo neto de φpor difusion enel volumen de

control

+

Razon neta decreacion de φen el volumen

de control

Este balance se puede escribir en forma matematica, para un fluido Newtoniano[26, 37], como sigue,:

Page 4: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

1.2 Conveccion natural 3

∂(ρφ)

∂t+∇ ·

(

ρφu)

= ∇ · (Γ∇φ) + S, (1)

donde ρ representa la densidad, u es la velocidad del flujo, Γ es un coeficiente de difusiony S es el termino fuente.

La ecuacion (1) se conoce como la ecuacion general de transporte para la propiedadφ. El primer termino del lado derecho de esta ecuacion es la razon de cambio de φcon respecto al tiempo, mientras que el segundo termino es la componente advectivaque representa el transporte de φ debido a la velocidad del flujo. En el lado derecho setiene el termino debido al transporte por difusion y el ultimo termino es la contribucionocasionada por fuentes de φ dentro del campo. La ecuacion general de transporte (1) esusada como punto de partida para desarrollar algunos metodos numericos, especialmenteel metodo de volumen finito.

En notacion tensorial estas ecuaciones se escriben como sigue:

∂(ρφ)

∂t+

∂xj

(

ρujφ)

=∂

∂xj

(

Γ∂φ

∂xj

)

+ S, para j = 1, 2, 3, (2)

donde φ puede representar a la temperatura (T ), la densidad (ρ) o a alguna compo-nente de la velocidad ((u1, u2, u3) ≡ (u, v, w)). El termino fuente contiene el gradientepresiones y terminos provenientes de las fuerzas de cuerpo. En esta notacion xj repre-senta coordenadas cartesianas para la posicion, y se utiliza la convencion de Einstein endonde ındices repetidos se suman.

1.2. Conveccion natural

Las ecuaciones que gobiernan este fenomeno son: balance de masa, balance de can-tidad de movimiento y balance de energıa. Estas ecuaciones se obtienen tomando encuenta la aproximacion de Boussinesq [6], es decir la densidad se considera constanteexcepto en el termino de fuerzas de cuerpo, mientras que las propiedades fısicas restantesdel material son consideradas constantes. Por lo tanto, para fluidos newtonianos e in-compresibles, estas ecuaciones se escriben como sigue:

∂uj

∂xj

= 0, (3)

ρ0

[∂ui

∂t+ uj

∂ui

∂xj

]

= −∂p

∂xi

+ µ∂2ui

∂xj∂xj

+ ρbi, (4)

∂T

∂t+ uj

∂T

∂xj

= α∂2T

∂xj∂xj

, (5)

donde ρ es la densidad, ρ0 es una densidad de referencia, µ es la viscosidad dinamica yα es la difusividad termica. En la ecuacion (5) se ha considerado que la energıa internase puede escribir como cV T , con cV el calor especıfico a volumen constante. Tambien

Page 5: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

4 INDICE

se utiliza la ley de conduccion de calor de Fourier, es decir qj = −κ ∂T∂xj

, siendo κ el

coeficiente de conductividad termica.Las ecuaciones (3), (4) y (5), se deben complementar con una ecuacion de estado

para poder ser resueltas. En general se considera la siguiente relacion:

ρ = ρ0 [1− β(T − T0)] ,

donde β es el coeficiente de expansion volumetrica y T0 es el valor de la temperaturacuando ρ = ρ0. β se define como:

β = −1

ρ0

(∂ρ

∂T

)

T=T0

.

Esta ultima ecuacion describe satisfactoriamente la relacion entre la densidad y latemperatura para un fluido incompresible.

1.3. Ecuaciones adimensionales

Las ecuaciones (3), (4) y (5) generalmente se utilizan en forma adimensional tantopara su discretizacion, como para su implementacion. En la forma adimensional, apare-cen parametros que permiten hacer estudios de flujos en diferentes estados: laminar oturbulento por ejemplo. Una manera de adimensionalizar las ecuaciones es usando elsiguiente escalamiento:

xj =x′

j

H, t =

t′

H2/α, uj =

u′j

α/H, p =

p′

ανρ0/H2, T =

T ′ − TC

∆T−

1

2,

donde localmente se han utilizado variables primadas (′) para representar a las variablescon dimensiones. En este escalamiento H es una longitud caracterıstica, ν la viscosidadcinematica (ν = µ/ρ0) y ∆T = TH − TC representa una diferencia de temperaturas.

Usando el escalamiento anterior tenemos que las ecuaciones, en forma adimensionalse escriben como sigue:

∂uj

∂xj

= 0, (6)

∂ui

∂t+ uj

∂ui

∂xj

= −∂p

∂xi

+ Pr∂2ui

∂xj∂xj

+ bi, (7)

∂T

∂t+ uj

∂T

∂xj

=∂2T

∂xj∂xj

, (8)

donde la ecuacion (6) se conoce como la ecuacion de continuidad, las ecuaciones (7)son las ecuaciones de Navier-Stokes y la ecuacion (8) es la ecuacion de energıa. bi esel termino fuente que representa a las fuerzas de cuerpo externas que intervienen en el

Page 6: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

1.4 Conveccion natural turbulenta 5

problema, y en este caso solo se toma en cuenta el efecto de la gravedad apuntando enla direccion negativa del eje y. Por lo tanto: b1 = 0, b2 = Pr RaT y b3 = 0, donde Pry Ra son el numero de Prandlt y el numero de Rayleigh respectivamente que se definencomo sigue:

Pr =ν

α,

Ra =gβ∆TL3

y

αν,

donde g es la magnitud de la aceleracion de la gravedad.

Las ecuaciones (6), (7) y (8) se pueden poner en la forma de la ecuacion general (2)como sigue:

∂ρ

∂t+

∂xj

(

ujρ)

= 0, (9)

∂ui

∂t+

∂xj

(ujui) = −∂p

∂xi

+∂

∂xj

(

Pr∂ui

∂xj

)

+ Si, (10)

∂T

∂t+

∂xj

(ujT ) =∂

∂xj

(∂T

∂xj

)

. (11)

Lo anterior es posible dado que el fluido es incompresible y el numero de Prandtlse considera constante. En la forma antes escrita, es posible hacer una correspondenciaentre las ecuaciones (9),(10) y (11) con la ecuacion general de transport (2), como semuestra en la siguiente tabla.

Ecuacion φ Γ Si

Masa ρ = cte. 0 0

N-S ui Pr − ∂p∂xi

+ bi

Energıa T 1 0

Cuadro 1: Correspondencia de las ecuaciones de balance en flujo laminar con la ecuaciongeneral (2). El valor de i varıa de 1 a 3.

1.4. Conveccion natural turbulenta

Aunque no existe una definicion exacta de turbulencia, se puede decir que un flujoes turbulento cuando es irregular, consiste de un amplio rango de escalas de movimien-to, se incrementa la difusividad, es completamente tridimensional, es muy disipativoy el numero de Reynolds es relativamente grande. Una discusion amplia del tema se

Page 7: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

6 INDICE

encuentra en [32]. La simulacion directa de flujos turbulentos o DNS (Direct NumericalSimulation), es posible solo en algunos casos simples, pero en la mayorıa de las ocasionesse requieren recursos enormes de computo [18]. Algunas tecnicas se han desarrollado paraevitar este problema y una de las mas conocidas es la Simulacion de Vortices Grandes oLES (Large-Eddy Simulation). Los detalles de esta tecnica se pueden encontrar en librosde texto como en [11, 37] y en artıculos de revision como [33]. Aquı solo describiremoslas propiedades mas importantes.

La tecnica de LES ayuda a simular flujos turbulentos en mallas gruesas. La base deesta tecnica consiste en la aplicacion de un filtro de convolucion espacial a las ecuacionesgobernantes. En este procedimiento se divide la variable turbulenta f (T , ui o p) enuna componente de escalas grandes f , y en una componente de escalas pequenas o desubmalla f ′. La descomposicion y la convolucion de f con una funcion de filtro g sobreel dominio del flujo Ω se escriben como:

f(xi, t) = f(xi, t) + f ′(xi, t),

con

f(xi, t) =

Ω

g(xi − x′i)f(x′

i, t)dx′i.

donde la funcion del filtro g debe satisfacer la condicion de normalizacion

Ω

g(xi − x′i)dx′

i = 1.

La aplicacion del filtro a las ecuaciones gobernantes del problema de conveccionnatural, ecuaciones (6),(7) y (8), produce la siguiente descripcion del movimiento de lasescalas grandes:

∂uj

∂xj

= 0, (12)

∂ui

∂t+ uj

∂ui

∂xj

= −∂p

∂xi

+ Pr∂2ui

∂xj∂xj

+ bi +∂τij

∂xj

, (13)

∂T

∂t+ uj

∂T

∂xj

=∂2T

∂xj∂xj

+∂hj

∂xj

. (14)

los tensores de submalla τij y hj estan dados por

τij = uiuj − uiuj, (15)

y

hj = ujT − ujT . (16)

En la LES se requiere un modelo de submalla o SGM (Subgrid Model) que parametrizeambos tensores adecuadamente, de tal manera que el flujo de escalas grandes pueda ser

Page 8: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

1.4 Conveccion natural turbulenta 7

calculado con exactitud. Las simulaciones con el modelo deben producir resultados conun significado fısico y con bajo esfuerzo computacional. El SGM mas comun supone unaviscosidad turbulenta (hipotesis de Boussinesq) para modelar τij:

τij = 2νtSij, (17)

donde

Sij =1

2

(∂ui

∂xj

+∂uj

∂xi

)

, (18)

es el tensor de deformacion del campo filtrado y νt es la viscosidad turbulenta. De igualmanera tenemos que

hj = κt∂T

∂xj

, (19)

donde la razon entre la viscosidad turbulenta νt y la difusividad turbulenta κt esta defini-da a traves del numero de Prandtl turbulento

Prt =νt

αt

. (20)

Cuando el numero de Prandtl turbulento esta dado, solamente la viscosidad turbu-lenta tiene que ser parametrizada en terminos de las cantidades resueltas. Aunque elvalor de Prt no esta bien establecido [2], frecuentemente se considera que 1

3< Prt < 1

2,

una discusion sobre este punto se encuentra en [10].Aquı se considera el SGM propuesto por Metais y Lesieur [21], en donde la viscosidad

turbulenta se define como

νt = 0.105C−3/2k ∆

F2, (21)

con una funcion de estructura filtrada definida como

F2(~x, ∆c) =1

6

3∑

i=1

F(i)2

(∆c

∆xi

)2/3

, (22)

con

F(i)2 =

[‖~u(~x)− ~u(~x + ∆xi~ei)‖

2 + ‖~u(~x)− ~u(~x−∆xi~ei)‖2], (23)

donde ~ei es el vector unitario en direccion xi y ∆c = (∆x1∆x2∆x3)1/3.

Sustituyendo (17) y (19) en las ecuaciones filtradas (13) y (14), y recordando que elfluido es incompresible, obtenemos el siguiente sistema de ecuaciones:

∂ui

∂t+

∂xj

(ujui) = −∂p

∂xi

+∂

∂xj

(

(Pr + νt) 2Sij

)

+ bi, (24)

∂T

∂t+

∂xj

(ujT

)=

∂xj

((

1 +νt

Prt

)∂T

∂xj

)

. (25)

Page 9: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

8 INDICE

1.5. Funcion de estructura selectiva

En algunos casos el modelo de la funcion de estructura es muy disipativo. Parareducir esta dificultad, se han desarrollado varias tecnicas entre las que se encuentrael modelo de funcion de estructura selectiva [21]. El objetivo es eliminar la viscosidadturbulenta cuando el flujo no es lo suficientemente tridimensional. El criterio que seutiliza es como sigue:

1. Se mide el angulo entre la vorticidad en un punto de la malla y el promedio de lasvorticidades en los seis puntos vecinos.

2. Si este angulo excede 20o entonces se toma en cuenta la viscosidad turbulentacalculada mediante (21).

3. En otro caso, solo se toma en cuenta la viscosidad molecular.

El valor de 20o es el mas probable de acuerdo a simulaciones de turbulencia isotropicaa una resolucion de malla de 323 y 643 [21].

De la misma manera en que las ecuaciones del caso laminar se escribieron en formageneral, las ecuaciones (12), (24) y (25) tambien estan escritas en la forma (2). En estecaso la correspondencia con la ecuacion general de transporte (2) es como sigue:

Ecuacion φ Γ Si

Masa ρ = cte 0 0

N-S ui Pr + νt −∂p∂xi

+ bi

Energıa T 1 + νt

Prt0

Cuadro 2: Correspondencia de las ecuaciones de balance en flujo turbulento con laecuacion general. El valor de i varıa de 1 a 3.

Page 10: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2 Metodo numerico 9

2. Metodo numerico

Las ecuaciones presentadas en la seccion anterior son bastante complejas y a pesarde que se conocen desde hace mucho tiempo, no existe hoy en dıa un metodo analıticopara encontrar sus soluciones. Por esta razon, se han desarrollado muchos metodosnumericos con los que es posible encontrar soluciones numericas aproximadas. Medianteel uso de las arquitecturas sofisticadas de computo y en especial de las arquitecturasmultiprocesador, ha sido posible resolver numericamente las ecuaciones gobernantespara diferentes tipos de flujos, con excelente exactitud y precision.

2.1. Metodo de residuos pesados

Un metodo muy poderoso para obtener soluciones numericas de ecuaciones difer-enciales parciales es conocido como metodo de residuos pesados. El concepto basico essimple: considerese una ecuacion diferencial representada por

L(φ) = 0

y una solucion aproximada φ definida por

φ = a0 + a1x + a2x2 + · · ·+ amxm

La substitucion de esta solucion aproximada en (26) produce un residuo R definidocomo

R = L(φ)

Se desea que este residuo sea pequeno en algun sentido. Se propone que

Ω

WRdx = 0 (26)

donde W es un funcion de peso y la integracion se realiza sobre el dominio de interes Ω.Seleccionando una sucesion de funciones de peso, se pueden generar tantas ecuacionescomo se requiera para evaluar los parametros de la ecuacion (26). Estas ecuacionesalgebraicas que contienen los parametros como incognitas son resueltas para obteneruna solucion aproximada.

Diferentes versiones del metodo resultan de la seleccion de diferentes tipos de fun-ciones de peso. La funcion de peso mas simple es W = 1. De esta seleccion, un numerode ecuaciones de residuos pesados se pueden generar dividiendo el dominio de calculoen subdominios o volumenes de control, y definiendo la funcion de peso igual a launidad sobre un volumen de control en un tiempo dado y cero en cualquier otro lugar.Esta variante del metodo de residuos pesados es conocida como metodo de volumen decontrol o de volumen finito. Esta formulacion implica que la integral del residuo sobrecada volumen de control debe ser cero.

Page 11: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

10 INDICE

2.2. Metodo de volumen finito

Como se menciono anteriormente, el metodo de volumen finito (MVF) es una versionespecial del metodo de residuos pesados. En esta formulacion el dominio de calculo sedivide en un numero de volumenes de control que no se traslapan, de tal manera quehay un volumen rodeando a cada punto de la malla. Luego, la ecuacion diferencialse integra sobre cada volumen de control. Se usan funciones continuas por tramos, lascuales expresan la variacion de φ entre los puntos de la malla, para evaluar las integrales.El resultado es un conjunto de ecuaciones discretas que contienen los valores de φ paraun grupo de puntos de la malla.

La integracion sobre los volumenes de control es lo que distingue al FVM de otrosmetodos. Las ecuaciones que resultan de la integracion expresa el principio de con-servacion para φ en cada volumen de control, de la misma forma en que la ecuaciondiferencial expresa esto mismo para un volumen de control infinitesimal. Esta carac-terıstica es valida para cualquier numero de puntos en la malla y no solo cuando estees muy grande. Por lo tanto, aun una solucion en una malla gruesa exhibira un balanceexacto (aunque para obtener buena precision se requiere de un mayor numero de puntoso esquemas de alto orden). Esta clara relacion entre el algoritmo numerico y el principiofısico de conservacion es una de las mayores atracciones del MVF.

Las etapas que se pueden enumerar en el MVF son las siguientes:

1. Generacion de la malla. El dominio de estudio se discretiza en un numerode volumenes de control no sobrepuestos, de tal manera que existe un volumenrodeando a cada punto de la malla, como se muestra en la figura 1.

2. Integracion. Se realiza una integracion de las ecuaciones gobernantes del prob-lema sobre cada volumen de control del dominio de estudio.

3. Discretizacion. Se discretiza cada uno de los diferentes terminos resultantes dela integracion usando diferentes esquemas numericos. Esto produce un sistemaalgebraico de ecuaciones.

4. Solucion. Se utiliza algun algoritmo para resolver el sistema algebraico de ecua-ciones. Dado que las matrices son en general dispersas, se prefieren algortimositerativos.

2.3. Propiedades

Existen tres conceptos matematicos que son utiles para determinar el exito de unalgoritmo numerico: convergencia, consistencia y estabilidad. La convergencia esla propiedad de un metodo numerico de producir una solucion que se aproxima a lasolucion exacta conforme la distancia entre los puntos de la malla tiende a cero. Unesquema numerico consistente produce sistemas de ecuaciones algebraicas equivalentes alas ecuaciones gobernantes originales conforme el espaciamiento de los nodos de la malla

Page 12: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2.3 Propiedades 11

Nodos dela malla

Puntos en el interior

Puntos en la fronteradel dominio

Volumen de control

Volúmenes decontrol

Figura 1: Dominio de estudio discretizado usando volumenes de control en 2D.

tiende a cero. La estabilidad esta asociada con la amortiguacion del error conforme elmetodo numerico procede. Si el metodo no es estable, entonces aun errores de redondeoen los datos iniciales, pueden causar fuertes oscilaciones o divergencia de la solucion.

La convergencia es muy difıcil de establecer teoricamente y en la practica se utiliza elteorema de equivalencia de Lax que dice que para problemas lineales una condicion nece-saria y suficiente para obtener convergencia es que el metodo sea consistente y estable.Este teorema es limitado dado que las ecuaciones gobernantes de muchos fenomenos sonno lineales.

En el MVF se pueden obtener esquemas numericos robustos si dicho esquema poseela propiedad de ser conservativo, es acotado y ademas transporta adecuadamente laspropiedades.

Conservativo : El MVF garantiza la conservacion de las propiedades de un fluido encada volumen de control. Los esquemas numericos que poseen esta caracterısticatambien aseguran conservacion global para todo el dominio. Esta propiedad esfısicamente importante y se obtiene por medio de expresiones consistentes en losvolumenes de control.

Acotado : Esta propiedad es similar al requerimiento de estabilidad y requiere queen un problema lineal sin fuentes, la solucion debe estar acotada por los valoresmaximo y mınimo en las fronteras. Esta propiedad puede obtenerse imponiendorestricciones sobre la magnitud y los signos de los coeficientes de las ecuacionesalgebraicas.

Transporte : En procesos donde hay flujo de fluidos, se tienen en general efectos ad-vectivos y difusivos. En fenomenos difusivos, tal como en conduccion de calor, uncambio en la temperatura en un punto, afectara la temperatura mas o menos de

Page 13: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

12 INDICE

igual manera en todas las direcciones alrededor de dicho punto. Un fenomeno ad-vectivo involucra influencia exclusivamente en la direccion del flujo. Los esquemasen MVF deben tomar en cuenta la direccion de influencia del flujo en terminos delos efectos difusivos y los convectivos.

Cuando las propiedades antes mencionadas se utilizan en el diseno de todos los es-quemas del MVF, se obtienen producen buenas aproximaciones a muchos tipos de prob-lemas. En el MVF es comun usar estas propiedades como alternativas a los conceptosmatematicos mas rigurosos de convergencia, consistencia y estabilidad.

2.4. Difusion

La ecuacion gobernante para problemas de difusion se deriva de la ecuacion general(1) para la propiedad φ eliminando el termino transitorio y el convectivo:

∇ · (Γ∇φ) + S = 0. (27)

2.4.1. Difusion estacionaria en 1D

Supongamos que se desea resolver el problema de conduccion de calor en una barraen el intervalo [a, b], en donde los valores de la temperatura en los extremos estan dados.A partir de la ecuacion (27) obtenemos una ecuacion para difusion estacionaria en unadimension:

d

dx

(

Γdφ

dx

)

+ S = 0. (28)

y condiciones de frontera:

φ(a) = Ta, y φ(b) = Tb

El proceso de aproximar una solucion numerica del problema anterior usando MVFes como sigue:

Paso 1. Generacion de la malla.

Para aproximar una solucion a la ecuacion (28) primero se divide el dominio enun numero finito de volumenes. En la figura 2 se introduce una notacion que seusara en los ejemplos que siguen. Se define P como un nodo general que tiene nodosvecinos a la derecha E (east) y a la izquierda W (west). Las caras del volumen queencierra al nodo P se nombran e y w a la derecha e izquierda respectivamente. Lasdistancias de P a W y de P a E se denotan como ∆xw y ∆xe respectivamente. Ladistancia entre las caras e y w se define como ∆x. Cuando la malla es uniforme,se cumple que ∆xe = ∆xw = ∆x

Page 14: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2.4 Difusion 13

x∆ e∆xw

x∆

W e EwP

Volumen de control

Nodos

Figura 2: Definicion de los nodos y volumenes de control en la malla.

Paso 2. Integracion.

Ahora se integra la ecuacion (28) sobre el volumen de control descrito en la figura2 para obtener:

∆x

d

dx

(

Γdφ

dx

)

dx +

∆x

Sdx =(

ΓAdφ

dx

)

e−

(

ΓAdφ

dx

)

w+ Sdx = 0. (29)

donde S es el promedio de S en el volumen de control y A es el area de las caras.En este caso se considera que A = Ae = Aw = 1. La ecuacion (29) dice que elflujo difusivo que entra por la cara w menos el flujo difusivo que sale por la carae es igual a la generacion de φ en el volumen de control, es decir, esto constituyeuna ecuacion de balance para φ sobre el volumen de control.

Paso 3. Discretizacion.

Para derivar formas discretas de la ecuacion anterior, se requiere aproximar Γ yel gradiente dφ/dx en las caras e y w. La forma mas simple es suponer que elintegrando prevalece sobre todo el volumen de control, lo cual da un perfil tipoescalon como se muestra en la figura 3(a). Sin embargo, para esta aproximacion,la derivada dφ/dx no esta definida en las caras e y w. Un perfil lineal, como el quese muestra en figura 3(b), no sufre de esta desventaja por lo que es el que se usaen la mayorıa de los casos.

La aproximacion lineal es muy simple y se conoce como diferencias centrales. Enuna malla uniforme Γe y Γw estan dados por:

Γw =Γ

W+ Γ

P

2y Γe =

ΓP

+ ΓE

2

Usando el perfil lineal, los terminos difusivos se evaluan como sigue:

(

Γdφ

dx

)

e= Γe

(φE− φ

P

∆xe

)

(30)

(

Γdφ

dx

)

w= Γw

(φP− φ

W

∆xw

)

(31)

Page 15: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

14 INDICE

W P Ew e

φ

xW P E

w e

φ

x

(a) (b)

Figura 3: Perfiles comunes: (a) escalon; (b) lineal.

A menudo el termino fuente esta dado en funcion de la variable dependiente φ, ypor lo tanto es deseable conocer esta dependencia en la construccion de las ecua-ciones discretas. Es posible tomar en cuenta solamente una dependencia linealdebido a que las ecuaciones se resolveran usando tecnicas para ecuaciones alge-braicas lineales. El procedimiento consiste en linealizar el termino fuente comosigue:

Sdx = Su + SPφ

P(32)

donde Su es la parte constante de S, mientras que SP

es el coeficiente de la partelineal (OJO: S

Pno significa el valor de S evaluado en el punto P ).

La aparicion de φP

supone que, cuando se expresa el promedio del valor de S, elvalor de φ

Pprevalece en todo el volumen de control. En otras palabras, se utiliza

el perfil de tipo escalon para el termino fuente como el mostrado en la figura 3(a).

Sustituyendo las ecuaciones (30), (31) y (32) en la ecuacion (29) se obtiene

Γe

(φE− φ

P

∆xe

)

− Γw

(φP− φ

W

∆xw

)

+ (Su + SPφ

P) = 0

que se puede arreglar en

(Γe

∆xe

+Γw

∆xw

− SP

)

φP

=

(Γw

∆xw

)

φW

+

(Γe

∆xe

)

φE

+ Su. (33)

entonces podemos escribir la ecuacion (33) como sigue

aPφ

P= a

W+ a

E+ Su. (34)

Page 16: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2.4 Difusion 15

en donde los coeficientes aP, a

Ey a

Wse escriben de la siguiente manera

aW

= Γw/∆xw; aE

= Γe/∆xe y aP

= aW

+ aP− S

P

Los valores de Su y SP

se pueden obtener de la ecuacion (32). La ecuacion (34)junto con la definicion de los coeficientes a

W, a

Ey a

Prepresentan la forma discreta

de la ecuacion (28).

Paso 4. Solucion.

Una ecuacion de la forma (34) debe escribirse para cada volumen de control (nodo).Las ecuaciones discretas para los volumenes de control que son adyancentes a lafrontera deben modificarse para tomar en cuenta las condiciones de frontera. Elsistema de ecuaciones resultante se resuelve para obtener una distribucion de lapropiedad φ en los centros de los volumenes.

Ahora se tratara un ejemplo concreto. Supongase que φ = T , Γ = k, S = 0 y5 volumenes de control como se muestra en la figura 4. Aquı k es la conductividadtermica y se considera constante en todo el dominio.

x∆

∆x ∆xx∆ /2 x∆ /2

21 3 4 5Ta Tb

Figura 4: Ejemplo de discretizacion.

Las ecuaciones discretas y sus coeficientes para los nodos 2, 3 y 4 se escriben comosigue:

aPT

P= a

WT

W+ a

ET

E.

aW

= k/∆x; aE

= k/∆x y aP

= aW

+ aP

Su y SP

son cero dado que no existen fuentes.Los nodos 1 y 5 estan en la frontera y por lo tanto requieren de un proceso especial.

En el nodo 1, la integracion de la ecuacion (28) con S = 0 da lo siguiente

k(T

E− T

P

∆x

)

− k(T

P− Ta

∆x/2

)

= 0

que se puede rearreglar como sigue

(k

∆x+

k

∆x/2

)

TP

= 0× TW

+

(k

∆x

)

TE

+

(k

∆x/2

)

Ta.

Page 17: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

16 INDICE

Entonces que para el nodo 1 la ecuacion discreta se escribe como

aPT

P= a

WT

W+ a

ET

E+ Su.

donde

aW

= 0; aE

= k/∆x; aP

= aW

+ aP− S

P; S

P= −2k/∆x; Su = (2k/∆x)Ta

Un tratamiento similar se hace para el nodo 5 y se obtiene la misma ecuacion queen el caso del nodo 1, con los siguientes coeficientes

aW

= k/∆x; aE

= 0; aP

= aW

+ aP− S

P; S

P= −2k/∆x; Su = (2k/∆x)Tb

Juntando las ecuaciones para todos los nodos resulta un sistema lineal tridiagonal

aP

aE

0 0 0a

Wa

Pa

E0 0

0 aW

aP

aE

00 0 a

Wa

Pa

E

0 0 0 aW

aP

T1

T2

T3

T4

T5

=

Su

000Su

Cada renglon del sistema presentado arriba corresponde a un volumen de control dela malla, de tal manera que en principio los coeficients a’s son diferentes de renglon arenglon. Lo mismo sucede con Su.

2.4.2. Difusion estacionaria en 2D y 3D

La metodologıa descrita en el ejemplo anterior se puede extender facilmente a dos ytres dimensiones. Para ilustrar la tecnica, considerese la ecuacion de difusion estacionariaen dos dimensiones:

∂x

(

Γ∂φ

∂x

)

+∂

∂y

(

Γ∂φ

∂y

)

+ S = 0 (35)

La figura 5 muestra un volumen de control en dos dimensiones. Integrando la ecuacion(35) sobre un volumen de control se obtiene:

∆V

∂x

(

Γ∂φ

∂x

)

dV +

∆V

∂y

(

Γ∂φ

∂y

)

dV +

∆V

SdV = (36)

(

ΓeAe

(dφ

dx

)

e− ΓwAw

(dφ

dx

)

w

)

+

(

ΓnAn

(dφ

dx

)

n− ΓsAs

(dφ

dx

)

s

)

+

S∆V = 0.

Page 18: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2.4 Difusion 17

∆y

x∆

x∆ e∆xw

∆yn

y∆ s

N

S

W EP ew

n

s

Figura 5: Volumen de control en 2D.

Igual que antes, esta ecuacion representa el balance entre la generacion de φ en unvolumen de control y los flujos a traves de sus caras. Usando perfiles lineales es posibleescribir expresiones para los flujos a traves de las caras como sigue:

ΓeAe

(dφ

dx

)

e= ΓeAe

φE− φ

P

∆xe

ΓwAw

(dφ

dx

)

w= ΓwAw

φP− φ

W

∆xw

ΓnAn

(dφ

dx

)

n= ΓnAn

φN− φ

P

∆xn

ΓsAs

(dφ

dx

)

s= ΓsAs

φP− φ

S

∆xs

Sustituyendo estas expresiones en la ecuacion (36) y usando la forma S∆V = Su +S

Pse llega a

aPφ

P= a

W+ a

E+ a

S+ a

N+ Su. (37)

donde los coeficientes estan definidos como sigue:

aW

= ΓwAw/∆xw; aE

= ΓeAe/∆xe;a

S= ΓsAs/∆xs; a

N= ΓnAn/∆xn; a

P= a

W+ a

E+ a

S+ a

N− S

P;

Page 19: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

18 INDICE

donde Ae = Aw = ∆y y An = As = ∆x .En tres dimensiones el proceso es similar, solo que ahora se tiene la coordenada z, y

por cada volumen de control se tienen seis vecinos W,E, S,N,B, F , vease figura 6.

∆z

∆x

∆y

∆x∆y∆z∆V =

e

b

P

s

n

W

F

B

E

S

N

w

f

Figura 6: Volumen de control en 3D.

La ecuacion discreta correspondiente es:

aPφ

P= a

W+ a

E+ a

S+ a

N+ a

F+ a

B+ Su. (38)

con los siguientes coeficientes:

aW

= ΓwAw/∆xw; aE

= ΓeAe/∆xe; aS

= ΓsAs/∆xs;a

N= ΓnAn/∆xn; a

B= ΓbAb/∆xb; a

F= ΓfAf/∆xf ;

aP

= aW

+ aE

+ aS

+ aN

+ aB

+ aF− S

P

donde Ae = Aw = ∆x∆z, An = As = ∆y∆z y Af

= Ab

= ∆x∆y.Los sistemas lineales que resultan para los casos de dos y tres dimensiones son

pentadiagonales y heptadiagonales respectivamente.

2.5. Linealizacion del termino fuente

Cuando el termino fuente depende de φ, se expresa la realcion en la forma linealdada por la ecuacion (32). Esto se hace por que la incorporacion de una dependencialineal es mejor que el tratamiento de S como una constante.

Cuando S es una funcion no lineal de φ se debe linealizar especificando los valoresde Su y S

P, los cuales pueden depender a su vez de φ. Durante cada iteracion, Su y S

P

Page 20: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2.5 Linealizacion del termino fuente 19

podrıan ser recalculados a partir de los nuevos valores de φ. Una regla basica es que SP

debe ser negativo, [37].En el siguiente ejemplo, φ∗

Prepresenta el valor de φP en una iteracion previa.

Ejemplo Dado S = 4− 5φ3 algunas posibles linealizaciones son:

1. Su = 4 − 5φ∗ 3P

, SP

= 0. Esta forma no saca ventaja de la dependencia de Scon respecto a φ

2. Su = 4, SP

= −5φ∗ 2P

. Aparentemente es la forma correcta, pero la curva S esmas pronunciada.

3. Metodo recomendado:

S = S∗ +

(dS

)

(φP− φ∗

P) = 4− 5φ∗ 3

P− 15φ∗ 2

P(φ

P− φ∗

P).

de esta manera Su = 4 + 10φ∗ 3P

, SP

= −15φ∗ 2P

. Esta linealizacion representala tangente a la curva S en el punto φ∗

P.

4. Su = 4 + 20φ∗ 3P

, SP

= −25φ∗ 2P

. Esta linealizacion, que es mas pronunciadaque la curva S y ocasiona un decremento en la razon de convergencia.

Las cuatro linealizaciones se muestran en la figura 7, junto con la curva S. Cualquierlınea recta de pendiente positiva viola la regla de que S

Pdebe ser negativa, [37]. De

entre las pendientes negativas, la tangente a la curva es usualmente la mejor eleccion.Lıneas con mayor pendiente que la tangente generalemente reducen la velocidad deconvergencia. Lıneas con menos pendiente no son deseables, pues no dan la correctarazon de caıda de S con respecto a φ.

Figura 7: Linealizaciones del ejemplo anterior.

Page 21: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

20 INDICE

2.6. Condiciones de frontera

La discretizacion de las condiciones de frontera es importante dado que definen lasolucion que se obtiene en el interior del dominio de estudio. Para los problemas que setratan en este estudio existen basicamente dos tipos de condiciones de frontera:

Dirichlet: en donde el valor del campo se define en la frontera, es decir: φ = φb.

Neumann: en donde el gradiente del campo normal a la frontera es especificado,es decir ∂φ/∂n = φ′

b.

En la figura 8, por ejemplo, el punto E cae fuera del dominio y la cara e del volumenque rodea a P cae justo en la frontera. Usando las tecnicas de discretizacion descritasantes, una ecuacion para el punto P en terminos de sus vecinos se escribe de formasimilar a la ecuacion (38). Sin embargo, en este caso algunos de los coeficientes cambiansu forma debido a que el punto E no esta dentro del dominio.

∆xe

EP

S

y

x

z

W

N

w e

Figura 8: Volumen de control en la frontera.

En el caso de la figura 8, la condicion de frontera de tipo Dirichlet es impuestade tal manera que φb = φe. El valor de la frontera se puede aproximar mediante unainterpolacion lineal simple:

φe = φb ≈φ

P+ φ

E

2, (39)

de donde se obtiene:

φE

= 2φb − φP. (40)

Sustituyendo esta ultima expresion en la ecuacion (38) y factorizando se obtiene:

a∗Pφ

P= a∗

E+ a

W+ a

N+ a

S+ a

F+ a

B+ S∗

P, (41)

donde

Page 22: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

2.7 Consideraciones geometricas 21

a∗P

= aP

+ aE,

S∗P

= SP

+ 2aEφb y

a∗E

= 0.

Para las condiciones de tipo Neumann, usando diferencias centrales para aproximarel gradiente normal a la superficie, se tiene que:

φ′b =

(∂φ

∂x

)

e

≈φ

E− φ

P

∆xe

, (42)

de donde se genera:

φE

= φP

+ ∆xeφ′b. (43)

Sustituyendo esta expresion en la ecuacion (52) se obtiene una ecuacion similar a(41), con los coeficientes definidos como sigue:

a∗P

= aP− a

E,

S∗P

= SP

+ aE∆xeφ

′b y

a∗E

= 0.

De esta manera, las condiciones de frontera, Dirichlet y Neumann, se incorporan enel sistema de ecuaciones a resolver. Es posible utilizar diferentes aproximaciones para lascondiciones de frontera, y esto depende del orden de aproximacion del esquema numericoutilizado en los puntos interiores, vease [37].

2.7. Consideraciones geometricas

En este documento solo se consideran geometrıas cartesianas, por lo que los volumenesseran siempre rectangulares en 2D y paralelepıpedos en 3D. Aunque la discretizaciondel dominio de estudio, generacion de la malla, es trivial, resulta importante definirla ubicacion de los volumenes y de sus caras. En la figura 9 se muestran tres formasalternativas para ubicar los volumenes.

Cuando las caras de los volumenes se ubican a la mitad entre los puntos de lamalla, figura 9(a), es posible calcular el flujo de la variable φ a traves de las carascon mayor precision cuando se usa una aproximacion lineal, sin embargo el valor deesta aproximacion no estara dado en el centro de la cara, sino por ejemplo en el puntoe, vease figura 9(a). Ademas, el hecho de que los nodos no esten en el centro de losvolumenes representa una desventaja, pues el valor de cualquier variable en el nodo nosera representativo para todo el volumen. Esto implica que la suposicion de que el valorde φ prevalece en todo el volumen reduce la precision.

Page 23: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

22 INDICE

En el caso de que los nodos de la malla sean colocados al centro de los volumenesde control, figura 9(b), produce mejores aproximaciones pues el valor en el nodo si esrepresentativo para todo el volumen y el calculo del flujo se hace en el centro de lascaras. Por otro lado, este ultimo calculo no sera preciso si se utiliza una aproximacionlineal dado que las caras no estan a la mitad entre los nodos.

Para mallas uniformes ambas distribuciones son equivalentes. Tambien es posible quelos elementos de la malla sean los volumenes de control, figura 9(c). Es comun llamarCell-Centered schemes(CC) a los dos primeros casos, figura 9 (a) y 9 (b) y Vertex-Centered scheme(VC) al 9 (c). En la literatura ambos esquemas son aplicados. En losejemplos mostrados en este documento se usa CC, pues es mas simple de implementar.

P EW

S

N

s

n

ewP EW

S

N

s

n

ew

(a) (b) (c)

Figura 9: Diferentes ubicaciones de los volumenes de control.

3. MVF : Adveccion–Difusion

La ecuacion de conveccion–difusion estacionaria se deriva de la ecuacion general detransporte (1) eliminando el termino temporal:

∇ ·(

ρφu)

= ∇ · (Γ∇φ) + Sφ, (44)

Esta ecuacion se puede escribir como sigue:

∂x(ρuφ) +

∂y(ρvφ) +

∂z(ρwφ) =

∂x

(

Γ∂φ

∂x

)

+∂

∂y

(

Γ∂φ

∂y

)

+∂

∂z

(

Γ∂φ

∂z

)

+ Sφ, (45)

donde u = (u, v, w).

Integrando la ecuacion (45) sobre un volumen de control se obtiene:

Page 24: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

3 MVF : Adveccion–Difusion 23

∆V

[ ∂

∂x(ρuφ) +

∂y(ρvφ) +

∂z(ρwφ)

]

= (46)∫

∆V

[ ∂

∂x

(

Γ∂φ

∂x

)

+∂

∂y

(

Γ∂φ

∂y

)

+∂

∂z

(

Γ∂φ

∂z

)

+ Sφ

Asumiendo que las velocidades en las caras w, e, s, n, b, f son conocidas y que estevalor prevalece en toda la cara, se obtiene lo siguiente:

C = D + S, (47)

donde la forma general de los terminos C,D y S de la ecuacion anterior es como sigue:

C = (ceφe − cwφw) + (cnφn− csφs) + (cfφf − cbφb), (48)

D = Γ

[(∂φ

∂x

)

e

(∂φ

∂x

)

w

]

∆y∆z

+ Γ

[(∂φ

∂y

)

n

(∂φ

∂y

)

s

]

∆x∆z (49)

+ Γ

[(∂φ

∂z

)

f

(∂φ

∂z

)

b

]

∆x∆y,

S = SP∆V, (50)

donde los terminos c de la ecuacion (48) estan definidos de la siguiente manera:

ce = ue∆y∆z, cw = uw∆y∆z,cn = vn∆x∆z, cs = vs∆x∆z,cf = wf∆x∆y, cb = wb∆x∆y,

(51)

Los terminos advectivos y difusivos se pueden aproximar usando diferentes esquemas[37]. Independientemente de la aproximacion usada, cuando se insertan estos esquemasen las ecuaciones (48) y (49), y estos a su vez en la ecuacion (47), se obtienen sistemaslineales como el siguiente:

aPφ

P= a

E+ a

W+ a

N+ a

S+ a

F+ a

B+ S

P, (52)

donde los coeficientes contienen una parte difusiva y otra advectiva:

aE

= DE

+ CE, a

W= D

W+ C

W,

aN

= DN

+ CN

, aS

= DS

+ CS,

aF

= DF

+ CF, a

B= D

B+ C

B,

aP

= DP

+ CP

+ ∆V∆t

.

(53)

Page 25: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

24 INDICE

3.1. Aproximacion de los terminos difusivos

Las derivadas parciales que aparecen en la ecuacion (49), se deben evaluar en lascaras del volumen de control. Estas derivadas pueden aproximarse usando un perfil linealentre puntos adyacentes de la malla (p. ej. entre P y E). De esta manera se tiene que:

(∂φ

∂x

)

e

≃φ

E− φ

P

∆xe

,

(∂φ

∂x

)

w

≃φ

P− φ

W

∆xw

,

(∂φ

∂y

)

n

≃φ

N− φ

P

∆yn

,

(∂φ

∂y

)

s

≃φ

P− φ

S

∆ys

, (54)

(∂φ

∂z

)

f

≃φ

F− φ

P

∆zf

,

(∂φ

∂z

)

b

≃φ

P− φ

B

∆zb

.

donde ∆xe, ∆xw, ∆yn, ∆ys, ∆zf y ∆zb, son definidos como se muestra en la figura 10.

∆y

y

xz

y

z−x

∆yn

y∆ s

∆zb z∆ f

z∆x∆

x∆ e∆xw

N

S

W EP ew

n

s

N

S

P

n

s

B b f F

Corte en el planoCorte en el plano xy yz

Figura 10: Cortes del dominio discreto en los planos xy y yz.

Cuando la malla es uniforme (∆xe = ∆xw = ∆x, identicamente en las direccionesy y z), se puede demostrar, a partir de la expansion en series de Taylor de φ

E, φ

W, φ

N,

Page 26: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

3.2 Aproximacion de los terminos advectivos 25

φS, φ

Fy φ

B, que las expresiones (54) producen una aproximacion de orden O(∆x2),

[37]. Con estas aproximaciones la parte difusiva de los coeficientes (53) es:

DE

= Γ∆y∆z

∆xe

, DW

= Γ∆y∆z

∆xw

,

DN

= Γ∆x∆z

∆yn

, DS

= Γ∆x∆z

∆ys

, (55)

DF

= Γ∆x∆y

∆zf

, DB

= Γ∆x∆y

∆zb

,

DP

= DE

+ DW

+ DN

+DS

+ DF

+ DB.

en donde se considero Γ = cte.

3.2. Aproximacion de los terminos advectivos

Los terminos advectivos son importantes dado que representan la parte no linealde la ecuacion general (1). En la ecuacion (48) se observa que es necesario encontrarlos valores de φ en las caras del volumen de control. Sin embargo, φ representa a unavariable escalar definida en los centros de los volumenes, como se muestra en la figura10. A continuacion se presentan tres diferentes esquemas para aproximar φ en las carasde los volumenes: Upwind, diferencias centrales (CDS) y QUICK.

3.2.1. Upwind

Este es un esquema que proporciona una aproximacion de primer orden O(∆x), yconsiste en tomar el valor de la variable escalar en la cara del volumen de control, igualal valor de φ en el punto de la malla de donde proviene el flujo (upstream). Por ejemplo,si ce > 0 =⇒ φe = φ

Py si cw > 0 =⇒ φw = φ

W, la figura 11 muestra este caso.

Las funciones que definen este esquema para φe y φw, son:

φe =

φP

si ce > 0,

φE

si ce ≤ 0,y φw =

φW

si cw > 0,

φP

si cw ≤ 0.(56)

Funciones similares se definen para φn, φs, φf y φb. Ahora, si se define JA,BK comoel maximo entre A y B, entonces, los terminos advectivos en este esquema se expresande la siguiente manera:

ceφe =(

φPJce, 0K− φ

EJ−ce, 0K

)

, cwφw =(

φW

Jcw, 0K− φPJ−cw, 0K

)

,

cnφn =(

φPJcn, 0K− φ

NJ−cn, 0K

)

, csφs =(

φSJcs, 0K− φ

PJ−cs, 0K

)

, (57)

cfφf =(

φPJce, 0K− φ

FJ−ce, 0K

)

, cbφb =(

φBJcb, 0K− φ

PJ−cb, 0K

)

.

Page 27: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

26 INDICE

∆y

∆yn

y∆ s

x∆ e∆xw

y

xz

x∆

N

S

W EP

n

s

w e EEWW ww ee

Corte en el plano xy

Figura 11: Esquema Upwind para el caso: ce > 0 =⇒ φe = φP

y cw > 0 =⇒ φw =φ

W.

Sustituyendo estas definiciones en (48) se obtiene la siguiente forma para la parteadvectiva de los coeficientes (53):

CE

= J−ce, 0K, CW

= Jcw, 0K, CN

= J−cn, 0K,

CS

= Jcs, 0K, CF

= J−cf , 0K, CB

= Jcb, 0K, (58)

CP

= CE

+ CW

+CN

+ CS

+ CF

+CB

+ (ce − cw) + (cn− cs) + (cf − cb).

Como se vera mas adelante, la expresion (ce−cw)+(cn−cs)+(cf−cb), es la versiondiscreta de la ecuacion de continuidad.

3.2.2. Diferencias centrales (CDS)

Una manera simple de evaluar φ en las caras, es mediante una interpolacion linealusando valores de puntos vecinos. Por ejemplo, en la cara e se tiene que:

φe = φEλe + φ

P(1− λe), (59)

donde el factor de interpolacion λe se define como:

Page 28: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

3.2 Aproximacion de los terminos advectivos 27

λe =xe − xP

xE − xP

. (60)

Cuando la malla es uniforme λe = 0.5. La precision de la ecuacion (59) es de segundoorden (O(∆x2)) como puede mostrase a traves de una expansion en series de Taylor deφ

Ealrededor del punto P . Este es el esquema de segundo orden mas simple y corresponde

a la aproximacion de diferencias centrales de la primera derivada en los metodos dediferencias finitas.

Con este esquema los coeficientes son de la forma:

CE

= −ceλe, CW

= ceλw, CN

= −ceλn,

CS

= ceλs, CF

= −ceλf , CB

= ceλb, (61)

CP

= CE

+ CW

+CN

+ CS

+ CF+C

B+ (ce − cw) + (cn− cs) + (cf − cb).

3.2.3. QUICK

El esquema QUICK (Quadratic Upstream Interpolation for Convective Kinematics)desarrollado por Leonard [20] es un esquema tipo Upwind de tercer orden para interpolarflujos advectivos (convectivos)1 en las caras de los volumenes de control. En este caso,se seleccionan tres puntos de la malla para construir un polinomio de segundo grado.La seleccion de los puntos se hace de acuerdo con la direccion de la velocidad en la caracorrespondiente del volumen de control.

La forma cuadratica de interpolacion de los terminos advectivos ceφe y cwφw, en elesquema QUICK, para mallas uniformes tiene la siguiente forma:

ceφe = ce

P+ φ

E

2

)

− cep

(

φW− 2φ

P+ φ

E

)

− cem

(

φE E − 2φ

E+ φ

P

)

, (62)

cwφw = cw

P+ φ

W

2

)

− cwp

(

φW W− 2φ

W+ φ

P

)

− cwm

(

φE− 2φ

P+ φ

W

)

, (63)

en donde cep, cem, cwp y cwm son funciones que dependen de ce y cw. La forma de cep

y cem se muestra en la ecuacion (64) y en la figura 12; definiciones similares se hacenpara cwp y cwm. Los terminos cnφn, csφs, cfφf y cbφb se aproximan de igual manera.

cep =f

8=

ce

8si ce > 0,

0 si ce ≤ 0,cem =

g

8=

0 si ce ≥ 0,

− ce

8si ce < 0.

(64)

Usando las definiciones anteriores, los coeficientes convectivos toman la forma sigu-iente:

1Se ha usado en este documento el termino adveccion para denotar a los terminos que tienen quever con el movimiento del fluido. Algunos autores utilizan el termino conveccion.

Page 29: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

28 INDICE

c e

e

2

c + |c |ec =ef( )

1 2 30−1

1

f

c e−1−2−3

e

2

ec =e

c − |c |g( )

10

−1

g

Figura 12: Definicion de las funciones f y g.

CE

=−ce

2+ cep − 2cem + cwm, C

W=

cw

2+ 2cwp − cwm + cep,

CN

=−cn

2+ cnp − 2cnm + csm, C

S=

cs

2+ 2csp − csm + cnp,

CF

=−cf

2+ cfp− 2cfm + cbm, C

B=

cb

2+ 2cbp − cbm + cfp, (65)

CP

=CE

+ CW

+ CN

+ CS

+ CF

+ CB

+cem− cwp + cnm− csp + cfm− cbp+

(ce − cw) + (cn− cs) + (cf − cb).

El orden de aproximacion de este esquema es de O(∆x3), vease [20].

4. Acoplamiento presion-velocidad

La adveccion de una variable escalar φ depende de la magnitud y direccion de la ve-locidad. En general, la velocidad no se conoce y debe calcularse como parte del procesode solucion junto con las otras variables del flujo. Las ecuaciones para cada compo-nente de la velocidad — ecuaciones de cantidad de movimiento — pueden derivarse dela ecuacion general (1). En el caso de flujos incompresibles, la velocidad debe satisfac-er la ecuacion de continuidad. Para describir el metodo de solucion, reescribimos lasecuaciones de cantidad de movimiento y de continuidad como sigue:

∂u

∂t+ u

∂u

∂x+ v

∂u

∂y+ w

∂u

∂z= −

∂p

∂x+ Γ

∂2u

∂x2+ Γ

∂2u

∂y2+ Γ

∂2u

∂z2+ Su,

∂v

∂t+ u

∂v

∂x+ v

∂v

∂y+ w

∂v

∂z= −

∂p

∂y+ Γ

∂2v

∂x2+ Γ

∂2v

∂y2+ Γ

∂2v

∂z2+ Sv, (66)

∂w

∂t+ u

∂w

∂x+ v

∂w

∂y+ w

∂w

∂z= −

∂p

∂z+ Γ

∂2w

∂x2+ Γ

∂2w

∂y2+ Γ

∂2w

∂z2+ Sw.

Page 30: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

4.1 Mallas desplazadas 29

∂u

∂x+

∂v

∂y+

∂w

∂z= 0. (67)

La solucion de estas ecuaciones presenta algunos problemas:

Los terminos advectivos de las ecuaciones de cantidad de movimiento son canti-dades no lineales.

Las ecuaciones estan fuertemente acopladas debido a que cada componente de lavelocidad aparece en cada ecuacion de cantidad de movimiento.

El problema mas complejo es resolver el papel que juega la presion: no existeexplıcitamente una ecuacion para la presion.

Estos problemas, asociados con la no linealidad de las ecuaciones, pueden resolverseadoptando una estrategia de solucion iterativa. El metodo SIMPLEC (Semi-ImplicitMethod for Pressure Linked Equations – Consistent) [9] es usado aquı y se presenta masadelante.

4.1. Mallas desplazadas

La forma mas sencilla de aproximar el gradiente de presiones, que aparece en lasecuaciones (66), es mediante una interpolacion lineal. Por ejemplo, para la ecuacion endireccion x se tiene, de la figura 11, que:

(∂p

∂x

)

P

≈pe − pw

∆x=

(p

E+p

P

2

)

−(

pP

+pW

2

)

∆x=

pE− p

W

∆x. (68)

En la ecuacion anterior se observa que el valor de la presion en el nodo central P ,no aparece. Esto puede ocasionar campos de presiones con oscilaciones no realistas.Es claro entonces, que si las velocidades estan definidas en los puntos centrales de lamalla, la influencia de la presion no estara representada correctamente. Un remedioa este problema es utilizar mallas desplazadas (staggered grids) para las componentesde la velocidad. La idea es evaluar las variables escalares, tales como la presion y latemperatura en los centros de los volumenes de control; mientras que las velocidadesse evaluan en las caras de los mismos volumenes. El arreglo para las tres componentesde la velocidad se muestra en la figura 13. Se observa que el punto central P , parala componente u de la velocidad, se desplaza a la cara w. Para las otras componentesse hace un desplazamiento similar. Con este arreglo, el gradiente de presiones, en laecuacion para u se calcula de la siguiente forma:

(∂p

∂x

)

w

≈p

P− p

W

∆x. (69)

Una ventaja adicional de las mallas desplazadas es que genera velocidades en loslugares exactos donde se requiere para las ecuaciones escalares y por lo tanto no esnecesario realizar interpolaciones.

Page 31: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

30 INDICE

∆y

∆yn

y∆ s

∆zb z∆ f

z∆x∆

∆xw ∆xey

xz

y

z−x

VC para u VC para v VC para w

N

S

W E

N

S

B F

Corte en el planoCorte en el plano xy yz

s

n

e

n

fP P

s

w b

Figura 13: Malla y volumenes de control (VC) para las componentes de la velocidad.

4.2. Ecuacion de correccion a la presion

Una relacion para calcular la presion se puede obtener a partir de las ecuaciones (66)y (67). Aplicando el metodo de volumen finito a la ecuacion de cantidad de movimientopara u en una malla desplazada como se muestra en la figura 13, se obtiene:

aPu

P=

nb

anb

unb

+ bu + Au(pW− p

P), (70)

donde se escribe explıcitamente el gradiente de presiones. En esta ecuacion nb = E, W , N, S, F , B,Au = ∆y∆z es el area de la cara w del volumen de control y bu es el termino fuente.

Ahora, dado que no conocemos la presion, definimos p∗ como una presion aproxima-da. Esta presion produce una velocidad aproximada u∗. Por lo tanto se produce:

aPu∗

P=

nb

anb

u∗nb

+ bu + Au(p∗W− p∗

P). (71)

Para obtener u y p correctas se deben corregir los valores aproximados mediante

Page 32: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

4.3 SIMPLEC 31

p = p∗ + p′ y u = u∗ + u′. Una relacion entre p′ y u′ se obtiene restando las ecuaciones(70) y (71):

aPu′

P=

nb

anb

u′nb

+ Au(p′W− p′

P). (72)

En los metodos del tipo SIMPLE se encuentra una ecuacion discreta ya sea para lapresion p o para la correccion a la presion p′ y se resuelve dentro del ciclo global delmetodo.

4.3. SIMPLEC

En el SIMPLE se realiza una aproximacion consistente que genera una expresionsencilla para p′. En este algoritmo se resta el termino

∑a

nbu′

Pen ambos lados de la

ecuacion (72), de tal forma que se tiene:

(aP−

nb

anb

)u′P

=∑

nb

anb

(u′nb− u′

P)

︸ ︷︷ ︸

≈0

+Au(p′W− p′

P). (73)

La diferencia (u′nb−u′

P) es aproximadamente igual a cero, para todo nb y para mallas

relativamente finas. Por lo tanto, es posible eliminar este termino de la ecuacion, de talmanera que la velocidad corregida estara dada por:

uP

= u∗P

+ u′P

= u∗P

+ du(p′W− p′

P), (74)

donde

de = Ae/(aP−

anb

). (75)

Las correciones para las componentes v y w se escriben como:

vP

= v∗P

+ v′P

= v∗P

+ dv(p′S− p′

P), (76)

wP

= w∗P

+ w′P

= w∗P

+ dw(p′B− p′

P), (77)

La ecuacion para p′ se obtiene sustituyendo las ecuaciones (74), (76) y (77) en laecuacion (67) :

aPp′

P= a

Ep′

E+ a

Wp′

W+ a

Np′

N+ a

Sp′

S+ a

Fp′

F+ a

Bp′

B+ bp, (78)

donde los coeficientes estan definidos como sigue:

a′

E= duAu, a′

W= duAu, a′

N= dvAv,

a′S

= dvAv, a′F

= dwAw, a′B

= dwAw,

bp = −(u∗e− u∗

w)∆y∆z − (v∗

n− v∗

s)∆x∆z − (w∗

f− w∗

b)∆x∆y (79)

Page 33: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

32 INDICE

De esta manera se tiene una ecuacion para la correccion a la presion, con la que secompleta el sistema de ecuaciones. La definicion de bp es exactamente la forma discretade la ecuacion de continuidad para u∗, v∗ y w∗, que produce el metodo de volumen finito.Cuando este coeficiente es igual a cero, significa que dichas velocidades cumplen con laecuacion de continuidad. Este es el criterio de convergencia que se usa en los ejemplosmostrados al final de este texto.

En problemas de conveccion natural la diferencia de temperaturas es la que promueveel movimiento, por lo tanto es importante resolver primero la ecuacion de energıa y luegolas ecuaciones de cantidad de movimiento y la de correccion a la presion. Entonces, lospasos que sigue el metodo SIMPLEC, adaptado a problemas de conveccion natural son:

1. Se inicia con campos aproximados: T ∗, p∗, u∗, v∗ y w∗

2. Se resuelve la ecuacion de energıa para obtener T .

3. Se resuelven las ecuaciones de cantidad de movimiento usando los campos de pre-sion y velocidad iniciales aproximados (p∗, u∗, v∗, w∗ ) y el campo de temperaturasT .

4. Se calculan los coeficientes de la ecuacion de presion pnb usando los coeficientesde las ecuaciones de cantidad de movimiento.

5. Se resuelve la ecuacion de correccion a la presion.

6. Se corrige la presion mediante p = p∗ + p′.

7. Se corrige la velocidad mediante ecuaciones (74), (76) y (77).

8. Se verifica el criterio de convergencia:

a) Si bp ≤ ǫs ir al paso 9.

b) Si bp > ǫs regresar al paso 2

donde ǫs es la tolerancia especificada.

9. Fin

5. Solucion de los sistemas lineales

La discretizacion de las ecuaciones gobernantes produce sistemas lineales como elmostrado en la ecuacion (52). La complejidad y tamano del conjunto de ecuacionesdepende de la dimension del problema, el numero de puntos de la malla y la estrate-gia de discretizacion. Aunque es posible utilizar cualquier procedimiento valido pararesolver el conjunto de ecuaciones algebraicas, los recursos de computo disponibles sonuna restriccion muy fuerte. Existen dos familias de metodos para resolver los sistemas:

Page 34: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

5.1 TDMA 33

directos e iterativos. Los metodos iterativos son generalmente mucho mas economicosque los directos y por ello son preferidos cuando la matriz es dispersa. En este trabajo seha usado un metodo iterativo que se basa en el algoritmo directo de Thomas o TDMApara matrices tridiagonales.

5.1. TDMA

El TDMA es un metodo directo para resolver de manera simple y eficiente sistemastridiagonales. En una dimension, la matriz del sistema es tıpicamente tridiagonal, porlo tanto el TDMA es aplicado directamente, vease figura 14.

W P E

Sistema lineal en 1D

x bA

TDMA en 1D

Puntos en la frontera del dominio Puntos donde se resuelve

Figura 14: TDMA en 1D.

El TDMA puede resumirse como sigue: Considerese el siguiente sistema tridiagonalde N ×N :

a1 b1 0 0 0 . . .

c2 a2 b2 0 0 . . .

0 c3 a3 b3 0 . . .

0 0 c4 a4 b4 . . .

0 0 0 c5 a5 . . ....

......

......

. . .

x1

x2

x3

x4

x5...

=

d1

d2

d3

d4

d5...

Para encontrar la solucion del sistema anterior se realizan los siguientes pasos:

1. Calcular P1 = b1/a1 y Q1 = d1/a1

2. Desde i = 2 hasta i = N, calcular lo siguiente:

Pi =bi

ai − ciPi−1

, Qi =di + ciQi−1

ai − ciPi−1

. (80)

Page 35: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

34 INDICE

3. Hacer xN

= QN

4. Desde i = N-1 hasta i = 1, hacer la sustitucion hacia atras:

xi = Pixi+1 + Qi (81)

5.2. Aplicacion del TDMA en 2 y 3 dimensiones

El TDMA puede ser aplicado iterativamente, lınea por lınea, para resolver problemasen 2 y 3 dimensiones y es ampliamente usado en problemas de CFD. Considerese la figura15 y una ecuacion discreta que tiene la forma:

aPφ

P= a

E+ a

W+ a

N+ a

S+ S

P. (82)

Puntos donde se resuelve Puntos en la frontera

del dominio

Puntos donde los valores

se consideran conocidos

x

y

PW E

N

S

Sistema lineal en 2D

xA b

TDMA en 2D

j

j+1

Figura 15: TDMA en 2D.

Para resolver el sistema, el TDMA es aplicado a lo largo de lıneas horizontales overticales. Por ejemplo, en la direccion x la ecuacion (82) se rearregla de la siguienteforma:

− aW

φW

+ aPφ

P− a

E= a

N+ a

S+ S

P. (83)

El lado derecho de esta ultima ecuacion se supone conocido, y los valores de φN

Sse toman de la iteracion anterior. La ecuacion (83) representa un sistema tridiagonal

donde b = aE, c = a

W, a = a

Py d = a

N+ a

S+ S

P. De esta manera el sistema

puede resolverse a lo largo de la direccion x. Una vez resuelto el sistema en la lınea

Page 36: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

5.2 Aplicacion del TDMA en 2 y 3 dimensiones 35

j, se actualizan los valores de φ y se resuelve la lınea siguiente j + 1. La secuencia enque las lıneas se van resolviendo se conoce como la direccion de barrido, en este caso,dicha direccion es +x. El mismo procedimiento se realiza en la direccion y. El calculoes repetido varias veces hasta obtener convergencia.

Para problemas tridimensionales el metodo se aplica lınea por lınea sobre un planodeterminado y luego se pasa a un plano paralelo y se continua el calculo. Por ejemplo,para resolver a lo largo de la direccion x en un plano xz, vease figura 16, la ecuaciondiscreta se escribe como sigue:

− aW

φW

+ aPφ

P− a

E= a

N+ a

S+ a

F+ a

B+ S

P. (84)

Puntos donde los valores

se consideran conocidos

Puntos donde se resuelve

del dominio

Puntos en la frontera

x

z

y

F

S

N

B

EW

P

x bA

Sistema lineal en 3D

TDMA en 3D

k+1

k

j

Figura 16: TDMA en 3D.

Los valores en N , S, F y B, del lado derecho, se consideran conocidos y son tomadosde la iteracion anterior. Ası, los valores φ se calculan a lo largo de la direccion x medianteel TDMA. Luego, el calculo se mueve de la lınea k a la k + 1 hasta cubrir todo el planoj. Despues, se mueve el calculo al plano j + 1 hasta cubrir todo el dominio.

En dos y tres dimensiones la convergencia puede ser acelerada alternando la direccionde barrido de tal manera que toda la informacion de las condiciones de frontera se

Page 37: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

36 INDICE

transporte efectivamente dentro del dominio de estudio.

6. Problemas no estacionarios

La ecuacion general de transporte (1) se puede escribir como sigue:

∂φ

∂t+

∂x(uφ) +

∂y(vφ) +

∂z(wφ) =

∂x

(

Γ∂φ

∂x

)

+∂

∂y

(

Γ∂φ

∂y

)

+∂

∂z

(

Γ∂φ

∂z

)

+ Sφ

Integrando la ecuacion anterior en un volumen de control, ∆V , y en un intervalo detiempo, ∆t, se obtiene

∆V

∫ k+1

k

∂φ

∂tdtdV +

∫ k+1

k

∆V

[ ∂

∂x(uφ) +

∂y(vφ) +

∂z(wφ)

]

dV dt =

∫ k+1

k

∆V

[ ∂

∂x

(

Γ∂φ

∂x

)

+∂

∂y

(

Γ∂φ

∂y

)

+∂

∂z

(

Γ∂φ

∂z

)

+ Sφ

]

dV dt

donde k ≡ t y k + 1 ≡ t + ∆t.Considerando que el valor de φ prevalece sobre todo el volumen, entonces la primera

integral del lado izquierdo se puede calcular facilmente de tal manera que es posibleescribir:

[φk+1

P− φk

P

]∆V +

∫ k+1

k

Cdt =

∫ k+1

k

[D + S] dt.

donde se han agrupado los terminos convectivos, difusivos y el fuente en C, D y S,respectivamente.

Para evaluar las integrales sobre el tiempo, es necesario hacer algunas suposicionesacerca de la variacion de φ en cada volumen de control con respecto al tiempo. Es posibleusar el valor de φ en el tiempo t, en el tiempo t + ∆t o una combinacion de ambos.

Lo anterior se generaliza mediante el uso de un parametro de peso, θ, cuyo valoresta en el intervalo [0, 1]. Esto se conoce como esquema θ y se escribe:

∫ k+1

k

fdt =[θfk+1 + (1− θ)fk

]∆t

=⇒

∫ k+1

k

fdt =

fk∆t para θ = 0

fk+1∆t para θ = 1[fk+1 + fk

]∆t2

para θ = 12

Ahora, tomando en cuenta que el termino fuente se linealiza mediante S∆V =Su + S

Pφk

P, se tiene:

Page 38: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

6.1 Esquema Explıcito: Forward Euler 37

[φk+1

P− φk

P

] ∆V

∆t= θ

[D(φk+1

nb )−C(φk+1nb ) + Su + S

Pφk+1

P

]

+(1− θ)[D(φk

nb)−C(φknb) + Su + S

Pφk

P

]

Aquı C y D son funciones de φnb evaluado en el instante k y/o k + 1, dependiendodel valor de θ. La forma de dichas funciones depende de los esquemas numericos que seusen en la aproximacion de los diferentes terminos. El subındice nb = E,W ,N ,S,F ,Bindica en que punto vecino se evalua φ.

6.1. Esquema Explıcito: Forward Euler

En este esquema se toma θ = 0

[φk+1

P− φk

P

] ∆V

∆t= D(φk

nb)−C(φknb) + S

u+ S

Pφk

P

De aquı se obtiene:

φk+1P

= φkP

+∆t

∆V

[D(φk

nb)−C(φknb) + S

u+ S

Pφk

P

]

La ecuacion anterior es trivial, pues se obtiene el valor de φk+1P

mediante valores de φconocidos del tiempo anterior k. Este esquema es condicionalmente estable y en generalno es muy recomendable.

6.2. Esquema Implıcito: Backward Euler

En este esquema se toma θ = 1

[φk+1

P− φk

P

] ∆V

∆t= D(φk+1

nb )−C(φk+1nb ) + S

u+ S

Pφk+1

P

De aquı se obtiene:

φk+1P

∆V

∆t+ C(φk+1

nb )−D(φk+1nb )− S

Pφk+1

P= φk

P

∆V

∆t+ S

u

Como se puede observar, es necesario resolver un sistema de ecuaciones en cada pasode tiempo. Este esquema es incondicionalmente estable para cualquier paso de tiempo.Sinembargo, debido a que el esquema es de primer orden en el tiempo, es necesario usarpasos de tiempo pequenos para obtener buena precision en la solucion. Este esquema esrecomendable para problemas no estacionarios.

Page 39: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

38 INDICE

6.3. Esquema Crank-Nicolson: Centred Differencing

En este esquema se toma θ = 1/2

[φk+1

P− φk

P

] ∆V

∆t=

1

2

[D(φk+1

nb )−C(φk+1nb ) + Su + S

Pφk+1

P

]

+1

2

[D(φk

nb)−C(φknb) + Su + S

Pφk

P

]

De aquı se obtiene:

φk+1P

∆V

∆t−

1

2

[D(φk+1

nb )−C(φk+1nb ) + S

Pφk+1

P

]=

φkP

∆V

∆t+

1

2

[D(φk

nb)−C(φknb) + S

Pφk

P

]+ Su

En este esquema tambien es necesario resolver un sistema de ecuaciones en cadopaso de tiempo. Este esquema, conocido como Crank-Nicholson, es condicionalmenteestable, aunque las limitaciones en el paso de tiempo son menos restrictivas que enel caso explıcito. Crank-Nicolson es de segundo orden en tiempo dado que se basa endiferencias centrales.

Page 40: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

7 Paradigmas de programacion 39

7. Paradigmas de programacion

El computo cientıfico ha evolucionado rapidamente en las ultimas decadas alacan-zando un alto grado de complejidad. Los vastos avances en el desarrollo de nuevasarquitecturas de hardware y en el desarrollo de metodos numericos modernos proveende una herramienta para resolver cada vez problemas mas complicados. Como resultado,varios problemas importantes para la sociedad se han podido resolver con un alto gradode precision, de tal manera que hoy en dıa el computo cientıfico es indispensable enmuchas areas del conocimiento.

La solucion de estos problemas requiere de la implantacion de algoritmos numericossofisticados, los cuales necesitan ser transportables entre las diferentes arquitecturas decomputo existentes, y ademas tener una alta eficiencia. Estos tres elementos: sofisti-cacion, hardware y eficiencia, demandan un nivel de abstraccion alto en los codigos sinperdida en el desempeno de los mismos.

La mayorıa de los codigos desarrollados en computo cientıfico se construyen usandolenguajes estructurados como F77 o C, pues con estos lenguajes se obtiene alto de-sempeno sin mucho esfuerzo. Pero por otro lado, el nivel de abstraccion que se puedealcanzar es relativamente bajo, y es posible que no exista relacion directa de las con-strucciones del codigo con las entidades del dominio del problema. Esto ultimo ocasionaque el codigo sea de difıcil lectura y frecuentemente es muy complicado, y en algunasocasiones imposible, darle una buena organizacion, y por lo tanto el mantenimiento yla extension de dicho codigo resultan en procesos largos, tediosos y sobre todo costosos.Lo anterior inhibe la reutilizacion de partes del codigo.

Las complicaciones descritas antes caraterizan lo que se conoce como la crisis delsoftware : incapacidad de desarrollar software que sea lo suficientemente simple paraser entendido, mantenido y extendido por cualquier desarrollador, y que ademas seacapaz de proveer soluciones a problemas muy complejos, vease [4].

Una manera de evitar los problemas de la crisis del software, es siguiendo algunatecnica ordenada de desarrollo, como por ejemplo la descrita en [16], en combinacioncon paradigmas de programacion actuales. En los ultimos anos se ha observado que me-diante el uso de los paradigmas de programacion de orientacion a objetos, programaciongenerica y programacion en paralelo, es posible construir software con las caracterısti-cas necesarias para reutilizarlo en diferentes situaciones y ademas con un rendimientocomparable al que se obtiene con los lenguajes estructurados.

7.1. Programacion Orientada a Objetos

El paradigma de programacion orientada a objetos (POO) tiene como principal ob-jetivo el manejo de la complejidad del software. Los conceptos basicos de abstraccion,encapsulacion, mensajes, polimorfismo y herencia, permiten desarrollar programas defacil manejo y control, tanto para el desarrollador como para el usuario final. Mu-chos esfuerzos se han realizado para generar sistemas de software cientıfico usando esteparadigma, vease [25].

Page 41: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

40 INDICE

En la POO se construyen abstracciones para modelar alguna entidad del dominiodel problema, y en ellas se encapsula la informacion relevante de esta y las funcionesu operaciones que se realizaran sobre dicha informacion. Una referencia clasica de esteparadigma de programacion es el libro de Grady Booch [4].

7.2. Programacion Generica

La POO puede ir mas alla mediante la construccion de abstracciones genericas. Estees el objetivo principal de la programacion generica (PG), en donde ademas poder re-utilizar estas abstracciones en un amplio rango de aplicaciones, se mantiene la eficienciade los codigos.

Mediante la construccion de componentes genericas se reduce el numero de lıneasde codigo y se contruyen programas que se pueden adaptar a cualquier tipo de datoabstracto. Para mas informacion acerca de este paradigma, se recomienda revisar [36].En el lenguaje C++, la herramienta de plantillas o templates permite construir codigogenerico.

En la biblioteca estandar de plantillas de C++ (STL), que es el ejemplo mas conocidode programacion generica, existen estructuras de datos que se conocen como contene-dores y cumplen con ciertos requisitos para funcionar con algoritmos genericos a travesde iteradores contenidos en la misma STL [1, 17, 23]. Por ejemplo, el algoritmo ac-cumulate(), que suma el valor de las entradas de un contenedor, se puede usar comosigue:

double x[10];

vector<double> y[10];

list<complex<double>> z(10);

a = accumulate(x, x+10, 0.0);

b = accumulate(y.begin(), y.end(), 0.0);

c = accumulate(z.begin(), z.end(), 0.0);

En este ejemplo se observa como el algoritmo accumulate() puede ser usado indepen-diente de la estructura de datos que se le pasa como argumento.

Usando algoritmos genericos y modelos, se reduce el codigo: si se tienen M algoritmosy N modelos (estructuras de datos), la cantidad de codigo que se debe construir en elparadigma de programacion estructurada (F77 y/o C) es O(M × N), mientras que enla programacion generica la cantidad de codigo serıa de O(M + N).

8. Programacion paralela

Las computadoras tradicionales, con un solo procesador, estan basadas en el modelointroducido por John von Neumann [5]. Este modelo consiste de una unidad central deprocesamiento (CPU) y una memoria. Este tipo de computadoras toma una secuencia

Page 42: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

8.1 Organizacion de la memoria 41

simple de instrucciones y opera sobre secuencias simples de datos. Las computadoras deeste tipo se conocen como SISD (Single Instruction Single Data). La velocidad de unacomputadora SISD esta limitada basicamente por dos factores: velocidad del procesadory capacidad de memoria. La velocidad del procesador se incrementa segun la ley deMoore [22], pero existe un lımite fısico: la separacion entre transistores no puede sermenor que la separacion entre partıculas elementales. La capacidad y velocidad de accesoa la memoria se mejoran mediante diferentes tecnologıas (que incluyen cache, memoryinterleaving y pipelining) pero tambien existen limitaciones [19].

Una manera alterna para mejorar la velocidad de ejecucion es el uso de multiplesCPUs con su memoria, interconectados de alguna manera. En teorıa, la razon de proce-samiento crecera conforme se incremente el numero de procesadores. Las computadorasque contienen multiples procesadores se conocen como computadoras parallelas y exis-ten diferentes tipos que se clasifican de acuerdo a su arquitectura. La clasificacion deFlynn [12] es la mas conocida y consiste de las siguientes categorıas:

SISD (Single Instruction, Single Data) : Computadoras tradicionales que procesan in-strucciones de manera serial.

SIMD (Single Instruction, Multiple Data) : Computadoras con varios procesadores quetrabajan concurrentemente y ejecutan las mismas instrucciones sobre conjuntos dedatos diferentes.

MISD (Multiple Instruction, Single Data) : Computadoras con varios procesadoresdonde cada uno de ellos puede modificar los datos antes de pasar al siguienteprocesador, el cual realiza otro tipo de operaciones sobre los mismos datos.

MIMD (Multiple Instruction,Multiple Data): Computadoras en las que cada proce-sador es capaz de ejecutar conjuntos de instrucciones diferentes independiente delos otros procesadores.

8.1. Organizacion de la memoria

Resolver un problema en un ensamble de procesadores requiere de la interaccionentre procesadores. Esta interaccion esta determinada por los dos tipos basicos de ar-quitecturas: memoria compartida y memoria distribuida.

Memoria compartida : Los diferentes procesadores comparten un espacio de memo-ria global a la cual acceden mediante un canal o bus de datos de alta velocidad.Este espacio de memoria global permite a los procesadores intercambiar o com-partir datos. El numero de procesadores usado en una arquitectura de este tipoesta limitado por el ancho de banda del bus de datos que conecta a los proce-sadores.

Memoria distribuida : Cada procesador tiene su propia memoria local o privada.Todos los procesadores o nodos tienen acceso rapido a su memoria local y pueden

Page 43: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

42 INDICE

acceder a la memoria de otros nodos a traves de una red, la cual debe permitircomunicaciones de alta velocidad. Los datos que se intercambian entre los nodosson enviados como mensajes sobre la red.

8.2. Modelos de programacion

La programacion en una arquitectura multiprocesador se puede hacer basicamentede dos maneras:

Paralelismo de memoria compartida, por medio de directivas. Este tipo de pro-gramacion puede ser implementado con HPF (High Performance Fortran) [14] ocon OpenMP [24], donde un codigo serial se paraleliza adicionando directivas (lascuales aparecen como comentarios cuando se realiza una ejecucion serial) que ledicen al compilador como distribuir los datos y el trabajo entre los procesadores.Los detalles de la distribucion de los datos y comunicaciones son realizados porel compilador. Estas implementaciones se realizan usualmente en arquitecturas dememoria compartida debido a que el espacio global de memoria simplifica grande-mente la escritura de los compiladores.

Progamacion en envıo de mensajes, mediante llamadas a funciones. Este segundoenfoque puede implementarse en ambos tipos de arquitectura de memoria. En estecaso el programador es responsable de dividir explıcitamente los datos y el traba-jo entre los procesadores, ası como manejar las comunicaciones entre ellos. Esteenfoque es muy flexible y portable a diferentes tipos de maquinas. Se puede im-plementar con PVM (Parallel Virtual Machine) [28] y con MPI (Message PassingInterface) [13, 31].

8.3. Comunicaciones

El hardware que permite a los procesadores comunicarse es un aspecto crıtico enambos tipos arquitecturas de memoria. Desde un punto de vista abstracto no hace muchadiferencia si se conectan procesadores al bus de memoria o si se conectan computadorasentre sı. El papel que juega la red en un cluster de PCs es comparable al papel del busde datos en una computadora de memoria compartida.

En general, un programador no necesita conocer la topologıa de interconeccion delos procesadores para construir un programa paralelo. El software que maneja la red y elhardware de las computadoras paralelas actuales esconden los detalles de bajo nivel de lared, permitiendo a los codigos enviar trabajos a cualquier procesador de la computadora.Sin embargo, es util tomar en cuenta dos aspectos de las redes que son relevantes parael diseno de un algoritmo.

1. Razon de transferencia de datos. El modelo estandar de una red involucra dosparametros:

Page 44: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

8.4 Descomposicion del problema 43

La latencia (network latency) L(seg), que es el tiempo necesitado para iniciarla coneccion entre dos procesadores.

El ancho de banda (bandwidth) B( bytesseg

), que es la razon a la cual los datosson intercambiados despues de que se ha iniciado una coneccion.

El tiempo td para transferir b bytes de datos es:

td = L +b

B(85)

De lo anterior se observa claramente que es mejor enviar un mensaje largo, en vezde un conjunto de mensajes cortos, aun si la cantidad total de datos transferidoses la misma.

2. Comunicaciones locales y globales. Los diferentes modelos de programacion par-alela permiten comunicaciones uno a uno, todos a uno y todos a todos. Cada unode estos tipos de comunicacion tiene sus costo. Un ejemplo tıpico es el productopunto entre dos vectores u ·v =

∑Ni=1 uivi. Si cada uno de los P procesadores tiene

un subconjunto de las componentes de ambos vectores, estos realizan una sumaparcial local sin necesidad de comunicaciones. Pero el resultado final involucranecesariamente comunicaciones globales, que dependendiendo de P y L puedenser mas caras que las sumas parciales realizadas en paralelo.

8.4. Descomposicion del problema

El primer paso en el diseno de un algoritmo paralelo es descomponer el problemaen subproblemas mas simples. Luego, cada uno de estos subproblemas se asignan adiferentes procesadores en donde se resuelven simultaneamente. Existen basicamentedos tipos de descomposicion: descomposicion de dominio y descomposicion funcional.

Descomposicion de Dominio (DD) : En el modelo de descomposicion de dominio oparalelismo de datos, los datos se dividen en porciones de aproximadamente el mis-mo tamano que se mapean a diferentes procesadores. Cada procesador trabaja conla porcion de datos que le fue asignada. En algunos problemas los procesadoresnecesitaran comunicarse periodicamente para intercambiar informacion. Un al-goritmo en este modelo consiste de una secuencia de instrucciones elementalesaplicadas a los datos. La arquitectura SIMD se acopla a este tipo de paralelismo,donde copias del mismo codigo se ejecutan sobre diferentes porciones de datos endiferentes procesadores. La estrategia DD se emplea comunmente en algoritmospara resolver ecuaciones diferenciales parciales con valores a la frontera, donde losprocesadores pueden operar independientemente sobre porciones de datos grandes,comunicando solo una pequena parte de datos (la frontera) en cada iteracion.

Page 45: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

44 INDICE

Descomposicion Funcional (DF) : Frecuentemente, la estrategia de descomposicionde dominio resulta no ser la mas eficiente para un programa en paralelo. Estosucede cuando las porciones de datos asignadas a los diferentes procesadores re-quieren de espacios de tiempo muy distintos para ser procesadas. Entonces, elrendimiento del codigo esta limitado por la velocidad del procesador mas lento.Los procesadores que terminan primero permanecen inactivos hasta que el proce-sador mas lento finaliza su trabajo. En este caso, la descomposicion funcional oparalelismo de tareas es mas efectivo que la descomposicion de dominio. En elparalelismo de tareas, el problema se descompone en un numero grande de tar-eas pequenas, las cuales se van asignando a los procesadores conforme estos estendisponibles. A los procesadores que terminan su trabajo mas rapido simplementese les asigna otra tarea. El paralelismo de tareas se implementa en un modelo decliente-servidor. Las tareas se distribuyen entre un grupo de procesadores esclavospor un procesador maestro, el cual tambien puede realizar algunas tareas. El mod-elo de cliente-servidor puede ser implementado virtualmente a cualquier nivel delprograma. Por ejemplo, si se desea ejecutar un programa con diferentes entradas,una implementacion cliente-servidor puede ejecutar multiples copias del codigoserial, con el servidor asignando las diferentes entradas a cada proceso cliente.Conforme cada procesador vaya terminando su tarea se le asignara una nuevacon una entrada diferente. Un ejemplo donde este tipo de descomposicion es utiles en aplicaciones que se ejecutan en tiempo real, que es el caso de sistemas devisualizacion interactiva y realidad virtual.

8.5. Metricas y otros factores

El principal objetivo de un programa paralelo es resolver un problema en menostiempo comparado con la version serial del mismo. En el diseno de un codigo paralelo sedeben considerar algunos factores importantes para obtener el mejor rendimiento posibledentro de las restricciones del problema que se este resolviendo. Para medir el beneficiodel paralelismo existen algunas parametros estandares que son usados ampliamente yque se describen a continuacion.

8.6. Balance de carga

El trabajo total de calculo que se realizara para resolver el problema, debe ser dividi-do equitativamente entre el numero de procesadores disponibles. Esto se hace facilmentecuando el mismo conjunto de operaciones es realizado por todos los procesadores, sobrediferentes porciones de datos. En el caso de DD el balance de carga es obtenido au-tomaticamente si las porciones de datos son iguales, aunque en algunos casos se debenconsiderar las condiciones en las que esto es valido. Por ejemplo si un procesador deberesolver la capa lımite de un flujo, este tardara mas que otros procesadores que no lohacen, aun cuando trabajen sobre porciones de datos del mismo tamano. En el casode la DF, el balance de carga es mas importante, pues es necesario asignar tareas del

Page 46: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

8.7 Metricas de rendimiento 45

mismo peso a cada procesador para evitar que haya procesadores ociosos, mientras queotros trabajan al 100 %.

8.7. Metricas de rendimiento

Algunas de las metricas que se utilizan frecuentemente para medir el rendimiento deprogramas paralelos son las siguientes:

Tiempo de ejecucion : El tiempo de ejecucion de un programa serial se denota porTs El tiempo de ejecucion en paralelo se mide a partir del momento en que elcalculo en paralelo inicia hasta que el ultimo procesador termina su ejecucion, yse denota por Tp. El tiempo total de ejecucion de un programa en paralelo debetomar en cuenta el tiempo de calculo, el tiempo de inactividad y el tiempo decomunicacion.

Aceleracion (Speedup) : Es una medida que captura el beneficio relativo de resolverun problema en paralelo. Se define como la razon del tiempo que se lleva resolverel problema en un solo procesador entre el tiempo requerido para resolver el mis-mo problema con np procesadores identicos. Entonces, la aceleracion se calculamediante S = Ts/Tp. Una aceleracion ideal para np procesadores serıa S = np.

Eficiencia : La eficiencia mide la fraccion de tiempo que un procesador pasa realizandooperaciones del algoritmo paralelo, es decir, sin incluir comunicaciones, tiemposde espera, etc. Se define como E = S/np. Una eficiencia ideal serıa E = 1.

Costo : Se define el costo de resolver un problema en paralelo como el producto deltiempo de ejecucion en paralelo Tp por el numero de procesadores usados np.Este numero refleja la suma del tiempo que cada procesador gasta resolviendo elproblema. Se tiene un costo optimo si es es proporcional a Ts.

8.8. Sobreposicion de la comunicacion y los calculos

Existen varias formas de minimizar el tiempo inactivo entre los procesadores, y unejemplo es sobreponer los calculos con las comunicaciones. Esto implica ocupar un proce-sador con una o mas tareas nuevas mientras se espera a que termine la comunicacion conotros procesadores. El uso cuidadoso de comunicaciones no bloqueables (non-blocking)hacen posible lo anterior. Sin embargo, es muy difıcil, en la practica, intercalar comuni-caciones y calculos.

8.9. Ley de Amdahl

La ley de Amdahl se escribe como sigue:

Tp = Ts

(Pp

np

+ Ps

)

(86)

Page 47: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

46 INDICE

donde Ps es la porcion del programa que se ejecuta en serie; Pp es la porcion del programaque se ejecuta en paralelo; np es numero de procesadores. Ademas se cumple que Ps +Pp = 1. De la ecuacion (86) tenemos que una medicion de la aceleracion es:

S =Ts

Tp

=

(Pp

np

+ Ps

)−1

(87)

La siguiente tabla muestra el comportamiento de la aceleracion de acuerdo con laley de Amdahl.

Pp S (2) S (4) S (8) S (16)

80 % 1.6 2.5 3.3 4.090 % 1.8 3.0 4.7 6.495 % 1.9 3.5 5.9 9.098 % 1.96 3.7 7.0 12.3

Cuadro 3: Aceleracion en funcion del numero de procesadores y del porcentaje de par-alelizacion del codigo.

Se observa que la aceleracion es muy sensitiva a la porcion paralela PP y al numerode procesadores. Ademas, S no crece linealmente conforme el numero de procesadoresse incrementa. La recomendacion es paralelizar codigos en donde PP ≥ 70 %

8.10. Escalabilidad

En general un numero alto de procesadores disminuye la eficiencia. Por otro lado, seha observado que en algunos casos el incremento del tamano del problema incrementa laeficiencia. Entonces deberıa ser posible mantener la eficiencia constante cuando, tantoel numero de procesadores ası como el tamano del problema se incrementan simultanea-mente. Esta habilidad de mantener la eficiencia constante se conoce como escalabilidad.La escalabilidad de un programa paralelo es la medida de su capacidad de incrementarla aceleracion en proporcion al numero de procesadores. Se dice que un programa esescalable cuando su eficiencia es mayor a 0.5.

9. Descomposicion de dominio y paralelismo

El termino descomposicion de dominio (DD) es utilizado de forma diferente porespecialistas en analisis numerico de ecuaciones diferenciales parciales. En general, DDes un nombre generico que es usado para describir varios tipos de algoritmos. Asuı seusa el termino DD para referirnos al caso en el que el dominio espacial es dividido envarios bloques o subdominios los cuales pueden asignarse a procesadores independientes.

Existen varias motivaciones para utilizar DD:

Page 48: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

9.1 Algoritmo alternante de Schwarz 47

La paralelizacion es facil y se puede obtener un buen escalamiento.

Se pueden simplificar problemas en geometrıas complejas.

Se pueden utilizar diferentes modelos en diferentes subdominios.

Se pueden refinar las mallas localmente en cada subdominio.

Se reducen los requerimientos de hardware (memoria y cpu), pues cada subdominioes mucho mas pequeno que el dominio global.

Se pueden encontrar diferentes clasficaciones para metodos de DD. En general setienen dos tipos de metodos en DD: subdominios con traslape y subdominios sin traslape.En los primeros cada subdominio puede traslaparse con sus vecinos y los algoritmosempleados se basan en el algoritmo alternante de Schwarz. En los segundos, no haytraslape y se utiliza la matriz complemento de Schur en el diseno de los algoritmos. Masdetalles de esta clasificacion se puede encontrar en [29, 30]

9.1. Algoritmo alternante de Schwarz

El metodo de Schwarz fue introducido por primera vez en 1870, que aunque noes originalmente un metodo numerico, puede ser usado para resolver numericamenteecuaciones diferenciales parciales.

Considere el dominio que se muestra en la figura 17, en donde se desea resolver elsiguiente problema:

LΦ = F en Ω, (88)

Φ = G sobre δΩ.

donde L es un operador diferencial, Φ es una variable escalar, F es un termino fuente yG es el valor de Φ en la frontera. En esta descripcion solo se consideran condiciones defrontera de tipo Dirichlet, aunque se pueden incluir otro tipo de condiciones facilmente.

El dominio se descompone en dos subdominios: Ω = Ω1 ∪ Ω1. La nomenclatura quese usa en lo que sigue es la siguiente, vease figura 18:

Los dominios Ω, Ω1, Ω1 no contienen su frontera.

δΩ es la frontera real de Ω.

Ω = Ω ∪ δΩ es la cerradura del dominio.

Γi es una frontera artificial y es parte de la frontera de Ωi que esta en el interiorde Ω.

δΩi\Γi es la frontera de Ωi sin la parte de Γi.

Page 49: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

48 INDICE

Ω1

Ω1∂

Ω∂

Ω

Ω2

Ω2∂

Figura 17: Dominio de estudio y su descomposicion

Φni denota la solucion aproximada en Ωi despues de n iteraciones.

Φni |Γj

es la restriccion de Φni en Γj, donde i 6= j.

∂ | Γ1Ω1

∂ | Γ2Ω2

Γ1Γ2

Figura 18: Dominios usados en el algoritmo alternante de Schwarz.

El metodo alternante de Schwarz comienza seleccionando una solucion inicial en Ω2,que se denota Φ0

2. Entonces, se resuelve iterativamente el siguiente par de problemas,para n = 1, 2, 3, ... :

Page 50: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

9.1 Algoritmo alternante de Schwarz 49

LΦn1 = F en Ω1

Φn1 = G sobre ∂Ω1\Γ1

Φn1 = Φn−1

2 |Γ1sobre Γ1

para Φn1 , seguido por la solucion del problema

LΦn2 = F en Ω2

Φn2 = G sobre ∂Ω2\Γ2

Φn2 = Φn

1 |Γ2sobre Γ2

De esta manera, en la mitad de cada iteracion del metodo alternante de Schwarz, seresuelve un problema en el subdominio Ωi con la condicion g en la frontera real ∂Ωi\Γi,y valores de la iteracion anterior en la frontera Γi.

Ss supone ahora que las ecuaciones han sido discretizadas usando algun metodo,volumen finito por ejemplo. Entonces para el vector Φi se tiene el vector discreto decoeficientes:

φi =

φΩi

φ∂Ωi\Γi

φΓi

(89)

Los coeficientes φ∂Ωi\Γison conocidos, y estan dados por los valores del dominio Ωj

con i 6= j. Los vectores discretos correspondientes a F y G son fi y gi respectivamente.La matriz de coeficientes Ai es la discretizacion del operador L en Ωi. Esta matriz tienetres componentes: A = (AΩi

, A∂Ωi\Γi, AΓi

). La forma discreta de φni |Γj

la escribimoscomo W n

j . Entonces, en forma discreta, un algoritmo alternante de Schwarz se escribecomo sigue:

Algoritmo alternante de Schwarz

01 W 01 ← 0.

02 For n = 1, ...03 Resolver para φn

1 :04 A1φ

n1 = f1 en Ω1

05 φn∂Ω1\Γ1

= g1 sobre ∂Ω1\Γ1

06 φnΓ1

= W n−11 sobre Γ1

07 W n2 ← Φn

1 |Γ2

08 Resolver para φn2 :

09 A2φn2 = f2 en Ω2

10 φn∂Ω2\Γ2

= g2 sobre ∂Ω2\Γ2

11 φnΓ2

= W n2 sobre Γ2

Page 51: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

50 INDICE

12 W n1 ← Φn

2 |Γ1

13 Checar la convergencia:14 Si ||W n

1 −W n−11 || ≤ tolΓ1

y ||W n2 −W n−1

2 || ≤ tolΓ2Fin.

15 Si ||φn1 − φn−1

1 || ≤ tolΩ1y ||φn

2 − φn−12 || ≤ tolΩ2

Fin.16 End For

Notese que este algoritmo es serial, en donde cada iteracion se divide en dos partes:en la primera se resuleve el problema en el Ω1, y en la segunda en el Ω2. Esto correspondea una iteracion del tipo Gauss-Seidel por bloques, en donde cada bloque correspondea un subdominio. Por lo tanto, un algoritmo paralelo se obtiene usando las mismasestrategias usadas en la paralelizacion del algoritmo de Gauss-Seidel, vease [29].

Otra manera es usar una version del algoritmo arriba descrito en terminos de unaiteracion de Jacobi por bloques. En este algoritmo, se suponen conocidas las condicionesen la fronteras internas, Γi, y se resuelve de manera simult’anea un problema similaren cada subdominio. Un algoritmo paralelo de este caso, para K subdominios, es el quesigue:

Algoritmo paralelo alternante de Schwarz

01 Particionar el dominio02 Definir el problema en cada subdominio03 W 0

1 ← 0, ..., W 0K ← 0

04 Parallel For k = 1, ..., K05 For n = 1, ...06 Resolver para φn

k :07 Akφ

nk = fk en Ωk

08 φn∂Ωk\Γk

= gk sobre ∂Ωk\Γk

09 φnΓk

= W n−1k sobre Γk

10 Checar la convergencia :11 Si ||W n

k −W n−1k || ≤ tolΓk

Fin12 Si ||φn

k − φn−1k || ≤ tolΩk

Fin13 End For14 Wait15 Enviar φn

k |Γk−1 a los subdominios vecinos16 W 0

k ← φnnb|Γk

17 End Parallel For

9.2. Particion del dominio

Para resolver un problema en paralelo, primero se genera el dominio global de estudio,despues se determina el tipo de particion conveniente. La particion se aplica sobre eldominio global y se definen las condiciones en las interfases para cada subdominio. Unesquema de una particion tıpica se muestra en la figura 19.

Page 52: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

9.2 Particion del dominio 51

1 4

32

Puntos en las fronteras "fantasma" (ghost)Puntos en la frontera realPuntos de la malla

x

y

2 3

41

(a)

(b)

Dominio global

Subdominios

Partición

Intercambio de información

Figura 19: Descomposicion tipo tablero de ajedrez y correspondencia de las fronterasfantasma.

La particion mostrada en la figura 19 se puede construir facilmente dentro del entornode programacion de envıo de mensajes conocido como MPI [31, 13]. Se utiliza un arreglocartesiano de tal manera que se asignan coordanadas a cada subdominio, de tal maneraque este ultimo conocera de antemano conocer los subdominios vecinos con los que sedebe comunicar, vease figura 20.

Page 53: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

52 INDICE

(0,2)2

(1,2)5

(2,2)8

(2,1)7

(2,0)6

(1,0)3

(0,0)0

(0,1)1

(1,1)4

J

I

(I, J+1)

(I, J)(I−1, J) (I+1, J)

(I, J−1)

(I, J)

Topología Virtual

Comunicación entre subdominios

Coordenadas de la Topología Virtual

Figura 20: Topologıa Virtual (TV) en 2D generada por la particion por bloques. Semuestra la numeracion de los subdominios en terminos de las coordenadas de la TV.

Page 54: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

10 Casos de estudio 53

10. Casos de estudio

En esta seccion se presentan algunos ejemplos de solucion numerica de problemasde conveccion natural usando el metodo de volumen finito presentado anteriormente.Para este efecto se construyo el software TUNA::FVM (Template Units for NumericalApplications:: Finite Volume Method), el cual puede ser obtenido gratuitamente enhttp://www.dci.dgsca.unam.mx/lmcs o enviando un correo a [email protected].

10.1. Conveccion forzada

La ecuacion a resolver es la siguiente:

∂T

∂t+ ~U∇T = ∇2T. (90)

en donde la velocidad ~U = (u, v, w) es conocida y tiene la forma:

~U = (−A cos(πy) sin(πx), A sin(πy) cos(πx), 0) (91)

que representa una celda convectiva que gira en el sentido horario y ademas cumple conla ecuacion de continuidad. Las condiciones de frontera para el caso de dos dimensionesson las que se muestran en la figura 21.

∂∂

T

y= 0

∂∂

T

y= 0

T = 0.5 T = −0.5

Figura 21: Dominio de estudio y condiciones de frontera para el problema de conveccionforzada en 2D.

En dos dimensiones para una malla de 242 se hizo una comparacion entre los tresesquemas CDS, Upwind y QUICK. El resultado se presenta en la figura 22 en dondese muestran contornos de temperatura y una comparacion entre los tres esquemas eny = 0,5.

Page 55: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

54 INDICE

0.4 0.3

0.2

0.1

0.0

−0.1

−0.2

−0.3 −0.4

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

UpwindCD

Quick

T

eje x

(a) (b)

Figura 22: (a) Contornos de temperatura. (b) Corte en y = 0,5, se observa que para losesquemas CD y QUICK el resultado es muy similar.

10.2. Conveccion Natural: regimen laminar

En este ejemplo se muestra la solucion de un problema de conveccion natural enun prisma cubico. Las paredes verticales se mantienen a una diferencia de temperaturaconstante, mientras que las paredes horizontales son adiabaticas. Las ecuaciones que sedeben resolver son (6), (7) y (8). En este caso se utiliza el algoritmo SIMPLEC pararesolver el problema no lineal y desacoplar la presion y velocidad de las ecuaciones deNavier-Stokes.

La figura 23 muestra el resultado en tres dimensiones para una malla de 483, un pasoen el tiempo de 10−4, un numero Prandtl de 0.71 que corresponde al aire y un numerode Rayleigh de 105.

10.2.1. Benchmark: de Vahl Davis

En este ejemplo se resuelve el problema descrito en el benchmark publicado porde Vahl [8]. Es un problema de conveccion natural en dos dimensiones, en donde seconsidera el aire como fluido de estudio cuyo numero de Prandtl es igual a 0.71. Lascantidades que se calculan y comparan son:

Umax velocidad horizontal maxima en la lınea x = 0.5.

y coordenada vertical donde ocurre Umax.

Vmax velocidad vertical maxima en la lınea y = 0.5.

Page 56: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

10.3 Conveccion Natural: regimen turbulento 55

Figura 23: Conveccion natural en tres dimensiones.

x coordenada horizontal donde ocurre Vmax.

Nu Numero de Nusselt en la pared vertical x = 0

El problema se resuelve en una malla de 812 y los resultados numericos se muestranen la tabla 4.

La diferencia porcentual maxima de todas las cantidades calculadas es de 1.7 %.Contornos de velocidad y temperatura, ası como varias trayectorias de partıculas semuestran en la figura 24.

10.3. Conveccion Natural: regimen turbulento

En este ejemplo se resuelve el modelo de turbulencia descrito en la seccion 1.5. Eldominio del problema se muestra en la figura 25.

Las condiciones de frontera que se consideran son:

Page 57: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

56 INDICE

Ra = 103 Ra = 104 Ra = 105 Ra = 106

dVD[8] BibClas dVD[8] BibClas dVD[8] BibClas dVD[8] BibClasUmax 3.649 3.649 16.178 16.184 34.722 34.824 64.630 65.451

y 0.813 0.814 0.823 0.827 0.855 0.864 0.850 0.852Vmax 3.697 3.698 19.617 19.633 68.590 68.684 219.360 218.098

x 0.178 0.179 0.119 0.117 0.066 0.068 0.0379 0.0375Nu 1.117 1.118 2.238 2.248 4.509 4.546 8.817 8.970

Cuadro 4: Comparacion con el benchmark publicado por de Vahl Davis [8]. Los resul-tados numericos fueron obtenidos usando el esquema QUICK, en una malla de 81× 81.

−0.31

−112

11280

−80−64

−48

−32

−16

0.0

16

32

48

64

0.44 0.37

0.310.25

0.19

0.120.060.0

−0.06−0.12

−0.19

−0.25

−0.37 −0.44

27

−27

27

−27

0

0

0

(a)

(c) (d)

(b)

1

2

3

Figura 24: Resultado para Ra = 106 con el esquema QUICK en una malla de 812. (a)Componente u de la velocidad, (b) componente v de la velocidad, (c) temperatura y (d)Trayectoria de partıculas: 1=(0.247,0.370), 2=(0.197,0.556), 3=(0.827,0.444).

u = 0 y T =0.5 para x = 0 0 ≤ y ≤ Ly 0 ≤ z ≤ Lz,u = 0 y T =-0.5 para x = Lx 0 ≤ y ≤ Ly 0 ≤ z ≤ Lz,u = 0 y ∂T/∂z = 0 para 0 ≤ x ≤ Lx 0 ≤ y ≤ Ly z = 0, Lz,u = 0 y ∂T/∂y = 0 para 0 ≤ x ≤ Lx y = 0, Ly 0 ≤ z ≤ Lz .

Page 58: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

10.3 Conveccion Natural: regimen turbulento 57

g

TH TC >

Lz

Ly

Lx

Lz = 2 Lx = 2Ly

HT TC

Figura 25: Geomtrıa del dominio donde se resuelve el problema de turbulencia

Este problema ha sido resuelto numericamente usando diferentes modelos de turbu-lencia por otros autores, vease por ejemplo [15, 27]. Ademas, existen datos experimen-tales con los que se pueden comparar los resultados numericos [34, 35]. En este casose realizaron dos ejemplos para mallas de 64 × 64 × 48 y 96 × 96 × 64. Se utilizo elesquema CDS en todas las ecuaciones, pues es menos dispersivo que el Quick. La figura26 muestra el numero de Nusselt calculado en la pared derecha (el resultado es similarpara la pared izquierda).

Para hacer una comparacion con los resultados experiementales, se calculo el numerode Nusselt en las cuatro paredes y se grafico el resultado en sentido horario. En la figura27 los puntos representan los resultados numericos publicados en [34] y la lınea continuaes el numero de Nusselt que se obtuvo en una malla de 160 × 160 × 80 volumenes.Como se puede apreciar, el modelo captura la forma cualitativa de la transferencia decalor local, pero falla en la parte de los picos que se generan cerca de las esquinas. Ladiferencia cuantitativa que existe entre los resultados numericos y los experimentalesse debe a que, se utiliza una malla gruesa que no resuelve adecuadamente los detallescerca de las paredes. Para capturar y resolver la capa lımite que se genera cerca de lasparedes, es necesario agregar mas puntos en esas zonas, y esto se puede lograr medianteel uso de una malla no uniforme.

Page 59: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

58 INDICE

0 5000 10000Iteraciones

10

20

30

40

50

Nus

selt

64 X 64 X 4896 X 96 X 64

Figura 26: Numero de nusselt para mallas de 64× 64× 48 y 96× 96× 64.

0 1 2 3 4η

-50

0

50

100

150

<Nu>

Figura 27: Numero de nusselt promedio alrededor de las cuatro paredes para una mallade 160× 160× 80.

Un ejemplo del flujo dentro de la cavidad se da en la figura 28 donde se grafica elflujo promedio y el flujo secundario en la esquina superior izquierda del plano z =0.5.La figura 29 muestra la distribucion de la viscosidad turbulenta, vease ecuacion (21).Las figuras 28 y 29 demuestran que la mayorıa del proceso turbulento esta presente enla capa lımite cerca de las paredes.

Page 60: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

10.4 Conveccion forzada en paralelo 59

(a)

−0.866−

0.8660.351

0.35

10.

351

0.35

1

0.351

0.35

1

0.35

1

0.35

1

0.351

0.35

1

0.351

0.35

10.351

1.57

0.5

1

(b)0.5

1

Figura 28: (a) Flujo secondario instantaneo e isolines de la viscosidad turbulenta νt. (b)flujo promedio.

Figura 29: Distribucion de la viscosidad turbulenta. Razon de aspecto de la cavidad1:1:0.5, Ra = 1.59 ×109 and Pr = 0.7.

10.4. Conveccion forzada en paralelo

En esta ejemplo se muestra la solucion del problema de conveccion forzada en par-alelo usando la estrategia descrita en la seccion 7. El resultado de este ejemplo, en dosdimensiones, se muestra en la figura 30, donde se puede observar el campo de temper-aturas calculado en 9 subdominios. La malla utilizada fue de 48× 48.

El mismo problema se resolvio en tres dimensiones en una malla de 128 × 128×.Este ejemplo se utilizo para hacer un calculo de la aceleracion en funcion del numero de

Page 61: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

60 INDICE

Figura 30: Resultado del calculo en dos dimensiones para 9 procesadores.

procesadores. El resultado de este experimento numerico se muestra en la tabla siguiente.

N. Proc. Tiempo (segs.) Aceleracion Eficiencia Costo

1 9121.73 1.0 1.0 9121.732 4680.84 1.95 0.97 9361.684 2559.71 3.56 0.89 10238.846 1555.19 5.87 0.98 9331.148 1230.70 7.41 0.92 9845.609 1065.94 8.56 0.95 9593.4612 873.16 10.45 0.87 10477.92

Cuadro 5: Desempeno para la solucion en paralelo del problema de conveccion naturalforzada en 3D en una computadora SGI ONIX 350 con 12 procesadores R16K. El modelode memoria de esta computadora es de memoria compartida (NUMAFlex).

Page 62: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

REFERENCIAS 61

Referencias

[1] M. H. Austern. Generic Programming and the STL: Using and Extending the C++Standard Template Library. Addison–Wesley, 1999.

[2] R. Bastiaans, C. Rindt, F.Nieuwstadt, and A. van Steenhoven. Direct and large–eddy simulation of the transitional of two– and three–dimensional plane plumes ina confined enclosure. Int. J. Heat and Mass Trans, 43:2375–2393, 2000.

[3] G. K. Batchelor. An Introduction to Fluid Dynamics. Cambridge University Press,1970.

[4] G. Booch. Object-Oriented Analysis and Design with Applications. Benjamin–Cum-mings, Redwood City, CA, 1994.

[5] A. Burks, H. Goldstine, and J. von Neumann. Preliminary Discussion of the Log-ical Design of an Electronical Computing Instrument, volume 5 of In: Taub, A.H.(Editor), Collected Works of John von Neumann. New York, Macmillan, 1963,1946.

[6] S. Chandrasekhar. Hydrodinamic and Hidromagnetic Stability. Clarendon Press,1961.

[7] I. G. Currie. Fundamentals Mechanics of Fluids. McGraw–Hill, 1974.

[8] G. de Vahl Davis. Natural convection of air in a square cavity: a bench marknumerical solution. Int J Numer Methods Fluids, 3:249–264, 1983.

[9] J. V. Doormal and G. D. Raithby. Enhancements of the simple method for pre-dicting incompressible fuiod flows. Num. Heat Transfer, 7:147–163, 1984.

[10] T. Eidson. Numerical simulation of the turbulent rayleigh–benard problem usingsubgrid modelling. J. Fluid Mech, 158:245–268, 1985.

[11] J. H. Ferziger and M. Peric. Computational Methods for Fluid Dynamics. Springer–Verlag, second edition edition, 1999.

[12] M. J. Flynn. Some computer organizations and their effectiveness. IEEE Transac-tions on Computers, C-21(9):948–960, 1972.

[13] W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B.Nitzberg, W. Sapir, andM. Snir. MPI: The Complete Reference: Volume 2, The MPI-2 Extensions. TheMIT Press, Cambridge, Massachusetts, London, second edition edition, 1998.

[14] High performace fortran. http://www.crpc.rice.edu/HPFF/.

[15] K. Hsieh and F. Lien. Numerical modelling of buoyancy-driven turbulent flows inenclosures. Int. J. Heat and Fluid, 25:659 – 670, 2004.

Page 63: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

62 REFERENCIAS

[16] I. Jacobson, G. Booch, and J. Rumbaugh. The Unified Software DevelopmentProcess. Addison–Wesley, 1999.

[17] N. M. Josuttis. The C++ Standard Library: A Tutorial and Reference. Addison–Wesley, 1999.

[18] J. Kim, P. Moin, and R. Moser. Turbulence statistics in fully developed chanel flowat low reynolds number. J. of Fluid Mech., 177:133–166, 1987.

[19] V. Kumar, A. Grama, A. Gupta, and G. Karypis. Introduction to Parallel Com-puting. Benjamin–Cummings, Redwood City, CA, 1994.

[20] B. P. Leonard. A stable and accurate conevctive modelling procedure based onquadratic upstream interpolation. Comp. Meth. in App. Mech. and Engineering,19:59–98, 1979.

[21] M. Lesieur and O. Metais. New trends in large-eddy simulations of turbulence.Annu. Rev. Fluid Mech., 28:45–82, 1996.

[22] G. Moore. Cramming more components onto integrated circuits. Electronics, 38(8),1965.

[23] D. R. Musser, G. J. Derge, and A. Saini. STL Tutorial and Reference Guide.Addison–Wesley, 2001.

[24] Openmp : Simple, portable, scalable smp programming. http://www.openmp.org/.

[25] The object-oriented numerics page. http://www.oonumerics.org/.

[26] S. V. Patankar. Numerical Heat Transfer and Fluid Flow. McGraw–Hill, 1980.

[27] S.-H. Peng and L. Davidson. Large eddy simulation for turbulent buoyant flow ina confined cavity. Int. J. Heat and Fluid, 22:323–331, 2001.

[28] Parallel virtual machine. http://www.csm.ornl.gov/pvm/pvm home.html.

[29] Y. Saad. Iterative Methods for Sparse Linear Systems. Boston: PWS PublishingCompany, 2000.

[30] B. F. Smith, P. E. Bjorstad, and W. D. Gropp. Domain Decomposition: ParallelMultilevel Methods for Elliptic Partial Differential Equations. Cambridge Univer-sity Press, 1996.

[31] M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra. MPI: The Com-plete Reference: Volume 1, The MPI Core. The MIT Press, Cambridge, Mas-sachusetts, London, second edition edition, 1998.

[32] H. Tennekes and J. L. Lumley. A Firts Course in Turbulence. MIT Press Camb-drige, 1972.

Page 64: Soluci´on del problema de convecci´on utilizando …1.2 Convecci´on natural 3 ∂(ρφ) ∂t +∇· ρφu = ∇·(Γ∇φ)+S, (1) donde ρ representa la densidad, u es la velocidad

REFERENCIAS 63

[33] Thomas B. Gatski (NASA Langley Research Center), M. Youssuff Hussaini(ICASE), and Jonh L. Lumley (Cornell University), editors. Simulation and Mod-eling of Turbulent Flows, New York, 1996. Oxford University Press.

[34] Y. Tian and T. Karayiannis. Low turbulence natural convection in an air filledsquare cavity, part i: The thermal and fluid flow fields. International Journal ofHeat and Mass Transfer, 43:849 – 866, 2000.

[35] Y. Tian and T. Karayiannis. Low turbulence natural convection in an air filledsquare cavity, part ii: The thermal and fluid flow fields. International Journal ofHeat and Mass Transfer, 43:867 – 884, 2000.

[36] D. Vandevoorde and N. M. JosuttisOB. C++ Templates. Addison–Wesley, 2003.

[37] H. Versteeg and W. Malalasekera. An introduction to computational fluid dynamics:The finite volume method. Longman, 1995.