Está en la página 1de 64

Soluci on del problema de convecci on utilizando volumen nito y algoritmos paralelos

Luis Miguel de la Cruz Salas DGSCAUNAM 2 de junio de 2009

Indice
1. Convecci on 1.1. Ecuaci on general de transporte 1.2. Convecci on natural . . . . . . . 1.3. Ecuaciones adimensionales . . . 1.4. Convecci on natural turbulenta . 1.5. Funci on de estructura selectiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 4 5 8 9 9 10 10 12 12 16 18 20 21 22 24 25 25 26 27

2. M etodo num erico 2.1. M etodo de residuos pesados . . . . . . . 2.2. M etodo de volumen nito . . . . . . . . 2.3. Propiedades . . . . . . . . . . . . . . . . 2.4. Difusi on . . . . . . . . . . . . . . . . . . 2.4.1. Difusi on estacionaria en 1D . . . 2.4.2. Difusi on estacionaria en 2D y 3D 2.5. Linealizaci on del t ermino fuente . . . . . 2.6. Condiciones de frontera . . . . . . . . . . 2.7. Consideraciones geom etricas . . . . . . . 3. MVF : Advecci onDifusi on 3.1. Aproximaci on de los t erminos difusivos . 3.2. Aproximaci on de los t erminos advectivos 3.2.1. Upwind . . . . . . . . . . . . . . 3.2.2. Diferencias centrales (CDS) . . . 3.2.3. QUICK . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

INDICE 4. Acoplamiento presi on-velocidad 4.1. Mallas desplazadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Ecuaci on de correcci on a la presi on . . . . . . . . . . . . . . . . . . . . . 4.3. SIMPLEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 28 29 30 31

5. Soluci on de los sistemas lineales 32 5.1. TDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.2. Aplicaci on del TDMA en 2 y 3 dimensiones . . . . . . . . . . . . . . . . 34 6. Problemas no estacionarios 36 6.1. Esquema Expl cito: Forward Euler . . . . . . . . . . . . . . . . . . . . . . 37 6.2. Esquema Impl cito: Backward Euler . . . . . . . . . . . . . . . . . . . . . 37 6.3. Esquema Crank-Nicolson: Centred Dierencing . . . . . . . . . . . . . . 38 7. Paradigmas de programaci on 39 7.1. Programaci on Orientada a Objetos . . . . . . . . . . . . . . . . . . . . . 39 7.2. Programaci on Gen erica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 8. Programaci on paralela 8.1. Organizaci on de la memoria . . . . . . . . . . . 8.2. Modelos de programaci on . . . . . . . . . . . . 8.3. Comunicaciones . . . . . . . . . . . . . . . . . . 8.4. Descomposici on del problema . . . . . . . . . . 8.5. M etricas y otros factores . . . . . . . . . . . . . 8.6. Balance de carga . . . . . . . . . . . . . . . . . 8.7. M etricas de rendimiento . . . . . . . . . . . . . 8.8. Sobreposici on de la comunicaci on y los c alculos 8.9. Ley de Amdahl . . . . . . . . . . . . . . . . . . 8.10. Escalabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 42 42 43 44 44 45 45 45 46

9. Descomposici on de dominio y paralelismo 46 9.1. Algoritmo alternante de Schwarz . . . . . . . . . . . . . . . . . . . . . . 47 9.2. Partici on del dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 10.Casos de estudio 10.1. Convecci on forzada . . . . . . . . . . . . 10.2. Convecci on Natural: r egimen laminar . . 10.2.1. Benchmark: de Vahl Davis . . . . 10.3. Convecci on Natural: r egimen turbulento 10.4. Convecci on forzada en paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 54 54 55 59

INDICE

1.

Convecci on

Consid erese los siguientes eventos: el movimiento imperceptible de las placas continentales de la corteza terrestre, las violentas tormentas magn eticas en la atm osfera solar, las sorprendentes y destructivas fuerzas que provoca un hurac an tropical, el movimiento del aire en un horno de cocina, el crecimiento de cristales semiconductores usados en la construcci on de microchips. Todos estos fen omenos involucran el movimiento de uidos (l quidos, gases, plasmas) a escalas muy diferentes. Este movimiento se conoce como convecci on: movimiento de part culas individuales de uidos el cual ocurre a trav es de procesos de difusi on y advecci on. Dado que el fen omeno de convecci on aparece en muchos procesos naturales e industriales, no es sorprendente que en las u ltimas d ecadas se haya puesto mucha atenci on en entender el movimiento de uidos y el transporte de cantidades f sicas generado o alterado por la convecci on. La convecci on se clasica en natural (libre) y forzada. En la primera, el movimiento del uido se debe a fuerzas naturales, como por ejemplo el efecto de otaci on, el cual se maniesta cuando existe una diferencia de temperaturas o densidades en presencia de la fuerza de gravedad. En la segunda, el uido se obliga a uir mediante el uso de fuerzas externas como un ventilador o el movimiento de una de las paredes que contenga al uido. Es posible que exista convecci on natural y forzada en algunos procesos, en este caso se le suele llamar convecci on mixta. El modelo matem atico que describe la convecci on se basa en las ecuaciones de balance de masa, cantidad de movimiento y energ a, as como en las ecuaciones de estado del uido. La obtenci on de estas ecuaciones se puede revisar por ejemplo en [7, 6]. En la secci on que sigue, se describe el modelo matem atico desde un punto de vista general y posteriormente se reduce a casos particulares.

1.1.

Ecuaci on general de transporte

Las ecuaciones de la mec anica de uidos representan leyes de conservaci on o balance de cantidades f sicas como la masa, cantidad de movimiento (momentum ) y energ a. Para obtener las ecuaciones se considera el uido continuo y la conservaci on de una variable de ujo general (que puede ser por ejemplo la temperatura o una componente de la velocidad), dentro de un volumen de control puede ser representada como un balance entre varios procesos que tienden a incrementar o disminuir dicha variable, [3, 6]. En otras palabras se tiene que: Raz on neta de Flujo neto de Flujo neto de Raz on de cambio de en el volumen de por advecci on de on en on en + creaci + por difusi = control con respecto el volumen de el volumen de en el volumen de control control control al tiempo

Este balance se puede escribir en forma matem atica, para un uido Newtoniano [26, 37], como sigue,:

1.2

Convecci on natural

() + u = () + S, (1) t donde representa la densidad, u es la velocidad del ujo, es un coeciente de difusi on y S es el t ermino fuente. La ecuaci on (1) se conoce como la ecuaci on general de transporte para la propiedad . El primer t ermino del lado derecho de esta ecuaci on es la raz on de cambio de con respecto al tiempo, mientras que el segundo t ermino es la componente advectiva que representa el transporte de debido a la velocidad del ujo. En el lado derecho se tiene el t ermino debido al transporte por difusi on y el u ltimo t ermino es la contribuci on ocasionada por fuentes de dentro del campo. La ecuaci on general de transporte (1) es usada como punto de partida para desarrollar algunos m etodos num ericos, especialmente el m etodo de volumen nito. En notaci on tensorial estas ecuaciones se escriben como sigue: () + uj = t xj xj xj + S, para j = 1, 2, 3, (2)

donde puede representar a la temperatura (T ), la densidad () o a alguna componente de la velocidad ((u1 , u2 , u3 ) (u, v, w)). El t ermino fuente contiene el gradiente presiones y t erminos provenientes de las fuerzas de cuerpo. En esta notaci on xj representa coordenadas cartesianas para la posici on, y se utiliza la convenci on de Einstein en donde ndices repetidos se suman.

1.2.

Convecci on natural

Las ecuaciones que gobiernan este fen omeno son: balance de masa, balance de cantidad de movimiento y balance de energ a. Estas ecuaciones se obtienen tomando en cuenta la aproximaci on de Boussinesq [6], es decir la densidad se considera constante excepto en el t ermino de fuerzas de cuerpo, mientras que las propiedades f sicas restantes del material son consideradas constantes. Por lo tanto, para uidos newtonianos e incompresibles, estas ecuaciones se escriben como sigue: uj = 0, xj 0 ui p ui 2 ui = + uj + + bi , t xj xi xj xj T 2T T + uj = , t xj xj xj (3) (4) (5)

donde es la densidad, 0 es una densidad de referencia, es la viscosidad din amica y es la difusividad t ermica. En la ecuaci on (5) se ha considerado que la energ a interna se puede escribir como cV T , con cV el calor espec co a volumen constante. Tambi en

INDICE

T se utiliza la ley de conducci on de calor de Fourier, es decir qj = x , siendo el j coeciente de conductividad t ermica. Las ecuaciones (3), (4) y (5), se deben complementar con una ecuaci on de estado para poder ser resueltas. En general se considera la siguiente relaci on:

= 0 [1 (T T0 )] , donde es el coeciente de expansi on volum etrica y T0 es el valor de la temperatura cuando = 0 . se dene como: = 1 0 T .
T =T0

Esta u ltima ecuaci on describe satisfactoriamente la relaci on entre la densidad y la temperatura para un uido incompresible.

1.3.

Ecuaciones adimensionales

Las ecuaciones (3), (4) y (5) generalmente se utilizan en forma adimensional tanto para su discretizaci on, como para su implementaci on. En la forma adimensional, aparecen par ametros que permiten hacer estudios de ujos en diferentes estados: laminar o turbulento por ejemplo. Una manera de adimensionalizar las ecuaciones es usando el siguiente escalamiento: xj t , t= 2 , H H / uj p T TC 1 , p= , T = , 2 /H 0 /H T 2

xj =

uj =

donde localmente se han utilizado variables primadas () para representar a las variables con dimensiones. En este escalamiento H es una longitud caracter stica, la viscosidad cinem atica ( = /0 ) y T = TH TC representa una diferencia de temperaturas. Usando el escalamiento anterior tenemos que las ecuaciones, en forma adimensional se escriben como sigue: uj = 0, xj ui ui p 2 ui + uj = + Pr + bi , t xj xi xj xj T T 2T + uj = , t xj xj xj (6) (7) (8)

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

1.4

Convecci on natural turbulenta

problema, y en este caso s olo se toma en cuenta el efecto de la gravedad apuntando en la direcci on negativa del eje y . Por lo tanto: b1 = 0, b2 = Pr RaT y b3 = 0, donde Pr y Ra son el n umero de Prandlt y el n umero de Rayleigh respectivamente que se denen como sigue: Pr = Ra = ,

g T L3 y , donde g es la magnitud de la aceleraci on de la gravedad. Las ecuaciones (6), (7) y (8) se pueden poner en la forma de la ecuaci on general (2) como sigue: uj = 0, + t xj ui p + (uj ui ) = + t xj xi xj T + (uj T ) = t xj xj Pr T xj ui xj . + Si , (9) (10) (11)

Lo anterior es posible dado que el uido es incompresible y el n umero de Prandtl se considera constante. En la forma antes escrita, es posible hacer una correspondencia entre las ecuaciones (9),(10) y (11) con la ecuaci on general de transport (2), como se muestra en la siguiente tabla. Ecuaci on Masa N-S Energ a Si = cte. 0 0 p ui Pr xi + bi T 1 0

Cuadro 1: Correspondencia de las ecuaciones de balance en ujo laminar con la ecuaci on general (2). El valor de i var a de 1 a 3.

1.4.

Convecci on natural turbulenta

Aunque no existe una denici on exacta de turbulencia, se puede decir que un ujo es turbulento cuando es irregular, consiste de un amplio rango de escalas de movimiento, se incrementa la difusividad, es completamente tridimensional, es muy disipativo y el n umero de Reynolds es relativamente grande. Una discusi on amplia del tema se

INDICE

encuentra en [32]. La simulaci on directa de ujos turbulentos o DNS (Direct Numerical Simulation ), es posible s olo en algunos casos simples, pero en la mayor a de las ocasiones se requieren recursos enormes de c omputo [18]. Algunas t ecnicas se han desarrollado para evitar este problema y una de las m as conocidas es la Simulaci on de V ortices Grandes o LES (Large-Eddy Simulation ). Los detalles de esta t ecnica se pueden encontrar en libros de texto como en [11, 37] y en art culos de revisi on como [33]. Aqu s olo describiremos las propiedades m as importantes. La t ecnica de LES ayuda a simular ujos turbulentos en mallas gruesas. La base de esta t ecnica consiste en la aplicaci on de un ltro de convoluci on espacial a las ecuaciones gobernantes. En este procedimiento se divide la variable turbulenta f (T , ui o p) en , y en una componente de escalas peque una componente de escalas grandes f nas o de submalla f . La descomposici on y la convoluci on de f con una funci on de ltro g sobre el dominio del ujo se escriben como: (xi , t) + f (xi , t), f (xi , t) = f con (xi , t) = f

g (xi xi )f (xi , t)dxi .

