Вы находитесь на странице: 1из 64

Solucin del problema de conveccin utilizando o o volumen nito y algoritmos paralelos

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

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

2. Mtodo numrico e e 2.1. Mtodo de residuos pesados . . . . . . . e 2.2. Mtodo de volumen nito . . . . . . . . e 2.3. Propiedades . . . . . . . . . . . . . . . . 2.4. Difusin . . . . . . . . . . . . . . . . . . o 2.4.1. Difusin estacionaria en 1D . . . o 2.4.2. Difusin estacionaria en 2D y 3D o 2.5. Linealizacin del trmino fuente . . . . . o e 2.6. Condiciones de frontera . . . . . . . . . . 2.7. Consideraciones geomtricas . . . . . . . e 3. MVF : AdveccinDifusin o o 3.1. Aproximacin de los trminos difusivos . o e 3.2. Aproximacin de los trminos advectivos o e 3.2.1. Upwind . . . . . . . . . . . . . . 3.2.2. Diferencias centrales (CDS) . . . 3.2.3. QUICK . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

INDICE 4. Acoplamiento presin-velocidad o 4.1. Mallas desplazadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Ecuacin de correccin a la presin . . . . . . . . . . . . . . . . . . . . . o o o 4.3. SIMPLEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 28 29 30 31

5. Solucin de los sistemas lineales o 32 5.1. TDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.2. Aplicacin del TDMA en 2 y 3 dimensiones . . . . . . . . . . . . . . . . 34 o 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 programacin o 39 7.1. Programacin Orientada a Objetos . . . . . . . . . . . . . . . . . . . . . 39 o 7.2. Programacin Genrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 o e 8. Programacin paralela o 8.1. Organizacin de la memoria . . . . . . . . . . . o 8.2. Modelos de programacin . . . . . . . . . . . . o 8.3. Comunicaciones . . . . . . . . . . . . . . . . . . 8.4. Descomposicin del problema . . . . . . . . . . o 8.5. Mtricas y otros factores . . . . . . . . . . . . . e 8.6. Balance de carga . . . . . . . . . . . . . . . . . 8.7. Mtricas de rendimiento . . . . . . . . . . . . . e 8.8. Sobreposicin de la comunicacin y los clculos o o a 8.9. Ley de Amdahl . . . . . . . . . . . . . . . . . . 8.10. Escalabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 42 42 43 44 44 45 45 45 46

9. Descomposicin de dominio y paralelismo o 46 9.1. Algoritmo alternante de Schwarz . . . . . . . . . . . . . . . . . . . . . . 47 9.2. Particin del dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 o 10.Casos de estudio 10.1. Conveccin forzada . . . . . . . . . . . . o 10.2. Conveccin Natural: rgimen laminar . . o e 10.2.1. Benchmark: de Vahl Davis . . . . 10.3. Conveccin Natural: rgimen turbulento o e 10.4. Conveccin forzada en paralelo . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 54 54 55 59

INDICE

1.

Conveccin o

Considrese los siguientes eventos: el movimiento imperceptible de las placas contie nentales de la corteza terrestre, las violentas tormentas magnticas en la atmsfera solar, e o las sorprendentes y destructivas fuerzas que provoca un huracn tropical, el movimiento a del aire en un horno de cocina, el crecimiento de cristales semiconductores usados en la construccin de microchips. Todos estos fenmenos involucran el movimiento de uidos o o (l quidos, gases, plasmas) a escalas muy diferentes. Este movimiento se conoce como conveccin: movimiento de part o culas individuales de uidos el cual ocurre a travs de e procesos de difusin y adveccin. o o Dado que el fenmeno de conveccin aparece en muchos procesos naturales e induso o triales, no es sorprendente que en las ultimas dcadas se haya puesto mucha atencin e o en entender el movimiento de uidos y el transporte de cantidades f sicas generado o alterado por la conveccin. o La conveccin se clasica en natural (libre) y forzada. En la primera, el movimiento o del uido se debe a fuerzas naturales, como por ejemplo el efecto de otacin, el cual se o 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 conveccin natural y forzada en algunos procesos, en este o caso se le suele llamar conveccin mixta. o El modelo matemtico que describe la conveccin se basa en las ecuaciones de balance a o de masa, cantidad de movimiento y energ as como en las ecuaciones de estado del a, uido. La obtencin de estas ecuaciones se puede revisar por ejemplo en [7, 6]. o En la seccin que sigue, se describe el modelo matemtico desde un punto de vista o a general y posteriormente se reduce a casos particulares.

1.1.

Ecuacin general de transporte o

Las ecuaciones de la mecnica de uidos representan leyes de conservacin o balance a o de cantidades f sicas como la masa, cantidad de movimiento (momentum) y energ Para a. obtener las ecuaciones se considera el uido continuo y la conservacin de una variable o 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: Razn neta de o Flujo neto de Flujo neto de Razn de cambio de o en el volumen de por adveccin en por difusin en creacin de o o o 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 matemtica, para un uido Newtoniano a [26, 37], como sigue,:

1.2

Conveccin natural o

() + u = () + S, (1) t donde representa la densidad, u es la velocidad del ujo, es un coeciente de difusin o y S es el trmino fuente. e La ecuacin (1) se conoce como la ecuacin general de transporte para la propiedad o o . El primer trmino del lado derecho de esta ecuacin es la razn de cambio de e o o con respecto al tiempo, mientras que el segundo trmino es la componente advectiva e que representa el transporte de debido a la velocidad del ujo. En el lado derecho se tiene el trmino debido al transporte por difusin y el ultimo trmino es la contribucin e o e o ocasionada por fuentes de dentro del campo. La ecuacin general de transporte (1) es o usada como punto de partida para desarrollar algunos mtodos numricos, especialmente e e el mtodo de volumen nito. e En notacin tensorial estas ecuaciones se escriben como sigue: o () + 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 trmino fuente contiene el gradiente e presiones y trminos provenientes de las fuerzas de cuerpo. En esta notacin xj repree o senta coordenadas cartesianas para la posicin, y se utiliza la convencin de Einstein en o o donde ndices repetidos se suman.

1.2.

Conveccin natural o

Las ecuaciones que gobiernan este fenmeno son: balance de masa, balance de cano tidad de movimiento y balance de energ Estas ecuaciones se obtienen tomando en a. cuenta la aproximacin de Boussinesq [6], es decir la densidad se considera constante o excepto en el trmino de fuerzas de cuerpo, mientras que las propiedades f e 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 dinmica y a es la difusividad trmica. En la ecuacin (5) se ha considerado que la energ interna e o a se puede escribir como cV T , con cV el calor espec co a volumen constante. Tambin e

INDICE

T se utiliza la ley de conduccin de calor de Fourier, es decir qj = xj , siendo el o coeciente de conductividad trmica. e Las ecuaciones (3), (4) y (5), se deben complementar con una ecuacin de estado o para poder ser resueltas. En general se considera la siguiente relacin: o

= 0 [1 (T T0 )] , donde es el coeciente de expansin volumtrica y T0 es el valor de la temperatura o e cuando = 0 . se dene como: = 1 0 T .


T =T0

Esta ultima ecuacin describe satisfactoriamente la relacin entre la densidad y la o o temperatura para un uido incompresible.

1.3.

Ecuaciones adimensionales

Las ecuaciones (3), (4) y (5) generalmente se utilizan en forma adimensional tanto para su discretizacin, como para su implementacin. En la forma adimensional, apareo o cen parmetros que permiten hacer estudios de ujos en diferentes estados: laminar o a 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 cinemtica ( = /0 ) y T = TH TC representa una diferencia de temperaturas. a 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 ecuacin (6) se conoce como la ecuacin de continuidad, las ecuaciones (7) o o son las ecuaciones de Navier-Stokes y la ecuacin (8) es la ecuacin de energ bi es o o a. el trmino fuente que representa a las fuerzas de cuerpo externas que intervienen en el e

1.4

Conveccin natural turbulenta o

problema, y en este caso slo se toma en cuenta el efecto de la gravedad apuntando en o la direccin negativa del eje y. Por lo tanto: b1 = 0, b2 = Pr RaT y b3 = 0, donde Pr o y Ra son el nmero de Prandlt y el nmero de Rayleigh respectivamente que se denen u u como sigue: Pr = Ra = ,

gT L3 y , donde g es la magnitud de la aceleracin de la gravedad. o Las ecuaciones (6), (7) y (8) se pueden poner en la forma de la ecuacin general (2) o 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 nmero de Prandtl u se considera constante. En la forma antes escrita, es posible hacer una correspondencia entre las ecuaciones (9),(10) y (11) con la ecuacin general de transport (2), como se o muestra en la siguiente tabla. Ecuacin o 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 ecuacin o general (2). El valor de i var de 1 a 3. a

1.4.

Conveccin natural turbulenta o

Aunque no existe una denicin exacta de turbulencia, se puede decir que un ujo o 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 nmero de Reynolds es relativamente grande. Una discusin amplia del tema se u o

INDICE

encuentra en [32]. La simulacin directa de ujos turbulentos o DNS (Direct Numerical o Simulation), es posible slo en algunos casos simples, pero en la mayor de las ocasiones o a se requieren recursos enormes de cmputo [18]. Algunas tcnicas se han desarrollado para o e evitar este problema y una de las ms conocidas es la Simulacin de Vrtices Grandes o a o o LES (Large-Eddy Simulation). Los detalles de esta tcnica se pueden encontrar en libros e de texto como en [11, 37] y en art culos de revisin como [33]. Aqu slo describiremos o o las propiedades ms importantes. a La tcnica de LES ayuda a simular ujos turbulentos en mallas gruesas. La base de e esta tcnica consiste en la aplicacin de un ltro de convolucin espacial a las ecuaciones e o o gobernantes. En este procedimiento se divide la variable turbulenta f (T , ui o p) en una componente de escalas grandes f , y en una componente de escalas pequeas o de n submalla f . La descomposicin y la convolucin de f con una funcin de ltro g sobre o o o el dominio del ujo se escriben como: f (xi , t) = f (xi , t) + f (xi , t), con f (xi , t) =

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

donde la funcin del ltro g debe satisfacer la condicin de normalizacin o o o g(xi xi )dxi = 1.

La aplicacin del ltro a las ecuaciones gobernantes del problema de conveccin o o natural, ecuaciones (6),(7) y (8), produce la siguiente descripcin del movimiento de las o escalas grandes: uj = 0, xj ui ui p 2 ui ij + uj = + Pr + i + b , t xj xi xj xj xj T T 2T hj + uj = + . t xj xj xj xj los tensores de submalla ij y hj estn dados por a ij = ui uj ui uj , y hj = uj T uj 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

Conveccin natural turbulenta o

calculado con exactitud. Las simulaciones con el modelo deben producir resultados con un signicado f sico y con bajo esfuerzo computacional. El SGM ms comn supone una a u viscosidad turbulenta (hiptesis de Boussinesq) para modelar ij : o ij = 2t Sij , donde 1 ui uj + , (18) Sij = 2 xj xi es el tensor de deformacin del campo ltrado y t es la viscosidad turbulenta. De igual o manera tenemos que T , (19) xj donde la razn entre la viscosidad turbulenta t y la difusividad turbulenta t est denio a da a travs del nmero de Prandtl turbulento e u hj = t t . (20) t Cuando el nmero de Prandtl turbulento est dado, solamente la viscosidad turbuu a lenta tiene que ser parametrizada en trminos de las cantidades resueltas. Aunque el e 1 1 valor de Prt no est bien establecido [2], frecuentemente se considera que 3 < Prt < 2 , a una discusin sobre este punto se encuentra en [10]. o Aqu se considera el SGM propuesto por Mtais y Lesieur [21], en donde la viscosidad e turbulenta se dene como Prt = t = 0.105Ck
3 3/2

(17)

F2 ,

(21)

con una funcin de estructura ltrada denida como o 1 F2 (x, c) = 6 con (i) F2 = u(x) u(x + xi ei )
2

(i) F2
i=1

c xi

2/3

(22)

+ u(x) u(x xi ei )

(23)

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

INDICE

1.5.

Funcin de estructura selectiva o

En algunos casos el modelo de la funcin de estructura es muy disipativo. Para o reducir esta dicultad, se han desarrollado varias tcnicas entre las que se encuentra e el modelo de funcin de estructura selectiva [21]. El objetivo es eliminar la viscosidad o turbulenta cuando el ujo no es lo sucientemente tridimensional. El criterio que se utiliza es como sigue: 1. Se mide el ngulo entre la vorticidad en un punto de la malla y el promedio de las a vorticidades en los seis puntos vecinos. 2. Si este ngulo excede 20o entonces se toma en cuenta la viscosidad turbulenta a calculada mediante (21). 3. En otro caso, slo se toma en cuenta la viscosidad molecular. o El valor de 20o es el ms probable de acuerdo a simulaciones de turbulencia isotrpica a o a una resolucin de malla de 323 y 643 [21]. o De la misma manera en que las ecuaciones del caso laminar se escribieron en forma general, las ecuaciones (12), (24) y (25) tambien estn escritas en la forma (2). En este a caso la correspondencia con la ecuacin general de transporte (2) es como sigue: o Ecuacin o Masa N-S Energ a = cte ui T 0 Pr + t t 1 + Prt Si 0 p xi + i b 0

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

2 Mtodo numrico e e

2.

Mtodo numrico e e

Las ecuaciones presentadas en la seccin anterior son bastante complejas y a pesar o de que se conocen desde hace mucho tiempo, no existe hoy en d un mtodo anal a e tico para encontrar sus soluciones. Por esta razn, se han desarrollado muchos mtodos o e numricos con los que es posible encontrar soluciones numricas aproximadas. Mediante e e el uso de las arquitecturas sosticadas de cmputo y en especial de las arquitecturas o multiprocesador, ha sido posible resolver numricamente las ecuaciones gobernantes e para diferentes tipos de ujos, con excelente exactitud y precisin. o

2.1.

Mtodo de residuos pesados e

Un mtodo muy poderoso para obtener soluciones numricas de ecuaciones difere e enciales parciales es conocido como mtodo de residuos pesados. El concepto bsico es e a simple: considrese una ecuacin diferencial representada por e o L() = 0 y una solucin aproximada denida por o = a0 + a1 x + a 2 x 2 + + am x m La substitucin de esta solucin aproximada en (26) produce un residuo R denido o o como R = L() Se desea que este residuo sea pequeo en algn sentido. Se propone que n u W Rdx = 0

(26)

donde W es un funcin de peso y la integracin se realiza sobre el dominio de inters . o o e Seleccionando una sucesin de funciones de peso, se pueden generar tantas ecuaciones o como se requiera para evaluar los parmetros de la ecuacin (26). Estas ecuaciones a o algebraicas que contienen los parmetros como incgnitas son resueltas para obtener a o una solucin aproximada. o Diferentes versiones del mtodo resultan de la seleccin de diferentes tipos de fune o ciones de peso. La funcin de peso ms simple es W = 1. De esta seleccin, un nmero o a o u de ecuaciones de residuos pesados se pueden generar dividiendo el dominio de clculo a en subdominios o vol menes de control, y deniendo la funcion de peso igual a la u unidad sobre un volumen de control en un tiempo dado y cero en cualquier otro lugar. Esta variante del mtodo de residuos pesados es conocida como mtodo de volumen de e e control o de volumen nito. Esta formulacin implica que la integral del residuo sobre o cada volumen de control debe ser cero.

10

INDICE

2.2.

Mtodo de volumen nito e