donde la funci on del ltro g debe satisfacer la condici on de normalizaci on g (xi xi )dxi = 1.

La aplicaci on del ltro a las ecuaciones gobernantes del problema de convecci on natural, ecuaciones (6),(7) y (8), produce la siguiente descripci on del movimiento de las escalas grandes: u j = 0, xj u i u i p 2u i ij +u j = + Pr + bi + , t xj xi xj xj xj T T 2T hj +u j = + . t xj xj xj xj los tensores de submalla ij y hj est an dados por ij = u i u j ui u j , y uj T . hj = u j T (16) (15) (12) (13) (14)

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

1.4

Convecci on natural turbulenta

calculado con exactitud. Las simulaciones con el modelo deben producir resultados con un signicado f sico y con bajo esfuerzo computacional. El SGM m as com un supone una viscosidad turbulenta (hip otesis de Boussinesq) para modelar ij : ij , ij = 2t S donde j i u ij = 1 u + , (18) S 2 xj xi es el tensor de deformaci on del campo ltrado y t es la viscosidad turbulenta. De igual manera tenemos que T , (19) xj donde la raz on entre la viscosidad turbulenta t y la difusividad turbulenta t est a denida a trav es del n umero de Prandtl turbulento hj = t t . (20) t Cuando el n umero de Prandtl turbulento est a dado, solamente la viscosidad turbulenta tiene que ser parametrizada en t erminos de las cantidades resueltas. Aunque el 1 1 < Prt < 2 , valor de Prt no est a bien establecido [2], frecuentemente se considera que 3 una discusi on sobre este punto se encuentra en [10]. Aqu se considera el SGM propuesto por M etais y Lesieur [21], en donde la viscosidad turbulenta se dene como Prt = t = 0.105Ck
3 (i) 2 F i=1 3/2

(17)

2 , F

(21)

con una funci on de estructura ltrada denida como 2 (x, c) = 1 F 6 con


(i) 2 F =

c x i

2/3

(22)

u(x) u(x + xi ei )

+ u(x) u(x xi ei )

(23)

donde ei es el vector unitario en direcci on xi y c = (x1 x2 x3 )1/3 . Sustituyendo (17) y (19) en las ecuaciones ltradas (13) y (14), y recordando que el uido es incompresible, obtenemos el siguiente sistema de ecuaciones: u i p i , ij + b + ( uj u i ) = + (Pr + t ) 2S t xj xi xj t T T = + u j T 1+ . t xj xj Prt xj (24) (25)

INDICE

1.5.

Funci on de estructura selectiva

En algunos casos el modelo de la funci on de estructura es muy disipativo. Para reducir esta dicultad, se han desarrollado varias t ecnicas entre las que se encuentra el modelo de funci on de estructura selectiva [21]. El objetivo es eliminar la viscosidad turbulenta cuando el ujo no es lo sucientemente tridimensional. El criterio que se utiliza es como sigue: 1. Se mide el angulo entre la vorticidad en un punto de la malla y el promedio de las vorticidades en los seis puntos vecinos. 2. Si este angulo excede 20o entonces se toma en cuenta la viscosidad turbulenta calculada mediante (21). 3. En otro caso, s olo se toma en cuenta la viscosidad molecular. El valor de 20o es el m as probable de acuerdo a simulaciones de turbulencia isotr opica a una resoluci on de malla de 323 y 643 [21]. De la misma manera en que las ecuaciones del caso laminar se escribieron en forma general, las ecuaciones (12), (24) y (25) tambien est an escritas en la forma (2). En este caso la correspondencia con la ecuaci on general de transporte (2) es como sigue: Ecuaci on Masa N-S Energ a = cte u i T 0 Pr + t t 1 + Pr t Si 0 p xi + bi 0

Cuadro 2: Correspondencia de las ecuaciones de balance en ujo turbulento con la ecuaci on general. El valor de i var a de 1 a 3.

2 M etodo num erico

2.

M etodo num erico

Las ecuaciones presentadas en la secci on anterior son bastante complejas y a pesar de que se conocen desde hace mucho tiempo, no existe hoy en d a un m etodo anal tico para encontrar sus soluciones. Por esta raz on, se han desarrollado muchos m etodos num ericos con los que es posible encontrar soluciones num ericas aproximadas. Mediante el uso de las arquitecturas sosticadas de c omputo y en especial de las arquitecturas multiprocesador, ha sido posible resolver num ericamente las ecuaciones gobernantes para diferentes tipos de ujos, con excelente exactitud y precisi on.

2.1.

M etodo de residuos pesados