Como se mencion anteriormente, el mtodo de volumen nito (MVF) es una versin o e o especial del mtodo de residuos pesados. En esta formulacin el dominio de clculo se e o a divide en un nmero de volmenes de control que no se traslapan, de tal manera que u u hay un volumen rodeando a cada punto de la malla. Luego, la ecuacin diferencial o se integra sobre cada volumen de control. Se usan funciones continuas por tramos, las cuales expresan la variacin de entre los puntos de la malla, para evaluar las integrales. o El resultado es un conjunto de ecuaciones discretas que contienen los valores de para un grupo de puntos de la malla. La integracin sobre los volmenes de control es lo que distingue al FVM de otros o u mtodos. Las ecuaciones que resultan de la integracin expresa el principio de cone o servacin para en cada volumen de control, de la misma forma en que la ecuacin o o diferencial expresa esto mismo para un volumen de control innitesimal. Esta caracter stica es vlida para cualquier nmero de puntos en la malla y no solo cuando este a u es muy grande. Por lo tanto, an una solucin en una malla gruesa exhibir un balance u o a exacto (aunque para obtener buena precisin se requiere de un mayor nmero de puntos o u o esquemas de alto orden). Esta clara relacin entre el algoritmo numrico y el principio o e f sico de conservacin es una de las mayores atracciones del MVF. o Las etapas que se pueden enumerar en el MVF son las siguientes: 1. Generacin de la malla. El dominio de estudio se discretiza en un nmero o u de volmenes de control no sobrepuestos, de tal manera que existe un volumen u rodeando a cada punto de la malla, como se muestra en la gura 1. 2. Integracin. Se realiza una integracin de las ecuaciones gobernantes del probo o lema sobre cada volumen de control del dominio de estudio. 3. Discretizacin. Se discretiza cada uno de los diferentes trminos resultantes de o e la integracin usando diferentes esquemas numricos. Esto produce un sistema o e algebraico de ecuaciones. 4. Solucin. Se utiliza algn algoritmo para resolver el sistema algebraico de ecuao u ciones. Dado que las matrices son en general dispersas, se preeren algortimos iterativos.

2.3.

Propiedades

Existen tres conceptos matemticos que son utiles para determinar el xito de un a e algoritmo numrico: convergencia, consistencia y estabilidad. La convergencia es e la propiedad de un mtodo numrico de producir una solucin que se aproxima a la e e o solucin exacta conforme la distancia entre los puntos de la malla tiende a cero. Un o esquema numrico consistente produce sistemas de ecuaciones algebraicas equivalentes a e 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 11111 00000 11111 00000 11111 00000 11111 00000
Nodos de la malla

Puntos en la frontera del dominio

11 00 Volumen de control 11 00 11 00

Figura 1: Dominio de estudio discretizado usando volmenes de control en 2D. u tiende a cero. La estabilidad est asociada con la amortiguacin del error conforme el a o mtodo numrico procede. Si el mtodo no es estable, entonces an errores de redondeo e e e u en los datos iniciales, pueden causar fuertes oscilaciones o divergencia de la solucin. o La convergencia es muy dif de establecer tericamente y en la prctica se utiliza el cil o a teorema de equivalencia de Lax que dice que para problemas lineales una condicin neceo saria y suciente para obtener convergencia es que el mtodo sea consistente y estable. e Este teorema es limitado dado que las ecuaciones gobernantes de muchos fenmenos son o no lineales. En el MVF se pueden obtener esquemas numricos robustos si dicho esquema posee e la propiedad de ser conservativo, es acotado y adems transporta adecuadamente las a propiedades. Conservativo : El MVF garantiza la conservacin de las propiedades de un uido en o cada volumen de control. Los esquemas numricos que poseen esta caracter e stica tambin aseguran conservacin global para todo el dominio. Esta propiedad es e o f sicamente importante y se obtiene por medio de expresiones consistentes en los volmenes de control. u Acotado : Esta propiedad es similar al requerimiento de estabilidad y requiere que en un problema lineal sin fuentes, la solucin debe estar acotada por los valores o mximo y m a 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 fenmenos difusivos, tal como en conduccin de calor, un o o cambio en la temperatura en un punto, afectar la temperatura ms o menos de a a

12

INDICE igual manera en todas las direcciones alrededor de dicho punto. Un fenmeno ado vectivo involucra inuencia exclusivamente en la direccin del ujo. Los esquemas o en MVF deben tomar en cuenta la direccin de inuencia del ujo en trminos de o e los efectos difusivos y los convectivos.

Cuando las propiedades antes mencionadas se utilizan en el diseo de todos los esn quemas del MVF, se obtienen producen buenas aproximaciones a muchos tipos de problemas. En el MVF es comn usar estas propiedades como alternativas a los conceptos u matemticos ms rigurosos de convergencia, consistencia y estabilidad. a a

2.4.

Difusin o

La ecuacin gobernante para problemas de difusin se deriva de la ecuacin general o o o (1) para la propiedad eliminando el trmino transitorio y el convectivo: e () + S = 0. 2.4.1. Difusin estacionaria en 1D o (27)

Supongamos que se desea resolver el problema de conduccin de calor en una barra o en el intervalo [a, b], en donde los valores de la temperatura en los extremos estn dados. a A partir de la ecuacin (27) obtenemos una ecuacin para difusin estacionaria en una o o o dimensin: o d dx y condiciones de frontera: (a) = Ta , y (b) = Tb El proceso de aproximar una solucin numrica del problema anterior usando MVF o e es como sigue: Paso 1. Generacin de la malla. o Para aproximar una solucin a la ecuacin (28) primero se divide el dominio en o o un nmero nito de volmenes. En la gura 2 se introduce una notacin que se u u o usar en los ejemplos que siguen. Se dene P como un nodo general que tiene nodos a 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

Difusin o
Volumen de control

13

W
Nodos

x
xw xe

Figura 2: Denicin de los nodos y volmenes de control en la malla. o u Paso 2. Integracin. o Ahora se integra la ecuacin (28) sobre el volumen de control descrito en la gura o 2 para obtener: d dx d dx dx +
x

Sdx = A

d dx

d dx

+ Sdx = 0.

(29)

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

Usando el perl lineal, los trminos difusivos se evaluan como sigue: e d dx = e E P xe P W xw (30)

d dx

= w

(31)

14

INDICE

P (a)

P (b)

Figura 3: Perles comunes: (a) escaln; (b) lineal. o A menudo el trmino fuente est dado en funcin de la variable dependiente , y e a o por lo tanto es deseable conocer esta dependencia en la construccin de las ecuao ciones discretas. Es posible tomar en cuenta solamente una dependencia lineal debido a que las ecuaciones se resolvern usando tcnicas para ecuaciones algea e braicas lineales. El procedimiento consiste en linealizar el trmino fuente como e sigue: Sdx = Su + SP P (32)

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

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

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

2.4

Difusin o 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 ecuacin (32). La ecuacin (34) o o junto con la denicin de los coecientes aW , aE y aP representan la forma discreta o de la ecuacin (28). o Paso 4. Solucin. o Una ecuacin de la forma (34) debe escribirse para cada volumen de control (nodo). o Las ecuaciones discretas para los volmenes de control que son adyancentes a la u frontera deben modicarse para tomar en cuenta las condiciones de frontera. El sistema de ecuaciones resultante se resuelve para obtener una distribucin de la o propiedad en los centros de los volmenes. u Ahora se tratar un ejemplo concreto. Supngase que = T , = k, S = 0 y a o 5 volmenes de control como se muestra en la gura 4. Aqu k es la conductividad u trmica y se considera constante en todo el dominio. e
1 Ta 2 3 4 5 Tb

x
x /2 x x x /2

Figura 4: Ejemplo de discretizacin. o 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 estn en la frontera y por lo tanto requieren de un proceso especial. a En el nodo 1, la integracin de la ecuacin (28) con S = 0 da lo siguiente o o 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 ecuacin discreta se escribe como o 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 ecuacin que o 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 rengln del sistema presentado arriba corresponde a un volumen de control de o la malla, de tal manera que en principio los coecients as son diferentes de rengln a o rengln. Lo mismo sucede con Su . o 2.4.2. Difusin estacionaria en 2D y 3D o

La metodolog descrita en el ejemplo anterior se puede extender fcilmente a dos y a a tres dimensiones. Para ilustrar la tcnica, considrese la ecuacin de difusin estacionaria e e o o en dos dimensiones: x x + y y +S =0 (35)