Un m etodo muy poderoso para obtener soluciones num ericas de ecuaciones diferenciales parciales es conocido como m etodo de residuos pesados. El concepto b asico es simple: consid erese una ecuaci on diferencial representada por L() = 0 denida por y una soluci on aproximada = a0 + a1 x + a 2 x 2 + + am x m La substituci on de esta soluci on aproximada en (26) produce un residuo R denido como ) R = L( Se desea que este residuo sea peque no en alg un sentido. Se propone que W Rdx = 0

(26)

donde W es un funci on de peso y la integraci on se realiza sobre el dominio de inter es . Seleccionando una sucesi on de funciones de peso, se pueden generar tantas ecuaciones como se requiera para evaluar los par ametros de la ecuaci on (26). Estas ecuaciones algebraicas que contienen los par ametros como inc ognitas son resueltas para obtener una soluci on aproximada. Diferentes versiones del m etodo resultan de la selecci on de diferentes tipos de funciones de peso. La funci on de peso m as simple es W = 1. De esta selecci on, un n umero de ecuaciones de residuos pesados se pueden generar dividiendo el dominio de c alculo en subdominios o vol umenes de control, y deniendo la funcion de peso igual a la unidad sobre un volumen de control en un tiempo dado y cero en cualquier otro lugar. Esta variante del m etodo de residuos pesados es conocida como m etodo de volumen de control o de volumen nito. Esta formulaci on implica que la integral del residuo sobre cada volumen de control debe ser cero.

10

INDICE

2.2.

M etodo de volumen nito

Como se mencion o anteriormente, el m etodo de volumen nito (MVF) es una versi on especial del m etodo de residuos pesados. En esta formulaci on el dominio de c alculo se divide en un n umero de vol umenes de control que no se traslapan, de tal manera que hay un volumen rodeando a cada punto de la malla. Luego, la ecuaci on diferencial se integra sobre cada volumen de control. Se usan funciones continuas por tramos, las cuales expresan la variaci on de entre los puntos de la malla, para evaluar las integrales. El resultado es un conjunto de ecuaciones discretas que contienen los valores de para un grupo de puntos de la malla. La integraci on sobre los vol umenes de control es lo que distingue al FVM de otros m etodos. Las ecuaciones que resultan de la integraci on expresa el principio de conservaci on para en cada volumen de control, de la misma forma en que la ecuaci on diferencial expresa esto mismo para un volumen de control innitesimal. Esta caracter stica es v alida para cualquier n umero de puntos en la malla y no solo cuando este es muy grande. Por lo tanto, a un una soluci on en una malla gruesa exhibir a un balance exacto (aunque para obtener buena precisi on se requiere de un mayor n umero de puntos o esquemas de alto orden). Esta clara relaci on entre el algoritmo num erico y el principio f sico de conservaci on es una de las mayores atracciones del MVF. Las etapas que se pueden enumerar en el MVF son las siguientes: 1. Generaci on de la malla. El dominio de estudio se discretiza en un n umero de vol umenes de control no sobrepuestos, de tal manera que existe un volumen rodeando a cada punto de la malla, como se muestra en la gura 1. 2. Integraci on. Se realiza una integraci on de las ecuaciones gobernantes del problema sobre cada volumen de control del dominio de estudio. 3. Discretizaci on. Se discretiza cada uno de los diferentes t erminos resultantes de la integraci on usando diferentes esquemas num ericos. Esto produce un sistema algebraico de ecuaciones. 4. Soluci on. Se utiliza alg un algoritmo para resolver el sistema algebraico de ecuaciones. Dado que las matrices son en general dispersas, se preeren algortimos iterativos.

2.3.

Propiedades

Existen tres conceptos matem aticos que son u tiles para determinar el exito de un algoritmo num erico: convergencia, consistencia y estabilidad. La convergencia es la propiedad de un m etodo num erico de producir una soluci on que se aproxima a la soluci on exacta conforme la distancia entre los puntos de la malla tiende a cero. Un esquema num erico consistente produce sistemas de ecuaciones algebraicas equivalentes a las ecuaciones gobernantes originales conforme el espaciamiento de los nodos de la malla

2.3

Propiedades

11

Volmenes de control

Puntos en el interior

11111 00000 00000 11111 00000 11111 00000 11111 00000 11111
Nodos de la malla

Puntos en la frontera del dominio

11 00 Volumen de control 00 11 00 11

Figura 1: Dominio de estudio discretizado usando vol umenes de control en 2D. tiende a cero. La estabilidad est a asociada con la amortiguaci on del error conforme el m etodo num erico procede. Si el m etodo no es estable, entonces a un errores de redondeo en los datos iniciales, pueden causar fuertes oscilaciones o divergencia de la soluci on. La convergencia es muy dif cil de establecer te oricamente y en la pr actica se utiliza el teorema de equivalencia de Lax que dice que para problemas lineales una condici on necesaria y suciente para obtener convergencia es que el m etodo sea consistente y estable. Este teorema es limitado dado que las ecuaciones gobernantes de muchos fen omenos son no lineales. En el MVF se pueden obtener esquemas num ericos robustos si dicho esquema posee la propiedad de ser conservativo, es acotado y adem as transporta adecuadamente las propiedades. Conservativo : El MVF garantiza la conservaci on de las propiedades de un uido en cada volumen de control. Los esquemas num ericos que poseen esta caracter stica tambi en aseguran conservaci on global para todo el dominio. Esta propiedad es f sicamente importante y se obtiene por medio de expresiones consistentes en los vol umenes de control. Acotado : Esta propiedad es similar al requerimiento de estabilidad y requiere que en un problema lineal sin fuentes, la soluci on debe estar acotada por los valores m aximo y m nimo en las fronteras. Esta propiedad puede obtenerse imponiendo restricciones sobre la magnitud y los signos de los coecientes de las ecuaciones algebraicas. Transporte : En procesos donde hay ujo de uidos, se tienen en general efectos advectivos y difusivos. En fen omenos difusivos, tal como en conducci on de calor, un cambio en la temperatura en un punto, afectar a la temperatura m as o menos de

12

INDICE igual manera en todas las direcciones alrededor de dicho punto. Un fen omeno advectivo involucra inuencia exclusivamente en la direcci on del ujo. Los esquemas en MVF deben tomar en cuenta la direcci on de inuencia del ujo en t erminos de los efectos difusivos y los convectivos.

Cuando las propiedades antes mencionadas se utilizan en el dise no de todos los esquemas del MVF, se obtienen producen buenas aproximaciones a muchos tipos de problemas. En el MVF es com un usar estas propiedades como alternativas a los conceptos matem aticos m as rigurosos de convergencia, consistencia y estabilidad.

2.4.

Difusi on

La ecuaci on gobernante para problemas de difusi on se deriva de la ecuaci on general (1) para la propiedad eliminando el t ermino transitorio y el convectivo: () + S = 0. 2.4.1. Difusi on estacionaria en 1D (27)

Supongamos que se desea resolver el problema de conducci on de calor en una barra en el intervalo [a, b], en donde los valores de la temperatura en los extremos est an dados. A partir de la ecuaci on (27) obtenemos una ecuaci on para difusi on estacionaria en una dimensi on: d dx y condiciones de frontera: (a) = Ta , y (b) = Tb El proceso de aproximar una soluci on num erica del problema anterior usando MVF es como sigue: Paso 1. Generaci on de la malla. Para aproximar una soluci on a la ecuaci on (28) primero se divide el dominio en un n umero nito de vol umenes. En la gura 2 se introduce una notaci on que se usar a en los ejemplos que siguen. Se dene P como un nodo general que tiene nodos vecinos a la derecha E (east) y a la izquierda W (west). Las caras del volumen que encierra al nodo P se nombran e y w a la derecha e izquierda respectivamente. Las distancias de P a W y de P a E se denotan como xw y xe respectivamente. La distancia entre las caras e y w se dene como x . Cuando la malla es uniforme, se cumple que xe = xw = x d dx + S = 0. (28)

2.4

Difusi on
Volumen de control

13

W
Nodos

x
xw xe

Figura 2: Denici on de los nodos y vol umenes de control en la malla. Paso 2. Integraci on. Ahora se integra la ecuaci on (28) sobre el volumen de control descrito en la gura 2 para obtener: d dx d dx dx +
x

Sdx = A

d dx

d dx

= 0. + Sdx

(29)

es el promedio de S en el volumen de control y A es el donde S area de las caras. En este caso se considera que A = Ae = Aw = 1. La ecuaci on (29) dice que el ujo difusivo que entra por la cara w menos el ujo difusivo que sale por la cara e es igual a la generaci on de en el volumen de control, es decir, esto constituye una ecuaci on de balance para sobre el volumen de control. Paso 3. Discretizaci on. Para derivar formas discretas de la ecuaci on anterior, se requiere aproximar y el gradiente d/dx en las caras e y w. La forma m as simple es suponer que el integrando prevalece sobre todo el volumen de control, lo cual da un perl tipo escal on como se muestra en la gura 3(a). Sin embargo, para esta aproximaci on, la derivada d/dx no est a denida en las caras e y w. Un perl lineal, como el que se muestra en gura 3(b), no sufre de esta desventaja por lo que es el que se usa en la mayor a de los casos. La aproximaci on lineal es muy simple y se conoce como diferencias centrales. En una malla uniforme e y w est an dados por: w = W + P + E y e = P 2 2

Usando el perl lineal, los t erminos difusivos se evaluan como sigue: d dx = e E P x e P W x w (30)

d dx

= w

(31)

14

INDICE

P (a)

P (b)

Figura 3: Perles comunes: (a) escal on; (b) lineal. A menudo el t ermino fuente est a dado en funci on de la variable dependiente , y por lo tanto es deseable conocer esta dependencia en la construcci on de las ecuaciones discretas. Es posible tomar en cuenta solamente una dependencia lineal debido a que las ecuaciones se resolver an usando t ecnicas para ecuaciones algebraicas lineales. El procedimiento consiste en linealizar el t ermino fuente como sigue: = Su + S Sdx P P (32)

, mientras que S es el coeciente de la parte donde Su es la parte constante de S P lineal (OJO: SP no signica el valor de S evaluado en el punto P ). La aparici on de P supone que, cuando se expresa el promedio del valor de S , el valor de P prevalece en todo el volumen de control. En otras palabras, se utiliza el perl de tipo escal on para el t ermino fuente como el mostrado en la gura 3(a). Sustituyendo las ecuaciones (30), (31) y (32) en la ecuaci on (29) se obtiene e E P x e w P W x w + (Su + SP P ) = 0

que se puede arreglar en e w + SP x e x w P = w x w W + e x e E + Su . (33)

entonces podemos escribir la ecuacion (33) como sigue aP P = aW W + aE E + Su . (34)

2.4

Difusi on en donde los coecientes aP , aE y aW se escriben de la siguiente manera aW = w/xw; aE = e/xe y aP = aW + aP S P

15

Los valores de Su y SP se pueden obtener de la ecuaci on (32). La ecuaci on (34) junto con la denici on de los coecientes aW , aE y aP representan la forma discreta de la ecuaci on (28). Paso 4. Soluci on. Una ecuaci on de la forma (34) debe escribirse para cada volumen de control (nodo). Las ecuaciones discretas para los vol umenes de control que son adyancentes a la frontera deben modicarse para tomar en cuenta las condiciones de frontera. El sistema de ecuaciones resultante se resuelve para obtener una distribuci on de la propiedad en los centros de los vol umenes. Ahora se tratar a un ejemplo concreto. Sup ongase que = T , = k , S = 0 y 5 vol umenes de control como se muestra en la gura 4. Aqu k es la conductividad t ermica y se considera constante en todo el dominio.
1 Ta 2 3 4 5 Tb

x
x /2 x x x /2

Figura 4: Ejemplo de discretizaci on. Las ecuaciones discretas y sus coecientes para los nodos 2, 3 y 4 se escriben como sigue: aP TP = aW TW + aE TE . 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 est an en la frontera y por lo tanto requieren de un proceso especial. En el nodo 1, la integraci on de la ecuaci on (28) con S = 0 da lo siguiente k TE TP x k TP Ta x/2 =0

que se puede rearreglar como sigue k k + x x/2 TP = 0 TW + k x TE + k x/2 Ta .

16 Entonces que para el nodo 1 la ecuaci on discreta se escribe como aP TP = aW TW + aE TE + Su. donde

INDICE

aW = 0; aE = k/x ; aP = aW + aP SP ; SP = 2k/x; Su = (2k/x)Ta Un tratamiento similar se hace para el nodo 5 y se obtiene la misma ecuaci on que en el caso del nodo 1, con los siguientes coecientes aW = k/x ; aE = 0; aP = aW + aP SP ; SP = 2k/x; Su = (2k/x)Tb Juntando las ecuaciones para todos los nodos resulta un sistema lineal tridiagonal aP aE 0 0 0 T1 Su aW aP aE 0 0 T2 0 0 aW aP aE 0 T3 = 0 0 0 aW aP aE T4 0 0 0 0 aW aP T5 Su

Cada rengl on del sistema presentado arriba corresponde a un volumen de control de la malla, de tal manera que en principio los coecients as son diferentes de rengl on a rengl on. Lo mismo sucede con Su . 2.4.2. Difusi on estacionaria en 2D y 3D

La metodolog a descrita en el ejemplo anterior se puede extender f acilmente a dos y tres dimensiones. Para ilustrar la t ecnica, consid erese la ecuaci on de difusi on estacionaria en dos dimensiones: x x + y y +S =0 (35)

La gura 5 muestra un volumen de control en dos dimensiones. Integrando la ecuaci on (35) sobre un volumen de control se obtiene: x x dV + SdV = y V y V d d eAe wAw + dx e dx w d d + sAs nAn dx n dx s V = 0. S

dV +

(36)

2.4

Difusi on

17

n 111111111111 000000000000 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 e P w 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 000000000000 111111111111 s 000000000000 111111111111

yn E y

ys

x
xw xe

Figura 5: Volumen de control en 2D. Igual que antes, esta ecuaci on representa el balance entre la generaci on de en un volumen de control y los ujos a trav es de sus caras. Usando perles lineales es posible escribir expresiones para los ujos a trav es de las caras como sigue: d dx d wAw dx d nAn dx d sAs dx eAe E P x e P W = wAw x w P = nAn N x n P S = sAs x s = eAe

V = S u + Sustituyendo estas expresiones en la ecuaci on (36) y usando la forma S SP P se llega a aP P = aW W + aE E + aS S + aN N + Su . donde los coecientes est an denidos como sigue: aW = wAw/xw; aE = eAe/xe; aS = sAs/xs; aN = nAn/xn; aP = aW + aE + aS + aN SP ; (37)

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 , v ease gura 6.
N x z n b W y w f F s V = xy z P e E B

Figura 6: Volumen de control en 3D. La ecuaci on discreta correspondiente es: aP P = aW W + aE E + aS S + aN N + aB F + aB B + Su. con los siguientes coecientes: aW = wAw/xw; aE = eAe/xe; aS = sAs/xs; aN = nAn/xn; aB = bAb/xb; aF = f Af /xf ; aP = aW + aE + aS + aN + aB + aF S P donde Ae = Aw = xz , An = As = y z y Af = Ab = xy . Los sistemas lineales que resultan para los casos de dos y tres dimensiones son pentadiagonales y heptadiagonales respectivamente. (38)

2.5.

Linealizaci on del t ermino fuente

Cuando el t ermino fuente depende de , se expresa la realci on en la forma lineal dada por la ecuaci on (32). Esto se hace por que la incorporaci on de una dependencia lineal es mejor que el tratamiento de S como una constante. Cuando S es una funci on no lineal de se debe linealizar especicando los valores de Su y SP , los cuales pueden depender a su vez de . Durante cada iteraci on, Su y SP

2.5

Linealizaci on del t ermino fuente

19

podr an ser recalculados a partir de los nuevos valores de . Una regla b asica es que SP debe ser negativo, [37]. En el siguiente ejemplo, representa el valor de P en una iteraci on previa. P Ejemplo Dado S = 4 53 algunas posibles linealizaciones son:
3 1. Su = 4 5 , SP = 0. Esta forma no saca ventaja de la dependencia de S P con respecto a 2 2. Su = 4, SP = 5 . Aparentemente es la forma correcta, pero la curva S es P m as pronunciada.

3. M etodo recomendado: S = S + dS d
3 2 (P ) = 4 5 15 (P ). P P P P

3 2 de esta manera Su = 4 + 10 , SP = 15 . Esta linealizaci on representa P P la tangente a la curva S en el punto . P 3 2 4. Su = 4 + 20 , SP = 25 . Esta linealizaci on, que es m as pronunciada P P que la curva S y ocasiona un decremento en la raz on de convergencia.

Las cuatro linealizaciones se muestran en la gura 7, junto con la curva S . Cualquier l nea recta de pendiente positiva viola la regla de que SP debe ser negativa, [37]. De entre las pendientes negativas, la tangente a la curva es usualmente la mejor elecci on. L neas con mayor pendiente que la tangente generalemente reducen la velocidad de convergencia. L neas con menos pendiente no son deseables, pues no dan la correcta raz on de ca da de S con respecto a .

Figura 7: Linealizaciones del ejemplo anterior.

20

INDICE

2.6.

Condiciones de frontera

La discretizaci on de las condiciones de frontera es importante dado que denen la soluci on que se obtiene en el interior del dominio de estudio. Para los problemas que se tratan en este estudio existen b asicamente dos tipos de condiciones de frontera: Dirichlet: en donde el valor del campo se dene en la frontera, es decir: = b . Neumann: en donde el gradiente del campo normal a la frontera es especicado, es decir /n = b . En la gura 8, por ejemplo, el punto E cae fuera del dominio y la cara e del volumen que rodea a P cae justo en la frontera. Usando las t ecnicas de discretizaci on descritas antes, una ecuaci on para el punto P en t erminos de sus vecinos se escribe de forma similar a la ecuaci on (38). Sin embargo, en este caso algunos de los coecientes cambian su forma debido a que el punto E no est a dentro del dominio.
N

e xe

y x z

Figura 8: Volumen de control en la frontera. En el caso de la gura 8, la condici on de frontera de tipo Dirichlet es impuesta de tal manera que b = e. El valor de la frontera se puede aproximar mediante una interpolaci on lineal simple: e = b de donde se obtiene: E = 2b P . (40) P + E , 2 (39)

Sustituyendo esta u ltima expresi on en la ecuaci on (38) y factorizando se obtiene:


a P = a + aW W + aN N + aS S + aF F + aB B + SP , P E E

(41)

donde

2.7

Consideraciones geom etricas

21

a = aP + aE , P SP = SP + 2aE b y = 0. a E Para las condiciones de tipo Neumann, usando diferencias centrales para aproximar el gradiente normal a la supercie, se tiene que: b = de donde se genera: E = P + xeb . (43) x
e

E P , x e

(42)

Sustituyendo esta expresi on en la ecuaci on (52) se obtiene una ecuaci on similar a (41), con los coecientes denidos como sigue: a = aP aE , P SP = SP + aE xeb y a = 0. E De esta manera, las condiciones de frontera, Dirichlet y Neumann, se incorporan en el sistema de ecuaciones a resolver. Es posible utilizar diferentes aproximaciones para las condiciones de frontera, y esto depende del orden de aproximaci on del esquema num erico utilizado en los puntos interiores, v ease [37].

2.7.

Consideraciones geom etricas

En este documento solo se consideran geometr as cartesianas, por lo que los vol umenes ser an siempre rectangulares en 2D y paralelep pedos en 3D. Aunque la discretizaci on del dominio de estudio, generaci on de la malla, es trivial, resulta importante denir la ubicaci on de los vol umenes y de sus caras. En la gura 9 se muestran tres formas alternativas para ubicar los vol umenes. Cuando las caras de los vol umenes se ubican a la mitad entre los puntos de la malla, gura 9(a), es posible calcular el ujo de la variable a trav es de las caras con mayor precisi on cuando se usa una aproximaci on lineal, sin embargo el valor de esta aproximaci on no estar a dado en el centro de la cara, sino por ejemplo en el punto e, ve ase gura 9(a). Adem as, el hecho de que los nodos no est en en el centro de los vol umenes representa una desventaja, pues el valor de cualquier variable en el nodo no ser a representativo para todo el volumen. Esto implica que la suposici on de que el valor de prevalece en todo el volumen reduce la precisi on.

22

INDICE

En el caso de que los nodos de la malla sean colocados al centro de los vol umenes de control, gura 9(b), produce mejores aproximaciones pues el valor en el nodo si es representativo para todo el volumen y el calculo del ujo se hace en el centro de las caras. Por otro lado, este u ltimo c alculo no ser a preciso si se utiliza una aproximaci on lineal dado que las caras no est an a la mitad entre los nodos. Para mallas uniformes ambas distribuciones son equivalentes. Tambi en es posible que los elementos de la malla sean los vol umenes de control, gura 9(c). Es com un llamar Cell-Centered schemes (CC) a los dos primeros casos, gura 9 (a) y 9 (b) y VertexCentered scheme (VC) al 9 (c). En la literatura ambos esquemas son aplicados. En los ejemplos mostrados en este documento se usa CC, pues es m as simple de implementar.

N n W w P s S e E W w

N n P s S e E

(a)

(b)

(c)

Figura 9: Diferentes ubicaciones de los vol umenes de control.

3.

MVF : Advecci onDifusi on

La ecuaci on de convecci ondifusi on estacionaria se deriva de la ecuaci on general de transporte (1) eliminando el t ermino temporal: u = () + S , Esta ecuaci on se puede escribir como sigue: (u) + (v) + (w) = + + + S , x y z x x y y z z donde u = (u, v, w). Integrando la ecuaci on (45) sobre un volumen de control se obtiene: (44)

(45)

3 MVF : Advecci onDifusi on

23

(u) + (v) + (w) = x y z + + + S x y y z z V x

(46)

Asumiendo que las velocidades en las caras w, e, s, n, b, f son conocidas y que este valor prevalece en toda la cara, se obtiene lo siguiente: C = D + S, (47)

donde la forma general de los t erminos C, D y S de la ecuaci on anterior es como sigue: C = (cee cww) + (cnn css) + (cf f cbb), x x + (48)

D=

y z
w

y +

x z
s

(49) z xy,
b

S = SP V, donde los t erminos c de la ecuaci on (48) est an denidos de la siguiente manera: ce = uey z, cw = uwy z, cn = vnxz, cs = vsxz, cf = wf xy, cb = wbxy,

(50)

(51)

Los t erminos advectivos y difusivos se pueden aproximar usando diferentes esquemas [37]. Independientemente de la aproximaci on usada, cuando se insertan estos esquemas en las ecuaciones (48) y (49), y estos a su vez en la ecuaci on (47), se obtienen sistemas lineales como el siguiente: aP P = aE E + aW W + aN N + aS S + aF F + aB B + SP , donde los coecientes contienen una parte difusiva y otra advectiva: aE aN aF aP = = = = DE + CE , DN + CN , DF + CF , DP + CP + aW aS aB . = DW + CW , = DS + CS , = DB + CB , (52)

(53)

V t

24

INDICE

3.1.

Aproximaci on de los t erminos difusivos

Las derivadas parciales que aparecen en la ecuaci on (49), se deben evaluar en las caras del volumen de control. Estas derivadas pueden aproximarse usando un perl lineal entre puntos adyacentes de la malla (p. ej. entre P y E ). De esta manera se tiene que: x y z E P , x e e P , N y n n P F , zf f x y z P W , x w w S , P y s s B P . zb b

(54)

donde xe, xw, yn, ys, zf y zb, son denidos como se muestra en la gura 10.

Corte en el plano xy
N

Corte en el plano yz
N

n 1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 e P w1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 s

yn

ys

n 1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 f P b 1111111111 0000000000 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 s

x
xw x e zb

z
z f

Figura 10: Cortes del dominio discreto en los planos xy y yz . Cuando la malla es uniforme (xe = xw = x, id enticamente en las direcciones y y z ), se puede demostrar, a partir de la expansi on en series de Taylor de E , W , N ,

3.2

Aproximaci on de los t erminos advectivos

25

S , F y B , que las expresiones (54) producen una aproximaci on de orden O(x2 ), [37]. Con estas aproximaciones la parte difusiva de los coecientes (53) es: y z , DW x e x z DN = , DS y n x y , DB DF = zf DP = DE + DW + DN +DS DE = en donde se consider o = cte. y z , x w x z = , y s x y = , zb + DF + DB . =

(55)

3.2.

Aproximaci on de los t erminos advectivos

Los t erminos advectivos son importantes dado que representan la parte no lineal de la ecuaci on general (1). En la ecuaci on (48) se observa que es necesario encontrar los valores de en las caras del volumen de control. Sin embargo, representa a una variable escalar denida en los centros de los vol umenes, como se muestra en la gura 10. A continuaci on se presentan tres diferentes esquemas para aproximar en las caras de los vol umenes: Upwind, diferencias centrales (CDS) y QUICK. 3.2.1. Upwind

Este es un esquema que proporciona una aproximaci on de primer orden O(x), y consiste en tomar el valor de la variable escalar en la cara del volumen de control, igual al valor de en el punto de la malla de donde proviene el ujo (upstream). Por ejemplo, si ce > 0 = e = P y si cw > 0 = w = W , la gura 11 muestra este caso. Las funciones que denen este esquema para e y w, son: e = P E si ce > 0, si ce 0, y w = W P si cw > 0, si cw 0. (56)

Funciones similares se denen para n, s, f y b. Ahora, si se dene A, B como el m aximo entre A y B , entonces, los t erminos advectivos en este esquema se expresan de la siguiente manera: cee = P ce, 0 E ce, 0 , cww = W cw, 0 P cw, 0 , css = S cs, 0 P cs, 0 cbb = B cb, 0 P cb, 0 , . (57)

cnn = P cn, 0 N cn, 0 , cf f = P ce, 0 F ce, 0 ,

26

INDICE

Corte en el plano
N

xy

WW

ww

n 11111111111 00000000000 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 w e P 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 s

yn ee

EE

ys

y
xw

x e

Figura 11: Esquema Upwind para el caso: ce > 0 = e = P W .

cw > 0 = w =

Sustituyendo estas deniciones en (48) se obtiene la siguiente forma para la parte advectiva de los coecientes (53): CE = ce, 0 , CW = cw, 0 , CN = cn, 0 , CS = cs, 0 , CF = cf , 0 , CB = cb, 0 , CP = CE + CW +CN + CS + CF +CB + (ce cw) + (cn cs) + (cf cb).

(58)

Como se ver a m as adelante, la expresi on (ce cw) + (cn cs) + (cf cb), es la versi on discreta de la ecuaci on de continuidad. 3.2.2. Diferencias centrales (CDS)

Una manera simple de evaluar en las caras, es mediante una interpolaci on lineal usando valores de puntos vecinos. Por ejemplo, en la cara e se tiene que: e = E e + P (1 e), donde el factor de interpolaci on e se dene como: (59)

3.2

Aproximaci on de los t erminos advectivos

27

e =

xe xP . xE xP

(60)

Cuando la malla es uniforme e = 0.5. La precisi on de la ecuaci on (59) es de segundo 2 orden (O(x )) como puede mostrase a trav es de una expansi on en series de Taylor de E alrededor del punto P . Este es el esquema de segundo orden m as simple y corresponde a la aproximaci on de diferencias centrales de la primera derivada en los m etodos de diferencias nitas. Con este esquema los coecientes son de la forma: CE = cee, CW = cew, CN = cen, CS = ces, CF = cef , CB = ceb, CP = CE + CW +CN + CS + CF +CB + (ce cw) + (cn cs) + (cf cb). 3.2.3. QUICK

(61)

El esquema QUICK (Quadratic Upstream Interpolation for Convective Kinematics ) desarrollado por Leonard [20] es un esquema tipo Upwind de tercer orden para interpolar ujos advectivos (convectivos)1 en las caras de los vol umenes de control. En este caso, se seleccionan tres puntos de la malla para construir un polinomio de segundo grado. La selecci on de los puntos se hace de acuerdo con la direcci on de la velocidad en la cara correspondiente del volumen de control. La f orma cuadr atica de interpolaci on de los t erminos advectivos cee y cww, en el esquema QUICK, para mallas uniformes tiene la siguiente forma:
cee = ce cww = cw P + E cep W 2P + E cem E E 2E + P , (62) 2 P + W cwp W W 2W + P cwm E 2P + W , (63) 2

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 ecuaci on (64) y en la gura 12; deniciones similares se hacen para cwp y cwm. Los t erminos cnn, css, cf f y cbb se aproximan de igual manera. f = 8
ce 8

cep =

si ce > 0, si ce 0,

cem =

g = 8

0 e c8

si ce 0, si ce < 0.

(64)

Usando las deniciones anteriores, los coecientes convectivos toman la forma siguiente:
Se ha usado en este documento el t ermino advecci on para denotar a los t erminos que tienen que ver con el movimiento del uido. Algunos autores utilizan el t ermino convecci on.
1

28
f g

INDICE

g(ce ) =

ce |ce |
2

ce

ce

f(ce ) =

ce + |ce |
2

Figura 12: Denici on de las funciones f y g .

cw ce + cep 2cem + cwm, CW = + 2cwp cwm + cep, 2 2 cs cn + cnp 2cnm + csm, CS = + 2csp csm + cnp, CN = 2 2 cf cb CF = + cfp 2cfm + cbm, CB = + 2cbp cbm + cfp, (65) 2 2 CP =CE + CW + CN + CS + CF + CB +cem cwp + cnm csp + cfm cbp+ (ce cw) + (cn cs) + (cf cb). CE = El orden de aproximaci on de este esquema es de O(x3 ), v ease [20].

4.

Acoplamiento presi on-velocidad

La advecci on de una variable escalar depende de la magnitud y direcci on de la velocidad. En general, la velocidad no se conoce y debe calcularse como parte del proceso de soluci on junto con las otras variables del ujo. Las ecuaciones para cada componente de la velocidad ecuaciones de cantidad de movimiento pueden derivarse de la ecuaci on general (1). En el caso de ujos incompresibles, la velocidad debe satisfacer la ecuaci on de continuidad. Para describir el m etodo de soluci on, reescribimos las ecuaciones de cantidad de movimiento y de continuidad como sigue: u u u u p 2u 2u 2u +u +v +w = + 2 + 2 + 2 + Su , t x y z x x y z v v v v p 2v 2v 2v +u +v +w = + 2 + 2 + 2 + Sv , t x y z y x y z 2 2 w w w p w w 2w w +u +v +w = + 2 + 2 + 2 + Sw . t x y z z x y z

(66)

4.1

Mallas desplazadas

29

u v w + + = 0. x y z La soluci on de estas ecuaciones presenta algunos problemas:

(67)

Los t erminos advectivos de las ecuaciones de cantidad de movimiento son cantidades no lineales. Las ecuaciones est an fuertemente acopladas debido a que cada componente de la velocidad aparece en cada ecuaci on de cantidad de movimiento. El problema m as complejo es resolver el papel que juega la presi on: no existe expl citamente una ecuaci on para la presi on. Estos problemas, asociados con la no linealidad de las ecuaciones, pueden resolverse adoptando una estrategia de soluci on iterativa. El m etodo SIMPLEC (Semi-Implicit Method for Pressure Linked Equations Consistent ) [9] es usado aqu y se presenta m as adelante.

4.1.

Mallas desplazadas

La forma m as sencilla de aproximar el gradiente de presiones, que aparece en las ecuaciones (66), es mediante una interpolaci on lineal. Por ejemplo, para la ecuaci on en direcci on x se tiene, de la gura 11, que: 2 2 p pW p pe pw = = E . (68) x P x x x En la ecuaci on anterior se observa que el valor de la presi on en el nodo central P , no aparece. Esto puede ocasionar campos de presiones con oscilaciones no realistas. Es claro entonces, que si las velocidades est an denidas en los puntos centrales de la malla, la inuencia de la presi on no estar a representada correctamente. Un remedio a este problema es utilizar mallas desplazadas (staggered grids ) para las componentes de la velocidad. La idea es evaluar las variables escalares, tales como la presi on y la temperatura en los centros de los vol umenes de control; mientras que las velocidades se evaluan en las caras de los mismos vol umenes. El arreglo para las tres componentes de la velocidad se muestra en la gura 13. Se observa que el punto central P , para la componente u de la velocidad, se desplaza a la cara w. Para las otras componentes se hace un desplazamiento similar. Con este arreglo, el gradiente de presiones, en la ecuaci on para u se calcula de la siguiente forma: p p pW . (69) P x w x Una ventaja adicional de las mallas desplazadas es que genera velocidades en los lugares exactos donde se requiere para las ecuaciones escalares y por lo tanto no es necesario realizar interpolaciones.
pE + pP pP + pW

30

INDICE

Corte en el plano xy
N

Corte en el plano yz
N

n 11111111111 00000000000 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 P 00000000000 w W 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 s

yn

e 111111111111111111111 000000000000000000000 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 S 000000000000000000000 111111111111111111111

ys

n 11111111111 00000000000 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 f P b 111111111111111111111 B 11111111111 00000000000 000000000000000000000 00000000000 11111111111 000000000000000000000 111111111111111111111 00000000000 11111111111 000000000000000000000 111111111111111111111 00000000000 11111111111 000000000000000000000 111111111111111111111 00000000000 11111111111 000000000000000000000 111111111111111111111 00000000000 11111111111 000000000000000000000 111111111111111111111 s 00000000000 11111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 S 000000000000000000000 111111111111111111111

x
xw xe

z
zb

z f

z
111 000 000 111 000 111

VC para u

111111 000000 000000 111111

VC para v

1111 0000 0000 1111

VC para w

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

4.2.

Ecuaci on de correcci on a la presi on

Una relaci on para calcular la presi on se puede obtener a partir de las ecuaciones (66) y (67). Aplicando el m etodo de volumen nito a la ecuaci on de cantidad de movimiento para u en una malla desplazada como se muestra en la gura 13, se obtiene: a P uP =
nb

anb unb + bu + Au (pW pP ),

(70)

donde se escribe expl citamente el gradiente de presiones. En esta ecuaci on 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 t ermino fuente. Ahora, dado que no conocemos la presi on, denimos p como una presi on aproxima da. Esta presi on produce una velocidad aproximada u . Por lo tanto se produce: a P u = P
nb

anb u + bu + Au (p p ). W P nb

(71)

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

4.3

SIMPLEC

31

p = p + p y u = u + u . Una relaci on entre p y u se obtiene restando las ecuaciones (70) y (71): aP uP =


nb

anb unb + Au (pW pP ).

(72)

En los m etodos del tipo SIMPLE se encuentra una ecuaci on discreta ya sea para la presi on p o para la correcci on a la presion p y se resuelve dentro del ciclo global del m etodo.

4.3.

SIMPLEC

En el SIMPLE se realiza una aproximaci on consistente que genera una expresi on sencilla para p . En este algoritmo se resta el t ermino anb uP en ambos lados de la ecuaci on (72), de tal forma que se tiene: (aP
nb

anb )uP =
nb

anb (unb uP ) +Au (pW pP ).


0

(73)

La diferencia (unb uP ) es aproximadamente igual a cero, para todo nb y para mallas relativamente nas. Por lo tanto, es posible eliminar este t ermino de la ecuaci on, de tal manera que la velocidad corregida estar a dada por: uP = u + uP = u + du (pW pP ), P P donde de = Ae/(aP anb ). (75) (74)

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


vP = vP + vP = vP + dv (pS pP ), wP = wP + wP = wP + dw (pB pP ),

(76) (77)

La ecuaci on para p se obtiene sustituyendo las ecuaciones (74), (76) y (77) en la ecuaci on (67) : aP pP = aE pE + aW pW + aN pN + aS pS + aF pF + aB pB + bp , donde los coecientes est an denidos como sigue: aE = du Au , aW = du Au , aN = dv Av , aS = dv Av , aF = dw Aw , aB = dw Aw , bp = (u u )y z (vn vs )xz (wf wb )xy e w (78)

(79)

32

INDICE

De esta manera se tiene una ecuaci on para la correcci on a la presi on, con la que se completa el sistema de ecuaciones. La denici on de bp es exactamente la forma discreta de la ecuaci on de continuidad para u , v y w , que produce el m etodo de volumen nito. Cuando este coeciente es igual a cero, signica que dichas velocidades cumplen con la ecuaci on de continuidad. Este es el criterio de convergencia que se usa en los ejemplos mostrados al nal de este texto. En problemas de convecci on natural la diferencia de temperaturas es la que promueve el movimiento, por lo tanto es importante resolver primero la ecuaci on de energ a y luego las ecuaciones de cantidad de movimiento y la de correcci on a la presi on. Entonces, los pasos que sigue el m etodo SIMPLEC, adaptado a problemas de convecci on natural son: 1. Se inicia con campos aproximados: T , p , u , v y w 2. Se resuelve la ecuaci on de energ a para obtener T . 3. Se resuelven las ecuaciones de cantidad de movimiento usando los campos de presi on y velocidad iniciales aproximados (p , u , v , w ) y el campo de temperaturas T. 4. Se calculan los coecientes de la ecuaci on de presi on pnb usando los coecientes de las ecuaciones de cantidad de movimiento. 5. Se resuelve la ecuaci on de correcci on a la presi on. 6. Se corrige la presi on mediante p = p + p . 7. Se corrige la velocidad mediante ecuaciones (74), (76) y (77). 8. Se verica 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 especicada. 9. Fin

5.

Soluci on de los sistemas lineales

La discretizaci on de las ecuaciones gobernantes produce sistemas lineales como el mostrado en la ecuaci on (52). La complejidad y tama no del conjunto de ecuaciones depende de la dimensi on del problema, el n umero de puntos de la malla y la estrategia de discretizaci on. Aunque es posible utilizar cualquier procedimiento v alido para resolver el conjunto de ecuaciones algebraicas, los recursos de c omputo disponibles son una restricci on muy fuerte. Existen dos familias de m etodos para resolver los sistemas:

5.1

TDMA

33

directos e iterativos. Los m etodos iterativos son generalmente mucho m as econ omicos que los directos y por ello son preferidos cuando la matriz es dispersa. En este trabajo se ha usado un m etodo iterativo que se basa en el algoritmo directo de Thomas o TDMA para matrices tridiagonales.

5.1.

TDMA

El TDMA es un m etodo directo para resolver de manera simple y eciente sistemas tridiagonales. En una dimensi on, la matriz del sistema es t picamente tridiagonal, por lo tanto el TDMA es aplicado directamente, v ease gura 14.
TDMA en 1D Sistema lineal en 1D

A
W P E

Puntos en la frontera del dominio

Puntos donde se resuelve

Figura 14: TDMA en 1D. El TDMA puede resumirse como sigue: Consid erese el siguiente sistema tridiagonal de 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 soluci on 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 = di + ci Qi1 bi , Qi = . ai ci Pi1 ai ci Pi1 (80)

34 3. Hacer xN = QN 4. Desde i = N-1 hasta i = 1, hacer la sustituci on hacia atr as: xi = Pi xi+1 + Qi

INDICE

(81)

5.2.

Aplicaci on del TDMA en 2 y 3 dimensiones

El TDMA puede ser aplicado iterativamente, l nea por l nea, para resolver problemas en 2 y 3 dimensiones y es ampliamente usado en problemas de CFD. Consid erese la gura 15 y una ecuaci on discreta que tiene la forma: aP P = aE E + aW W + aN N + aS S + SP . (82)

TDMA en 2D

Sistema lineal en 2D

j+1
W P

j y

x Puntos donde se resuelve Puntos en la frontera del dominio Puntos donde los valores se consideran conocidos

Figura 15: TDMA en 2D. Para resolver el sistema, el TDMA es aplicado a lo largo de l neas horizontales o verticales. Por ejemplo, en la direcci on x la ecuaci on (82) se rearregla de la siguiente forma: aW W + aP P aE E = aN N + aS S + SP . (83)

El lado derecho de esta u ltima ecuaci on se supone conocido, y los valores de N y S se toman de la iteraci on anterior. La ecuaci on (83) representa un sistema tridiagonal donde b = aE , c = aW , a = aP y d = aN N + aS S + SP . De esta manera el sistema puede resolverse a lo largo de la direcci on x. Una vez resuelto el sistema en la l nea

5.2

Aplicaci on 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 en que las l neas se van resolviendo se conoce como la direcci on de barrido, en este caso, dicha direcci on es +x. El mismo procedimiento se realiza en la direcci on y . El c alculo es repetido varias veces hasta obtener convergencia. Para problemas tridimensionales el m etodo se aplica l nea por l nea sobre un plano determinado y luego se pasa a un plano paralelo y se contin ua el c alculo. Por ejemplo, para resolver a lo largo de la direcci on x en un plano xz , v ease gura 16, la ecuaci on discreta se escribe como sigue: aW W + aP P aE E = aN N + aS S + aF F + aB B + SP . (84)

TDMA en 3D Sistema lineal en 3D

j
N B

k k+1
W F

P E

Puntos en la frontera del dominio Puntos donde se resuelve

Puntos donde los valores se consideran conocidos

x z

Figura 16: TDMA en 3D. Los valores en N , S , F y B , del lado derecho, se consideran conocidos y son tomados de la iteraci on anterior. As , los valores se calculan a lo largo de la direcci on x mediante el TDMA. Luego, el c alculo se mueve de la l nea k a la k + 1 hasta cubrir todo el plano j . Despu es, se mueve el c alculo al plano j + 1 hasta cubrir todo el dominio. En dos y tres dimensiones la convergencia puede ser acelerada alternando la direcci on de barrido de tal manera que toda la informaci on de las condiciones de frontera se

36 transporte efectivamente dentro del dominio de estudio.

INDICE

6.

Problemas no estacionarios
La ecuaci on general de transporte (1) se puede escribir como sigue: + (u) + (v) + (w) = t x y z + + + S x x y y z z

Integrando la ecuaci on anterior en un volumen de control, V , y en un intervalo de tiempo, t, se obtiene


k+1 V k

dtdV + t
k

k+1 k k+1

(u) + (v) + (w) dV dt = y z V x + + + S dV dt x y y z z V x

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 f acilmente de tal manera que es posible escribir:
k+1 +1 V + k k P P k+1

Cdt =
k k

[D + S] dt.

donde se han agrupado los t erminos convectivos, difusivos y el fuente en C, D y S, respectivamente. Para evaluar las integrales sobre el tiempo, es necesario hacer algunas suposiciones acerca de la variaci on de en cada volumen de control con respecto al tiempo. Es posible usar el valor de en el tiempo t, en el tiempo t + t o una combinaci on de ambos. Lo anterior se generaliza mediante el uso de un par ametro de peso, , cuyo valor est a en el intervalo [0, 1]. Esto se conoce como esquema y se escribe:
k+1

f dt = f k+1 + (1 )f k t
k

V = Ahora, tomando en cuenta que el t ermino fuente se linealiza mediante S Su + SP k , se tiene: P

k f t para = 0 k+1 = f dt = f k+1 t para = 1 k k+1 t f + fk para = 2

1 2

6.1

Esquema Expl cito: Forward Euler

37

+1 k k P P

V +1 k+1 k+1 = D(k nb ) C(nb ) + Su + SP P t

k k +(1 ) D(k nb) C(nb) + Su + SP P

Aqu C y D son funciones de nb evaluado en el instante k y/o k + 1, dependiendo del valor de . La forma de dichas funciones depende de los esquemas num ericos que se usen en la aproximaci on de los diferentes t erminos. El sub ndice nb = E , W , N , S , F , B indica en que punto vecino se eval ua .

6.1.

Esquema Expl cito: Forward Euler

En este esquema se toma = 0


+1 k k P P

V k k = D(k nb) C(nb) + Su + SP P t

De aqu se obtiene:
+1 k = k + P P

t k k D(k nb) C(nb) + Su + SP P V

+1 La ecuaci on anterior es trivial, pues se obtiene el valor de k mediante valores de P conocidos del tiempo anterior k . Este esquema es condicionalmente estable y en general no es muy recomendable.

6.2.

Esquema Impl cito: Backward Euler

En este esquema se toma = 1


+1 k k P P

V +1 k+1 k+1 = D(k nb ) C(nb ) + Su + SP P t

De aqu se obtiene:
+1 k P

V V k+1 +1 k+1 = k + C(k + Su nb ) D(nb ) SP P P t t

Como se puede observar, es necesario resolver un sistema de ecuaciones en cada paso de 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 usar pasos de tiempo peque nos para obtener buena precisi on en la soluci on. Este esquema es recomendable para problemas no estacionarios.

38

INDICE

6.3.

Esquema Crank-Nicolson: Centred Dierencing


1 V +1 k+1 k+1 = D(k nb ) C(nb ) + Su + SP P t 2 1 k k + D(k nb) C(nb) + Su + SP P 2

En este esquema se toma = 1/2


+1 k k P P

De aqu se obtiene: V 1 +1 k+1 k+1 = D(k nb ) C(nb ) + SP P t 2 V 1 k k k + D(k nb) C(nb) + SP P + Su P t 2 En este esquema tambi en es necesario resolver un sistema de ecuaciones en cado paso de tiempo. Este esquema, conocido como Crank-Nicholson, es condicionalmente estable, aunque las limitaciones en el paso de tiempo son menos restrictivas que en el caso expl cito. Crank-Nicolson es de segundo orden en tiempo dado que se basa en diferencias centrales.
+1 k P

7 Paradigmas de programaci on

39

7.

Paradigmas de programaci on

El c omputo cient co ha evolucionado r apidamente en las u ltimas d ecadas alacanzando un alto grado de complejidad. Los vastos avances en el desarrollo de nuevas arquitecturas de hardware y en el desarrollo de m etodos num ericos modernos proveen de una herramienta para resolver cada vez problemas m as complicados. Como resultado, varios problemas importantes para la sociedad se han podido resolver con un alto grado de precisi on, de tal manera que hoy en d a el c omputo cient co es indispensable en muchas areas del conocimiento. La soluci on de estos problemas requiere de la implantaci on de algoritmos num ericos sosticados, los cuales necesitan ser transportables entre las diferentes arquitecturas de c omputo existentes, y adem as tener una alta eciencia. Estos tres elementos: sosticaci on, hardware y eciencia, demandan un nivel de abstracci on alto en los c odigos sin p erdida en el desempe no de los mismos. La mayor a de los c odigos desarrollados en c omputo cient co se construyen usando lenguajes estructurados como F77 o C, pues con estos lenguajes se obtiene alto desempe no sin mucho esfuerzo. Pero por otro lado, el nivel de abstracci on que se puede alcanzar es relativamente bajo, y es posible que no exista relaci on directa de las construcciones del c odigo con las entidades del dominio del problema. Esto u ltimo ocasiona que el c odigo sea de dif cil lectura y frecuentemente es muy complicado, y en algunas ocasiones imposible, darle una buena organizaci on, y por lo tanto el mantenimiento y la extensi on de dicho c odigo resultan en procesos largos, tediosos y sobre todo costosos. Lo anterior inhibe la reutilizaci on de partes del c odigo. Las complicaciones descritas antes caraterizan lo que se conoce como la crisis del software : incapacidad de desarrollar software que sea lo sucientemente simple para ser entendido, mantenido y extendido por cualquier desarrollador, y que adem as sea capaz de proveer soluciones a problemas muy complejos, v ease [4]. Una manera de evitar los problemas de la crisis del software, es siguiendo alguna t ecnica ordenada de desarrollo, como por ejemplo la descrita en [16], en combinaci on con paradigmas de programaci on actuales. En los u ltimos a nos se ha observado que mediante el uso de los paradigmas de programaci on de orientaci on a objetos, programaci on gen erica y programaci on en paralelo, es posible construir software con las caracter sticas necesarias para reutilizarlo en diferentes situaciones y adem as con un rendimiento comparable al que se obtiene con los lenguajes estructurados.

7.1.

Programaci on Orientada a Objetos

El paradigma de programaci on orientada a objetos (POO) tiene como principal objetivo el manejo de la complejidad del software. Los conceptos b asicos de abstracci on, encapsulaci on, mensajes, polimorsmo y herencia, permiten desarrollar programas de f acil manejo y control, tanto para el desarrollador como para el usuario nal. Muchos esfuerzos se han realizado para generar sistemas de software cient co usando este paradigma, v ease [25].

40

INDICE

En la POO se construyen abstracciones para modelar alguna entidad del dominio del problema, y en ellas se encapsula la informaci on relevante de esta y las funciones u operaciones que se realizar an sobre dicha informaci on. Una referencia cl asica de este paradigma de programaci on es el libro de Grady Booch [4].

7.2.

Programaci on Gen erica

La POO puede ir m as all a mediante la construcci on de abstracciones gen ericas. Este es el objetivo principal de la programaci on gen erica (PG), en donde adem as poder reutilizar estas abstracciones en un amplio rango de aplicaciones, se mantiene la eciencia de los c odigos. Mediante la construcci on de componentes gen ericas se reduce el n umero de l neas de c odigo y se contruyen programas que se pueden adaptar a cualquier tipo de dato abstracto. Para m as informaci on acerca de este paradigma, se recomienda revisar [36]. En el lenguaje C++, la herramienta de plantillas o templates permite construir c odigo gen erico. En la biblioteca est andar de plantillas de C++ (STL), que es el ejemplo m as conocido de programaci on gen erica, existen estructuras de datos que se conocen como contenedores y cumplen con ciertos requisitos para funcionar con algoritmos gen ericos a trav es de iteradores contenidos en la misma STL [1, 17, 23]. Por ejemplo, el algoritmo accumulate(), que suma el valor de las entradas de un contenedor, se puede usar como sigue:
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 independiente de la estructura de datos que se le pasa como argumento. Usando algoritmos gen ericos y modelos, se reduce el c odigo: si se tienen M algoritmos y N modelos (estructuras de datos), la cantidad de c odigo que se debe construir en el paradigma de programaci on estructurada (F77 y/o C) es O(M N ), mientras que en la programaci on gen erica la cantidad de c odigo ser a de O(M + N ).

8.

Programaci on paralela

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

8.1

Organizaci on de la memoria

41

simple de instrucciones y opera sobre secuencias simples de datos. Las computadoras de este tipo se conocen como SISD (Single Instruction Single Data ). La velocidad de una computadora SISD est a limitada b asicamente por dos factores: velocidad del procesador y capacidad de memoria. La velocidad del procesador se incrementa seg un la ley de Moore [22], pero existe un l mite f sico: la separaci on entre transistores no puede ser menor que la separaci on entre part culas elementales. La capacidad y velocidad de acceso a la memoria se mejoran mediante diferentes tecnolog as (que incluyen cache, memory interleaving y pipelining ) pero tambi en existen limitaciones [19]. Una manera alterna para mejorar la velocidad de ejecuci on es el uso de m ultiples CPUs con su memoria, interconectados de alguna manera. En teor a, la raz on de procesamiento crecer a conforme se incremente el n umero de procesadores. Las computadoras que contienen m ultiples procesadores se conocen como computadoras parallelas y existen diferentes tipos que se clasican de acuerdo a su arquitectura. La clasicaci on de Flynn [12] es la m as conocida y consiste de las siguientes categor as: SISD (Single Instruction, Single Data ) : Computadoras tradicionales que procesan instrucciones de manera serial. SIMD (Single Instruction, Multiple Data ) : Computadoras con varios procesadores que trabajan concurrentemente y ejecutan las mismas instrucciones sobre conjuntos de datos diferentes. MISD (Multiple Instruction, Single Data ) : Computadoras con varios procesadores donde cada uno de ellos puede modicar los datos antes de pasar al siguiente procesador, el cual realiza otro tipo de operaciones sobre los mismos datos. MIMD (Multiple Instruction,Multiple Data ): Computadoras en las que cada procesador es capaz de ejecutar conjuntos de instrucciones diferentes independiente de los otros procesadores.

8.1.

Organizaci on de la memoria

Resolver un problema en un ensamble de procesadores requiere de la interacci on entre procesadores. Esta interacci on est a determinada por los dos tipos b asicos de arquitecturas: memoria compartida y memoria distribuida. Memoria compartida : Los diferentes procesadores comparten un espacio de memoria 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 compartir datos. El n umero de procesadores usado en una arquitectura de este tipo est a limitado por el ancho de banda del bus de datos que conecta a los procesadores. Memoria distribuida : Cada procesador tiene su propia memoria local o privada. Todos los procesadores o nodos tienen acceso r apido a su memoria local y pueden

42

INDICE acceder a la memoria de otros nodos a trav es de una red, la cual debe permitir comunicaciones de alta velocidad. Los datos que se intercambian entre los nodos son enviados como mensajes sobre la red.

8.2.

Modelos de programaci on

La programaci on en una arquitectura multiprocesador se puede hacer b asicamente de dos maneras: Paralelismo de memoria compartida, por medio de directivas. Este tipo de programaci on puede ser implementado con HPF (High Performance Fortran ) [14] o con OpenMP [24], donde un c odigo serial se paraleliza adicionando directivas (las cuales aparecen como comentarios cuando se realiza una ejecuci on serial) que le dicen al compilador como distribuir los datos y el trabajo entre los procesadores. Los detalles de la distribuci on de los datos y comunicaciones son realizados por el compilador. Estas implementaciones se realizan usualmente en arquitecturas de memoria compartida debido a que el espacio global de memoria simplica grandemente la escritura de los compiladores. Progamaci on en env o de mensajes, mediante llamadas a funciones. Este segundo enfoque puede implementarse en ambos tipos de arquitectura de memoria. En este caso el programador es responsable de dividir expl citamente los datos y el trabajo entre los procesadores, as como manejar las comunicaciones entre ellos. Este enfoque es muy exible y portable a diferentes tipos de m aquinas. Se puede implementar con PVM (Parallel Virtual Machine ) [28] y con MPI (Message Passing Interface ) [13, 31].

8.3.

Comunicaciones

El hardware que permite a los procesadores comunicarse es un aspecto cr tico en ambos tipos arquitecturas de memoria. Desde un punto de vista abstracto no hace mucha diferencia si se conectan procesadores al bus de memoria o si se conectan computadoras entre s . El papel que juega la red en un cluster de PCs es comparable al papel del bus de datos en una computadora de memoria compartida. En general, un programador no necesita conocer la topolog a de interconecci on de los procesadores para construir un programa paralelo. El software que maneja la red y el hardware de las computadoras paralelas actuales esconden los detalles de bajo nivel de la red, permitiendo a los c odigos enviar trabajos a cualquier procesador de la computadora. Sin embargo, es u til tomar en cuenta dos aspectos de las redes que son relevantes para el dise no de un algoritmo. 1. Raz on de transferencia de datos. El modelo est andar de una red involucra dos par ametros:

8.4

Descomposici on del problema

43

La latencia (network latency ) L(seg ), que es el tiempo necesitado para iniciar la conecci on entre dos procesadores. El ancho de banda (bandwidth ) B ( bytes ), que es la raz on a la cual los datos seg son intercambiados despu es de que se ha iniciado una conecci on. 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 vez de un conjunto de mensajes cortos, a un si la cantidad total de datos transferidos es la misma. 2. Comunicaciones locales y globales. Los diferentes modelos de programaci on paralela permiten comunicaciones uno a uno, todos a uno y todos a todos. Cada uno de estos tipos de comunicaci on tiene sus costo. Un ejemplo t pico es el producto N punto entre dos vectores u v = i=1 ui vi . Si cada uno de los P procesadores tiene un subconjunto de las componentes de ambos vectores, estos realizan una suma parcial local sin necesidad de comunicaciones. Pero el resultado nal involucra necesariamente comunicaciones globales, que dependendiendo de P y L pueden ser m as caras que las sumas parciales realizadas en paralelo.

8.4.

Descomposici on del problema

El primer paso en el dise no de un algoritmo paralelo es descomponer el problema en subproblemas m as simples. Luego, cada uno de estos subproblemas se asignan a diferentes procesadores en donde se resuelven simult aneamente. Existen b asicamente dos tipos de descomposici on: descomposici on de dominio y descomposici on funcional. Descomposici on de Dominio (DD) : En el modelo de descomposici on de dominio o paralelismo de datos, los datos se dividen en porciones de aproximadamente el mismo tama no que se mapean a diferentes procesadores. Cada procesador trabaja con la porci on de datos que le fue asignada. En algunos problemas los procesadores necesitar an comunicarse peri odicamente para intercambiar informaci on. Un algoritmo en este modelo consiste de una secuencia de instrucciones elementales aplicadas a los datos. La arquitectura SIMD se acopla a este tipo de paralelismo, donde copias del mismo c odigo se ejecutan sobre diferentes porciones de datos en diferentes procesadores. La estrategia DD se emplea com unmente en algoritmos para resolver ecuaciones diferenciales parciales con valores a la frontera, donde los procesadores pueden operar independientemente sobre porciones de datos grandes, comunicando s olo una peque na parte de datos (la frontera) en cada iteraci on.

44

INDICE

Descomposici on Funcional (DF) : Frecuentemente, la estrategia de descomposici on de dominio resulta no ser la m as eciente para un programa en paralelo. Esto sucede cuando las porciones de datos asignadas a los diferentes procesadores requieren de espacios de tiempo muy distintos para ser procesadas. Entonces, el rendimiento del c odigo est a limitado por la velocidad del procesador m as lento. Los procesadores que terminan primero permanecen inactivos hasta que el procesador m as lento naliza su trabajo. En este caso, la descomposici on funcional o paralelismo de tareas es m as efectivo que la descomposici on de dominio. En el paralelismo de tareas, el problema se descompone en un n umero grande de tareas peque nas, las cuales se van asignando a los procesadores conforme est os est en disponibles. A los procesadores que terminan su trabajo m as r apido simplemente se les asigna otra tarea. El paralelismo de tareas se implementa en un modelo de cliente-servidor. Las tareas se distribuyen entre un grupo de procesadores esclavos por un procesador maestro, el cual tambi en puede realizar algunas tareas. El modelo de cliente-servidor puede ser implementado virtualmente a cualquier nivel del programa. Por ejemplo, si se desea ejecutar un programa con diferentes entradas, una implementaci on cliente-servidor puede ejecutar m ultiples copias del c odigo serial, con el servidor asignando las diferentes entradas a cada proceso cliente. Conforme cada procesador vaya terminando su tarea se le asignar a una nueva con una entrada diferente. Un ejemplo donde este tipo de descomposici on es u til es en aplicaciones que se ejecutan en tiempo real, que es el caso de sistemas de visualizaci on interactiva y realidad virtual.

8.5.

M etricas y otros factores

El principal objetivo de un programa paralelo es resolver un problema en menos tiempo comparado con la versi on serial del mismo. En el dise no de un c odigo paralelo se deben considerar algunos factores importantes para obtener el mejor rendimiento posible dentro de las restricciones del problema que se est e resolviendo. Para medir el benecio del paralelismo existen algunas par ametros est andares que son usados ampliamente y que se describen a continuaci on.

8.6.

Balance de carga

El trabajo total de c alculo que se realizar a para resolver el problema, debe ser dividido equitativamente entre el n umero de procesadores disponibles. Esto se hace f acilmente cuando el mismo conjunto de operaciones es realizado por todos los procesadores, sobre diferentes porciones de datos. En el caso de DD el balance de carga es obtenido autom aticamente si las porciones de datos son iguales, aunque en algunos casos se deben considerar las condiciones en las que esto es v alido. Por ejemplo si un procesador debe resolver la capa l mite de un ujo, este tardar a m as que otros procesadores que no lo hacen, aun cuando trabajen sobre porciones de datos del mismo tama no. En el caso de la DF, el balance de carga es m as importante, pues es necesario asignar tareas del

8.7

M etricas de rendimiento

45

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

8.7.

M etricas de rendimiento

Algunas de las m etricas que se utilizan frecuentemente para medir el rendimiento de programas paralelos son las siguientes: Tiempo de ejecuci on : El tiempo de ejecuci on de un programa serial se denota por Ts El tiempo de ejecuci on en paralelo se mide a partir del momento en que el c alculo en paralelo inicia hasta que el u ltimo procesador termina su ejecuci on, y se denota por Tp . El tiempo total de ejecuci on de un programa en paralelo debe tomar en cuenta el tiempo de c alculo, el tiempo de inactividad y el tiempo de comunicaci on. Aceleraci on (Speedup ) : Es una medida que captura el benecio relativo de resolver un problema en paralelo. Se dene como la raz on del tiempo que se lleva resolver el problema en un solo procesador entre el tiempo requerido para resolver el mismo problema con np procesadores id enticos. Entonces, la aceleraci on se calcula mediante S = Ts /Tp . Una aceleraci on ideal para np procesadores ser a S = np . Eciencia : La eciencia mide la fracci on de tiempo que un procesador pasa realizando operaciones del algoritmo paralelo, es decir, sin incluir comunicaciones, tiempos de espera, etc. Se dene como E = S/np . Una eciencia ideal ser a E = 1. Costo : Se dene el costo de resolver un problema en paralelo como el producto del tiempo de ejecuci on en paralelo Tp por el n umero de procesadores usados np . Este n umero reeja la suma del tiempo que cada procesador gasta resolviendo el problema. Se tiene un costo optimo si es es proporcional a Ts .

8.8.

Sobreposici on de la comunicaci on y los c alculos

Existen varias formas de minimizar el tiempo inactivo entre los procesadores, y un ejemplo es sobreponer los c alculos con las comunicaciones. Esto implica ocupar un procesador con una o m as tareas nuevas mientras se espera a que termine la comunicaci on con otros procesadores. El uso cuidadoso de comunicaciones no bloqueables (non-blocking ) hacen posible lo anterior. Sin embargo, es muy dif cil, en la pr actica, intercalar comunicaciones y c alculos.

8.9.

Ley de Amdahl
Pp + Ps np

La ley de Amdahl se escribe como sigue: Tp = Ts (86)

46

INDICE

donde Ps es la porci on del programa que se ejecuta en serie; Pp es la porci on del programa que se ejecuta en paralelo; np es n umero de procesadores. Adem as se cumple que Ps + Pp = 1. De la ecuaci on (86) tenemos que una medici on de la aceleraci on es: Ts S= = Tp Pp + Ps np
1

(87)

La siguiente tabla muestra el comportamiento de la aceleraci on de acuerdo con la ley de Amdahl. Pp 80 % 90 % 95 % 98 % S (2) S (4) S (8) S (16) 1.6 2.5 3.3 4.0 1.8 3.0 4.7 6.4 1.9 3.5 5.9 9.0 1.96 3.7 7.0 12.3

Cuadro 3: Aceleraci on en funci on del n umero de procesadores y del porcentaje de paralelizaci on del c odigo. Se observa que la aceleraci on es muy sensitiva a la porci on paralela PP y al n umero de procesadores. Adem as, S no crece linealmente conforme el n umero de procesadores se incrementa. La recomendaci on es paralelizar c odigos en donde PP 70 %

8.10.

Escalabilidad

En general un n umero alto de procesadores disminuye la eciencia. Por otro lado, se ha observado que en algunos casos el incremento del tama no del problema incrementa la eciencia. Entonces deber a ser posible mantener la eciencia constante cuando, tanto el n umero de procesadores as como el tama no del problema se incrementan simult aneamente. Esta habilidad de mantener la eciencia constante se conoce como escalabilidad. La escalabilidad de un programa paralelo es la medida de su capacidad de incrementar la aceleraci on en proporci on al n umero de procesadores. Se dice que un programa es escalable cuando su eciencia es mayor a 0.5.

9.

Descomposici on de dominio y paralelismo

El t ermino descomposici on de dominio (DD) es utilizado de forma diferente por especialistas en an alisis num erico de ecuaciones diferenciales parciales. En general, DD es un nombre gen erico que es usado para describir varios tipos de algoritmos. Asu se usa el t ermino DD para referirnos al caso en el que el dominio espacial es dividido en varios bloques o subdominios los cuales pueden asignarse a procesadores independientes. Existen varias motivaciones para utilizar DD:

9.1

Algoritmo alternante de Schwarz La paralelizaci on es f acil y se puede obtener un buen escalamiento. Se pueden simplicar problemas en geometr as complejas. Se pueden utilizar diferentes modelos en diferentes subdominios. Se pueden renar las mallas localmente en cada subdominio.

47

Se reducen los requerimientos de hardware (memoria y cpu), pues cada subdominio es mucho m as peque no que el dominio global. Se pueden encontrar diferentes clascaciones para m etodos de DD. En general se tienen dos tipos de m etodos en DD: subdominios con traslape y subdominios sin traslape. En los primeros cada subdominio puede traslaparse con sus vecinos y los algoritmos empleados se basan en el algoritmo alternante de Schwarz. En los segundos, no hay traslape y se utiliza la matriz complemento de Schur en el dise no de los algoritmos. M as detalles de esta clasicaci on se puede encontrar en [29, 30]

9.1.

Algoritmo alternante de Schwarz

El m etodo de Schwarz fue introducido por primera vez en 1870, que aunque no es originalmente un m etodo num erico, puede ser usado para resolver num ericamente ecuaciones diferenciales parciales. Considere el dominio que se muestra en la gura 17, en donde se desea resolver el siguiente problema: L = F en , = G sobre . (88)

donde L es un operador diferencial, es una variable escalar, F es un t ermino fuente y G es el valor de en la frontera. En esta descripci on solo se consideran condiciones de frontera de tipo Dirichlet, aunque se pueden incluir otro tipo de condiciones f acilmente. El dominio se descompone en dos subdominios: = 1 1 . La nomenclatura que se usa en lo que sigue es la siguiente, v ease gura 18: Los dominios , 1 , 1 no contienen su frontera. es la frontera real de . = es la cerradura del dominio. i es una frontera articial y es parte de la frontera de i que est a en el interior de . i \i es la frontera de i sin la parte de i .

48

INDICE

2 1 1
Figura 17: Dominio de estudio y su descomposici on i despu n on aproximada en es de n iteraciones. i denota la soluci n on de n i |j es la restricci i en j , donde i = j .

1 | 1

1 2 | 2

Figura 18: Dominios usados en el algoritmo alternante de Schwarz. El m etodo alternante de Schwarz comienza seleccionando una soluci on inicial en 2 , 0 que se denota 2 . Entonces, se resuelve iterativamente el siguiente par de problemas, para n = 1, 2, 3, ... :

9.1

Algoritmo alternante de Schwarz

49

Ln 1 = F en 1 n 1 = G sobre 1 \1 n1 n |1 sobre 1 1 = 2 para n on del problema 1 , seguido por la soluci Ln 2 = F en 2 n 2 = G sobre 2 \2 n n 2 = 1 |2 sobre 2 De esta manera, en la mitad de cada iteraci on del m etodo alternante de Schwarz, se resuelve un problema en el subdominio i con la condici on g en la frontera real i \i , y valores de la iteraci on anterior en la frontera i . Ss supone ahora que las ecuaciones han sido discretizadas usando alg un m etodo, volumen nito por ejemplo. Entonces para el vector i se tiene el vector discreto de coecientes: i (89) i = i \i i Los coecientes i \i son conocidos, y est an dados por los valores del dominio j con i = j . Los vectores discretos correspondientes a F y G son fi y gi respectivamente. La matriz de coecientes Ai es la discretizaci on del operador L en i . Esta matriz tiene tres componentes: A = (Ai , A i \i , Ai ). La forma discreta de n i |j la escribimos como Wjn . Entonces, en forma discreta, un algoritmo alternante de Schwarz se escribe como sigue: Algoritmo alternante de Schwarz 01 02 03 04 05 06 07 08 09 10 11
0 W1 0. For n = 1, ... Resolver para n 1: n A1 1 = f1 en 1 n 1 \1 = g1 sobre 1 \1 n1 sobre 1 n 1 = W 1 n W2 n | 1 2 Resolver para n 2: A2 n = f 2 en 2 2 n 2 \2 = g2 sobre 2 \2 n n 2 = W2 sobre 2

50 12 13 14 15 16

INDICE
n W1 n 2 |1 Checar la convergencia: n1 n1 n n W2 || tol2 Fin. Si ||W1 W1 || tol1 y ||W2 n1 n1 n n Si ||1 1 || tol1 y ||2 2 || tol2 Fin. End For

N otese que este algoritmo es serial, en donde cada iteraci on se divide en dos partes: en la primera se resuleve el problema en el 1 , y en la segunda en el 2 . Esto corresponde a una iteraci on del tipo Gauss-Seidel por bloques, en donde cada bloque corresponde a un subdominio. Por lo tanto, un algoritmo paralelo se obtiene usando las mismas estrategias usadas en la paralelizaci on del algoritmo de Gauss-Seidel, v ease [29]. Otra manera es usar una versi on del algoritmo arriba descrito en t erminos de una iteraci on de Jacobi por bloques. En este algoritmo, se suponen conocidas las condiciones en la fronteras internas, i , y se resuelve de manera simultanea un problema similar en cada subdominio. Un algoritmo paralelo de este caso, para K subdominios, es el que sigue: Algoritmo paralelo alternante de Schwarz 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 Particionar el dominio Denir el problema en cada subdominio 0 0 W1 0, ..., WK 0 Parallel For k = 1, ..., K For n = 1, ... Resolver para n k: Ak n = f k en k k n k \k = gk sobre k \k n1 n sobre k k = W k Checar la convergencia : n1 n Si ||Wk Wk || tolk Fin n1 n Si ||k k || tolk Fin End For Wait Enviar n k |k 1 a los subdominios vecinos 0 Wk n nb |k End Parallel For

9.2.

Partici on del dominio

Para resolver un problema en paralelo, primero se genera el dominio global de estudio, despu es se determina el tipo de partici on conveniente. La partici on se aplica sobre el dominio global y se denen las condiciones en las interfases para cada subdominio. Un esquema de una partici on t pica se muestra en la gura 19.

9.2

Partici on del dominio

51

Subdominios Dominio global 2 3 2 3

Particin

4 1 4

(a)

Intercambio de informacin

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

(b)

Figura 19: Descomposici on tipo tablero de ajedrez y correspondencia de las fronteras fantasma. La partici on mostrada en la gura 19 se puede construir f acilmente dentro del entorno de programaci on de env o de mensajes conocido como MPI [31, 13]. Se utiliza un arreglo cartesiano de tal manera que se asignan coordanadas a cada subdominio, de tal manera que este u ltimo conocer a de antemano conocer los subdominios vecinos con los que se debe comunicar, v ease gura 20.

52

INDICE

Topologa Virtual
2 (0,2) 5 (1,2) 8 (2,2)

Comunicacin entre subdominios


(I, J+1)

1 (0,1)

4 (1,1)

7 (2,1)

(I1, J)

(I, J)

(I+1, J)

(I, J1)

(I, J) Coordenadas de la Topologa Virtual J I 0 (0,0) 3 (1,0) 6 (2,0)

Figura 20: Topolog a Virtual (TV) en 2D generada por la partici on por bloques. Se muestra la numeraci on de los subdominios en t erminos de las coordenadas de la TV.

10 Casos de estudio

53

10.

Casos de estudio

En esta secci on se presentan algunos ejemplos de soluci on num erica de problemas de convecci on natural usando el m etodo de volumen nito presentado anteriormente. Para este efecto se construy o el software TUNA::FVM (Template Units for Numerical Applications:: Finite Volume Method), el cual puede ser obtenido gratuitamente en http://www.dci.dgsca.unam.mx/lmcs o enviando un correo a luiggi@unam.mx.

10.1.

Convecci on forzada
T + U T = 2 T. t

La ecuaci on a resolver es la siguiente: (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 adem as cumple con la ecuaci on de continuidad. Las condiciones de frontera para el caso de dos dimensiones son las que se muestran en la gura 21.
T =0 y

T = 0.5

T = 0.5

T =0 y

Figura 21: Dominio de estudio y condiciones de frontera para el problema de convecci on forzada en 2D. En dos dimensiones para una malla de 242 se hizo una comparaci on entre los tres esquemas CDS, Upwind y QUICK. El resultado se presenta en la gura 22 en donde se muestran contornos de temperatura y una compar aci on entre los tres esquemas en y = 0,5.

54

INDICE

0.5

0.4

0.3 0.2

0.4 0.3 0.2

Upwind CD Quick

0.1
0.1

T
0.4

0.0

-0.1

0.1
-0.2 -0.3

0.2
-0.4

0.3

-0.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

eje x (a) (b)

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

10.2.

Convecci on Natural: r egimen laminar

En este ejemplo se muestra la soluci on de un problema de convecci on natural en un prisma c ubico. Las paredes verticales se mantienen a una diferencia de temperatura constante, mientras que las paredes horizontales son adiab aticas. Las ecuaciones que se deben resolver son (6), (7) y (8). En este caso se utiliza el algoritmo SIMPLEC para resolver el problema no lineal y desacoplar la presi on y velocidad de las ecuaciones de Navier-Stokes. La gura 23 muestra el resultado en tres dimensiones para una malla de 483 , un paso en el tiempo de 104 , un n umero Prandtl de 0.71 que corresponde al aire y un n umero de Rayleigh de 105 . 10.2.1. Benchmark: de Vahl Davis

En este ejemplo se resuelve el problema descrito en el benchmark publicado por de Vahl [8]. Es un problema de convecci on natural en dos dimensiones, en donde se considera el aire como uido de estudio cuyo n umero de Prandtl es igual a 0.71. Las cantidades que se calculan y comparan son: Umax velocidad horizontal m axima en la l nea x = 0.5. y coordenada vertical donde ocurre Umax . Vmax velocidad vertical m axima en la l nea y = 0.5.

10.3

Convecci on Natural: r egimen turbulento

55

Figura 23: Convecci on natural en tres dimensiones. x coordenada horizontal donde ocurre Vmax . N u N umero de Nusselt en la pared vertical x = 0 El problema se resuelve en una malla de 812 y los resultados num ericos se muestran en la tabla 4. La diferencia porcentual m axima de todas las cantidades calculadas es de 1.7 %. Contornos de velocidad y temperatura, as como varias trayectorias de part culas se muestran en la gura 24.

10.3.

Convecci on Natural: r egimen turbulento

En este ejemplo se resuelve el modelo de turbulencia descrito en la secci on 1.5. El dominio del problema se muestra en la gura 25. Las condiciones de frontera que se consideran son:

56 Ra = 103 dVD[8] BibClas 3.649 3.649 0.813 0.814 3.697 3.698 0.178 0.179 1.117 1.118 Ra = 104 dVD[8] BibClas 16.178 16.184 0.823 0.827 19.617 19.633 0.119 0.117 2.238 2.248 Ra = 105 dVD[8] BibClas 34.722 34.824 0.855 0.864 68.590 68.684 0.066 0.068 4.509 4.546

INDICE Ra = 106 dVD[8] BibClas 64.630 65.451 0.850 0.852 219.360 218.098 0.0379 0.0375 8.817 8.970

Umax y Vmax x Nu

Cuadro 4: Comparaci on con el benchmark publicado por de Vahl Davis [8]. Los resultados num ericos fueron obtenidos usando el esquema QUICK, en una malla de 81 81.
112 80 64 16 32 0.0 32 48 64 80 112 16 27 48 0 0 0 27 27

27

(a)
0.44 0.37 0.31 0.25 0.19 0.12 0.06 0.0 0.06 0.12 0.19 0.25 0.31 0.37 0.44 2

(b)

3 1

(c)

(d)

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 u=0 u=0 u=0 y T =0.5 y T =-0.5 y T /z = 0 y T /y = 0 para x=0 para x = Lx para 0 x Lx para 0 x Lx 0 y Ly 0 y Ly 0 y Ly y = 0, Ly 0 z Lz , 0 z Lz , z = 0, Lz , 0 z Lz .

10.3

Convecci on Natural: r egimen turbulento

57

Lx

Ly TH TC TH > TC Lz = 2 Lx = 2Ly

Lz

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

Este problema ha sido resuelto num ericamente usando diferentes modelos de turbulencia por otros autores, v ease por ejemplo [15, 27]. Adem as, existen datos experimentales con los que se pueden comparar los resultados num ericos [34, 35]. En este caso se realizaron dos ejemplos para mallas de 64 64 48 y 96 96 64. Se utiliz o el esquema CDS en todas las ecuaciones, pues es menos dispersivo que el Quick. La gura 26 muestra el n umero de Nusselt calculado en la pared derecha (el resultado es similar para la pared izquierda). Para hacer una comparaci on con los resultados experiementales, se calcul o el n umero de Nusselt en las cuatro paredes y se grac o el resultado en sentido horario. En la gura 27 los puntos representan los resultados num ericos publicados en [34] y la l nea continua es el n umero de Nusselt que se obtuvo en una malla de 160 160 80 vol umenes. Como se puede apreciar, el modelo captura la forma cualitativa de la transferencia de calor local, pero falla en la parte de los picos que se generan cerca de las esquinas. La diferencia cuantitativa que existe entre los resultados num ericos y los experimentales se debe a que, se utiliza una malla gruesa que no resuelve adecuadamente los detalles cerca de las paredes. Para capturar y resolver la capa l mite que se genera cerca de las paredes, es necesario agregar m as puntos en esas zonas, y esto se puede lograr mediante el uso de una malla no uniforme.

58
50
64 X 64 X 48 96 X 96 X 64

INDICE

40

Nusselt

30

20

10 0

5000

10000

Iteraciones

Figura 26: N umero de nusselt para mallas de 64 64 48 y 96 96 64.

<Nu>
150

100

50

-50 0

Figura 27: N umero de nusselt promedio alrededor de las cuatro paredes para una malla de 160 160 80.

Un ejemplo del ujo dentro de la cavidad se da en la gura 28 donde se graca el ujo promedio y el ujo secundario en la esquina superior izquierda del plano z =0.5. La gura 29 muestra la distribuci on de la viscosidad turbulenta, v ease ecuaci on (21). Las guras 28 y 29 demuestran que la mayor a del proceso turbulento est a presente en la capa l mite cerca de las paredes.

10.4
1
0.351
51

Convecci on forzada en paralelo


1

59

0.3

0.

0.351
35 1

0.351

0.351

0.351

0.351
0. 35 1

0.5

0.3510 .3 51

Figura 28: (a) Flujo secondario instant aneo e isolines de la viscosidad turbulenta t . (b) ujo promedio.

Figura 29: Distribuci on de la viscosidad turbulenta. Raz on de aspecto de la cavidad 1:1:0.5, Ra = 1.59 109 and Pr = 0.7.

10.4.

En esta ejemplo se muestra la soluci on del problema de convecci on forzada en paralelo usando la estrat egia descrita en la secci on 7. El resultado de este ejemplo, en dos dimensiones, se muestra en la gura 30, donde se puede observar el campo de temperaturas calculado en 9 subdominios. La malla utilizada fue de 48 48. El mismo problema se resolvi o en tres dimensiones en una malla de 128 128. Este ejemplo se utiliz o para hacer un c alculo de la aceleraci on en funci on del n umero de

0.866

1.57
0.351
6 0.86
0.351

0.5 (a) (b)

Convecci on forzada en paralelo

60

INDICE

Figura 30: Resultado del c alculo en dos dimensiones para 9 procesadores. procesadores. El resultado de este experimento num erico se muestra en la tabla siguiente. N. Proc. Tiempo (segs.) 1 9121.73 2 4680.84 4 2559.71 6 1555.19 8 1230.70 9 1065.94 12 873.16 Aceleraci on Eciencia 1.0 1.0 1.95 0.97 3.56 0.89 5.87 0.98 7.41 0.92 8.56 0.95 10.45 0.87 Costo 9121.73 9361.68 10238.84 9331.14 9845.60 9593.46 10477.92

Cuadro 5: Desempe no para la soluci on en paralelo del problema de convecci on natural forzada en 3D en una computadora SGI ONIX 350 con 12 procesadores R16K. El modelo de memoria de esta computadora es de memoria compartida (NUMAFlex).

REFERENCIAS

61

Referencias
[1] M. H. Austern. Generic Programming and the STL: Using and Extending the C++ Standard Template Library. AddisonWesley, 1999. [2] R. Bastiaans, C. Rindt, F.Nieuwstadt, and A. van Steenhoven. Direct and large eddy simulation of the transitional of two and threedimensional plane plumes in a conned enclosure. Int. J. Heat and Mass Trans, 43:23752393, 2000. [3] G. K. Batchelor. An Introduction to Fluid Dynamics. Cambridge University Press, 1970. [4] G. Booch. Object-Oriented Analysis and Design with Applications. BenjaminCummings, Redwood City, CA, 1994. [5] A. Burks, H. Goldstine, and J. von Neumann. Preliminary Discussion of the Logical 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. McGrawHill, 1974. [8] G. de Vahl Davis. Natural convection of air in a square cavity: a bench mark numerical solution. Int J Numer Methods Fluids, 3:249264, 1983. [9] J. V. Doormal and G. D. Raithby. Enhancements of the simple method for predicting incompressible fuiod ows. Num. Heat Transfer, 7:147163, 1984. [10] T. Eidson. Numerical simulation of the turbulent rayleighb enard problem using subgrid modelling. J. Fluid Mech, 158:245268, 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 eectiveness. IEEE Transactions on Computers, C-21(9):948960, 1972. [13] W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B.Nitzberg, W. Sapir, and M. Snir. MPI: The Complete Reference: Volume 2, The MPI-2 Extensions. The MIT 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 ows in enclosures. Int. J. Heat and Fluid, 25:659 670, 2004.

62

REFERENCIAS

[16] I. Jacobson, G. Booch, and J. Rumbaugh. The Unied Software Development Process. AddisonWesley, 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 ow at low reynolds number. J. of Fluid Mech., 177:133166, 1987. [19] V. Kumar, A. Grama, A. Gupta, and G. Karypis. Introduction to Parallel Computing. BenjaminCummings, Redwood City, CA, 1994. [20] B. P. Leonard. A stable and accurate conevctive modelling procedure based on quadratic upstream interpolation. Comp. Meth. in App. Mech. and Engineering, 19:5998, 1979. [21] M. Lesieur and O. M etais. New trends in large-eddy simulations of turbulence. Annu. Rev. Fluid Mech., 28:4582, 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. AddisonWesley, 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. McGrawHill, 1980. [27] S.-H. Peng and L. Davidson. Large eddy simulation for turbulent buoyant ow in a conned cavity. Int. J. Heat and Fluid, 22:323331, 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 Publishing Company, 2000. [30] B. F. Smith, P. E. Bjorstad, and W. D. Gropp. Domain Decomposition: Parallel Multilevel Methods for Elliptic Partial Dierential Equations. Cambridge University Press, 1996. [31] M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra. MPI: The Complete Reference: Volume 1, The MPI Core. The MIT Press, Cambridge, Massachusetts, London, second edition edition, 1998. [32] H. Tennekes and J. L. Lumley. A Firts Course in Turbulence. MIT Press Cambdrige, 1972.

REFERENCIAS

63

[33] Thomas B. Gatski (NASA Langley Research Center), M. Youssu Hussaini (ICASE), and Jonh L. Lumley (Cornell University), editors. Simulation and Modeling of Turbulent Flows, New York, 1996. Oxford University Press. [34] Y. Tian and T. Karayiannis. Low turbulence natural convection in an air lled square cavity, part i: The thermal and uid ow elds. International Journal of Heat and Mass Transfer, 43:849 866, 2000. [35] Y. Tian and T. Karayiannis. Low turbulence natural convection in an air lled square cavity, part ii: The thermal and uid ow elds. International Journal of Heat and Mass Transfer, 43:867 884, 2000. [36] D. Vandevoorde and N. M. JosuttisOB. C++ Templates. AddisonWesley, 2003. [37] H. Versteeg and W. Malalasekera. An introduction to computational uid dynamics: The nite volume method. Longman, 1995.

También podría gustarte