La gura 5 muestra un volumen de control en dos dimensiones. Integrando la ecuacin o (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 SV = 0.

dV +

(36)

2.4

Difusin o

17

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

yn E y

ys

x
xw xe

Figura 5: Volumen de control en 2D. Igual que antes, esta ecuacin representa el balance entre la generacin de en un o o volumen de control y los ujos a travs de sus caras. Usando perles lineales es posible e escribir expresiones para los ujos a travs de las caras como sigue: e d dx d wAw dx d nAn dx d sAs dx eAe E P xe P W = wAw xw P = nAn N xn P S = sAs xs = eAe

Sustituyendo estas expresiones en la ecuacin (36) y usando la forma SV = Su + o SP P se llega a aP P = aW W + aE E + aS S + aN N + Su . donde los coecientes estn denidos como sigue: a 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 , vase gura 6. e
N x z n b W y w f F s V = xyz P e E B

Figura 6: Volumen de control en 3D. La ecuacin discreta correspondiente es: o 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 = yz 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.

Linealizacin del trmino fuente o e

Cuando el trmino fuente depende de , se expresa la realcin en la forma lineal e o dada por la ecuacin (32). Esto se hace por que la incorporacin de una dependencia o o lineal es mejor que el tratamiento de S como una constante. Cuando S es una funcin no lineal de se debe linealizar especicando los valores o de Su y SP , los cuales pueden depender a su vez de . Durante cada iteracin, Su y SP o

2.5

Linealizacin del trmino fuente o e

19

podr ser recalculados a partir de los nuevos valores de . Una regla bsica es que SP an a debe ser negativo, [37]. En el siguiente ejemplo, representa el valor de P en una iteracin previa. o P Ejemplo Dado S = 4 53 algunas posibles linealizaciones son: 1. Su = 4 5 3 , SP = 0. Esta forma no saca ventaja de la dependencia de S P con respecto a 2. Su = 4, SP = 5 2 . Aparentemente es la forma correcta, pero la curva S es P ms pronunciada. a 3. Mtodo recomendado: e S = S + dS d (P ) = 4 5 3 15 2 (P ). P P P P

de esta manera Su = 4 + 10 3 , SP = 15 2 . Esta linealizacin representa o P P la tangente a la curva S en el punto . P 4. Su = 4 + 20 3 , SP = 25 2 . Esta linealizacin, que es ms pronunciada o a P P que la curva S y ocasiona un decremento en la razn de convergencia. o 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 eleccin. o 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 razn de ca de S con respecto a . o da

Figura 7: Linealizaciones del ejemplo anterior.

20

INDICE

2.6.

Condiciones de frontera

La discretizacin de las condiciones de frontera es importante dado que denen la o solucin que se obtiene en el interior del dominio de estudio. Para los problemas que se o tratan en este estudio existen bsicamente dos tipos de condiciones de frontera: a 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 tcnicas de discretizacin descritas e o antes, una ecuacin para el punto P en trminos de sus vecinos se escribe de forma o e similar a la ecuacin (38). Sin embargo, en este caso algunos de los coecientes cambian o su forma debido a que el punto E no est dentro del dominio. a
N

e xe

y x z

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

Sustituyendo esta ultima expresin en la ecuacin (38) y factorizando se obtiene: o o


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

(41)

donde

2.7

Consideraciones geomtricas e

21

a = aP + aE , P SP = SP + 2aE b y a = 0. 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 , xe

(42)

Sustituyendo esta expresin en la ecuacin (52) se obtiene una ecuacin similar a o o o (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 aproximacin del esquema numrico o e utilizado en los puntos interiores, vase [37]. e

2.7.

Consideraciones geomtricas e

En este documento solo se consideran geometr cartesianas, por lo que los volmenes as u sern siempre rectangulares en 2D y paralelep a pedos en 3D. Aunque la discretizacin o del dominio de estudio, generacin de la malla, es trivial, resulta importante denir o la ubicacin de los volmenes y de sus caras. En la gura 9 se muestran tres formas o u alternativas para ubicar los volmenes. u Cuando las caras de los volmenes se ubican a la mitad entre los puntos de la u malla, gura 9(a), es posible calcular el ujo de la variable a travs de las caras e con mayor precisin cuando se usa una aproximacin lineal, sin embargo el valor de o o esta aproximacin no estar dado en el centro de la cara, sino por ejemplo en el punto o a e, vese gura 9(a). Adems, el hecho de que los nodos no estn en el centro de los a a e volmenes representa una desventaja, pues el valor de cualquier variable en el nodo no u ser representativo para todo el volumen. Esto implica que la suposicin de que el valor a o de prevalece en todo el volumen reduce la precisin. o

22

INDICE

En el caso de que los nodos de la malla sean colocados al centro de los volmenes u 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 ultimo clculo no ser preciso si se utiliza una aproximacin a a o lineal dado que las caras no estn a la mitad entre los nodos. a Para mallas uniformes ambas distribuciones son equivalentes. Tambin es posible que e los elementos de la malla sean los volmenes de control, gura 9(c). Es comn llamar u u 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 ms simple de implementar. a

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 volmenes de control. u

3.

MVF : AdveccinDifusin o o

La ecuacin de conveccindifusin estacionaria se deriva de la ecuacin general de o o o o transporte (1) eliminando el trmino temporal: e u = () + S , Esta ecuacin se puede escribir como sigue: o (u) + (v) + (w) = + + + S , x y z x x y y z z donde u = (u, v, w). Integrando la ecuacin (45) sobre un volumen de control se obtiene: o (44)

(45)

3 MVF : AdveccinDifusin o o

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 trminos C, D y S de la ecuacin anterior es como sigue: e o C = (cee cww) + (cnn css) + (cf f cbb), x x + (48)

D=

yz
w

y +

xz
s

(49) z xy,
b

S = SP V, donde los trminos c de la ecuacin (48) estn denidos de la siguiente manera: e o a ce = ueyz, cw = uwyz, cn = vnxz, cs = vsxz, cf = wf xy, cb = wbxy,

(50)

(51)

Los trminos advectivos y difusivos se pueden aproximar usando diferentes esquemas e [37]. Independientemente de la aproximacin usada, cuando se insertan estos esquemas o en las ecuaciones (48) y (49), y stos a su vez en la ecuacin (47), se obtienen sistemas e o 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.

Aproximacin de los trminos difusivos o e

Las derivadas parciales que aparecen en la ecuacin (49), se deben evaluar en las o 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 , xe e P , N yn n P F , zf f x y z P W , xw w S , P ys 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 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 P w0000000000 e 1111111111 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 s

yn

ys

n 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 P b 0000000000 f 1111111111 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 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, idnticamente en las direcciones e y y z), se puede demostrar, a partir de la expansin en series de Taylor de E , W , N , o

3.2

Aproximacin de los trminos advectivos o e

25

S , F y B , que las expresiones (54) producen una aproximacin de orden O(x2 ), o [37]. Con estas aproximaciones la parte difusiva de los coecientes (53) es: yz , DW xe xz DN = , DS yn xy , DB DF = zf DP = DE + DW + DN +DS DE = en donde se consider = cte. o yz , xw xz = , ys xy = , zb + DF + DB . =

(55)

3.2.

Aproximacin de los trminos advectivos o e

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

Este es un esquema que proporciona una aproximacin de primer orden O(x), y o 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 mximo entre A y B, entonces, los trminos advectivos en este esquema se expresan a e 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 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 e w P 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 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 ms adelante, la expresin (ce cw) + (cn cs) + (cf cb), es la versin a a o o discreta de la ecuacin de continuidad. o 3.2.2. Diferencias centrales (CDS)

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

3.2

Aproximacin de los trminos advectivos o e

27

e =

xe xP . xE xP

(60)

Cuando la malla es uniforme e = 0.5. La precisin de la ecuacin (59) es de segundo o o 2 orden (O(x )) como puede mostrase a travs de una expansin en series de Taylor de e o E alrededor del punto P . Este es el esquema de segundo orden ms simple y corresponde a a la aproximacin de diferencias centrales de la primera derivada en los mtodos de o e 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 volmenes de control. En este caso, u se seleccionan tres puntos de la malla para construir un polinomio de segundo grado. La seleccin de los puntos se hace de acuerdo con la direccin de la velocidad en la cara o o correspondiente del volumen de control. La frma cuadrtica de interpolacin de los trminos advectivos cee y cww, en el o a o e 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 ecuacin (64) y en la gura 12; deniciones similares se hacen o para cwp y cwm. Los trminos cnn, css, cf f y cbb se aproximan de igual manera. e 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 trmino adveccin para denotar a los trminos que tienen que e o e ver con el movimiento del uido. Algunos autores utilizan el trmino conveccin. e o
1

28
f g

INDICE

g(ce ) =

ce |ce |
2

ce

ce

f(ce ) =

ce + |ce |
2

Figura 12: Denicin de las funciones f y g. o

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 aproximacin de este esquema es de O(x3 ), vase [20]. o e

4.

Acoplamiento presin-velocidad o

La adveccin de una variable escalar depende de la magnitud y direccin de la veo o locidad. En general, la velocidad no se conoce y debe calcularse como parte del proceso de solucin junto con las otras variables del ujo. Las ecuaciones para cada compoo nente de la velocidad ecuaciones de cantidad de movimiento pueden derivarse de la ecuacin general (1). En el caso de ujos incompresibles, la velocidad debe satisfaco er la ecuacin de continuidad. Para describir el mtodo de solucin, reescribimos las o e o 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 solucin de estas ecuaciones presenta algunos problemas: o

(67)

Los trminos advectivos de las ecuaciones de cantidad de movimiento son cantie dades no lineales. Las ecuaciones estn fuertemente acopladas debido a que cada componente de la a velocidad aparece en cada ecuacin de cantidad de movimiento. o El problema ms complejo es resolver el papel que juega la presin: no existe a o expl citamente una ecuacin para la presin. o o Estos problemas, asociados con la no linealidad de las ecuaciones, pueden resolverse adoptando una estrategia de solucin iterativa. El mtodo SIMPLEC (Semi-Implicit o e Method for Pressure Linked Equations Consistent) [9] es usado aqu y se presenta ms a adelante.

4.1.

Mallas desplazadas

La forma ms sencilla de aproximar el gradiente de presiones, que aparece en las a ecuaciones (66), es mediante una interpolacin lineal. Por ejemplo, para la ecuacin en o o direccin x se tiene, de la gura 11, que: o 2 2 p pW p pe pw = = E . (68) x P x x x En la ecuacin anterior se observa que el valor de la presin en el nodo central P , o o no aparece. Esto puede ocasionar campos de presiones con oscilaciones no realistas. Es claro entonces, que si las velocidades estn denidas en los puntos centrales de la a malla, la inuencia de la presin no estar representada correctamente. Un remedio o a 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 presin y la o temperatura en los centros de los volmenes de control; mientras que las velocidades u se evaluan en las caras de los mismos volmenes. El arreglo para las tres componentes u 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 ecuacin para u se calcula de la siguiente forma: o 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 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 P 11111111111 w W 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000 11111111111 00000000000

yn

111111111111111111111 000000000000000000000 e 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 s 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 111111111111111111111 000000000000000000000 S 111111111111111111111 000000000000000000000
x
xe

ys

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

xw

z f

z
111 000 111 000 111 000

VC para u

111111 000000 111111 000000

VC para v

1111 0000 1111 0000

VC para w

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

4.2.

Ecuacin de correccin a la presin o o o

Una relacin para calcular la presin se puede obtener a partir de las ecuaciones (66) o o y (67). Aplicando el mtodo de volumen nito a la ecuacin de cantidad de movimiento e o 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 ecuacin nb = E , W , N , S , F , B , o Au = yz es el rea de la cara w del volumen de control y bu es el trmino fuente. a e Ahora, dado que no conocemos la presin, denimos p como una presin aproximao o da. Esta presin produce una velocidad aproximada u . Por lo tanto se produce: o 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 relacin entre p y u se obtiene restando las ecuaciones o (70) y (71): aP uP =


nb

anb unb + Au (pW pP ).

(72)

En los mtodos del tipo SIMPLE se encuentra una ecuacin discreta ya sea para la e o presin p o para la correccin a la presion p y se resuelve dentro del ciclo global del o o mtodo. e

4.3.

SIMPLEC

En el SIMPLE se realiza una aproximacin consistente que genera una expresin o o sencilla para p . En este algoritmo se resta el trmino e anb uP en ambos lados de la ecuacin (72), de tal forma que se tiene: o (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 trmino de la ecuacin, de tal e o manera que la velocidad corregida estar dada por: a 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 ecuacin para p se obtiene sustituyendo las ecuaciones (74), (76) y (77) en la o ecuacin (67) : o aP pP = aE pE + aW pW + aN pN + aS pS + aF pF + aB pB + bp , donde los coecientes estn denidos como sigue: a aE = du Au , aW = du Au , aN = dv Av , aS = dv Av , aF = dw Aw , aB = dw Aw , bp = (u u )yz (vn vs )xz (wf wb )xy e w (78)

(79)

32

INDICE

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

Solucin de los sistemas lineales o

La discretizacin de las ecuaciones gobernantes produce sistemas lineales como el o mostrado en la ecuacin (52). La complejidad y tamao del conjunto de ecuaciones o n depende de la dimensin del problema, el nmero de puntos de la malla y la estrateo u gia de discretizacin. Aunque es posible utilizar cualquier procedimiento vlido para o a resolver el conjunto de ecuaciones algebraicas, los recursos de cmputo disponibles son o una restriccin muy fuerte. Existen dos familias de mtodos para resolver los sistemas: o e

5.1

TDMA

33

directos e iterativos. Los mtodos iterativos son generalmente mucho ms econmicos e a o que los directos y por ello son preferidos cuando la matriz es dispersa. En este trabajo se ha usado un mtodo iterativo que se basa en el algoritmo directo de Thomas o TDMA e para matrices tridiagonales.

5.1.

TDMA

El TDMA es un mtodo directo para resolver de manera simple y eciente sistemas e tridiagonales. En una dimensin, la matriz del sistema es t o picamente tridiagonal, por lo tanto el TDMA es aplicado directamente, vase gura 14. e
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: Considrese el siguiente sistema tridiagonal e 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 solucin del sistema anterior se realizan los siguientes pasos: o 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 sustitucin hacia atrs: o a xi = Pi xi+1 + Qi

INDICE

(81)

5.2.

Aplicacin del TDMA en 2 y 3 dimensiones o

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. Considrese la gura e 15 y una ecuacin discreta que tiene la forma: o 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 direccin x la ecuacin (82) se rearregla de la siguiente o o forma: aW W + aP P aE E = aN N + aS S + SP . (83)

El lado derecho de esta ultima ecuacin se supone conocido, y los valores de N y o S se toman de la iteracin anterior. La ecuacin (83) representa un sistema tridiagonal o o 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 direccin x. Una vez resuelto el sistema en la l o nea

5.2

Aplicacin del TDMA en 2 y 3 dimensiones o

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 direccin de barrido, en este caso, o dicha direccin es +x. El mismo procedimiento se realiza en la direccin y. El clculo o o a es repetido varias veces hasta obtener convergencia. Para problemas tridimensionales el mtodo se aplica l e nea por l nea sobre un plano determinado y luego se pasa a un plano paralelo y se contina el clculo. Por ejemplo, u a para resolver a lo largo de la direccin x en un plano xz, vase gura 16, la ecuacin o e o 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 iteracin anterior. As los valores se calculan a lo largo de la direccin x mediante o , o el TDMA. Luego, el clculo se mueve de la l a nea k a la k + 1 hasta cubrir todo el plano j. Despus, se mueve el clculo al plano j + 1 hasta cubrir todo el dominio. e a En dos y tres dimensiones la convergencia puede ser acelerada alternando la direccin o de barrido de tal manera que toda la informacin de las condiciones de frontera se o

36 transporte efectivamente dentro del dominio de estudio.

INDICE

6.

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

Integrando la ecuacin anterior en un volumen de control, V , y en un intervalo de o 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 fcilmente de tal manera que es posible a escribir:
k+1 k+1

k+1 k V + P P

Cdt =
k k

[D + S] dt.

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

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

Ahora, tomando en cuenta que el trmino fuente se linealiza mediante SV = e Su + SP k , se tiene: P

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

1 2

6.1

Esquema Expl cito: Forward Euler

37

k+1 k P P

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

+(1 ) D(k ) C(k ) + Su + SP k nb nb 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 numricos que se e usen en la aproximacin de los diferentes trminos. El sub o e ndice nb = E, W , N , S, F , B indica en que punto vecino se evala . u

6.1.

Esquema Expl cito: Forward Euler

En este esquema se toma = 0 k+1 k P P De aqu se obtiene: k+1 = k + P P t D(k ) C(k ) + Su + SP k nb nb P V V = D(k ) C(k ) + Su + SP k nb nb P t

La ecuacin anterior es trivial, pues se obtiene el valor de k+1 mediante valores de o 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 k+1 k P P De aqu se obtiene: k+1 P V V + C(k+1 ) D(k+1 ) SP k+1 = k + Su nb nb P P t t V = D(k+1 ) C(k+1 ) + Su + SP k+1 nb nb P 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 pequeos para obtener buena precisin en la solucin. Este esquema es n o o recomendable para problemas no estacionarios.

38

INDICE

6.3.

Esquema Crank-Nicolson: Centred Dierencing


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

En este esquema se toma = 1/2 k+1 k P P

De aqu se obtiene: V 1 D(k+1 ) C(k+1 ) + SP k+1 = nb nb P t 2 V 1 k + D(k ) C(k ) + SP k + Su nb nb P P t 2 En este esquema tambin es necesario resolver un sistema de ecuaciones en cado e 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. k+1 P

7 Paradigmas de programacin o

39

7.

Paradigmas de programacin o

El cmputo cient o co ha evolucionado rpidamente en las ultimas dcadas alacana e zando un alto grado de complejidad. Los vastos avances en el desarrollo de nuevas arquitecturas de hardware y en el desarrollo de mtodos numricos modernos proveen e e de una herramienta para resolver cada vez problemas ms complicados. Como resultado, a varios problemas importantes para la sociedad se han podido resolver con un alto grado de precisin, de tal manera que hoy en d el cmputo cient o a o co es indispensable en muchas reas del conocimiento. a La solucin de estos problemas requiere de la implantacin de algoritmos numricos o o e sosticados, los cuales necesitan ser transportables entre las diferentes arquitecturas de cmputo existentes, y adems tener una alta eciencia. Estos tres elementos: sostio a cacin, hardware y eciencia, demandan un nivel de abstraccin alto en los cdigos sin o o o prdida en el desempeo de los mismos. e n La mayor de los cdigos desarrollados en cmputo cient a o o co se construyen usando lenguajes estructurados como F77 o C, pues con estos lenguajes se obtiene alto desempeo sin mucho esfuerzo. Pero por otro lado, el nivel de abstraccin que se puede n o alcanzar es relativamente bajo, y es posible que no exista relacin directa de las cono strucciones del cdigo con las entidades del dominio del problema. Esto ultimo ocasiona o que el cdigo sea de dif lectura y frecuentemente es muy complicado, y en algunas o cil ocasiones imposible, darle una buena organizacin, y por lo tanto el mantenimiento y o la extensin de dicho cdigo resultan en procesos largos, tediosos y sobre todo costosos. o o Lo anterior inhibe la reutilizacin de partes del cdigo. o o 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 adems sea a capaz de proveer soluciones a problemas muy complejos, vase [4]. e Una manera de evitar los problemas de la crisis del software, es siguiendo alguna tcnica ordenada de desarrollo, como por ejemplo la descrita en [16], en combinacin e o con paradigmas de programacin actuales. En los ultimos aos se ha observado que meo n diante el uso de los paradigmas de programacin de orientacin a objetos, programacin o o o genrica y programacin en paralelo, es posible construir software con las caracter e o sticas necesarias para reutilizarlo en diferentes situaciones y adems con un rendimiento a comparable al que se obtiene con los lenguajes estructurados.

7.1.

Programacin Orientada a Objetos o

El paradigma de programacin orientada a objetos (POO) tiene como principal obo jetivo el manejo de la complejidad del software. Los conceptos bsicos de abstraccin, a o encapsulacin, mensajes, polimorsmo y herencia, permiten desarrollar programas de o fcil manejo y control, tanto para el desarrollador como para el usuario nal. Mua chos esfuerzos se han realizado para generar sistemas de software cient co usando este paradigma, vase [25]. e

40

INDICE

En la POO se construyen abstracciones para modelar alguna entidad del dominio del problema, y en ellas se encapsula la informacin relevante de sta y las funciones o e u operaciones que se realizarn sobre dicha informacin. Una referencia clsica de este a o a paradigma de programacin es el libro de Grady Booch [4]. o

7.2.

Programacin Genrica o e

La POO puede ir ms all mediante la construccin de abstracciones genricas. Este a a o e es el objetivo principal de la programacin genrica (PG), en donde adems poder reo e a utilizar estas abstracciones en un amplio rango de aplicaciones, se mantiene la eciencia de los cdigos. o Mediante la construccin de componentes genricas se reduce el nmero de l o e u neas de cdigo y se contruyen programas que se pueden adaptar a cualquier tipo de dato o abstracto. Para ms informacin acerca de este paradigma, se recomienda revisar [36]. a o En el lenguaje C++, la herramienta de plantillas o templates permite construir cdigo o genrico. e En la biblioteca estndar de plantillas de C++ (STL), que es el ejemplo ms conocido a a de programacin genrica, existen estructuras de datos que se conocen como conteneo e dores y cumplen con ciertos requisitos para funcionar con algoritmos genricos a travs e e 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 genricos y modelos, se reduce el cdigo: si se tienen M algoritmos e o y N modelos (estructuras de datos), la cantidad de cdigo que se debe construir en el o paradigma de programacin estructurada (F77 y/o C) es O(M N ), mientras que en o la programacin genrica la cantidad de cdigo ser de O(M + N ). o e o a

8.

Programacin paralela o

Las computadoras tradicionales, con un solo procesador, estn basadas en el modelo a 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

Organizacin de la memoria o

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 limitada bsicamente por dos factores: velocidad del procesador a a y capacidad de memoria. La velocidad del procesador se incrementa segn la ley de u Moore [22], pero existe un l mite f sico: la separacin entre transistores no puede ser o menor que la separacin entre part o culas elementales. La capacidad y velocidad de acceso a la memoria se mejoran mediante diferentes tecnolog (que incluyen cache, memory as interleaving y pipelining) pero tambin existen limitaciones [19]. e Una manera alterna para mejorar la velocidad de ejecucin es el uso de mltiples o u CPUs con su memoria, interconectados de alguna manera. En teor la razn de procea, o samiento crecer conforme se incremente el nmero de procesadores. Las computadoras a u que contienen mltiples procesadores se conocen como computadoras parallelas y exisu ten diferentes tipos que se clasican de acuerdo a su arquitectura. La clasicacin de o Flynn [12] es la ms conocida y consiste de las siguientes categor a 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.

Organizacin de la memoria o

Resolver un problema en un ensamble de procesadores requiere de la interaccin o entre procesadores. Esta interaccin est determinada por los dos tipos bsicos de aro a a quitecturas: 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 nmero de procesadores usado en una arquitectura de este tipo u est limitado por el ancho de banda del bus de datos que conecta a los procea sadores. Memoria distribuida : Cada procesador tiene su propia memoria local o privada. Todos los procesadores o nodos tienen acceso rpido a su memoria local y pueden a

42

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

8.2.

Modelos de programacin o

La programacin en una arquitectura multiprocesador se puede hacer bsicamente o a de dos maneras: Paralelismo de memoria compartida, por medio de directivas. Este tipo de programacin puede ser implementado con HPF (High Performance Fortran) [14] o o con OpenMP [24], donde un cdigo serial se paraleliza adicionando directivas (las o cuales aparecen como comentarios cuando se realiza una ejecucin serial) que le o dicen al compilador como distribuir los datos y el trabajo entre los procesadores. Los detalles de la distribucin de los datos y comunicaciones son realizados por o 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. Progamacin en env de mensajes, mediante llamadas a funciones. Este segundo o o 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 mquinas. Se puede ima plementar 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 de interconeccin de a o 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 cdigos enviar trabajos a cualquier procesador de la computadora. o Sin embargo, es util tomar en cuenta dos aspectos de las redes que son relevantes para el diseo de un algoritmo. n 1. Razn de transferencia de datos. El modelo estndar de una red involucra dos o a parmetros: a

8.4

Descomposicin del problema o

43

La latencia (network latency) L(seg), que es el tiempo necesitado para iniciar la coneccin entre dos procesadores. o El ancho de banda (bandwidth) B( bytes ), que es la razn a la cual los datos o seg son intercambiados despus de que se ha iniciado una coneccin. e o 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, an si la cantidad total de datos transferidos u es la misma. 2. Comunicaciones locales y globales. Los diferentes modelos de programacin paro alela permiten comunicaciones uno a uno, todos a uno y todos a todos. Cada uno de estos tipos de comunicacin tiene sus costo. Un ejemplo t o pico es el producto N punto entre dos vectores uv = 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 ms caras que las sumas parciales realizadas en paralelo. a

8.4.

Descomposicin del problema o

El primer paso en el diseo de un algoritmo paralelo es descomponer el problema n en subproblemas ms simples. Luego, cada uno de estos subproblemas se asignan a a diferentes procesadores en donde se resuelven simultneamente. Existen bsicamente a a dos tipos de descomposicin: descomposicin de dominio y descomposicin funcional. o o o Descomposicin de Dominio (DD) : En el modelo de descomposicin de dominio o o o paralelismo de datos, los datos se dividen en porciones de aproximadamente el mismo tamao que se mapean a diferentes procesadores. Cada procesador trabaja con n la porcin de datos que le fue asignada. En algunos problemas los procesadores o necesitarn comunicarse peridicamente para intercambiar informacin. Un ala o o goritmo 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 cdigo se ejecutan sobre diferentes porciones de datos en o diferentes procesadores. La estrategia DD se emplea comnmente en algoritmos u para resolver ecuaciones diferenciales parciales con valores a la frontera, donde los procesadores pueden operar independientemente sobre porciones de datos grandes, comunicando slo una pequea parte de datos (la frontera) en cada iteracin. o n o

44

INDICE

Descomposicin Funcional (DF) : Frecuentemente, la estrategia de descomposicin o o de dominio resulta no ser la ms eciente para un programa en paralelo. Esto a 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 cdigo est limitado por la velocidad del procesador ms lento. o a a Los procesadores que terminan primero permanecen inactivos hasta que el procesador ms lento naliza su trabajo. En este caso, la descomposicin funcional o a o paralelismo de tareas es ms efectivo que la descomposicin de dominio. En el a o paralelismo de tareas, el problema se descompone en un nmero grande de taru eas pequeas, las cuales se van asignando a los procesadores conforme ests estn n o e disponibles. A los procesadores que terminan su trabajo ms rpido simplemente a a 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 tambin puede realizar algunas tareas. El mode elo de cliente-servidor puede ser implementado virtualmente a cualquier nivel del programa. Por ejemplo, si se desea ejecutar un programa con diferentes entradas, una implementacin cliente-servidor puede ejecutar mltiples copias del cdigo o u o serial, con el servidor asignando las diferentes entradas a cada proceso cliente. Conforme cada procesador vaya terminando su tarea se le asignar una nueva a con una entrada diferente. Un ejemplo donde este tipo de descomposicin es util o es en aplicaciones que se ejecutan en tiempo real, que es el caso de sistemas de visualizacin interactiva y realidad virtual. o

8.5.

Mtricas y otros factores e

El principal objetivo de un programa paralelo es resolver un problema en menos tiempo comparado con la versin serial del mismo. En el diseo de un cdigo paralelo se o n o deben considerar algunos factores importantes para obtener el mejor rendimiento posible dentro de las restricciones del problema que se est resolviendo. Para medir el benecio e del paralelismo existen algunas parmetros estndares que son usados ampliamente y a a que se describen a continuacin. o

8.6.

Balance de carga

El trabajo total de clculo que se realizar para resolver el problema, debe ser dividia a do equitativamente entre el nmero de procesadores disponibles. Esto se hace fcilmente u a 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 automticamente si las porciones de datos son iguales, aunque en algunos casos se deben a considerar las condiciones en las que esto es vlido. Por ejemplo si un procesador debe a resolver la capa l mite de un ujo, ste tardar ms que otros procesadores que no lo e a a hacen, aun cuando trabajen sobre porciones de datos del mismo tamao. En el caso n de la DF, el balance de carga es ms importante, pues es necesario asignar tareas del a

8.7

Mtricas de rendimiento e

45

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

8.7.

Mtricas de rendimiento e

Algunas de las mtricas que se utilizan frecuentemente para medir el rendimiento de e programas paralelos son las siguientes: Tiempo de ejecucin : El tiempo de ejecucin de un programa serial se denota por o o Ts El tiempo de ejecucin en paralelo se mide a partir del momento en que el o clculo en paralelo inicia hasta que el ultimo procesador termina su ejecucin, y a o se denota por Tp . El tiempo total de ejecucin de un programa en paralelo debe o tomar en cuenta el tiempo de clculo, el tiempo de inactividad y el tiempo de a comunicacin. o Aceleracin (Speedup) : Es una medida que captura el benecio relativo de resolver o un problema en paralelo. Se dene como la razn del tiempo que se lleva resolver o el problema en un solo procesador entre el tiempo requerido para resolver el mismo problema con np procesadores idnticos. Entonces, la aceleracin se calcula e o mediante S = Ts /Tp . Una aceleracin ideal para np procesadores ser S = np . o a Eciencia : La eciencia mide la fraccin de tiempo que un procesador pasa realizando o operaciones del algoritmo paralelo, es decir, sin incluir comunicaciones, tiempos de espera, etc. Se dene como E = S/np . Una eciencia ideal ser E = 1. a Costo : Se dene el costo de resolver un problema en paralelo como el producto del tiempo de ejecucin en paralelo Tp por el nmero de procesadores usados np . o u Este nmero reeja la suma del tiempo que cada procesador gasta resolviendo el u problema. Se tiene un costo ptimo si es es proporcional a Ts . o

8.8.

Sobreposicin de la comunicacin y los clculos o o a

Existen varias formas de minimizar el tiempo inactivo entre los procesadores, y un ejemplo es sobreponer los clculos con las comunicaciones. Esto implica ocupar un procea sador con una o ms tareas nuevas mientras se espera a que termine la comunicacin con a o otros procesadores. El uso cuidadoso de comunicaciones no bloqueables (non-blocking) hacen posible lo anterior. Sin embargo, es muy dif en la prctica, intercalar comunicil, a caciones y clculos. a

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 porcin del programa que se ejecuta en serie; Pp es la porcin del programa o o que se ejecuta en paralelo; np es nmero de procesadores. Adems se cumple que Ps + u a Pp = 1. De la ecuacin (86) tenemos que una medicin de la aceleracin es: o o o Ts S= = Tp Pp + Ps np
1

(87)

La siguiente tabla muestra el comportamiento de la aceleracin de acuerdo con la o 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: Aceleracin en funcin del nmero de procesadores y del porcentaje de paro o u alelizacin del cdigo. o o Se observa que la aceleracin es muy sensitiva a la porcin paralela PP y al nmero o o u de procesadores. Adems, S no crece linealmente conforme el nmero de procesadores a u se incrementa. La recomendacin es paralelizar cdigos en donde PP 70 % o o

8.10.

Escalabilidad

En general un nmero alto de procesadores disminuye la eciencia. Por otro lado, se u ha observado que en algunos casos el incremento del tamao del problema incrementa la n eciencia. Entonces deber ser posible mantener la eciencia constante cuando, tanto a el nmero de procesadores as como el tamao del problema se incrementan simultneau n a mente. 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 aceleracin en proporcin al nmero de procesadores. Se dice que un programa es o o u escalable cuando su eciencia es mayor a 0.5.

9.

Descomposicin de dominio y paralelismo o

El trmino descomposicin de dominio (DD) es utilizado de forma diferente por e o especialistas en anlisis numrico de ecuaciones diferenciales parciales. En general, DD a e es un nombre genrico que es usado para describir varios tipos de algoritmos. Asu se e usa el trmino DD para referirnos al caso en el que el dominio espacial es dividido en e varios bloques o subdominios los cuales pueden asignarse a procesadores independientes. Existen varias motivaciones para utilizar DD:

9.1

Algoritmo alternante de Schwarz La paralelizacin es fcil y se puede obtener un buen escalamiento. o a Se pueden simplicar problemas en geometr complejas. as 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 ms pequeo que el dominio global. a n Se pueden encontrar diferentes clascaciones para mtodos de DD. En general se e tienen dos tipos de mtodos en DD: subdominios con traslape y subdominios sin traslape. e 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 diseo de los algoritmos. Ms n a detalles de esta clasicacin se puede encontrar en [29, 30] o

9.1.

Algoritmo alternante de Schwarz

El mtodo de Schwarz fue introducido por primera vez en 1870, que aunque no e es originalmente un mtodo numrico, puede ser usado para resolver numricamente e e e 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 trmino fuente y e G es el valor de en la frontera. En esta descripcin solo se consideran condiciones de o frontera de tipo Dirichlet, aunque se pueden incluir otro tipo de condiciones fcilmente. a El dominio se descompone en dos subdominios: = 1 1 . La nomenclatura que se usa en lo que sigue es la siguiente, vase gura 18: e 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 en el interior a 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 descomposicin o n denota la solucin aproximada en i despus de n iteraciones. o e i n |j es la restriccin de n en j , donde i = j. o i i

1 | 1

1 2 | 2

Figura 18: Dominios usados en el algoritmo alternante de Schwarz. El mtodo alternante de Schwarz comienza seleccionando una solucin inicial en 2 , e o 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 = F en 1 1 n 1 = G sobre 1 \1 n1 n = 2 |1 sobre 1 1 para n , seguido por la solucin del problema o 1 Ln = F en 2 2 n = G sobre 2 \2 2 n 2 = n |2 sobre 2 1 De esta manera, en la mitad de cada iteracin del mtodo alternante de Schwarz, se o e resuelve un problema en el subdominio i con la condicin g en la frontera real i \i , o y valores de la iteracin anterior en la frontera i . o Ss supone ahora que las ecuaciones han sido discretizadas usando algn mtodo, u e 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 estn dados por los valores del dominio j a con i = j. Los vectores discretos correspondientes a F y G son fi y gi respectivamente. La matriz de coecientes Ai es la discretizacin del operador L en i . Esta matriz tiene o tres componentes: A = (Ai , Ai \i , Ai ). La forma discreta de n |j la escribimos i 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 A1 n = f1 en 1 1 n 1 \1 = g1 sobre 1 \1 n1 sobre 1 n1 = W1 n W2 n |2 1 Resolver para n : 2 A2 n = f2 en 2 2 n 2 \2 = g2 sobre 2 \2 n n2 = W2 sobre 2

50 12 13 14 15 16

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

Ntese que este algoritmo es serial, en donde cada iteracin se divide en dos partes: o o en la primera se resuleve el problema en el 1 , y en la segunda en el 2 . Esto corresponde a una iteracin del tipo Gauss-Seidel por bloques, en donde cada bloque corresponde o a un subdominio. Por lo tanto, un algoritmo paralelo se obtiene usando las mismas estrategias usadas en la paralelizacin del algoritmo de Gauss-Seidel, vase [29]. o e Otra manera es usar una versin del algoritmo arriba descrito en trminos de una o e iteracin de Jacobi por bloques. En este algoritmo, se suponen conocidas las condiciones o 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 = fk en k k n k \k = gk sobre k \k n1 nk = Wk sobre k Checar la convergencia : n1 n Si ||Wk Wk || tolk Fin n1 Si ||n k || tolk Fin k End For Wait Enviar n |k 1 a los subdominios vecinos k 0 Wk n |k nb End Parallel For

9.2.

Particin del dominio o

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

9.2

Particin del dominio o

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: Descomposicin tipo tablero de ajedrez y correspondencia de las fronteras o fantasma. La particin mostrada en la gura 19 se puede construir fcilmente dentro del entorno o a de programacin de env de mensajes conocido como MPI [31, 13]. Se utiliza un arreglo o o cartesiano de tal manera que se asignan coordanadas a cada subdominio, de tal manera que ste ultimo conocer de antemano conocer los subdominios vecinos con los que se e a debe comunicar, vase gura 20. e

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 Virtual (TV) en 2D generada por la particin por bloques. Se a o muestra la numeracin de los subdominios en trminos de las coordenadas de la TV. o e

10 Casos de estudio

53

10.

Casos de estudio

En esta seccin se presentan algunos ejemplos de solucin numrica de problemas o o e de conveccin natural usando el mtodo de volumen nito presentado anteriormente. o e Para este efecto se construy el software TUNA::FVM (Template Units for Numerical o 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.

Conveccin forzada o
T + U T = 2 T. t

La ecuacin a resolver es la siguiente: o (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 adems cumple con a la ecuacin de continuidad. Las condiciones de frontera para el caso de dos dimensiones o 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 conveccin o forzada en 2D. En dos dimensiones para una malla de 242 se hizo una comparacin entre los tres o esquemas CDS, Upwind y QUICK. El resultado se presenta en la gura 22 en donde se muestran contornos de temperatura y una comparcin entre los tres esquemas en a o 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.

Conveccin Natural: rgimen laminar o e

En este ejemplo se muestra la solucin de un problema de conveccin natural en o o un prisma cbico. Las paredes verticales se mantienen a una diferencia de temperatura u constante, mientras que las paredes horizontales son adiabticas. Las ecuaciones que se a deben resolver son (6), (7) y (8). En este caso se utiliza el algoritmo SIMPLEC para resolver el problema no lineal y desacoplar la presin y velocidad de las ecuaciones de o Navier-Stokes. La gura 23 muestra el resultado en tres dimensiones para una malla de 483 , un paso en el tiempo de 104 , un nmero Prandtl de 0.71 que corresponde al aire y un nmero u u 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 conveccin natural en dos dimensiones, en donde se o considera el aire como uido de estudio cuyo nmero de Prandtl es igual a 0.71. Las u cantidades que se calculan y comparan son: Umax velocidad horizontal mxima en la l a nea x = 0.5. y coordenada vertical donde ocurre Umax . Vmax velocidad vertical mxima en la l a nea y = 0.5.

10.3

Conveccin Natural: rgimen turbulento o e

55

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

10.3.

Conveccin Natural: rgimen turbulento o e

En este ejemplo se resuelve el modelo de turbulencia descrito en la seccin 1.5. El o 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: Comparacin con el benchmark publicado por de Vahl Davis [8]. Los resulo tados numricos fueron obtenidos usando el esquema QUICK, en una malla de 81 81. e
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

Conveccin Natural: rgimen turbulento o e

57

Lx

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

Lz

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

Este problema ha sido resuelto numricamente usando diferentes modelos de turbue lencia por otros autores, vase por ejemplo [15, 27]. Adems, existen datos experimene a tales con los que se pueden comparar los resultados numricos [34, 35]. En este caso e se realizaron dos ejemplos para mallas de 64 64 48 y 96 96 64. Se utiliz el o esquema CDS en todas las ecuaciones, pues es menos dispersivo que el Quick. La gura 26 muestra el nmero de Nusselt calculado en la pared derecha (el resultado es similar u para la pared izquierda). Para hacer una comparacin con los resultados experiementales, se calcul el nmero o o u de Nusselt en las cuatro paredes y se grac el resultado en sentido horario. En la gura o 27 los puntos representan los resultados numricos publicados en [34] y la l e nea continua es el nmero de Nusselt que se obtuvo en una malla de 160 160 80 volmenes. u u 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 numricos y los experimentales e 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 ms puntos en esas zonas, y esto se puede lograr mediante a 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: Nmero de nusselt para mallas de 64 64 48 y 96 96 64. u

<Nu>
150

100

50

-50 0

Figura 27: Nmero de nusselt promedio alrededor de las cuatro paredes para una malla u 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 distribucin de la viscosidad turbulenta, vase ecuacin (21). o e o Las guras 28 y 29 demuestran que la mayor del proceso turbulento est presente en a a la capa l mite cerca de las paredes.

10.4
1
0.351
51

Conveccin forzada en paralelo o


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 instantneo e isolines de la viscosidad turbulenta t . (b) a ujo promedio.

Figura 29: Distribucin de la viscosidad turbulenta. Razn de aspecto de la cavidad o o 1:1:0.5, Ra = 1.59 109 and Pr = 0.7.

10.4.

En esta ejemplo se muestra la solucin del problema de conveccin forzada en paro o alelo usando la estratgia descrita en la seccin 7. El resultado de este ejemplo, en dos e o 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 en tres dimensiones en una malla de 128 128. o Este ejemplo se utiliz para hacer un clculo de la aceleracin en funcin del nmero de o a o o u

0.866

1.57
0.351
6 0.86
0.351

0.5 (a) (b)

Conveccin forzada en paralelo o

60

INDICE

Figura 30: Resultado del clculo en dos dimensiones para 9 procesadores. a procesadores. El resultado de este experimento numrico se muestra en la tabla siguiente. e 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 Aceleracin Eciencia o 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: Desempeo para la solucin en paralelo del problema de conveccin natural n o o 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 rayleighbnard problem using e 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. Mtais. New trends in large-eddy simulations of turbulence. e 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.

Вам также может понравиться